Log in
Seblog.nl

Blog

Interpretaties

Ik heb het nu even moeilijk. Het is nu meer dan een week dat ik me afsluit voor de wereld en los van een paar wandelingen kom ik ergens. Maar ik woon aan een weg, en de grote hoeveelheid auto’s die daar overheen gaan stelt me zwaar te moede.

Ik chatte vanochtend met wat mensen via een niet nader te noemen dating-app voor homoseksuelen (Grindr), en daar waar mijn directe sociale omgeving zich ook heeft afgezonderd, lijken veel mensen op die app gewoon nog vrolijk rond te springen. ‘Ik zie gwn mn vrienden eigk / Kheb weinig zin in geen contact met ze’, aldus eentje.

Het voelde opeens heel erg als een ‘iedereen kiest zelf maar wat hij het beste vindt’. Ik zie die situatie toch een stuk minder vrijblijvend. Ja, we zijn niet in total lockdown, maar wat is social distancing als je nog steeds met jan en alleman op de thee gaat? (Of erger.) Waar ik probeer zo min mogelijk mensen te zien, blijven anderen hooguit uit de buurt van vreemden.

In zoverre is de situatie vergelijkbaar met vegetariër zijn. Ik heb soms ook wel eens zin in een plak chorizo op brood, maar ik kies er voor dat niet te doen om de wereld een stukje beter te maken. Ik zou soms ook wel een auto willen hebben, maar ik kies voor de trein. Ik ben het gewend mezelf dingen te ontzeggen, en ik vind het soms gek als andere mensen dat niet doen.

Misschien dat ik daarom ook redelijk kan hardlopen: dat is soms helemaal niet zo leuk, maar als je eenmaal begonnen bent moet je doorgaan. En dat is denk ik exact wat ik nu ga doen: hardlopen. De mazzel.

Sociaal videobellen

Ik geloof dat ik niemand meer hoef te vertellen dat het toch anders is. De afgelopen dagen heb ik video gebeld met vrienden, collega’s en familie. De dagelijkse standup met collega’s is wel vaker digitaal, dus de onwennigheid viel daar wel mee. De ontwikkeling is dat we er nu een sociaal blokje voor plakken, omdat we weten dat er geen spreekwoordelijk koffieautomaat meer op ons wacht. Maar vrienden en familie, dat is toch een beetje gek.

Met vrienden merkten we dat Skype wel 6 personen aan kan, maar er dan standaard één van de vijf anderen verborgen wordt om het scherm mooi in vieren te delen. In de familie zitten we allemaal in het Apple-ecosysteem, en FaceTime blijkt onze hoofden continu te zoomen en te husselen als we praten of stil zijn. Google Meet is prima saai voor een beetje overleg en schermdelen tussen collega’s.

Maar allemaal hebben ze het. Door de fractie van een seconde vertraging op de lijn ga je anders praten. Je kan niet goed onderbreken, men moet om de beurt praten. Dat is minder opvallend in een vergader-opzet, maar vooral bij sociaal videobellen voelt het gek. Het maakt dat je structuur in de call wil aanbrengen, dat je in je hoofd een lijstje bijhoudt van de onderwerpen die je nog moet aantikken. En het gekste misschien nog wel: het voelt alsof je binnen anderhalf uur klaar moet zijn.

Een eindeloze avond in een café eindigt toch uiteindelijk, omdat je bewust of onderbewust signalen van het barpersoneel krijgt dat ze ook eens naar huis willen. In het sociaal videobellen tikt er vaak gewoon een klokje mee. Afscheid nemen is daarom ook het gekste moment: als er één iemand gaat, moet iedereen. Er is geen moment waarop anderen dag-roepend het donker in verdwijnen. Er is alleen die rode knop, en je weet dat als je ‘m indrukt alles voorbij is.

Dat is wat ik mis aan dat afscheid: even naar huis fietsen, nadenken over wat gezegd is, en dan voldaan thuiskomen. Na afloop van een videobel-sessie ben je eerst opeens weer even eenzaam, en daarna pas blij dat je iedereen toch weer even gesproken hebt. Maar het helpt wel. Ik hoop jullie snel weer in het echt te zien.

Dingen maken helpt

Hoewel ik nog steeds bij vlagen niet weet wat ik met de situatie aan moet, merk ik dat ik er ook meer gewend aan raak. Ik begon vanaf vrijdag met een weekend volledig binnen zijn, volledig in mijn computer gedoken en heftig het nieuws verversend. Die modus hou je niet lang vol.

Het is gek om aan de ene kant zeeën van tijd te hebben, maar aan de andere kant tot de conclusie te komen dat je die eigenlijk normaal ook hebt, alleen dat je je zeeën dan wat meer op routine indeelt.

Wat me sowieso geholpen heeft is het verwijderen van de NOS-app. Ik waardeer hun inspanning, maar een live-blog van meer dan een week houdt niemand vol. En wat me helpt is weer af en toe een stukje schrijven. Deze tijd vraagt om bloggen, hoorde ik elders. Het helpt voor jezelf om je gedachten te orderen en het helpt voor anderen om meerdere perspectieven op de situatie te hebben. Eenmaaldaags het NOS journaal geeft de feiten, maar je hebt ook reflectie en verstrooiing nodig.

Daarom: maak ook niet alleen blogs. Maak ook vlogs, tekeningen en gedichten, t-shirts (zoals mijn moeder), bureauverhogingen (ikzelf gister). Maak dingen en vertel erover, of vertel dingen door maaksels, en als je dingen vertelt, deel ze dan. Wij, de andere mensen, hebben ze nodig.

Fietsen naar werk

Het afgelopen weekend ben ik braaf binnen gebleven, in mijn eentje thuis. Maandag had ik nog een vrije dag, dus gister ging ik voor het eerst weer aan het werk, thuis. Normaal lopen we tussen de middag een rondje door de stad, en toen de tijd daar was dacht ik: ik ga gewoon naar buiten. Als ik voldoende afstand houdt tot mensen moet dat toch kunnen. Ik bleek niet de enige te zijn.

Jeremy schrijft vanuit Rome over de parken, en vraagt zich af waarom die gesloten zijn. Buiten zijn is juist gezond, en er is genoeg ruimte om afstand tot elkaar te houden. Hij schrijft over een formulier dat hij bij zich moet dragen om over straat te mogen. Normaal werkt hij ook al thuis, maar hij heeft zijn dagelijkse wandelingen wel echt nodig om dat vol te houden.

Omdat we hier in Nederland nog niet met papieren werken heb ik dus besloten mijn middagwandeling vol te houden. En wat meer is: ik ga nu op mijn fiets stappen naar werk. Halverwege keer ik om. En dan vanavond het omgekeerde rondje weer terug. Ik denk dat dat een goed middel is om de geest te laten waaien, zolang als 't mag, zonder papieren.

Dubbel hamstergevoel

Frank schrijft over het hamstergevoel, met een kleine fotoreportage van een paar hele lege schappen. Dat is wel even schrikken. Ik ben voor het laatst in de supermarkt (en mijn huis uit) geweest afgelopen donderdag na werk. Sindsdien is het thuiswerken.

Het dilemma is dat ik aan de ene kant genoeg over wil laten voor andere mensen, dat ik geen hamster wil zijn, dat ik het systeem niet wil ontregelen met excessief koopgedag. Maar aan de andere kant: ik wil ook echt niet elke dag in de supermarkt staan, dat geeft ook risico.

Voor iemand die normaal per dag eten koopt, is eten voor een week in huis halen hamsteren? Waarschijnlijk wel. Sorry daarvoor, ik probeer sociale afstand te houden. Hopelijk is er nog wat als ik over twee dagen weer moet gaan.

2019 in review (sort of)

Her en der zie ik van dit soort blogposts oppoppen, en hoewel ze er stuk voor stuk nuttiger uit voor de schrijver dan voor de lezer, dacht ik dat ik er ook eens een moest schrijven. En dan wel juist omdat omdat ik er dan zelf wat aan heb. Dus hierbij: een blogpost over 2019 ‘in review, sort of’.

Een collega had het over doelen stellen voor het nieuwe jaar, en hoe je dan toch altijd een beetje bedrogen uitkomt. Dat je dan beter géén doelen kan stellen, omdat je ze toch niet haalt, zeker niet op zo’n arbitraire tijdsperiode als een jaar.

Daardoor moest ik denken aan een moment eind mei, begin juni, rond mijn verjaardag. Nuttig, begin juni jarig zijn, dan heb je halfjaarlijkse ijkmomentjes. Ik ging toen doelen stellen voor 2019 en gelukkig ben ik ze allemaal alweer vergeten. Behalve één: ik wil al jaren eens naar Japan, en ik merkte in juni trots op dat het me gelukt was: in februari ben ik naar Japan geweest.

Doelen zijn dus vooral leuk als je ze al gehaald hebt. Daarnaar terug kijken is goed. Gekke andere dingen die ik gehaald heb in 2019: ik heb een bank, tv en gordijnen cadeau gekregen op de valreep van 2018, waarmee ik mijn woonkamer in gebruik nam die ik tot dan toe al een half jaar aan het negeren was. Inmiddels heb ik daar twee strategisch uitgekozen kasten, een tafeltje en een kleedje aan toegevoegd en is het een heus huis.

Ik ben van baan gewisseld, wat ook voelde als een heel erg grotemensending om te doen. Ik ben de laatste maand begonnen met piano leren spelen, hopelijk houdt ik dat vol, maar ik kan nu al zoveel noten lezen dat ik ’t wel al vermeldbaar vind. Ik heb 100km hardgelopen, wat minder was dan in 2017 (210km), maar wel meer dan in 2018 (86km).

De laatste drie kilometer liep ik trouwens vandaag nog. Ik heb genoeg doelen niet gehaald, maar het beste stel je ze op ’t laatste moment op zo’n manier dat ze nog haalbaar zijn.

Ik ging afgelopen jaar naar o.a. Eerbeek, Tokyo, Hakone, Zaandam, diverse boekenfeesten, Laurens van de Linde in het voorprogramma van Lucky Fonz III, IWC Düsseldorf, IWC Utrecht, Utrecht Pride, Texel, IJburg, Göteborg, IWC Åmål, Rheden, de Nijmeegse Zomerfeesten, Rochefort, Ewijk, de Blokkenpiloot, de Molenstraat (met plant), de Efteling, IWC Amsterdam, IWC Brighton, Londen, Showponies 2 en Keulen, met maar tweemaal vliegen. Mijn highscore op NES PAL Tetris is 174.731.

Al met al was 2019 een prima jaar. Het blijst nog ben ik dat dit weer waar is: niet alles was leuk, maar waar ik nu ben is goed, en kennelijk was het nodig, dus ik ben tevreden. Op naar 2020!

Over Apple Workouts exporteren naar Strava

Als een mens langs een kanaal hardloopt, maar hij heeft geen hardloophorloge om, bestaat die hardloopsessie dan wel?

Sinds ik een nieuwe iPhone heb doet de Strava-app voor mijn Apple Watch het niet meer. Ik heb 'm al diverse keren opnieuw geïnstalleerd, ingelogd, uitgelogd, opnieuw gekoppeld, maar hij blijft in hetzelfde "meld je aan!"-scherm hangen. Anderhalve week geleden ben ik daardoor hartslaggegevens 'verloren' tijdens een 5k wedstrijd hier in de buurt. (Had ik maar meer moeten trainen, was ik er eerder achter gekomen.) Ik dacht dat ik het gefixt had, maar toen ik net weer een rondje wilde maken bleek hij nog altijd in die stand te zitten.

Dus ik terug naar huis.

Ik ben misschien een beetje te obsessief met het meten van mijn hardlooprondjes, maar ik wil ze gewoon opslaan. Hardlooprondjes is momenteel het enige data-type dat ik nog niet op mijn weblog post (al zou ik ze als privéposts houden denk ik). Maar ik deel ze allemaal braaf op en met de site Strava.

Strava is een hele fijne site om achteraf naar je hardloopdata te kijken. Er zijn heel veel overzichtjes, mooie kaartjes, en als je ze extra geld geeft maken ze ook nog leuke grafiekjes voor je. Voor opnemen moet je echter totaal niet bij hen zijn: zelfs als de Apple Watch-app het had gedaan, doet hij nog altijd onder voor de software van de TomTom Runner 2 (RIP).

De Apple Watch heeft zelf dus ook een native app om workouts mee vast te leggen, maar Strava importeert dus niet vanaf de HealthKit app. Ik roep dus al een tijdje te pas en te onpas dat ik me nog eens ga verdiepen in Swift en programmeren voor de Apple Watch, om zelf dan maar een app te maken waarmee ik kan hardlopen zoals ik met de TomTom kon.

Maar, tijdens een vurige zoektocht over het internet, in hardloopkleding en al, vond ik HealthFit, een app waarmee je wél je Apple Workouts naar Strava kan overzetten. Ik heb er net een rondje mee hardgelopen en hoewel ik nog niet álle functies van de TomTom terugzie, komt dit toch wel verdraaid dichtbij. En het ziet er sowieso fancyer uit met die kleurtjes.

Bovendien heeft de app nog veel meer export-targets, waaronder iCloud Drive en e-mail. Dus nu zit ik met binary pattern-matching in Elixir te kijken wat ik allemaal met een .fit bestand kan aanvangen. Wie weet ooit nog eens hardlooprondjes hier!

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.

Meer laden