Log in
Seblog.nl

Blog

Bovenkomen

Ik probeerde een blogpost te schrijven over afgelopen weekend, en ik kwam best een eind, maar ik ben nu opeens heftig onzeker over mijn Engels. Het is onzinnig, waarschijnlijk, maar ik vrees dat ik ratel en de blogpost dus onleesbaar is. Dus lees ik maar blogposts over het web en user experience design terwijl ik eigenlijk al naar bed had moeten gaan.

Ik heb het gevoel dat ik afgelopen anderhalf jaar heel diep in de computer heb gezeten. Het is heel onwennig om weer gebruikers te zien, mensen die computers gebruiken, maar dan aan de oppervlakte. Mensen die de command line niet eng vinden, maar gewoon niet weten waar je het over hebt.

Als je een taal leert op school en die daarna jaren niet meer gebruikt, vergeet je de woorden en heb je er niets aan als je eens op vakantie gaat. Als je op een bepaalde taal gaat studeren, vergeet je een andere. Het voelt alsof ik mensentaal voor programmeertaal aan het ruilen ben geweest. Het is fijn om weer eens mensentaal te spreken, maar ik ben ook bang, stiekem, om de programmeertaal los te laten. Het is gek dat ook deze taal een deel van je identiteit lijkt te worden.

Ik heb niet het idee dat deze blogpost zo veel beter is, maar het ding met blogposts is dat je de slechte moet tegengaan door steeds nieuwe te schrijven, niet door slechte niet te schrijven. Maar aan de blogpost over IndieWebCamp Düsseldorf wil ik toch nog wat sleutelen, dus die houden jullie nog van me tegoed.

Hoe groot is de kans

Ik keek net uit het raam en zag een geel busje langsrijden. Gewoon, een geel busje. Ik dacht aan hoe vet het zou zijn als daar een voertuig reed waarmee ik een diepe verbinding voelde. Ik zou dan denken: ha, kijk, dat voertuig, hoe groot is de kans dat ik uit mijn raam kijk en precies dat voertuig zie?

Ik had ook dit gele busje speciaal kunnen vinden, dacht ik toen. Ja, hoe groot is de kans dat ik precies uit het raam kijk als er een geel busje voorbij rijdt? Het punt is: er is altijd wel iets bijzonders dat voorbij rijdt. Hoe groot is de kans dat je uit het raam kijkt en een betekenisvolle verbinding kan leggen met datgene wat langsrijdt? Die nadert honderd procent.

Net toen ik tot die conclusie kwam, zag ik een gele takelwagen langsrijden. Nu ben je gewoon met me aan het fucken, wereld, dacht ik.

De magie van Webmentions

Deze blogpost is speciaal voor Frank, die zich op Twitter het volgende afvroeg:

Webmentions blijven tovenarij voor me. @tonzylstra reageert op http://micro.blog op mijn post. Ik reageer daar op zijn verhaal en beiden staan onder de post.
Als dit kan met sociale netwerken... Crossplatform reageren....

Hierbij een poging om Webmentions uit te leggen, niet om de magie ervan weg te nemen, want ik blijf me er zelf ook steeds over verbazen, maar wel om uit te leggen hoe dingen werken.

Waarover we praten als we over Webmentions praten

Het lastige aan de term 'Webmention' is dat verschillende mensen er verschillende dingen onder verstaan. Of liever: de feitelijke Webmention is onzichtbaar, waardoor het zichtbare resultaat al snel ook 'Webmention' gaat heten.

De devs, en dan vooral de spec-lezers (jep, jij, Martijn), verstaan onder de Webmention de interactie tussen twee servers volgens het Webmention-protocol (waarover later meer). De gebruikers, waaronder denk ik ook Frank, bedoelen met 'Webmention' vooral de reacties van andere mensen die automagisch onder je eigen post verschijnen als je een Webmention-plugin installeerd.

Ikzelf vind beide definities acceptabel, maar het is fijn als iedereen op dezelfde pagina zit. Daarom een uiteenzetting.

De Webmention als Ding an sich

Laat ik beginnen met het Webmention-protocol zelf. Dit is een manier om een site op de hoogte te stellen dat er een andere pagina bestaat die naar de site linkt, en waarop informatie te vinden is die mogelijk relevant is. Een voorbeeld.

Stel dat Adriaan en Bassie allebei een blog hebben dat Webmention ondersteunt. Adriaan heeft een stukje geschreven en post deze op zijn blog. Bassie leest dat en heeft er een mening over. Om deze mening te uiten, post Bassie op zijn eigen blog een kattenplaatje, en geeft daarbij aan dat het een antwoord is op Adriaans stukje.

Zodra Bassie het kattenplaatje post, stuurt Bassie's server een notificatie (een POST request) naar Adriaans server, met daarin de link van Bassie's post en Adriaans stukje. Omdat Bassie heeft aangegeven dat het een reactie betreft, staat er een link in zijn stukje een link naar Adriaans stukje. Adriaans server bekijkt de pagina, ziet de link naar de eigen site, en accepteert daarna de Webmention door 'OK' terug te sturen. (Meer precies, een HTTP 200, 201 of 202.)

Met de bovenstaande flow verschijnt er natuurlijk nog niet magisch een reactie op je site. Feitelijk staat daar niets over in het Webmention protocol. Wat gebruikers dus onder 'Webmention' verstaan, is in feitte een extraatje.

Webmention++

In het voorgaande voorbeeld heeft Bassie 'aangegeven' dat zijn stukje een reactie is. Dit aangeven behoort eigenlijk al niet tot Webmention (een gewone link is voldoende), maar kan dus wel nuttig zijn voor de ontvangende partij. Door bijvoorbeeld Microformats toe te voegen aan je website, maak je je website leesbaar voor andere computers en servers. Hieronder een voorbeeld van hoe Bassie's kattenplaatje eruit kan zien in HTML met Microformats:

<div class="h-entry">
  <a href="https://adriaan.example/blogpost-over-b300" class="u-in-reply-to">
    Voor Adriaantje,
  </a>
  <img src="/images/lolz/kattenplaatje.jpg" alt="een kattenplaatje" class="u-photo">
  van <a href="https://bassie.example" class="u-author h-card">Bassie</a>.
</div>

In dit geval is de Microformats-opmaak vrij specifiek in de boodschap verweven, maar Bassie's blog-software kan deze voor Bassie genereren, indien juist ingesteld. Daar hoeft Bassie dan verder niet meer over na te denken.

Dankzij deze Microformats-opmaak, kan Adriaans server de volgende data uit de pagina halen:

{
  "type": "entry",
  "author": {
    "name": "Bassie",
    "url": "https://bassie.example" 
  },
  "in-reply-to": "https://adriaan.example/blogpost-over-b300",
  "u-photo": "https://bassie.example/images/lolz/kattenplaatje.jpg",
}

... en die data is voor Adriaans server genoeg om het kattenplaatje weer te geven als reactie!

Wat er daarna met de data gebeurt verschilt per Webmention-implementatie. De meesten slaan het op voor latere weergave. (Het zou niet zo praktisch zijn om bij elk bezoek aan de pagina Microformats te parsen van een X aantal andere sites.) Wie gebruik maakt van een CMS-plugin slaat deze data dus op op de eigen server, Webmention-services zullen de Webmentions op hun server cachen.

Inter-social-mediale webmentions

Tot slot zijn er de reacties op blogs via sociale media. Webmention wordt door sommigen gezien als een magisch protocol waardoor reacties van Twitter op je blog verschijnen. Daar is echter nog wel een extra stap voor nodig: een backfeed-service.

Op dit moment wordt vrijwel alle 'backfeed' van reacties op social media verzorgd door Bridgy. Deze service houdt, als je je aanmeldt, je Twitter, Facebook of Instagram-account in de gaten, op zoek naar reacties, likes en dergelijke en stuurt een Webmention naar de originele post op je website als het er een vindt.

Om dit voor elkaar te krijgen maakt Bridgy een nieuwe pagina aan voor elke like of reactie die het vindt. Op die nieuwe pagina staan de nodige Microformats om aan te geven of het om een like, reactie of anderszins gaat. Daarna stuurt Bridgy een Webmention en treedt de bovenbeschreven flow in werking. Het idee is dat Bridgy op deze manier de taak overneemt tot Twitter, Facebook en Instagram zelf Webmentions gaan sturen.

Webmentions, dus

Het is dus geen magie, al blijft het wel magisch voelen. Ikzelf vind nog steeds een 'indie-Webmention', een webmention tussen twee sites zonder tussenkomst van derden, een van de gaafste dingen die er is. Maar uiteindelijk is een Webmention dus niet meer dan een link van post A naar post B, een POST-request en wat markup die vertelt waar post B nou eigenlijk over gaat. En een brouwseltje van kikker, kamperfoelie en haarlak, tweemaaldaags na de maaltijd.

Blobs van bytes

Ik had het net met Martijn over file streams om posts op te slaan, en hij merkte op dat files – wat je er ook in stopt – uiteindelijk ook maar blobs van bytes zijn. Waarop ik zei dat alles op je computer uiteindelijk ook maar blobs van bytes zijn.

  • "Omg Facebook is tracking me" → blob van bytes
  • "Kijk dit kattenplaatje" → blob van bytes
  • "Belastingaangifte doen" → blob van bytes

Op dat niveau is het best eng. Aan de andere kant... alles in de 'echte' wereld kan je op dezelfde manier vertalen als 'het verplaatsen van moleculen', en dan is het even eng. Uiteindelijk is het de mens die er betekenis aan geeft.

Wat moet je met een briefje van 20 euro?

Vroeger leerde ik dat een boekenbon van 20 euro minder waard is dan 20 euro, omdat je er alleen boeken mee kan kopen in boekhandels die de boekenbon accepteren. Bovendien krijg je geen geld terug, maar een nieuwe boekenbon, die je dan weer bij je moet hebben als je de volgende keer naar de winkel gaat. De keuzevrijheid die geld geeft heeft waarde.

Van de week kreeg ik van iemand een briefje van 20 euro, omdat ik voor € 19,71 Hollands snoepgoed had gekocht. Het briefje is momenteel mijn enige contante geld. Ik was juist blij dat ik alweer een paar maanden zonder papier en metaal door het leven ging.

Van een briefje van 20 euro kan ik niet mijn huur betalen of mijn ov-chipkaart opladen. Als ik het uitgeef bij de Albert Heijn krijg ik muntjes terug, die ik dan weer bij me moet hebben als ik de volgende keer naar de winkel ga. Per saldo is een briefje van 20 voor mij minder waard dan 20 euro op mijn bankrekening. Voor mij hoeft contant geld niet meer.

Stories en verhalen vertellen

Er zit een interessant stuk in deze podcast, over hoe Stories (op Snapchat en Instagram) makkelijker te plaatsen zijn dan een foto, omdat er minder bewerkt hoeft te worden. Je hoeft niet te knippen in je video, je hoeft niet de perfecte filter uit te zoeken voor je foto en je hoeft je geen zorgen te maken over het aantal likes dat je krijgt: je kan gewoon het ruwe materiaal neerzetten. Deze filterloosheid geeft Stories een realistischer gevoel dan foto's in je tijdlijn, waar iedereen lacht en altijd de zon moet schijnen.

Wat ook een beetje in de podcast zat, maar niet in deze woorden: Stories worden gedeeld in fragmenten, die door de kijker te skippen zijn. Daarmee wordt het editen van de Stories niet per se achterwege gelaten, maar meer verplaatst: niet langer de maker, maar de kijker kiest welke delen van het verhaal interessant zijn.

Later in de podcast gaat het nog eens over editen en bijschaven, maar dan over podcasts. Podcasts die, zoals De Eeuw van de Amateur zelf, bestaan uit oeverloos gewauwel, die bestaan uit een ongeknipt gesprek tussen personen, zijn makkelijker te luisteren dan podcasts die hun verhaal vertellen in een strak en geëdit format. Beide zijn fijn en hebben hun tijd, maar kennelijk vergen gestroomlijnde verhalen meer aandacht.

Dan zou ik willen afsluiten met wat dit allemaal betekent voor het vertellen van verhalen (romans, films, zkv) anno 2017, maar eigenlijk heb ik geen idee. Het lijkt alsof vorm steeds minder belangrijk wordt, daar waar de lezer zijn eigen vorm kan bepalen, en dus de keuze van de inhoud er meer toe doet. Het verhaal wordt meer wat je laat zien, minder hoe je het brengt. Maar goed, het (e)boek is voorlopig nog vrij statisch, dus blijf vooral elegant schrijven.

Wachtwoordmanager

Zojuist heb ik een nogal groot beveiligingslek in de login van mijn weblog gefixt. Het bleek namelijk dat ik niet alleen succesvol werd ingelogd als ik het goede wachtwoord invoerde, maar ook als ik het met een verkeerd wachtwoord probeerde.

In mijn code stond: Als het wachtwoord niet gelijk is aan 'xxx' en de gebruiker niet gelijk is aan 'seblog.nl', geef dan een error. Op het eerste gezicht klinkt dat redelijk valide, maar het is dus foutief. Het had ‘of’ moeten zijn: Als niet-wachtwoord OF niet-gebruiker, dan error. Logica. En over het hoofd gezien.

De les hieruit: altijd testen of dingen die zouden moeten werken werken, maar ook altijd testen of dingen die niet zouden moeten werken niet werken.

En ik al die tijd maar moeilijk doen om mijn veel te lange wachtwoord in mijn wachtwoordmanager op te zoeken.


Edit: ik heb het nu allemaal wat fancyer aangepakt. $_POST['pass'] !== 'xxx' is gevoelig voor Timing Attacks, en als het goed is ben ik dat nu niet meer.

Betreffende de rivier bij Düsseldorf

Dit weekend ben ik in Düsseldorf te vinden voor de IndieWebWeek. Het is hier heel mooi weer (van het soort om over naar huis te schrijven, dus bij dezen) en dat maakt het een heel mooie stad. Steden zijn gewoon mooier bij mooi weer.

Op mijn eerste stadswandeling heb ik een beetje een atypische route gemaakt, waardoor ik een vreemd beeld van de stad kreeg. Maar dat is het punt: Düsseldorf heeft best wel veel verschillende kanten. Drukke straten met veel zelfstandige zaken waarvan merendeel bakkerij, de Japanse wijk waar al die zelfstandige zaken vol kana en kanji staan, het dure winkelcentrum Kö en grote bankgebouwen langs de Königsallee, het oude centrum waar 'gewoon' alle ketens zitten en dan tot slot de rivier.

Ik weet niet of ik in Düsseldorf zou willen wonen, maar toen ik de rivier zag voelde ik me thuis.

Vrijwel direct bedacht ik me dat ik eigenlijk al gewoon naast deze rivier woon. Het enige is dat hij hier de Rhein heet en bij mij de Waal. Ik heb daar voor een vriend de volgende infographic van gemaakt:

Dit water, dacht ik stellig, dit water is gewoon in Nijmegen geweest. Of ja, bijna dan, want de rivier stroomt de andere kant op.

Getallen in woorden verstoppen

Gisteravond was ik bij De opmars van het getekende verhaal en daar had ik op een gegeven moment een geheel ongerelateerd gesprek over getallen. Ik geloof dat het begon bij het Wifi-wachtwoord van Theater VIER (‘oppidum 15’) en hoe moeilijk ik het vond om uit te vinden dat 15 niet in de tafel van 4 zit. (Hoofdrekenen is nooit mijn sterkste punt geweest.) Laurens begon de naam van zijn buurman om te rekenen naar getallen op basis van de positie van de letters in het alfabet. Daarna rekende ik de woorden in de titel van de avond om naar getallen volgens mijn systeem en liet ik Laurens een tijdje raden waar het systeem over ging. Deze blogpost komt voort uit de belofte dat ik het systeem zou uitleggen.

Voor wie ook wil puzzelen zijn hier de woorden en de cijfers. ‘De opmars van het getekende verhaal’ bestaat uit:

  • De - 1
  • opmars - 9346
  • van - 52
  • het - 1
  • getekende - 81721
  • verhaal - 540

Ja, heb je hem? Het is vooral zo mysterieus omdat zowel ‘de’ als ‘het’ allebei 1 zijn, terwijl ‘van’ opeens 52 is. Magisch, nietwaar?


Om het maar meteen een naam te geven: het is mijn eigen Nederlandse vertaling van het Mnemonic Major System. Dat is een systeem om nummers te onthouden door ze om te rekenen naar woorden. Woorden en beelden zijn nu eenmaal makkelijker te onthouden dan een rijtje getallen. En het is leuker. Ik heb één telefoonnummer dat ik onthou aan de hand van het beeld dat die vriend samen met Poetin en de Dalai Lama over gas zit te onderhandelen. Dat telefoonnummer vergeet ik nooit meer.

De basis is simpel: je kijkt naar de medeklinkers uit het woord en zet die om naar cijfers. In ‘opmars’ hou je ‘pmrs’ over, en dat is 9346. Ik zal zo een lijstje geven van welke klank welk cijfer is.

Het omrekenen gaat dus op basis van klanken, niet op basis van letters. Een C is een S of een K, afhankelijk van het woord waar het in zit. Je moet er een beetje je eigen regeltjes mee maken (zit er een G-klank in ‘schreeuw’?) maar over het algemeen hoeft het niet moeilijk te zijn. Ikzelf behandel dubbele letters (‘bb’, ‘tt’) als één getal. Dus ‘ABBA’ is gewoon 9, want ik hoor maar één B, en voor 99 moet ik op zoek naar iets als ‘baby’ of ‘boob’.

Ik zei: je kijkt naar de medeklinkers, maar de J, de H en de W doen niet mee. Dat zijn namelijk een soort halve medeklinkers: als je ze aan het eind van een woord zet vallen ze meestal weg in een soort klinker. En het geeft je wat ruimte om te spelen bij het verzinnen van woorden. Als je iets met kaartspellen wil onthouden zou je ze nog voor de heer, vrouw en boer kunnen gebruiken.

Dit betekent ook dat sommige woorden geen getal hebben. ‘Ei’, ‘ja’ en ‘haai’ zijn allemaal niets. Let op: geen 0, maar niets. ‘aal’, ‘lui’, ‘alle’, die zijn 0, want daar zit een L in. Dit is vooral van belang bij telefoonnummers, want een 0 extra is een ander persoon aan de lijn.

Hier is het lijstje van klanken en cijfers dat ik voor het Nederlands bedacht heb, plus een kleine uitleg.

  • 1) t/d, want zowel de ’t’ als de ‘d’ hebben een staande streep.
  • 2) n, want die heeft twee pootjes.
  • 3) m, want die heeft drie pootjes.
  • 4) r, want ‘vieR’.
  • 5) f/v, want ze zitten allebei in ‘VijF’.
  • 6) s/z, want ze zitten allebei in ’ZeS’.
  • 7) k, want er zitten twee 7’s in de K, als je vaag kijkt.
  • 8) g/ch, want ‘aCHt’.
  • 9) p/b, want je moet iets. Bovendien lijkt de 9 wel een beetje op een p of b op z’n kop in spiegelbeeld.
  • 0) l, want ‘nuL’.

Nogmaals: het gaat om klank. De C is een 6 of een 7, afhankelijk van hoe hij in het woord klinkt. De Q is vrijwel altijd een 7. Ik had de ‘g’ van Google vroeger onder de 7, want het is een stemhebbende K, maar omdat de Nederlandse G ook weer niet héél vaak voorkomt heb ik ‘m tegenwoordig als 8.

Het lijstje moet je even uit je hoofd leren, maar daarna kan je elk woord omrekenen naar een getal en elk getal omrekenen naar een woord. Het is best leuk om te doen, al is het soms even zoeken naar het juiste woord. Als het verhaaltje bij het telefoonnummer eenmaal plakt raak je het nooit meer kwijt, maar ik moet toegeven: ik heb pas voor een stuk of vijf telefoonnummers de moeite genomen er een verhaal van te maken.

🙈

De foto die Mike likete lokt je dieper de hashtag #gayboy in.

Zowel #gayguy als #gaylove hebben geen recente fotostream. De stream is geblokkeerd door herhaald misbruik, je moet het doen met de gefilterde favorieten. Je tikt naar andere, obscuurdere hashtags door. #gaycute, #gayfollow, #boiboner. Je blijft een tijdje hangen bij @lookgayboysx tot je Grindr opent.

De jongen die je net aansprak vraagt om ‘pics’. Je kijkt naar zijn profielfoto, hij is 21. Je stuurt de foto die je vorige week nam, en bijna de foto van op het station. Toch ook die ander? Je laat het hier even bij en gaat weer naar het overzicht.

Je scrollt heen en weer, maar ziet steeds dezelfde foto’s. Je filtert op leeftijd, tot 27. ‘Hee,’ zeg je tegen een leuke. ‘Hee,’ zeg je tegen een ander. ‘Cute,’ tegen een onbereikbare van 18. Nieuw bericht. 32, dus je kijkt door. ‘Top of bttm?’ stuur je in een dood gesprek, terwijl je die jongen alleen had aangesproken omdat hij een ⬆️ op zijn profiel had staan.

Dan is Bram online. ‘Buurman!’ roep je, want de ‘Hee’ en ‘Hoest?’ van vorige week staan nog onbeantwoord in het scherm. Tijden terug hebben jullie wat gedaan. Het was zo’n wat zou je doen als-gesprek en de inzet was voor zijn deur staan, dus daar stond je. Je liet je te gemakkelijk neuken, denk je. ‘Tussen ons wordt het nooit meer gewoon,’ stuurde hij toen je hem later zijn nummer vroeg.

Het is stil. Je denkt dat je een nieuwe profielfoto nodig hebt. Je scrollt door je recente selfies, tot ze te oud zijn, en scrollt terug. Je opent de camera, maar je bent lelijk vandaag. Toch die oude foto terug dan?

Je gaat weer naar Instagram en tikt door via #gaytwink naar #gaycute. Je vindt het profiel van @gays.sexualities, die foto’s van anderen plaatst. Kennelijk deel je zijn smaak, want het zijn goede foto’s. Je scrollt en tikt, leest dan het onderschrift ‘I need to start working out like honestly if I want a bf’. Je scrollt een paar foto’s terug en leest ‘Boys make me so happy and so sad :(’ en ‘Wish I had more confidence I hate that I find it sexy but can't act it myself :/’

Met een zucht ga je terug naar Grindr.

Nieuw bericht. Het is Marcel en je weet dat hij geil is, maar je weet het niet. Het kan altijd nog. Ook jullie deden ooit wat, een tijd geleden, maar meer omdat je die avond niets anders kon vinden. ‘Hoe is het?’ stuur je, want het gesprek hoeft niet dood. Je scrollt weer door de hoofden en torso’s op zoek naar nieuwe jongens.

De jongen van 21 wil nu body pics. Je stuurt die ene in je boxer. ‘🍑🍆💦’, stuurt de jongen terug. Dat ziet er veelbelovend uit, denk je. ‘Lkkr,’ typ je, en je vraagt je af hoe je verder moet gaan. Maar dan schuift het scherm weg: hij heeft je geblockt.

Je lockt je telefoon en legt hem naast je neer. Je zucht, staat dan op en loopt naar de badkamer. In de spiegel zie je jezelf. Dit is het gezicht dat je verkoopt met je selfies. Dit is het lichaam waarop je schuin licht laat vallen om het op te leuken.

Je denkt terug aan de tijd dat je zelf 21 was. Beetje bij beetje wordt je de man die je toen ontweek. Er zullen altijd jongens van 21 zijn, maar jij hebt er minder te zoeken dan ooit.

Vind ik leuk

Ik klik weer te snel op ‘vind ik leuk’. Toen ik besloot al mijn likes eerst op Seblog te zetten, werd een like voor mij meer moeite en dus waardevoller. Ik likete alleen dingen die ik echt leuk vond en om er achter te komen of je iets leuk vindt moet je het eerst tot je nemen. In het geval van een artikel is dat dus: lezen.

Bij Facebook vind ik het lastiger om likes eerst op mijn weblog te zetten, omdat de meeste posts op Facebook privé zijn. Ik wil mijn voorpagina hier niet vullen met ‘Seb vindt dit leuk’-links naar pagina's die de meeste bezoekers niet mogen zien. Dus post ik nu dergelijke likes als privé-posts, waarbij ik aangeef dat $friends het mogen bekijken. (Ik heb alleen nog helemaal niets gebouwd dat $friends vertaalt naar toegang voor vrienden, dus niemand kan ze zien, zelfs ikzelf niet.)

Het andere probleem met likes op Facebook is dat ze net iets anders betekenen dan ‘hé wat een goed verhaal’. Een like is op een bepaalde manier een aanmoediging, maar een like op Facebook betekent ook vooral ‘hé ik waardeer jou als persoon’ (of in elk geval het beeld dat die persoon schetst). Tenminste, dat is een oude gedachte van me, van vóór ik stopte, die ik nu weer opnieuw ontdek. En iemand waarderen als persoon kan zónder de inhoud te kennen. Dus klik ik nu op ‘vind ik leuk’ voor ik het artikel dat iemand deelt gelezen hebt.

Ergens mondt dit uit in een discussie over het onderscheid tussen like en favorite, en misschien ook wel de poke. Sommige likes die ik heb gepost zijn meer een favorite, als zijnde een inhoudelijke ‘vind ik leuk’, en sommige likes zijn meer een ‘hé wat leuk dat je gepost hebt’. In die laatste gevallen zou ik er misschien een poke van moeten maken, maar ja, ik weet niet of het wenselijk is om daar een IndieWeb-variant van te hebben.

Uiteindelijk is het ook gewoon je eigen like-policy. Ik denk dat ik gewoon weer wat inhoudelijker naar zaken moet gaan kijken en me niet zo veel moet laten afleiden door Facebook. Binnen de context van Facebook druk je sneller op ‘vind ik leuk’, maar dat betekent denk ik vooral dat je weer terug moet gaan naar je eigen context. In die eigen context is het logischer om ‘vind ik leuk’ uit te delen aan posts die je leuk vindt, en gewoon koffie te gaan drinken met mensen die je leuk vindt.

100 dagen

De afgelopen twee weken waren een beetje vaag. Ten eerste is het nu 2017, waar ik nog niet helemaal aan gewend ben, en ten tweede is het nu al de tweede week van 2017, wat echt veel te snel gaat. Ik heb het gevoel dat ik niets gedaan heb in die twee weken. Dat is niet helemaal waar, maar het gevoel is er wel.

Het gevoel is wel verklaarbaar. De afgelopen weken ben ik vooral bezig geweest met het verbouwen van mijn weblog, het bijhouden van #indieweb op IRC en hier en daar met wat websites voor anderen. (Ik heb inmiddels ook een best leuke todo.txt set-up, maar daar blog ik later nog wel eens over.) Al met al sliep ik van 3:30 tot veel te laat en haalde ik niet veel voldoening uit mijn dag.


Gister vond ik dat het anders moest, dus hield ik een schermloze dag. Ik liet mijn telefoon en laptop uit en dwong mezelf om andere dingen te verzinnen om te doen.

Het was heel interessant. Op gegeven moment stond ik in een boekhandel naar boeken te kijken en dacht ik: nu doe ik weer precies wat ik al twee weken doe. Ik verzamel meer informatie om tot me te nemen, voor zometeen, terwijl ik daarmee eigenlijk blijf hangen in een soort oppervlakkigheid. Nog steeds nam ik niet de tijd om de informatie die ik in mijn hoofd aan het verzamelen was te verwerken.

Enfin, ik heb nog een tijd in de bieb gezeten met een notitieboekje, nadenkend over dingen, súperintellectueel. Weer thuis gekomen heb ik mijn kamer verbouwd, heb ik voor het eerst sinds tijden weer wat boeken gelezen en heb ik dus allemaal plannen gemaakt over hoe ik dit beter kan aanpakken.


Daarom nu: ik ga een 100-dagenchallenge doen. Het idee is niet nieuw, ik heb het van Aaron Parecki en die heeft het vast weer van anderen. Hij bouwt elke dag een stukje van zijn site uit én hij schrijft elke dag een stukje muziek. Ik heb al een aantal keer bedacht dat ik zoiets ook zou moeten doen, omdat ik praktisch gezien al elke dag iets aan mijn weblog verander, maar dat niet op diezelfde manier deel. Dus bij dezen:

  • Ik ga 100 dagen lang elke dag iets aan mijn website veranderen. Details straks in het Engels.
  • Ik ga 100 dagen lang elke dag 500 woorden schrijven en die hier op mijn weblog plaatsen. Het eerste stukje vind je hier.

De teksten kan je komende dagen vinden onder de categorie #100dagen500woorden. Waarschuwing vooraf: ik heb niet gezegd dat dit goede teksten gaan worden, ik heb alleen gezegd dat ze er 100 dagen lang elke dag zijn en dat ze ongeveer 500 woorden per stuk zijn.

Ook alvast een uitzondering: elke tiende dag ga ik weer zo’n schermloze dag houden, waarbij ik mijn laptop en telefoon uit laat, want dat beviel enorm. Ik denk dat ik voor die dagen een tekstbeeld teken, wat met de hand schrijf en dat de volgende dag post.

Terug op mijn eigen blog

Mijn blog leeft weer de laatste tijd. Dat is wel eens anders geweest. Over het algemeen genomen zijn de meeste blogs een beetje doodgegaan de afgelopen jaren, en Seblog was daar geen uitzondering op. Inmiddels plaats ik zo’n vier stukjes per dag, wat natuurlijk weer het andere uiterste is. Wat is er allemaal aan de hand?


Naast gewone blogposts (zoals deze: lange stukken met een titel) plaats ik tegenwoordig op Seblog ook korte posts, of ja, zeg maar gewoon tweets. Ik heb mij voorgenomen om alles wat ik op Twitter zet eerst op Seblog te zetten. En dat doe ik ook met Instagram. Om het nog erger te maken: ik post zelfs mijn likes hier. Een poging tot own your data.

Het doel is tweeledig. Aan de ene kant is dit een poging om de macht van de sociale media in te perken. (Klinkt gaaf toch?) Aan de andere kant doe ik zo weer wat met mijn eigen site. In alle gevallen gaat het om weer controle nemen over mijn digitale identiteit. Wie wil weten hoe het met Seb is kan gewoon op Seblog.nl kijken. Hier staat alles en delen van deze content is ook elders te vinden.


Gek genoeg is deze openheid van alles op één openbare plek posten naar mijn idee ook de eerste stap naar meer privacy op het web. Op dit moment moet alle informatie op deze site openbaar zijn, omdat het anders geen functie heeft. Maar dat is mijn eigen keuze: ik kan de toegang tot deze informatie regelen hoe mij dat zelf het beste lijkt.

Ik zou sommige posts achter een wachtwoord kunnen plaatsen (waarschijnlijk niet de beste optie), of mensen laten inloggen met hun eigen site of een Twitter-account. Op Facebook kan ik ook vrij nauwkeurig aangeven welke Facebookaccounts ik toegang wil geven tot mijn post, maar uiteindelijk deel ik de post altijd met Facebook zelf, daar ontkom ik niet aan. Op mijn eigen site heb ik die vrijheid wel en is privé ook echt privé.


Ooit waren blogs hip en had iedereen ze. Later kwamen er sites als Twitter en Facebook. Geleidelijk aan zijn we minder en minder gaan schrijven op blogs en meer en meer korte stukjes gaan posten op sociale media. ‘Bloggen’ werd synoniem met lange stukken schrijven (zoals deze) en tja wie las die ook eigenlijk nog? En omdat we eigenlijk ook wel wisten dat bloggen stiekem veel nobeler was dan tweeten ontwikkelden we dat schuldgevoel van ‘o ja, mijn blog, die moet ik nodig eens updaten’. Zo werkte het voor mij althans. Er zijn tijden geweest in de bijna 11 jaar dat ik dit domein heb dat ik er maanden niet op keek omdat het vorige stukje ook al ging over dat ik toch echt weer wat vaker iets moest schrijven en ik nu ook niets beters wist.

Omdat ik mezelf nu toesta om korte dingen op mijn weblog te plaatsen heb ik geen schuldgevoel meer als ik hem open. En dus durf ik af en toe weer iets langs te schrijven (zoals dit). En dat is dan ook oké.

Daarnaast geeft Twitter me nog steeds de discovery die vroeger op blogs miste. En de interacties, want wie reageert op de tweet die hieronder (naast de datum van de post) is gelinkt, ziet zijn reactie onder deze post verschijnen. Dankzij diverse Indieweb-technieken kan ik het beste van twee werelden hebben.

En twee werelden hoeven het trouwens niet te zijn. Om te reageren op mijn post heb je geen Twitter nodig. Wie op zijn eigen site een stukje schrijft en die opmaakt met Microformats, kan onderaan deze pagina de url achterlaten, dan verschijnt hij ook. (Vraag gerust, ik help graag.)

Omdat je op bovenstaande manier zelfs deze pagina kan liken, is een externe service als Twitter of Facebook in principe helemaal niet nodig. Het enige wat we nodig hebben: mijn site en jouw site.


Mijn site heeft heel veel toeters en bellen op dit moment. Het geeft automatisch webmentions (reacties en likes) weer. Het stuurt automatisch webmentions naar de sites waar ik op reageer (mits ze dat ondersteunen). Ik kan een stukje posten via de app van een ander en als ik aangeef dat het op Twitter moet staan, zet mijn site het automatisch op Twitter. Maar zo fancy hoeft het niet te zijn.

Je eigen website start met een domeinnaam –voornaamachternaam.nl, nickname.com, fashionbabe.cute – en een pagina waarop staat dat jij dat bent. Of iets over pony’s, dat is aan jou. Het is jouw stukje internet en niemand kan dat afpakken. (Instagram kan en mag elk moment besluiten dat jouw accountnaam niet meer jouw accountnaam is. Weg posts. Of stel je voor dat Hyves opeens weg gaat, waar blijven al je krabbels dan?)

En het is minder moeilijk dan het lijkt. Roep en ik schrijf er een blogpost over.


Ooit was dit een weblog. Ik geef toe dat de voorpagina momenteel een beetje een janboel is. Er staan allemaal verschillende types posts over verschillende onderwerpen door elkaar. Niet alles is voor iedereen relevant. De uitdaging is dat ik een veelzijdig persoon ben en dus veelzijdige dingen maak en deel. Dat is een andere functie van verschillende social media: je kan overal net even een ander facet van jezelf zijn.

Maar ook hierin heb ik dus een eigen keuze. Het is mijn website, dus ik kan zelf beslissen hoe ik mijn informatie filter. En zo zijn er meer problemen, maar die kunnen we al doende oplossen. Het belangrijkste is dat we iets doen, en wat ik nu doe is stukjes op mijn eigen site plaatsen.

Het nare van alternatieven voor Twitter of Facebook en andere social media is dat ze uiteindelijk vaak neerkomen op ‘als iedereen nou...’ Het probleem daarvan is dat niet iedereen mee wil in die ‘als iedereen nou’. (En vaak komt het niet eens tot ‘als iedereen nou’ maar blijft het hangen bij ‘als meer mensen nou’.) Het fijne van je eigen website hebben, is dat je helemaal niet hoeft te wachten op ‘als iedereen nou’. Jij hebt gewoon je feestje, en wat de rest doet moeten zij weten.

Neem het heft in eigen handen, neem een website.

Seb leert unittesten met PHP (deel 1)

Oké, dit wordt zo'n blogpost die ik voor mijn gevoel voor niemand schrijf, omdat het grootste deel van mijn lezers geen idee heeft van PHP en de lezers die wel een idee van PHP hebben naar mijn gevoel allang weten wat unittesten is. Maar hé, misschien ben jij ook wel zoiemand als ik, die wel z’n weg weet in PHP maar gewoon nooit aan unittesten is toegekomen. Bij dezen draag ik deze blogpost op aan jou.

Vorig jaar wist ik eigenlijk niet goed wat Git was, terwijl ik zag dat vrijwel iedereen dat gebruikte. Het was er gewoon nooit van gekomen, na HTML en CSS en PHP en MySQL en Javascript en al die duizend andere dingen die je moet leren als je een website wil bouwen. Dus leerde ik het afgelopen jaar Git (en Github) te gebruiken en daar ben ik heel blij mee. Het resulteerde in mijn eerste gemergede pull request, wat gewoon een knip-en-plakwerkje was, maar toch goed voelt.

Wie de PR leest ziet dat ik na mijn knip-en-plakwerkje nog werd gevraagd om ook even de test te knip-en-plakken. Spannend. Dus ik knipte en plakte en hoopte dat alles goed kwam. Ik hoorde er niets meer over en het werd gemerged, dus alles was blij en bloemetjes, maar er bleef wel een knagend gevoel over: hoe zit dat, geautomatiseerd testen?

Na enig research bleek dat zowel php-comments als Kirby (het CMS waar dit weblog op draait) hun tests uiteindelijk bestaan uit een class die PHPUnit_Framework_TestCase extend. Eén duckduckgo later vond ik phpunit.de, wat blijkbaar dé testsuite voor PHP is. Ik sloot alles af en besloot er later weer naar te kijken.

Later

Vandaag was ik dus vastbesloten om uit te zoeken hoe dit werkte. Of beter eigenlijk: ik kwam het weer tegen en raakte er langzaam in verzeild toen ik eigenlijk iets anders zou moeten doen.

Het begon allemaal heel simpel. Op de site van phpunit stond een link voor ‘Take the first steps’, die wel relevant leek. Daar stond het volgende stappenplan voor in de terminal:

$ wget https://phar.phpunit.de/phpunit.phar

$ chmod +x phpunit.phar

$ sudo mv phpunit.phar /usr/local/bin/phpunit

$ phpunit --version
PHPUnit 5.7.0 by Sebastian Bergmann and contributors.

Ik had al problemen bij stap 1 omdat mijn Mac kennelijk geen wget heeft. Ik probeerde nog wat met curl https://(…) -L | nano maar dat lukte ook niet geweldig. Uiteindelijk heb ik ‘m gewoon even via de browser gedownload. De overige stapjes werkten prima.

De volgende stap blijkt dan dus om in terminal naar de map te gaan waar het bestand phpunit.xml in zit, in mijn geval dus cd ~/code/php-comments/. Toen ik phpunit deed in die map, kreeg ik een foutmelding dat /vendor/autoload.php niet bestond. Dit los je op in de volgende twee stappen, die ik natuurlijk in de verkeerde volgorde deed:

  1. Roep phpunit aan met de bootstrap-vlag:

    $ phpunit --bootstrap vendor/autoload.php
  2. Installeer indien nodig eerst (!) de dependencies via composer.
    $ composer install

Toen ik nogmaals stap 1 uitvoerde kreeg ik het volgende:

$ phpunit --bootstrap vendor/autoload.php
PHPUnit 5.7.5 by Sebastian Bergmann and contributors.

.................................                                 33 / 33 (100%)

Time: 105 ms, Memory: 12.50MB

OK (33 tests, 82 assertions)

We kunnen dus gerust stellen dat mijn knip-en-plakwerkje alle tests haalt. Volgende stap is om zelf tests te gaan schrijven voor dingen die ik maak, maar dat bewaren we even voor een andere keer.

Ideeën over een terugkeer naar Facebook

Net terug van de speciale kerstaflevering van de schrijfwerkplaats van Wintertuin, waar we het voor de verandering over dingen rond het schrijven hadden in plaats van over teksten zelf. Mijn persoonlijke conclusie van de avond is een beetje dat ik misschien weer terug naar Facebook moet, vooral voor punt 7 van het whiteboard: Netwerken.

Ik ben nu iets meer dan twee jaar van Facebook af en op zich gaat dat prima. Als in: ik leef nog en ken nog mensen. Als in: ik mis vast dingen maar zij missen me ook niet. Als in: er is een wereld waaraan ik kies niet mee te doen omdat het inschrijfgeld zo hoog is. Facebook is gratis, zeggen ze, maar dat is niet helemaal waar. Het kost je tijd en het kost je privacy. En ik ga nu eenmaal graag de andere kant op dan de massa. Soms. Gek genoeg zit ik wel gewoon op Whatsapp, Instagram en Twitter, zelfs op Snapchat.

Nu mijn weblog meer en meer functies overneemt van Instagram en Twitter verandert ook mijn kijk op Facebook. Eerst was het een kwaad ding waarover ik geen controle had, maar met mijn weblog als hub is het misschien niet eens meer zo gek om Facebook aan het rijtje silo's waarnaar ik kopieën stuur. Het is gewoon een van de vele kwaden die ik gecontroleerd gebruik.

Mocht ik Facebook weer willen gaan gebruiken, dan moeten Facebook en ik wel even wat afspraken met elkaar maken over wat er wel en niet kan. Ik zal ze ter zijner tijd wat duidelijker opschrijven, maar hier een korte lijst:

  • Alles wat ik op Facebook post, post ik eerst op mijn eigen weblog. Dit doe ik nu al met Instagram en Twitter, inclusief reacties en likes.
  • Ik wil eerst een reader, zodat ik niet afhankelijk ben van de feed van Facebook, maar zelf de profielen die ik interessant vind kan inlezen en op één plek kan zien naast alle andere dingen die ik interessant vind. Als ik dan wil filteren kan ik filteren op mijn eigen voorwaarden. (Iemand die ik ken heeft een browserplugin die zijn Facebookfeed blokkeert. Dat wil ik dan ook. Geen gescroll daar.)
  • Ik wil een (ad?)blocker die externe scripts blokkeert, zodat Facebook me niet overal in de gaten houdt. (Dit heeft niet zo veel met terugkeren te maken, want nu blokkeer ik ze ook niet en weten ze dus precies waar ik kom op de interwebs.)
  • Het voordeel is dan dat mensen via Facebook met mijn weblog kunnen praten. Mocht ik dan daarna nog eens weggaan, dan hoop ik dat ze door hebben dat mijn weblog gewoon doorgaat.
  • Theoretisch hoef ik dus helemaal niet meer in te loggen op Facebook.com, maar gaat alle informatie geautomatiseerd van en naar mijn weblog.

Tja. Weer Facebook. Je zou deze post ook kunnen samenvatten als: vanavond piekte mijn FOMO tot historische hoogtes. We zullen zien hoe het morgen is.

Eurojacht

Ik koop vandaag de gekste zaken in de hoop de Litouwse euro-set voor mijn moeder te vervolledigen. Op dit moment ontbreken alleen de 5 en 20 cent, dus koop ik vooral zaken die hoge kans geven op die twee munten. Zo beging ik net de fout om een kleine karamelinis makijatas te kopen. Los van de karamel in de koffie gaf de kleine latte met € 2,20 maar kans op één 20-centmunt, terwijl de grote met € 2,60 kans had gegeven op twee 20-centmunten. Het meisje gaf één 20-cent-munt terug, maar dat was een Franse, dus nu moet ik nog iets kopen. Een aankoop van 0,75 is nu het beste, omdat dat zowel kans geeft op 20 als op 5 cent.

Er is geluk nodig bij het eurojagen. Eerder kocht ik de gebruikelijke ansichtkaart voor diezelfde moeder, voor op de koelkast. Litouwse internationale postzegels kosten 81 cent, en ze ronden niet af. Kans op 5 cent, dacht ik verheugd toen ik het bedrag zag, maar ik kreeg een hand vol 1 en 2 centen die ik al had en waar ik in Nederland ook niets aan heb. Gelukkig kon ik bij de supermarkt terecht met 1 euro en 9 centen om een broodje van 0,49 te kopen. Dat leverde een bruikbare 50-centmunt op.

Nu het latte-plan is mislukt moet ik weer iets nieuws kopen, liefst in de supermarkt. In de supermarkt heb je de meeste rust om het ideale totaalbedrag samen te stellen om zo veel mogelijk kans te maken op een Litouwse 20 en 5 cent. Het ziet er alleen zo vreemd uit als je elke keer opnieuw in de rij aansluit, dus ik denk dat ik het beste op zoek kan gaan naar een andere supermarkt. De latte is op, dus ik moet sowieso door.

Privéstukjes

Ik heb zojuist twee privéstukjes op dit weblog gepost. Het is een beetje onzinnig misschien, privéstukjes op een weblog, maar ik vind het idee leuk. Er is momenteel een soort hang naar meer privacy met dingen die je deelt. Twee mensen die ik ken zijn (net als anderen) nieuwsbrieven begonnen in plaats van of in aanvulling op hun blog. Snapchat en Instagrams imitatie van Snapchat zijn ook mooie voorbeelden: mensen delen er foto’s, maar tijdelijker en minder openbaar. Het jammere ervan is dat alle bovengenoemde voorbeelden niet meer tot het web behoren. Privéstukjes op weblogs horen wel bij het web, met alle voordelen van dien.

De stukjes zijn privé omdat ik ze eigenlijk niet goed genoeg vond, maar ik ze wel wilde bewaren binnen mijn weblogarchief. Ik had het daar laatst met Wout over. Op een of andere manier schrijf ik graag voor de openbaarheid. Mijn tekst moet een plekje hebben, dat het af is en dat ik het ergens neerzet en dat mensen daar dan naar kunnen kijken of niet. Dat hoeft natuurlijk helemaal niet, maar ik voel me daar beter bij.

Het alternatief is voor mij een mapje met tekstbestandjes voor ‘drafts’, of een opschrijfboekje met aantekeningen. Maar in beide gevallen voelt dat zo fragiel, zo nietsig. Ik heb stapels opschrijfboekjes die half-vol zijn en waar ik me schuldig over voel als ik er naar kijk en veel te veel mapjes vol schrijfsels waarvan ik niet meer precies weet hoe of wat en wanneer en waarom. Ik vind het fijn om een stukje te kunnen posten op een datum, dan is het af. Met dit privé-systeem kan ik het later altijd weer kopiëren, redigeren en opnieuw publiceren op een nieuwe datum.


Terug naar de stukjes. Je kan er hier een zien. Dat wil zeggen, er is niet zo veel te zien, want de instelling staat gewoon op private: true, wat zoiets betekent als ‘alleen voor mezelf’. In de planning staat wel om een soort inlog-ding te maken zodat vrienden en bekenden bepaalde stukjes kunnen lezen, maar hoe ik dat precies ga vormgeven is nog in brainstormfase.

Ik ben voorlopig weer content.

Beesten op je kamer

Twee weken geleden zat er een Heel Gek Beest in mijn kamer. Ik schrok ervan, ving het in een glas, en liet hem een nacht zo onder het glas op mijn printer staan. De volgende ochtend liet ik 'm vrij en deed tevreden mijn raam dicht.

Even later zat er een wesp op mijn kamer. Een wesp. Het is niet alsof ik met dit weer mijn raam heb openstaan of zo, dus ik heb geen idee hoe hij hier binnen kwam. Ook de wesp probeerde ik op humane wijze buiten te krijgen, maar eenmaal met het raam open bleef hij in de vensterbank zitten. Te koud buiten. Na lang treuzelen heb ik 'm toch nog vermoord. Sorry wesp.

Twee dagen geleden zat er weer een Heel Gek Beest in mijn kamer. Ik schrok er weer van, ving het in een glas, en liet hem een nacht zo onder het glas op mijn printer staan. Daarna ben ik 'm stiekem een beetje vergeten.

Vanochtend werd ik wakker van gezoem en getok. Dat klinkt als een insect, dacht ik. O ja, het Hele Gekke Beest zit nog in dat glas! Die moet er nodig uit. Maar bij het glas aangekomen bleek het beest zich heel rustig te gedragen. Voorzichtig schoof ik het gordijn opzij en jawel: daar zat een wesp. Hoe zat het ook weer? Tweemaal is de duivel, driemaal is God? We wachten af.

(Inmiddels zijn alle beesten weer buiten.)

Je moet meer schrijven

Wout zei dat ik me meer op het schrijven moest richten. Ik wist dat hij gelijk had.

De dagen nadat Wout dat zei, richtte ik me op het bouwen van een Micropub Endpoint. Nu kan ik stukjes op mijn weblog plaatsen via (web)-apps die door anderen gemaakt zijn. Mits ze Micropub ondersteunen, wat vooralsnog tamelijk zeldzaam is, maar toch. Mijn weblog ondersteunt zowel de FormEncoded als de JSON-variant, mét Media Endpoint én de configuration query. Ik was nog bezig met syndication targets en updaten en deleten via Micropub, maar toen hoorde ik Wout weer in mijn hoofd: je moet meer schrijven. En ik wist dat hij gelijk had.

Ik schrijf dit stukje in een web-app die door iemand anders gemaakt is. Want: een weblog bijhouden gaat niet om de ideale schrijfomgeving programmeren. Het gaat om het schrijven van stukjes. En dat kan prima in iemand anders’ ideale schrijfomgeving. (Mits zowel die schrijfomgeving als jouw weblog Micropub ondersteunen. Of ja. Dan gaat het makkelijker. Dan hoef je na het typen alleen maar op de knop te drukken.)

Dat ik uit de code ben ontwaakt, Wout hoorde en ben gaan schrijven komt vooral omdat ik het gevoel had dat ik er niet doorheen kwam. Dat achter elke functie die ik implementeerde wel weer een nieuwe bug zat, of een nieuwe functie die dan ook geïmplementeerd moest worden voor ik eindelijk stukjes kon gaan schrijven. Dat ik er nooit kwam.

Vroeger zeiden mensen tegen me dat ik er wel kwam. Ik nam aan dat ze daarmee iets met schrijven bedoelde, dat hoopte ik althans. Zelf heb ik een tijdje geloofd dat ik er bijna was, maar eerlijk gezegd weet ik nog steeds niet precies waar ‘er’ dan is. Dat geeft ook niet. ‘Er’ is misschien ook wel helemaal geen plek waar je kan zijn. Het is net als de regenboog achternalopen: je komt er nooit, maar als je om je heen kijkt zie je toch best leuke natuur. Maar dan moet je wel om je heen kijken, even stil staan en genieten van wat je al hebt.

Ik ga in deze web-app op ‘Publish’ drukken. Als er geen bugs zijn staat het daarna op mijn weblog. Wish me luck. Ik heb in ieder geval iets geschreven.

Hardlopen naar het centrum

Vandaag, 1 juni, blijkt internationale hardloopdag te zijn. Tenminste, dat zei Strava. Goed excuus om eindelijk eens een stukje over hardlopen te schrijven.

Beginnen met hardlopen

Een paar jaar geleden stelde ik mezelf een sportief doel: wat zou het vet zijn om non-stop naar het centrum te kunnen rennen. Ik woon in de Bijlmer, dus het is een tocht van ongeveer zeven kilometer die ik een aantal keer per week heen en terug fiets.

Vandaag, 1 juni, internationale hardloopdag, ging ik dan eindelijk op weg. De afgelopen maanden heb ik getraind met een app die me beloofde dat ik na 8 weken 5 kilometer kon rennen. Dat begon heel simpel, met zes keer 1 minuut rennen en daarna steeds anderhalve minuut lopen. De volgende rendag werd dat acht keer, en zo steeds meer, drie dagen per week. Ik weet nog hoe ik aan het vechten was voor tweeënhalve minuut rennen, alsof het nooit eindigde.

Maar als je eenmaal 8 minuten kan rennen slaat het om, dan ga je niet meer de renminuten tellen, maar de loopminuten. Bovendien denk ik dat ik die eerste paar keer ook veel te hard liep. Ik weet dat niet zeker, want destijds nam ik mezelf niet op.

Voor mijn verjaardag (3 juni, maar ik had ze eerder nodig) kreeg ik van mijn ouders nieuwe hardloopschoenen. Dat was nodig, want hoewel de app 8 weken zei, had ik al tweemaal een vrijdag strategisch geskipt vanwege (verkeerd) pijnlijke benen en dus daarna de week over gedaan. Vanaf toen, 20 april, ben ik mijn hardloopsessies ook met Strava gaan opnemen, waarmee ik erachter kwam dat ik idioot hard liep. Met nieuwe schoenen en een rustigere pace heb ik verder geen dagen meer hoeven skippen.

Op naar de 5k

Precies in week 10 was er op zaterdag de 5km-race van de Leidse marathon, ’s avonds door het centrum van Leiden. Omdat ik opgegroeid ben in Leiden, omdat het precies was toen mijn 5k-app klaar was, en omdat ik van dit soort symbolische toevalligheden hou, heb ik me ingeschreven.

Een week voor de wedstrijd had ik 40 graden koorts, maar dat weerhield me er niet van om twee dagen later de voorgeschreven 25 minuten met de app te rennen. En: ik haalde de 5km al, in 24:18. De rendag daarop moest ik 28 minuten rennen, waarvan de eerste 23:22 al 5km waren en bij de voorlaatste sessie van 30 minuten had ik 5km na 22:53. De 35 minuten op vrijdag skipte ik zodat ik zaterdag de race kon lopen. Daar liep ik 22:19, wat best wel idioot is voor iemand die 10 weken rent.

Inmiddels probeer ik nu rust te nemen met het hardlopen. Minderhardlopen. Dat wil zeggen. Ik heb geprobeerd 10km te lopen, voor mezelf, en met twee wandelingetjes tussendoor kwam ik toch nog onder het uur uit, vier dagen na mijn 5k-race. Het gematigd hardlopen is iets wat ik dus nog moet oefenen. In een poging tot ‘het rustig aan doen’ heb ik van dezelfde makers als de 5k-app hun 10k-app gekocht. Ook hier zal ik wel veel eerder de 10km vinden, maar het gaat ook om aan een stuk door kunnen lopen. Ik gedij goed bij een strak ritme van driemaal per week een programma hebben.

Maar eerst het centrum

Toch onderbrak ik vandaag het maandag begonnen regime van de 10k-app. Het punt is: ik ga verhuizen. En mijn eerder genoemde doel van naar het centrum rennen is natuurlijk minder leuk als ik niet meer in Amsterdam woon. Het moest nu gewoon even gebeuren. Bovendien is het vandaag dus internationale hardloopdag, dan moeten dat soort dingen.

De tocht zelf ging goed. Een dikke vrouw met dito kinderwagen versperde ergens het pad zó erg dat ik half door de bosjes moest. Vervolgens was zij boos dat ik haar liet schrikken, maar ik ben gewoon doorgerend. Ze kon me toch niet inhalen, of ik nu versnelde of niet.

Bij Amstel is de Treublaan, waarvan ik al dacht dat het misschien lastig werd die rennend over te steken. En inderdaad: rood licht, veel auto’s, dus ik stopte. Daarna heb ik dus even anderhalve minuut moeten lopen, want eenmaal stilstaand merkte ik dat ik, ja, toch best wel moe was van de eerste 4,1km in 19:16. Bij de Sarphatistraat had ik gelukt: de brug stond open, dus geen auto’s, ik kon zo doorrennen.

Het stuk langs de Amstel is altijd zo idyllisch, dáár wil ik rennen. Maar nu ik eraan terug denk was ik eigenlijk vooral bezig met het ene been voor het andere te zetten, en proberen niet in een fietser te knallen. Bij Waterlooplein is weer een drukke straat, maar omdat het verkeer vast stond kon ik er zo tussendoor floepen.

Op Waterlooplein hebben ze dus heel leuk een stukje atletiekbaan op de grond geschilderd. Het is maar een meter of 30, dus ik ging superenthousiast als een malle eroverheen. Het kostte me geloof ik 6 seconden, maar ik weet niet hoe accuraat de GPS is. Deze idiote inspanning zorgde ervoor dat ik alsnog met de ademhaling van een oude man over de Waterloopleinmarkt jogde.

Maar, ik hield vol, en haalde het: van Bijlmer naar Nieuwmarkt, 7,2km, in 35:42. Ik ben best trots op mezelf.

Die toevallige symboliek weer

Toen ik van Nijmegen naar Amsterdam verhuisde had ik twee kameropties gehad: eentje middenin het centrum, nabij Nieuwmarkt, in een huis voor ‘masterstudenten van ver’. Ik kwalificeerde en kwam zowaar op plek 3. Natuurlijk wilde nummer 1 de kamer al wel hebben. Het werd voor mij de tweede optie: een container in de Bijlmer.

Maar daarom ben ik Nieuwmarkt toch altijd een beetje als thuis in het centrum blijven beschouwen. Vooral omdat de Latijnse naam voor Nijmegen, ‘Novio Magus’ dus ook Nieuwe markt betekent. Ik heb tijdenlang twee fietsen gehad, waarvan er een standaard in de Bijlmer stond en een op de Nieuwmarkt, waartussen ik de metro nam.

Nu ik dus over een dag of 10 naar Nijmegen terugverhuis leek het me mooi symbolisch om vandaag naar het centrum te rennen. Bovendien is het dus de internationale rennersdag (wist ik veel). En deze 7,2 kilometer duwen de afstand die ik op Strava met mijn nieuwe schoenen heb gelopen naar de 100 kilometer. En aangezien ze dus een verjaarscadeau waren, ik vrijdag jarig ben, en ik morgen niet ren, heb ik daarmee precies 100 kilometer op de schoenen gerend voor ik de officieel cadeau krijg. En: als ik naar mijn nieuwe huis in Nijmegen was gerend was ik daar ook ongeveer 100 kilometer mee verder. (Niet dat ik was gefinisht, maar toch.)

Toevallige symboliek is overal.

Meer laden