Wekker

M’n smartphone is stuk. Op zich geen probleem, want ik leef al anderhalf jaar zonder telefoon (en geniet ervan), maar hij deed wel dienst als wekker.

Gelukkig doet m’n laptop het nog wel, en dus schreef ik even vlug een wekker, zodat ik morgen toch bijtijds op kan.
(Uiteraard hebben we het over Linux.)

#!/usr/bin/env bash

# ~/bin/wekker.sh

# This script sets an alarm for the specified time.
# All command line parameters will be passed to `at' as timespec.

# Copyright (c) 2015 Rob la Lau <rob@ohreally.nl>
# This script is in the public domain.

#################################################################

# Config.

play=/home/rob/tingeling.wav
repeat=3

#################################################################

timespec=$@
[ -z "${timespec}" ] && {
    echo "No timespec given."
    exit
} 

AMIXER=`which amixer`
MPLAYER=`which mplayer`

(
cat <<EndOfCommands
${AMIXER} sset Master 100%
${MPLAYER} -quiet -loop ${repeat} ${play}
EndOfCommands
) | at -M ${timespec}

En nu kan ik mijn wekker zetten met het commando

./wekker.sh 07:00

Net zo makkelijk…

Geplaatst in Nerd stuff | Reacties uitgeschakeld voor Wekker

Bericht naar andere blog bij bericht naar ene blog

Dit bericht is vooral een reminder voor mezelf. Ik heb een kleine aanpassing gemaakt aan een WordPress-plugin, dus als ik een update doe van die plugin, zal ik ook de aanpassing opnieuw moeten maken.

Ooit heb ik besloten dat het een logisch idee zou zijn om 2 blogs te hebben: ik had al een blog (het blog dat je nu leest), en voor mijn voettocht naar Santiago de Compostela wilde ik een apart blog (elPeregrino.nl). Het idee was om dat andere blog alleen te gebruiken om te schrijven over mijn pelgrimage en er dan een punt achter te zetten. Maar na mijn tocht besloot ik verder te zwerven, en het leek logisch om daarover verder te schrijven op dat blog. En zo zit ik nu dus met 2 blogs: 1 over mijn omzwervingen, en 1 voor ‘de rest’. Ik heb weleens overwogen om ze samen te voegen, maar uiteindelijk besloten dat niet te doen.

Niet al mijn volgers hebben tijd of zin om allebei mijn blogs te volgen, maar het komt voor dat ik op mijn ene blog een tijd niets te vertellen heb, en op mijn andere blog wel. Om de lezers van mijn ene blog toch te laten weten dat ik er nog ben, ging ik daarom op zoek naar een manier op automatisch een kort berichtje naar mijn ene blog te sturen wanneer ik een bericht plaats op mijn andere blog; ik wilde niet het volledige bericht doorsturen, maar alleen een korte aankondiging met een link naar het bericht op mijn andere blog.

De WordPress-plugin SNAP kon dit (en meer) voor me doen. De plugin had 1 klein probleempje: de berichtcategorie van blog X wordt meegestuurd naar blog Y. Waarmee ik bedoel dat wanneer ik op deze site (roblalau.net) een bericht publiceer in categorie Houtsnippers, de plugin de aankondiging op mijn andere blog (elPeregrino.nl) in diezelfde categorie probeert te plaatsen; ik wil graag dat de aankondiging voor een bericht op roblalau.net, op elPeregrino.nl geplaatst wordt in de categorie roblalau.net. (Als je het niet meer kunt volgen, moet je het nog maar een keer lezen.)

Ik heb dit als volgt opgelost:

Op elPeregrino.nl heb ik een berichtcategorie roblalau.net aangemaakt.
Op roblalau.net heb ik een berichtcategorie elPeregrino.nl aangemaakt.
Ik heb op allebei mijn blogs de genoemde plugin geïnstalleerd. Op roblalau.net heb ik bij de plugin-instellingen aangegeven dat berichten in de categorie elPeregrino.nl nooit doorgestuurd mogen worden, en op elPeregrino.nl heb ik datzelfde gedaan voor de categorie roblalau.net.
Daarna heb ik op beide sites een bestand van de plugin een beetje aangepast:

Log in op je WordPress-dashboard, en ga naar Plugins.
Zoek daar de plugin NextScripts: Social Networks Auto-Poster, en klik bij die plugin op Bewerken.
Selecteer, aan de rechterkant van je scherm, het bestand inc-cl/wp.api.php.
Wijzig de regels 52 en 64 (regelnummers kunnen verschillen bij nieuwe versies van de plugin).

Regel 52 is:
$nxsToWPContent = array(‘title’=>$msgT, ‘description’=>$msg, ‘post_status’=>’draft’, ‘mt_excerpt’=>$ext, ‘mt_allow_comments’=>1, ‘mt_allow_pings’=>1, ‘post_type’=>’post’, ‘mt_keywords’=>$message[‘tags’], ‘categories’=>$message[‘cats’], ‘custom_fields’ => ”);
en wordt:
$nxsToWPContent = array(‘title’=>$msgT, ‘description’=>$msg, ‘post_status’=>’draft’, ‘mt_excerpt’=>$ext, ‘mt_allow_comments’=>1, ‘mt_allow_pings’=>1, ‘post_type’=>’post’, ‘mt_keywords’=>$message[‘tags’], ‘categories’=>array(‘elPeregrino.nl’), ‘custom_fields’ => ”);

Regel 64 is:
$nxsToWPContent = array(‘title’=>$msgT, ‘description’=>$msg, ‘post_status’=>’publish’, ‘mt_allow_comments’=>1, ‘mt_allow_pings’=>1, ‘post_type’=>’post’, ‘mt_keywords’=>$message[‘tags’], ‘categories’=>$message[‘cats’], ‘custom_fields’ => ”);
en wordt:
$nxsToWPContent = array(‘title’=>$msgT, ‘description’=>$msg, ‘post_status’=>’publish’, ‘mt_allow_comments’=>1, ‘mt_allow_pings’=>1, ‘post_type’=>’post’, ‘mt_keywords’=>$message[‘tags’], ‘categories’=>array(‘elPeregrino.nl’), ‘custom_fields’ => ”);

Bovenstaande geldt natuurlijk voor de bestanden op elPeregrino.nl; berichten die vanaf roblalau.net verstuurd worden, moeten in de categorie roblalau.net komen.

Zoals gezegd moet deze wijziging na elke plugin-update opnieuw gemaakt worden (uiteraard hoeven de categorieën en de instellingen niet steeds opnieuw gemaakt te worden).

Geplaatst in Nerd stuff | Reacties uitgeschakeld voor Bericht naar andere blog bij bericht naar ene blog

Het is wit en je kunt erop staan…

Een kuikentje!

IMG02260-cropped

Geplaatst in Algemeen | Reacties uitgeschakeld voor Het is wit en je kunt erop staan…

Wanden en trappenhuis

Voordat ik mijn mouwen opstroopte, was dit een grote, lege ruimte. Een paar dagen later is het klaar voor de isolatie en de gipsplaten (maar eerst binnenkort de vloer storten).

Geplaatst in Houtsnippers | Reacties uitgeschakeld voor Wanden en trappenhuis

WordPress 4.2, HTML5 image canvas data en privacy in het algemeen

Als je een WordPress blog hebt, en een upgrade doet naar versie 4.2, word je ineens geconfronteerd met de waarschuwing dat de site probeert HTML5 image canvas data te lezen. Uiteraard wil je dat helemaal niet, want je wilt niet dat je bezoekers denken dat jij iets engs probeert te doen, terwijl jij je van geen kwaad bewust bent.

Na even zoeken ontdekte ik dat deze waarschuwing te danken is aan de introductie van emojis. En niet alleen zorgt deze introductie voor een alarmerende waarschuwing: ik ontdekte ook dat voor deze emojis, voor elke pagina die een bezoeker bekijkt, automatisch een aanvraag gedaan wordt naar de website van WordPress.

En waarom is het erg dat bezoekers gedwongen worden informatie op te halen van de WordPress site als ze jouw site bezoeken? Omdat je hiermee WordPress in staat stelt te registreren welke WordPress blogs bezocht worden door jouw bezoekers. Je maakt hiermee dus een enorme inbreuk op de privacy van jouw bezoekers!

De eenvoudigste manier om zowel van die enge waarschuwing af te komen als de privacy van je bezoekers beter te garanderen, is het installeren van de WordPress plugin Disable emojis; deze plugin verwijdert deze functionaliteit volledig uit je website.

Tot zover over WordPress.

Maar nu we het dan toch hebben over inbreken op de privacy: door op je site gebruik te maken van Google Maps, Google APIs, Google Search, Google Fonts, een Google Plus button, Google Analytics of YouTube video, geef je de privacy van je bezoekers uit handen aan Google; en door een Facebook Like button op je site te plaatsen doe je datzelfde aan Facebook. Al deze gadgets lijken je website leuker te maken, of de ontwikkeling ervan makkelijker, maar zijn alleen maar ontwikkeld om zoveel mogelijk informatie te verzamelen over de bezoekers van jouw website (en over jouzelf, natuurlijk).
Een kundig website-ontwikkelaar heeft al deze enge dingen niet nodig, en een website-eigenaar die geeft om zijn/haar bezoekers weigert er gebruik van te maken.

Voor de gebruiker/bezoeker:

Als je meer controle wilt hebben over de aanvragen die uit jouw naam gedaan worden naar externe sites, gebruik dan Mozilla Firefox met de Request Policy en AdBlock Plus add-ons. Als je die add-ons lastig vindt, kun je er ook voor kiezen de Tor Browser Bundle te installeren; deze Firefox variant zorgt ervoor dat je op een andere fysieke locatie lijkt te zitten dan je daadwerkelijk doet, en verandert die locatie bovendien regelmatig, waardoor bedrijven je surfgedrag niet meer aan jou kunnen koppelen.
Als zoekmachine zou ik je Startpage of DuckDuckGo aanraden.
En het is natuurlijk verstandig om nooit cookies te accepteren, tenzij je echt geen andere keuze hebt. Maar dat weet iedereen inmiddels toch wel?

Voor de ontwikkelaar:

Als je website-ontwikkelaar bent, heb ik hier nog wat alternatieven voor je:

  • Google Maps → OpenStreetMap
  • Google Analytics → Piwik
  • Google Fonts → upload het te gebruiken font naar je site, en gebruik een stylesheet
  • Google Plus, Facebook Like, enz. → gewoon achterwege laten; dat is zo 2010…
  • authenticatie met Facebook, Twitter, enz. → een beetje programmeur heeft in een vloek en een zucht een eigen gebruikersdatabase en authenticatie-module opgezet

Voor alles wat deze enge bedrijven aanbieden, zijn alternatieven te verzinnen waarmee je niemands privacy op het spel zet. Wees een professional, en bescherm de onwetende bezoekers en gebruikers; laat je gemakzucht niet de overhand krijgen.

En bovendien:

Als ik dan toch bezig ben: je zou je kunnen afvragen hoe verstandig het is om je persoonlijke, of zelfs je zakelijke, e-mails te delen met bedrijven als Google (Gmail, Android), Microsoft (Outlook.com, Hotmail, Live.com, Windows Phone) en Apple (iPhone, iPad).

Weet je trouwens dat je voor GPS helemaal geen internetverbinding nodig hebt? Fabrikanten van mobiele apparaten (Android, iPhone, Windows Phone, enzovoort) willen je dat alleen maar laten geloven, zodat ze je fysieke locatie ook nog kunnen koppelen aan je surfgedrag.

Dit bericht werd getriggerd door mijn upgrade naar WordPress 4.2, maar als ik eenmaal begin over privacy…
Vrijheid begint met privacy; zonder privacy geen vrijheid.

Geplaatst in Nerd stuff | Reacties uitgeschakeld voor WordPress 4.2, HTML5 image canvas data en privacy in het algemeen

Dienblad

Want hoe krijg ik anders mijn ontbijt naar mijn picknicktafel?

De oplettende kijker heeft gezien dat de handgreepjes afgekeurde handvatjes zijn van de kast die ik gemaakt heb; verder een stukje afvalhout en een vensterlatje; het geheel afgewerkt met boenwas om het mooi te laten lijken.

Geplaatst in Houtsnippers | Reacties uitgeschakeld voor Dienblad

Picknicktafel

Onbegrijpelijk dat je zo’n grote tuin hebt, en toch geen picknicktafel. En dus heb ik er maar één gemaakt.

De tafel is 2 meter 20 lang en 80 centimeter breed; we hebben dus ruimte om nog wat vrijwilligers te ontvangen. 😉

Geplaatst in Houtsnippers | Reacties uitgeschakeld voor Picknicktafel

Kast

Ik schreef al eerder over de kast die ik aan het bouwen was. Er kwamen wat dingen tussendoor en er waren wat uitdagingen te overwinnen, maar hij is af!

(Dat de vorm wat vreemd lijkt komt door de combinatie van de fisheye-lens van de camera en die rare koker die boven de kast om een schoorsteen is gemaakt.)

Eén van de uitdagingen was dat Gilles de schoorsteenmantel (rond de brede laden) graag in de kast wilde gebruiken, en deze dus maar, ruim voordat ik hier arriveerde om de eigenlijke kast te bouwen, aan de vloer en de muren verankerd had. Andere uitdagingen waren onder andere veel te droog kastanjehout voor de buitenkant, waardoor het heel graag wilde scheuren, en veel te nat douglas-hout voor het binnenwerk, dat niets liever wilde dan krom trekken.
Maar ik heb er veel van geleerd: de handgreepjes en een paar profieltjes zijn eigen ontwerp en fabrikaat, en hier en daar heb ik wat gezichtsbedrog moeten gebruiken (spelen met licht en schaduw) om te voorkomen dat je ziet dat niet alles even recht is.

Gilles wil de kast graag helemaal kaal laten, maar ik denk dat ik hem wel kan overhalen de buitenkant in de was te zetten. Ik wil namelijk binnenkort zelf boenwas maken, en dat test ik liever op zijn spullen dan op de mijne… 😉

Geplaatst in Houtsnippers | Reacties uitgeschakeld voor Kast

Tortilla Lorraine

Een soort kruising tussen Spaanse tortilla (aardappel, ui en ei) en quiche lorraine (spek en kaas). Erg lekker en erg voedzaam.

Nodig:

  • 1 grote aardappel (of 2 kleinere, natuurlijk), geschild of gewassen, en in kleine blokjes
  • een halve ui, gesnipperd of in halve ringen
  • een half pakje spekblokjes
  • 4 of 5 eieren (afhankelijk van de grootte)
  • geraspte kaas
  • zout
  • peper
  • knoflookpoeder of -vlokken

Verwarm wat (olijf)olie in een kleine koekenpan met een hoge rand, en bak daarin de spek kort aan. Voeg de ui toe, en bak ze samen nog even kort. Schep de aardappelblokjes erbij. Laat dit alles zachtjes bakken; regelmatig omscheppen.

Kluts de eieren met peper, zout en knoflook; schep er vervolgens de kaas doorheen.

Als de aardappelblokjes gaar zijn, draai je het vuur zo laag mogelijk. Giet er dan het eimengsel overheen, en schep het spul door elkaar, zodat het ei zich goed verdeelt. Leg een deksel op de pan.

Wanneer het ei helemaal gestold is, laat je de koek uit de pan op een bord (of op de deksel) glijden. Leg dan de koekenpan omgekeerd op het bord, en draai het spul in 1 beweging om, zodat de omelet omgekeerd in de pan ligt. Zet de pan nog even terug op het lage vuur, zodat ook de andere kant een korstje krijgt.

Dit gerecht combineert verrassend goed met goedkope tafelwijn.

Mocht je het niet allemaal in 1 keer op kunnen (en die kans is zeker aanwezig): tortilla is koud ook lekker.

Let op:
Dit recept heeft tijd nodig: aardappels van rauw naar gaar bakken zonder de buitenkant te verbranden kost tijd, en eieren laten stollen op laag vuur ook.

Smakelijk!

Geplaatst in Hobo food | Getagged , , , , , | Reacties uitgeschakeld voor Tortilla Lorraine

Bed

Niet heel spectaculair, maar je zult maar zonder zitten…

Een tweepersoonsbed met lattenbodem, en een lade over de hele lengte en breedte.

Volledig opgetrokken uit Douglas-hout (en schroeven).

Geplaatst in Houtsnippers | Reacties uitgeschakeld voor Bed