Log in
Seblog.nl

Blog

Broccoli-spinazisoep

Een paar jaar terug ontdekte ik de beste makkelijke maaltijd van Albert Heijn: pureersoep broccoli-spinazi. Men koopt de bak, warmt olie in een soeppan, mikt de inhoud van de bak in de pan (maar niet het zakje kruidenmix en de peterselie), bakt de groenten een beetje, voegt dan wat water (zitten zelfs maatstreepjes in de bak) en de kruiden toe en laat staan koken voor 13 minuten. Later heb ik de moeite genomen daadwerkelijk een pureerstaaf te kopen om het af te maken, maar eerlijk gezegd: die stap is optioneel als je echt lui bent.

Een paar maanden terug ontdekte ik opeens dat de broccoli-spinazisoep uit het assortiment was gehaald. Er waren diverse pureersoepen, waaronder een nieuwe groene (met courgette), maar geen van al die soepen was zo magisch als de broccoli-spinazisoep, naar mijn mening. Ik vond dit verlies best tragisch.

Een paar weken terug ontdekte ik dat hij weer terug was, of in elk geval, in een Albert Heijn waar ik normaal niet kom stond hij opeens naast de courgettesoep. Ik heb de bak direct aangeschaft, maar beter nog, ik heb een foto genomen van de lijst met ingrediënten.

Een paar dagen terug kocht ik alle dingen die ik nodig dacht te hebben.

En het is gelukt: ik heb de broccoli-spinazisoep met succes ge-reverse-engineerd. Het was iets meer snijden, maar deze soep nemen ze me niet meer af. Het gaat als volgt: fruit wat uien en wat knoflook, gooi er daarna dus de broccoli en spinazi bij, bak dat wat op, dan nog kikkererwten in de pan gooien (ik deed blikje maar je kan ook losgaan op zelf koken). De kruiden blijken eigenlijk gewoon de ‘hot curry’ mix te zijn (kurkuma, koriander, peper, mosterdzaad, fenegriek, gember, komijn, karwijzaad, piment, nootmuskaat, lavas, venkel… ongeveer dat en het zal wel goed zijn). Daarnaast natuurlijk iets van een bouillonpoeder en vergeet het water niet. Kooktijd was bij mij iets langer, want ik had iets meer, maar de smaak was heel goed (beetje bijpoederen soms, hij hoort wat scherp te zijn).

WorkOutDoors hardloop app

Om maar gewoon met de deur in huis te vallen: de beste hardloop-app voor Apple Watch heet WorkOutDoors. Ik ben helemaal blij.

Voorheen nam ik mijn hardlooprondjes op via de standaard Workouts app van Apple. Dit is een prima app: het meet wat het moet meten. Ik gebruik een app genaamd HealthFit om mijn rondjes naar Strava te syncen (en ooit, ooit ook naar dit weblog). Op Strava heb ik vervolgens allemaal analyses.

Kleine pro-tip tussendoor: je kan tijdens een workout dubbeltappen op je Apple Watch, dat neemt een nieuwe lap/interval op. Hiermee hak je je workout op in stukjes, die je later kan analyseren. Eerst vier minuten snel, dan drie langzaam? Twee tapjes tussendoor en je ziet later precies statistiekjes over de twee losse stukken.

En dat brengt me bij mijn grootste probleem met de Workout app: het geeft me allerlei gegevens tijdens het lopen, maar niet de verstreken tijd sinds het begin van de huidige interval. Eerst vier minuten snel, dan drie langzaam? Dan mag je dus zelf heen en weer naar de stopwatch-app, om een timertje te zetten. Ik vind dat niet echt lekker werken.

Nou, dan niet WorkOutDoors. Mis je in deze app een bepaald cijfertje? Binnen no-time heb je het toegevoegd op een van de vele schermen die je kan instellen. En dan echt élk soort cijfertje wat je maar kan verzinnen, op elk soort scherm dat je maar wil. Mijn enige kritiekpunt is dat de app té nerdy is, te veel is aan te passen. Maar tegelijkertijd vind ik het dikke prima: het is precies wat ik wil, zelfs als ik straks misschien wat anders wil.

Toen ik van de week bij Cifla trainde had ik het er met iemand over. Zij miste juist een andere feature: van te voren een set aan intervals en tijden instellen en dan dat programma laten afdraaien tijdens het rennen. Die feature zit hier ook gewoon in; ik heb ‘m net gebruikt voor een rondje, en achteraf gezien is dat inderdaad een feature die ik ook gemist heb. Eerst vier minuten snel, dan drie minuten langzaam? Stel het van te voren in en alles komt goed.

Ik grapte toen nog dat het een gat in de markt was dat dit nog niet bestond, dat ik zelf die app maar moest gaan maken. Maar hij bestaat dus wél, voor 6 euro. Shut up and take my money.

De twee vormen van privacy

In discussies over privacy merk ik vaak dat mensen het over verschillende dingen hebben. Van het woord ‘bank’ is vaak uit de context wel duidelijk of het om een financiële instelling of om een zitmeubel gaat, maar bij ‘privacy’ lopen de concepten een beetje door elkaar heen.

Er zijn naar mijn idee twee vormen van privacy: mens-mens-privacy en mens-bedrijf-privacy. Waar ‘bedrijf’ staat kan ook ‘instantie’ staan of iets anders dat op een onpersoonlijk rechtspersoon duidt. In beide vormen is het volgens mij belangrijk om privacy te hebben, en de reden ervoor brengt ze uiteindelijk weer bij elkaar tot één begrip van privacy.

De meest begrijpelijke vorm van privacy is denk ik de mens-mens-privacy. Persoonlijk ben ik liever alleen als ik naar het toilet ga. Sommige dingen vertel je wel aan je moeder maar niet aan collega’s en andere dingen juist niet aan je moeder maar wel aan je collega’s.

Privacy gaat over relaties, over hoe ik mij verhoud tot collega’s en mijn moeder. Het is gezond om dingen achter te houden voor bepaalde mensen, niet omdat het echt geheim is, maar gewoon omdat de omgang prettiger is zonder die informatie. Ze doen het zelf ook naar mij toe.

De andere vorm, mens-bedrijf-privacy, gaat over data. Als ik een vriend vertel over mijn weekend is dat een verhaal, als mijn telefoon verbinding maakt met de wifi van de Albert Heijn is dat een data-punt. In deze vorm van privacy gaat het nog steeds om een relatie, namelijk die van mij tegenover de instantie die mijn data interpreteert, maar de relatie is uit balans.

Bedrijven en instanties hebben veel data, en kunnen daarmee komen tot voor hen nuttige inzichten over mij. Die inzichten geven de relatie vorm die ze met mij willen hebben, maar zelf heb ik niet zo’n concreet beeld van hen. In veel gevallen weet ik niet eens wie mijn data interpreteert en met welk doel.

Ook vergeten instanties dingen niet snel meer. Dankzij regelgeving horen ze gegevens periodiek te verwijderen, gelukkig, maar als ze niet op de knop drukken hebben ze nog altijd een even scherp beeld van mij als dat ze hadden toen ze de data vergaarden. Een anekdote van een bekende in de kroeg zakt na een paar maanden wel weg.

Het belang van de mens-mens-vorm van privacy wordt ook onderschat, denk ik. Voor beide moet aandacht zijn. In beide vormen gaat het om de noodzaak om zelf controle te houden over de relaties die anderen met je op proberen te bouwen.

Neem me mee met NFC

Een tijd terug kreeg ik tijdens een IndieWebCamp van Sven een set aan NFC-stickers. ‘Jij hebt er vast creatievere ideeën voor,’ zei hij toen. Ik moet bekennen dat het even op zich heeft laten wachten voor ik er een idee mee had.

Het idee van een NFC-sticker is dat je de tag draadloos kan scannen met je smartphone, die daar dan iets mee kan. Het is exact hetzelfde als je ov-chipkaart, alleen dan is de sticker de kaart en je telefoon het poortje. Als je mijn ov-chipkaart scant met mijn telefoon opent die de NS app op ‘actuele vertrektijden’.

Het is op iOS heel simpel in te stellen: open of installeer de Apple app ‘Opdrachten’ (Siri Shortcuts), ga naar het tabje ‘Automatisering’ en voeg een ‘Persoonlijke automatisering’ toe. Als trigger kies je NFC, scan je ov-chipkaart, en klik ‘volgende’. Daarna kan je een actie kiezen die moet worden uitgevoerd.

Een paar weken geleden ben ik weer begonnen met Getting Things Done te implementeren en daar ben ik momenteel best tevreden over. Voor wie het niet kent: schrijf al je taken op, zodat je kan doordenken wat ze voor je betekenen, en hou de eerstvolgende acties bij in een systeem dat je vertrouwt en vaak raadpleegt. (En dan nog wat reviews, een paar nuances en veel oefenen.)

Eén van de lijsten die ik nu bijhoudt is een lijst van dingen die momenteel thuis liggen maar ‘ergens’ naar toe moeten. Punt is: ik vertrek wel vaker van huis, maar steeds naar andere bestemmingen, en eenmaal op die bestemming denk je pas: o ja, dat moest mee! Vandaar de lijst.

Nu hangt er dus een NFC-sticker in de hal. Als ik die scan, opent mijn telefoon de Things-app op de ‘Anytime’ view, met daarin de ‘Mee naar...’ tag voorgeselecteerd. Het is een soort snelkoppeling, maar dan in de fysieke wereld. Heel erg blij mee.

Op de plek waar in ‘s nachts altijd mijn telefoon neerleg ligt er nu ook een. Als ik die scan gaat ‘Welterusten’ aan: alle lampen in mijn huis gaan uit, behalve heel zacht het licht in mijn slaapkamer. Na één minuut gaat die ook uit. Die is ook fijn, maar het zou kunnen dat ik in dit geval gewoon hardop ‘Welterusten’ tegen Siri blijf zeggen.

Toetsenborden: 34 toetsen, hoe dan?

Dit is onderdeel van een serie over toetsenborden, zie het eerste deel voor een overzicht.

Ik wilde ze serie afsluiten met een stuk over hoe ik de 34 toetsen van mijn nieuwe toetsenbord heb ingedeeld. Want inderdaad, dat is best wel weinig. De Apple Magic Keyboard heeft er 79, de Moonlander heeft er 72, de eerder gelinkte video eindigt met een minimalistisch toetsenbord met maar 36 toetsen en dan nóg heeft de Ferris twee toetsen minder.

Zoals de video uitlegt: één van de strategieën om hiermee om te gaan, is het concept van layers. Zodra je de Shift-knop indrukt wordt de betekenis van vrijwel alle toetsen anders: alle letters veranderen in hoofdletters, maar cijfers en tekens veranderen in andere tekens. Door naast Shift een aparte ‘Symbol’-knop toe te voegen kan je in een kleiner aantal toetsen nog steeds heel veel tekens kwijt.

q w e r t   y u i o p
a s d f g   h j k l ;
z x c v b   n m , . /

1 2 3 4 5   6 7 8 9 0
! @ # $ %   ^ & * ( )
[ ] ` ~ '   " _ = + -

Toch kreeg ik het niet helemaal passend. In het bovenstaand voorbeeld mis ik toetsen voor {, }, \ en |, en eventueel § en ± – al gebruik ik die niet zo vaak. Een oplossing was om ook een ‘Num’-layer toe te voegen, maar die kreeg ik dan vervolgens niet helemaal vol. Daarnaast wilde ik een navigatie-layer, met pijltjes en volume, en voor je het weet heb je met Shift, Symb, Num en Nav al vier toetsen bezet, terwijl er dus maar vier zijn voor de duimen en ik één daarvan spatie wil houden en nog iets met Cmd en Ctrl wil.

Ik heb het nog even gezocht in het prachtige concept van de tri-layer. Hierbij heb je dus een knop voor Lower en een knop voor Raise, die dus elk een eigen layer activeren, maar dus ook tegelijk kunnen worden gebruikt voor weer een hele nieuwe layer. Helaas had ik dan nog steeds één layer teveel en vooral duimknoppen te weinig. (Andere helaas is dat je dit niet kan instellen met de Configurator en echt de code in moet duiken, maar daar voel ik me gelukkig best thuis.)

Je zou ook kunnen werken met een meer bladerend principe, waarbij je van Layer 1 naar Layer 2 komt door éénmaal op een knop te drukken en dan los te laten. Van Layer 2 kan je dan naar Layer 3 komen via een andere knop, en als je zorgt dat je vanaf elke andere layer steeds weer naar Layer 1 kan via dezelfde knop ben je in principe nooit de weg kwijt, zegt deze video, maar ik durfde het toch niet helemaal aan.

De standaardconfiguratie van de Ferris lost het probleem op door ‘Mod-Taps’ te gebruiken. Het idee hierbij is dat je een toets iets anders kan laten doen voor het indrukken en loslaten dan voor het indrukken en vasthouden. Wie de linkerknop met het bultje indrukt en loslaat krijgt een F, maar wie diezelfde knop vasthoudt komt in een Symbol-layer terecht, waardoor andere knoppen daarna symbolen geven. Het is vrij ingenieus en behoorlijk efficiënt, maar ik vind het persoonlijk erg irritant dat bepaalde letters niet direct op mijn scherm verschijnen.

Momenteel gebruik ik Combo’s om al mijn toetsen kwijt te kunnen. Ik sluit niet uit dat het nog eens gaat wijzigen in de toekomst, maar momenteel ben ik er tevreden mee. Het idee is als volgt: wie op de Q drukt krijgt een Q en wie op de A drukt krijgt een A, maar QA samen ingedrukt geeft een 1 (de toetsen sluiten op elkaar aan, dus heel lastig is het niet). Op die manier is de hele bovenste + middelste rij vol met getallen, en de middelste + onderste rij bevatten alle tekens, plus de Tab (T). Op de standaardlayer heb ik een Backspace (B) en Enter (E).

q w e r t   y u i o p
a s d f g   h j k l B
z x c v b   n m , . E

1 2 3 4 5   6 7 8 9 0
` - = T \   / ' ; [ ]

Merk op dat ik eigenlijk een andere layout gebruik dan Qwerty, maar ik wil deze post niet nog obscuurder maken dan het al is. Merk ook op dat er helemaal geen letters op mijn keycaps staan, dus daar hoef ik me niet door te laten afleiden. En merk op dat ik hier alleen vertikale combinaties gebruik: als ik netjes elke vinger voor de juiste kolom gebruik kan ik nooit per ongeluk een cijfer typen omdat ik de toetsen te snel achter elkaar indruk. (En mijn andere layout zorgt ervoor dat dergelijke combinaties op dezelfde vinger ook vrijwel nooit voorkomen.)

Wat ik hier ook fijn aan vind is dat ik hiermee geen enkele duimknop hoef op te geven voor layer-navigatie. Alle knoppen zijn gewoon vlak onder mijn vingers en los van de combinatie zelf heb ik er dus geen extra knop voor nodig: het aantal gelijktijdig ingedrukte knoppen blijft twee, maar slechts op één vinger. Voor sommige wordt dit drie: de twee knoppen voor 1 plus Shift erbij geeft een uitroepteken. Nog steeds erg overzichtelijk.

Dan voor de duimen op links zitten Shift en Command (Cmd) en op rechts zitten Ctrl/Escape en Spatie. Omdat ik veel programmeer in Vim heb ik Escape vaak nodig, maar hij combineert nooit echt met Ctrl, en hier is de vertraging net iets minder hinderlijk, dus hier heb ik de Mod-Tap techniek wel toegepast. Nergens op de duimen dus momenteel een Layer-switch.

Maar de pijltjestoetsen dan? Daarvoor heb ik op beide handen toch nog een layer weten te verstoppen: als je, als combo, je hele hand op de rechterzijde neerlegt, worden de middelste toetsen op de linkerhand een set aan pijltjestoetsen in WASD-style. Hetzelfde werkt ook andersom, maar dan besturen ze de muis-cursor, in HJKL-style. In beide layers zitten ook media-controls voor volume en play/pause.

- - ^ - -   - a l t !
- < v > -   - X X X X
- - - - -   - h y p r

a l t ! -   - - - - -
X X X X -   - < v ^ >
h y p r -   - - - - -

Als je dezelfde vier vingers één rij naar boven doet krijg je een Alt-toets. Dit werkt op beide zijden, zodat je het met je andere hand kan doen als je hem wil combineren met één van de toetsen in die rij. In de onderste rij is dit de Hyper-knop, wat weer een wereld op zich is. In kort: Hyper is Shift+Ctrl+Alt+Cmd, wat een idiote combinatie is die niemand kan indrukken en daarom altijd nog vrij is, ideaal voor je eigen globale shortcuts. Ik kan Hyper combineren met cijfers om snel naar bepaalde programma’s te springen dankzij Hammerspoon, en nog wat meer dingen.

En dat was het. Ik ben er vrij zeker van dat er nog bepaalde zaken gaan veranderen in mijn configuratie, maar vooralsnog ben ik hiermee tevreden. Het was nogal een konijnenhol, hopelijk heb ik jullie niet al te ver meegetrokken. Dan ga ik nu weer even verder oefenen op Monkeytype. Doei.

Toetsenborden: mijn persoonlijke Andeweg layout

Dit is onderdeel van een serie over toetsenborden, zie het eerste deel voor een overzicht.

Laat ik beginnen met een disclaimer: ik ben nog heel erg bezig met het leren van deze layout, en erg hard gaat dat niet omdat alle toetsen op een andere plek zitten (behalve één, bij toeval). Toch denk ik dat ik er geen grote wijzigingen meer in aan wil brengen, dus hier is hij:

z l u w v   f p o d ,
h r e s g   b n a t i
k j / m x   q c ; y .

Veel plezier ermee, dank voor het lezen.

Nee, ik zal iets meer uitleg geven bij deze ogenschijnlijk willekeurige rangschikking van letters. Het is gebaseerd op de ISRT-layout, maar dan dus totaal anders, met ook een paar andere design-overwegingen.

Laat ik beginnen bij waar we waren gebleven: Colemak voor het Nederlands. Colemak is beter dan Qwerty in veel opzichten, maar heeft daarbij wel wat keuzes gemaakt die beter uitpakken voor Engels dan voor Nederlands. Door de nieuwe locatie van de J, K en L werd bijvoorbeeld het achtervoegsel -lijk heel erg lastig te typen, terwijl het op Qwerty best lekker gaat. Hoe dieper je optimaliseert voor een bepaalde taal, hoe minder lekker andere talen passen. Wat dat betreft is Dvorak een mooi compromis dat voor veel verschillende talen werkt.

Echter: de tijden zijn ook een beetje veranderd. Om een typemachine te maken heb je een productielijn nodig; daar is behoefte aan een layout die universeel is. Dankzij het wonder van software is het wijzigen van een layout tegenwoordig veel en veel simpeler. We kunnen het ons veroorloven om te optimaliseren voor kleinere eenheden, zoals het relatief kleinere taalgebied van Nederlands. Maar waarom daar stoppen? Het zijn mijn handen, ik kan een persoonlijke layout creëren die geoptimaliseerd is voor het schrijven van Nederlands én Engels, precies in de mix zoals ik het gebruik.

Dit is waar ik op het idee kwam om de teksten op dit weblog te gebruiken. Ik heb nogal wat tekst geschreven en gepubliceerd hier, in zowel Nederlands als Engels. Het corpus dat ik daaruit samenstelde bevat 248.220 woorden in 1.560.699 tekens (inclusief spaties, etc). Vervolgens heb ik scripts geschreven om daar frequenties van letters, lettercombinaties en woorden uit te kunnen halen, om zo een beter toetsenbord samen te stellen.

Gewapend met die data nog een andere overweging. Ik merk aan mijn handen dat in de overgang van Qwerty naar Colemak, mijn rechterhand veel meer is gaan doen dan mijn linkerhand, relatief gezien. Dit blijkt te kloppen: op basis van mijn weblog-teksten heeft Qwerty een handverdeling van 60%/40% en Colemak een verdeling van 39%/61%. Vooral het verplaatsen van de E is een grote: 16.2% van alle letters is een E.

Zoals ik net al zei is mijn layout gebaseerd op de ISRT-layout. Deze layout probeert ‘same finger bigrams’ te voorkomen: veelvoorkomende lettercombinaties die je met dezelfde vinger zou moeten typen. Die zijn kostbaar, omdat je niet alvast je andere vinger kan klaarzetten terwijl je een toets indrukt. Een layout die de E, T, N, A, I en O aan één wijsvinger toewijst is erg inefficiënt in dit opzicht.

Het nadeel van ISRT is dat het zwaar geoptimaliseerd is voor Engels. In het Nederlands zijn de frequenties van lettercombinaties gewoon niet hetzelfde. Maar gelukkig heeft de maker zijn scripts online gezet, en heb ik dus een bak tekst die ik het kan voeren. Omdat er een element van randomness in zit krijg je telkens nét andere layouts, maar hier is wat er uit kwam rollen nadat ik de iteraties lekker hoog had gezet:

0    1    2    3    4    5    6    7    8    9
u    d    l    f    b    g    k    w    .    o     27.4
e    t    r    n    p    m    h    s    i    a     63.7
'    y    j    q    c    v    z    x    ,    ;     08.9
18.0 13.2 10.6 09.0 04.9 06.9 06.5 07.0 09.6 14.4

Merk op dat deze layout verschrikkelijk is: het gooit 18% van alle aanslagen op de linkerpink. Maar het is een mooi overzicht met scores, dus dit heb ik in Number (Excel) gegooid, zodat ik makkelijker met kolommen kon schuiven en totalen berekenen.

Na wat schuiven kwam ik tot deze layout:

zluwvcfod,
hresmpnati
kj/xgbq;y.
6,510,61876,94,9914,413,29,6

Deze layout heeft een handverdeling van 49%/51%, wat ik erg acceptabel vind. Het lijkt alsof de wijsvingers weinig te doen hebben, maar bedenk dat ze verantwoordelijk zijn voor twee kolommen. Als je die bij elkaar op telt kom je voor beiden op 13,9% uit, wat juist een hele mooie verdeling geeft ten opzichte van de andere vingers.

Tot slot heb ik de letters op elke wijsvinger nog wat beter neergezet op basis van frequenties. De plaatsing is hier ontzettend beïnvloed door de layout van de Ferris Sweep waar ik dit nu op gebruik. Als je ‘m op een traditioneel toetsenbord wil gebruiken zou ik de indeling voor de wijsvingers anders hebben gedaan (de plek van de Qwerty Y is erg lastig – zet daar de Q neer – terwijl de Qwerty N juist erg simpel is – zet daar de F).

Dit alles brengt ons dus tot deze layouts:

z l u w v   f p o d ,
h r e s g   b n a t i
k j / m x   q c ; y .
z l u w v q p o d ,
 h r e s g b n a t i
  k j / m x f c ; y .

Ik ben er nog niet heel bedreven in, maar ik ben vrij zeker dat ik op het moment van schrijven de snelste persoon ter wereld ben op deze layout. Het is een goede gewoonte om een toetsenbord-layout naar de achternaam van de maker te noemen (Dvorak, Colemak, Norman), dus noem deze dan de Andeweg, maar Zluw kan natuurlijk ook.

Een laatste variatie nog. De Ferris Sweep heeft heel weinig toetsen en in de laatste aflevering van deze serie wil ik het nog hebben over hoe ik dat oplos. Twee hele toetsen voor / en ; is echter een beetje zonde, dus ik heb besloten dat / wordt vervangen door Enter en ; door Backspace. Die heb ik momenteel op de aangegeven plekken zitten, maar ik overweeg om die gekke middenplekken aan , en . te geven, zodat ik Backspace en Enter op de rechterpink heb. Dit verandert wel de bigram-scores, dus ik ben er nog niet helemaal uit, maar dit kan.

Morgen de laatste aflevering van deze serie, hopelijk, over de 34 toetsen van de Ferris.

Toetsenborden: hoe leer je een andere layout?

Dit is onderdeel van een serie over toetsenborden, zie het eerste deel voor een overzicht.

Zoals ik deze week al liet doorschemeren ben ik bezig mezelf een nieuwe layout aan te leren op mijn nieuwe toetsenbord. De meeste mensen gebruiken Qwerty, eerder deze week introduceerde ik een versie van Colemak voor Nederlands en morgen omschrijf ik mijn nieuwe layout.

Voor mijn ‘Colemak Mod-NL’ heb ik ongeveer 60 woorden per minuut gehaald, dus wilde ik een blogpost schrijven over hoe je dat moet doen. Mijn nieuwe layout verplaatst echter alle toetsen, en daarvoor is nog weer iets meer moeite nodig. In deze post dus ook de geüpdatete strategie.

Maar voor ik wat tools deel: dit kost tijd en moeite. Veel tijd en moeite. Is het het waard, als je al 70+ woorden per minuut op Qwerty kan? Waarschijnlijk niet. Maar ik vind deze alternatieve layouts wel dusdanig ‘lekker’ aanvoelen dat ik wel gewoon doorga met – jawel – uren investeren.

Als je gewoon eens wat wil proberen raad ik aan om eens te kijken naar DitchQwerty.com. Het geeft je een hele lijst aan Qwerty-alternatieven, opgedeeld in levels die steeds een hand vol nieuwe toetsen introduceren. Ook kan je hem gewoon gebruiken met je standaard Qwerty-toetsenbord: de site vertaalt de toetsen naar de nieuwe layout. Als je zelf al een Qwerty-alternatief hebt ingesteld kan je deze vertaling uitzetten door in de instellingen (rechter bovenhoek) het vinkje ‘Key Mapping’ uit te zetten.

Mijn favoriete tool voor het leren van een nieuwe layout, of gewoon sneller Qwerty, is Keybr.com. Deze geeft je onzin-woorden gebaseerd op echte patronen (helaas wel Engels), voor de letters E, N, I, T, R en L. Zodra je een snelheid van 35 woorden per minuut hebt opgebouwd krijg je daar een letter bij.

Keybr kan net als DitchQwerty toetsenborden voor je vertalen, maar aangezien ik de keymapping tegenwoordig in mijn toetsenbord zelf programmeer laat ik hem meestal op Qwerty staan. Merk ook op dat de volgorde van de letters gebaseerd is op de frequentie van die letter in het Engels, waardoor je pas heel laat de J krijgt, terwijl die in het Nederlands veel belangrijker is.

Als je echt helemaal from scratch een nieuwe layout gaat leren, kom je bij Keybr op een bepaald punt wel in de knoop. In de beginfase verspringt de ‘focusletter’ steeds naar de letter waar je het slechtst in bent, maar zodra je de S erbij krijgt, blijft S de focusletter, tot je de A krijgt, die dan de focusletter is, etc.

Voor het herleren van Qwerty werkt dit prima, maar bij het overschrijven van Qwerty werkt het minder goed. Ik merk dat mijn vinger nog best vaak naar de oude locatie van een letter wil gaan. Helemaal als ik een nieuwe letter krijg die nu op die locatie staat, kan een letter die ik eerder al op 35wpm heb gekregen, opeens helemaal terugzakken. Maar omdat Keybr alleen de nieuwe letter blijft boosten, kom ik daar slecht op terug.

Mijn oplossing hiervoor is een tijdje geweest om steeds opnieuw te beginnen in een incognito-venster, en dat werkt heel goed, maar het nadeel daarvan is dat je dan heel goed wordt in het schrijven van woorden met de beginset (ill, elen, eline), maar in latere combinaties je als nog in de knoop komt met – in dit voorbeeld – de L.

De échte oplossing hiervoor is om op de ‘settings’ knop te klikken en het schuifje ‘Add letters to words’ omhoog te schuiven. Op die manier krijg je alvast toegang tot meer letters, maar blijf je in de initiële modus van de verspringende focusletter. Telkens als ik een nieuwe letter vrijspeel ga ik even naar settings, plus ik die letter erbij, en reset ik, zodat ik met de verspringende focus kan blijven oefenen. (Dit scheelt me veel uren in het programmeren van mijn eigen tool.)

Een andere usual suspect is Monkeytype. Hier kan je bestaande woorden schrijven (ook Nederlands beschikbaar) in diverse modussen. Achteraf krijg je een leuk grafiekje van hoe snel je was. Ook interessant is deze ngram tool, waarmee je tweeletter- en drielettercombinaties kan oefenen, de bouwblokken van woorden als het gaat om typen. Ook deze zijn weer op het Engels gebaseerd, maar desalniettemin fijn. Alleen al voor afwisseling met Keybr zijn het fijne tools.

Wie gewoon sneller wil typen moet vooral ook meer gebruik maken van Option + Backspace, om een woord in één keer te verwijderen, en überhaupt Option + pijltjes om sneller door je tekst heen te springen. (Option is Alt, maar verder weet ik niet precies hoe goed dit zich vertaalt naar Windows en Linux. Op Mac werkt dit fantastisch. Verder zou je natuurlijk eigenlijk overal Vim-bindings moeten hebben maar dat is een ander onderwerp.)

Morgen dus meer over mijn nieuwe layout!

Toetsenborden: De Ferris Sweep

Dit is onderdeel van een serie over toetsenborden, zie het eerste deel voor een overzicht.

Deze post liet even op zich wachten, want ik wilde hier eigenlijk iets schrijven over goede manieren om een nieuwe layout te leren. Aangezien ik dat nu zelf aan het doen ben en een beetje struggle stel ik die post nog even uit. Daarom nu eerst: dit is mijn nieuwe toetsenbord!

Het is een Ferris Sweep, wat wil zeggen dat het een wat makkelijker in elkaar te zetten Ferris is. Het is een split keyboard met een best heftige column stagger: de toetsen verspringen per vinger en volgen daarmee heel erg de vorm van in elk geval mijn type hand.

De stagger lijkt ontzettend overeen te komen met die van de Kyria (gemaakt door een Nederlander). Die laatste heeft echter 40 tot 46 toetsen, terwijl de Ferris er maar 34 heeft. En oké, ik moet wel toegeven: dat is vrij weinig.

Ik wilde in deze blogpost nog wat info geven over de manier waarop ik een toetsenbord in 34 toetsen prop, maar aangezien ik de Ferris pas sinds dinsdag echt af heb, ben ik daar nog te veel mee aan het stoeien om te delen. De basis ervan werkt in elk geval al wel prima. Het is heerlijk om de tekens naar je vingers toe te laten komen, in plaats van je vingers de hele tijd naar de tekens te brengen.

Qua verslag over het bouwproces kan ik deze video aanraden, want dat zijn de stappen die ik zelf ook gevolgd heb. Het was best een avontuur en iets waarvan ik eerlijk gezegd niet had gedacht dat ik het kon, maar met gewoon beginnen kom je een heel eind.

Rest me niets anders dan nog een paar foto’s te delen. Binnenkort meer over de indeling. O en ik heb nog wat PCBs over, mocht je er ook een willen bouwen...

Toetsenborden: Colemak voor Nederlands

Dit is onderdeel van een serie over toetsenborden, zie het eerste deel voor een overzicht.

Eergisteren vertelde ik over hoe ik overstapte van Qwerty op Colemak en weer terug en weer terug. Nou ja, terug. Momenteel gebruik ik dus Qwerty op mijn Apple toetsenborden (inclusief die in mijn MacBook) en Colemak op de Moonlander. Maar niet helemaal Colemak, daar ga ik het vandaag over hebben.

Het probleem met een efficiënte toetsenbordindeling met compromissen zoals Colemak, is dat er altijd andere compromissen te maken zijn. Vrij veel bronnen over Colemak vertellen je direct over het bestaan van ‘Colemak Mod-DH’. Voor het gemak, hier is Colemak, met wat ruimte om duidelijker te zien welke vinger wat moet doen:

Q W F P G   J L U Y ;
 A R S T D   H N E I O
  Z X C V B   K M , . /

Bij Colemak zie je dat de D en de H te verkrijgen zijn door de wijsvinger zijwaards te bewegen. Dit komt voort uit het principe dat de middelste rij het gemakkelijkste te bereiken is. Niet iedereen was het daar mee eens: de zijdelingse verplaatsing is wat onhandig. Mod-DH verplaatst de D en H naar de locatie van de V en de M, om zo net wat efficiënter te zijn, ten kostte van wat meer verschuivingen.

Nou ja, dacht ik toen ik het las: dat is optimaler voor Engels, maar dat hoeft niet per se waar te zijn voor Nederlands. En standaard Colemak is al beter dan Qwerty, dus laat ik dat gewoon doen. Maar dat is dus wel een punt: voor Engels, voor Nederlands…

Problemen voor het Nederlands

Eén van de problemen waar ik al snel tegenaan liep, is dat Colemak bepaalde letters enorm ‘straft’, die voor het Nederlands niet eens op zo’n heel gekke plek zaten op Qwerty. Het meest in het oog springend is de J, wat in het Engels gek genoeg de minst voorkomende letter van het alfabet is.

De J krijgt (zoals je hierboven zag) de linker bovenhoek van de rechterhand. Nou zit ik inmiddels op een columnar layout met de Moonlander (zoals gister uitgelegd), dus daarmee is het effect iets minder erg, maar het is nog steeds best wel een enorme uithoek van het toetsenbord. Daarnaast krijgt de Y (in het Nederlands de twee-na-zeldzaamste) een toppositie.

Zie Colemak bovenin en zoek het in het Nederlands toch behoorlijk veelvoorkomende achtervoegsel ‘-lijk’. Drie van de letters moet je typen met dezelde wijsvinger, en geen van die drie zit op de middelste ‘home-row’ rij. Ik kreeg hier gewoon echt een beetje pijn van in mijn hand. (Zoek ‘m ook even op op Qwerty: zie? Daar zit '-lijk' eigenlijk heel lekker in een driehoekje.)

Aanpassingen voor Nederlands

In stijl van Colemak heb ik dus een paar aanpassingen gedaan toen ik opnieuw begon met het gebruiken van de Moonlander. Ik wilde heel graag de R en S weer terug omdraaien, want ik vind dat een heel gekke aanpassing in Colemak, maar ik merkte dat dit al best diep in mijn muscle memory zat, dus ik heb die zo gelaten.

q w d p f   y h u l ;
 a r s t g   k n e i o
  z x c v b   j m , . /

De ‘-lijk’ is nog steeds niet optimaal, maar in elk geval al een stuk beter. Ik was over het algemeen best tevreden met deze layout en ben tot ongeveer 72 woorden per minuut gekomen, wat ik acceptabel en ook werkbaar voor werk vindt.

Full disclosure is wel dat ik veel met Vim werk en dus de maffe designoverweging heb meegenomen dat HJKL pijltjestoetsen kunnen zijn. In deze layout staat H netjes links van L en K netjes boven J.

Als je dit zelf wil proberen is het goed om te bedenken dat ik dit allemaal niet in software op mijn Mac oplos. De Moonlander is een ‘programmable keyboard’, wat wil zeggen dat je elke knop iets anders kan laten doen als je dat wil. Ze hebben daar een heel makkelijke website voor, waar je zelf die toetsen kan instellen en op je toetsenbord kan zetten.

Dit maakt dus dat mijn Mac gewoon denkt dat ik op Qwerty typ, terwijl stiekem alle toetsen op een andere plek zitten. Dit betekent ook dat ik mijn Moonlander in elke laptop of tablet kan pluggen en dan gewoon mijn eigen layout heb. Dat maakt zo’n persoonlijke layout ook bruikbaar: ik neem mijn eigen handen en eigen toetsenbord mee.

Maar goed, ik moet dus bekennen dat ik dit alweer niet meer gebruik. Inmiddels ben ik bezig een andere knotsgekke zelfgemaakte layout te leren, maar meer daarover later deze week in een eigen blogpost. Als je geïnspireerd bent om af te stappen van Qwerty, kijk ook naar die post, maar Colemak is wel veel makkelijker om mee te beginnen vanuit Qwerty, of kijk naar Minimak voor zelfs nog minder wijzigingen.

Toetsenborden: over split, staggered en columnar

Dit is onderdeel van een serie over toetsenborden, zie het eerste deel voor een overzicht.

Kijk, ‘staggered’ verwijst naar een eigenschap van het toetsenbord dat je waarschijnlijk al kent. Als je naar een standaard toetsenbord kijkt, zie je dat elke rij net een beetje schuin staat ten opzichte van de rijen erboven en eronder. Sterker nog: geen enkele rij staat precies gelijk aan een ander (meestal). Dit is nuttig, omdat er onder elke toets een balkje zit, die beweegt zodra je erop drukt. Deze balkjes duwen dan vervolgens een hamertje op het papier, zodat letters verschijnen – wacht, dit klopt al een tijdje niet meer.

Deze erfenis van typemachines noemen ze een ‘row staggered layout’ of dus gewoon ’staggered’. Het hoeft technisch gezien helemaal niet meer, maar onze handen zijn eraan gewend en iedereen leert het zo, omdat het nu eenmaal zo is zoals het is.

q w e r t y u i o p
 a s d f g h j k l ;
  z x c v b n m , . /

Het idee van tien-vingerig typen – een techniek die ik zelf niet altijd helemaal goed toepas – is dat je elke vinger een eigen rij aan letters geeft. Zet je wijsvingers op de F en de J (daar zitten ook kleine bobbeltjes op) en vanuit daar vallen je vingers precies juist. Zoals gister besproken heeft Colemak net wat nuttigere letters direct onder je vingers hier, maar ook voor Qwerty is dit de way to go.

Maar als je toch elke vinger een aparte rij toewijst, waarom die rijen dan niet gewoon recht onder elkaar zetten? In het diagrammetje hieronder heb ik maar gelijk even een split toegepast, voor het overzicht.

q w e r t   y u i o p
a s d f g   h j k l ;
z x c v b   n m , . /

Dit was voor mij het moment waarop erachter kwam dat ik de B al jaren met de verkeerde hand typ (en nu waarschijnlijk nog steeds wel eens op mijn normale toetsenbord).

Deze rangschikking van toetsen in een grid heet ortholiniair en hoewel het even wennen is, denk ik wel dat dit een betere rangschikking is, omdat het meer de correcte tienvingerigheid van het typen onderstreept. De split in de diagram is trouwens optioneel: je hebt deze dingen ook in één groot blok.

Zoals gezegd heb ik dus de Moonlander gekocht, en als je goed kijkt zie je dat de toetsen op dat ding niet in een perfecte grid staan, maar juist steeds een beetje opschuiven per kolom (in plaats van per rij) zodat ze meer gelijk lopen met de manier waarop je vingers ook niet allemaal even lang zijn. Dit heet ‘column stagger’ of ‘columnar’, want alle toetsen schuiven op per kolom, niet per rij.

Na wat wennen en verfijning van mijn smaak vind ik de column stagger van de Moonlander niet sterk genoeg. Gelukkig is er zoiets als een ‘aggressive column stagger’, maar daar kom ik later deze week nog op terug.

O, ik zou ook nog iets zeggen over split. Nou ja: het geeft je vooral je een betere positie in je schouders. Ik merk het niet enorm, maar het is wel lekker, en ik ben natuurlijk ook vaak weer op mijn oude toetsenbord te vinden. Een kop koffie tussen je toetsenbord hebben staan is een beloning op zichzelf.

Dank voor het lezen van deze spreekbeurt. Misschien is deze video ook leuk, met voorproefje van wat er nog komt (minder toetsen). Morgen gaan we verder met Colemak voor het Nederlands.

Toetsenborden: dag Qwerty, hoi Colemak

Dit is onderdeel van een serie over toetsenborden, zie het eerste deel voor een overzicht.

Toen ik destijds de Moonlander bestelde was er een wachttijd van ongeveer vier weken. Het is een columnar split toetsenbord, en zo’n beetje elk Youtubefilmpje en blogpost die ik erover zag of las zei dat je ‘helemaal opnieuw moest leren typen’ op dit toestenbord, omdat de toetsen allemaal net een beetje zijn verschoven. (Morgen meer over columnar en split.)

Wat ik ook zag is dat veel mensen die herstart aangrijpen om daarwerkelijk een ander toetsenbordlayout te leren. Columnar is efficiënter, waarom dan niet ook gelijk iets efficiënters pakken dan het aloude Qwerty? Hoewel ik al jaren op de hoogte was van het bestaan van Dvorak, koos ik voor Colemak, om redenen.

Over Qwerty

Er gaat een mythe rond over Qwerty dat het ontworpen is om mensen slomer te laten typen, zodat de hamertjes in de typemachines niet vast kwamen te zitten. Ik zou zeggen dat dat meer waar is voor het niet-columnar aspect van het toetsenbord, maar daarover dus morgen meer. Qwerty is ontstaan uit een piano-toetsenbord met twee rijden, ABC tot en met LMN en daaronder M tot en met YXZ. Weet je, ik praat gewoon dit filmpje na, en een ander die ik nu niet meer terug kan vinden.

A B C D E F G H I J L M N
 . Z Y X W V U T S R Q P O

Je kunt stiekem nog best veel heen-en-weer alfabet terugvinden in Qwerty als je goed kijkt:

Q W E R T Y U I O P
 A S D F G H J K L ;
  Z X C V B N M . , /

Wat het filmpje ons vooral leert, is dat typen destijds een vak was, dat geleerd moest worden via een cursus. Het ontwerp van het toetsenbord ging dus vooral in eerste instantie over wat het beste was, maar daarna slechts over wat het meest gebruikt wordt. (Hallo Whatsapp.) Inmiddels hebben we Qwerty omdat we Qwerty hebben.

Een beter alternatief als Dvorak (niet de componist Dvořák) bestaat al sinds 1932, maar toch is Qwerty de standaard gebleven. Ik koos echter voor mijn nieuwe layout voor Colemak, die Qwerty als basis neemt en slechts enkele verbeteringen daarop doorvoert.

Q W F P G J L U Y ;
 A R S T D H N E I O
  Z X C V B K M , . /

De hele onderste rij blijft vrijwel hetzelfde, maar verder probeert het veelgebruikte letters, zoals klinkers en N, T, R en S, in het midden te plaatsen. Het idee is dat je daardoor niet de hele tijd je vingers hoeft te verplaatsen: als je je handen in het midden legt zijn de letters die je zoekt waarschijnlijk al direct onder één van je vingers te vinden.

Lessen van het overstappen

Eén van mijn eigen fouten bij het leren van dit nieuwe layout: ik dacht dat ik gelijk overal moest overstappen op Colemak. Ik ging dus nog voor mijn Moonlander binnen was (als voorbereiding) aan de slag met overstappen op al mijn toetsenborden, dus het Apple toetsenbord en ook de iPad. Het ging wel, maar ik was van de een op de andere dag een héél slome typer.

Wat ik mezelf met terugwerkende kracht meer zou aanraden, is om even te wachten tot de Moonlander er is. De mechanische switches van de Moonlander, maar vooral ook de split en de positie van de toetsen maken dat het ding heel anders aanvoelt dan mijn Apple toetsenbord. En gek genoeg onthouden mijn vingers dat.

Na een tijdje ging het namelijk gewoon niet meer. Ik moet voor werk gewoon veel dingen typen, en opeens maar 35 woorden per minuut kunnen produceren is dan best onhandig op sommige momenten. Mijn collega was ook eens overgestapt, en weer teruggegaan, dus interessant doen ging me ook niet redden. Uiteindelijk heb ik mijn Apple Magic Keyboard weer gepakt en ben ik net zo lang typing tests gaan doen tot ik Qwerty weer terug had (spoiler alert: dat gaat best snel, maar ook al mijn slechte gewoontes waren terug).

Toen ik maanden later weer eens de Moonlander aanraakte merkte ik dat Colemak nog steeds best wel enorm in mijn vingers zat, zelfs al was ik alweer maanden aan het typen (met de slechte gewoonten) op Qwerty. De moraal van dat verhaal is dus dat een toetsenbord met een andere feel best een andere layout kan hebben en dat je muscle memory dat prima bijhoudt. Ik typ nu Qwerty op mijn MacBook zelf en Colemak op de Moonlander, en dat is veel beter vol te houden als je af en toe een lap tekst moet produceren (zoals deze).

Bij het terugkeren naar Colemak heb ik wel een paar wijzigingen doorgevoerd, waarover overmorgen meer, want ik moet jullie morgen al over columnar en splits vertellen.

Seb doet toetsenborden

Het begon allemaal bij een foto die ik zag op een Discord-server. Ik ben al jaren (tien, ongeveer) een trouw gebruiker van de ingebouwde MacBook toetsenborden en de Magic losse varianten die Apple daarvan verkoopt. Daarmee dus ook Qwerty, de rechtopstaande Enter, en de §/±-knop, die ideaal is voor je eigen sneltoetsen, omdat er geen enkele standaard toetsencombinatie is die die knop gebruikt.

Maar het begon dus bij die foto, met daarop de Moonlander van ZSA. (Had ik al gezegd? Klikken en/of deze serie lezen is op eigen risico.) Het was het begin van een lang konijnenhol naar beneden (?) waar ik, met tussenpauzes, steeds dieper in terecht ben gekomen. Ik ga er de komende week over bloggen, want het is gewoon te veel om in één blog te beschrijven.

Wat ik hier in elk geval alvast kan verklappen, is dat ik de Moonlander heb aangeschaft, in gebruik heb genomen, weggelegd heb, weer in gebruik heb genomen en op het punt sta om hem weer weg te leggen. Dit is hoe je zo’n konijnenhol induikt: in stapjes.

Meer info over deze reis dus komende week. Hier een overzicht van de delen:

Advent of Code

Ik was dus bezig met Advent of Code maar ben uitgevallen na dag 12. Het is de eerste keer dat ik meedoe (collega was erg enthousiast) en ik had mezelf direct al een moeilijkheid gegeven van elke dag in een andere programmeertaal te werken. Maar na 12 dagen werd ik wel een beetje tureluurs van DuckDuckGoën hoe je een bestand moet inlezen in weer een andere taal. De laten waren nog niet op, ik had nog tot dag 18 aan talen klaar staan, met een nog veel langere lijst aan ideeën voor meer talen.

Dus vooralsnog ben ik gebleven bij de volgende 12 talen.

1. C

De eerste dag was makkelijk en ik herkeek colleges over C dus ik dacht, waarom niet. Beetje mezelf makkelijk van af gemaakt door niet zelf de file in te lezen maar hem in een #define te stoppen.

2. Elixir

Hier ben ik best bedreven in, dus deze was makkelijk. Hier hoefde ik ook nog niet op te zoeken hoe je een bestand opent want dat weet ik gewoon uit mijn hoofd. Het was ook een goede opdracht voor pattern-matching, dus Elixir leek me een prima keuze ervoor.

3. PHP

Dit is mijn 'moedertaal' als het om programmeertalen gaat, dus ook hier viel het nog allemaal best mee. Ik heb de oplossing ook ontzettend procedureel opgeschreven.

4. Ruby

Op een of andere manier kreeg ik heel erg Sandi Metz vibes toen ik deze opdracht las, dus daarom niet gewoon Ruby? Ruby is een taal die tegenwoordig een slechte naam heeft ('sloom', 'magic', 'onduidelijk'), maar ik vind het wel een heel vriendelijke taal.

5. Rust

Dit is een van de langere stukken code, gewoon omdat je veel meer zelf moet doen in Rust. (In C ook, maar zoals gezegd, de eerste dag was vrij simpel, en ik speelde vals.) Ik heb de uiteindelijke oplossing achteraf zelfs nog een stukje opgeruimd, qua code. Dit was niet de eerste keer dat ik me in Rust verdiepte, maar ik merk dat ik dankzij de colleges over C en assembly meer achtergrond had voor waarom bepaalde dingen werken zoals ze werken. Was erg interessant, eigenlijk wil ik meer van de problemen hierin doen.

6. Javascript

Dit was een maandag en ik had weer even een taal nodig die ik goed kende. Vooral in mijn oplossing voor deel 1 vond ik mezelf erg grappig (een Fish object met een anotherDayInTheLife() method die soms een kind returnt), maar helaas moest dat allemaal kapot voor deel 2.

7. Go

Ooit heb ik geprobeerd een go-bot te maken in Go, aan de hand van een boek dat het in Python doet. Ik had eigenlijk direct een segmentation fault omdat ik ergens een nil dereference, en dat was het einde van mijn avontuur in Go. Maar deze opdracht ging prima en segfaultloos.

8. Clojure

De colleges over C en assambly waren op dit punt aangekomen bij functioneel programmeren in Scheme. Hoewel ik waarschijnlijk wel ergens de Kawa-interpreter had kunnen vinden, besloot ik toch om naar de wat modernere en momenteel populairdere lisp Clojure te kijken. Het ging best aardig, maar in deel twee zat ik compleet vast en na vier uur vloeken besloot ik de oplossing voor PHP – die ik inmiddels prima in mijn hoofd had – uit te schrijven. Ook daar heb ik lekker fancy lopen doen met operators die ik normaal nooit kan gebruiken. Toen ik daarna het volgende college over Scheme aanzette, maakte ik kennis met let en het feit dat het niet erg is om dat te gebruiken (maar een beetje). Gewapend met dat bouwblok heb ik ook de versie in Clojure nog werkend gekregen die avond.

9. Python

De go-bot zoals beschreven in het boek had veel weg van de vorm van dit probleem: het zijn punten op de kaart en als die buren zijn worden ze samengevoegd. Daarnaast had ik gewoon ook even zin in een wat bekendere taal, na het Clojure-avontuur. Omdat het een kaartje is heb ik me bij deze ook uitgeleefd met de weergave van dat kaartje, met allemaal kleuren in de terminal.

10. Erlang

Tegen deze tijd waren eindelijk mijn dromen over haakjes sluiten verdwenen, komen ze met deze opdracht! Over Erlang: als je eenmaal Elixir kent valt Erlang best wel mee, maar de syntax is wel heel absurd als je het nog nooit gezien hebt. Maar ook hier kon ik erg goed pattern-matching gebruiken, vandaar de keuze.

11. Crystal

Ik moest weer even terug naar een gecompileerde taal, dus dat werd Crystal. Dit heb ik echt helemaal speciaal voor Advent of Code geïnstalleerd, maar ik ben dus best wel onder de indruk: het heeft de vriendelijkheid van Ruby, maar dan mét static type checking en het compiled dus naar iets best snels. Ik heb me ook hier helemaal uitgeleefd met terminal-kleuren en er zelfs een animatie van gemaakt.

12. Typescript

Het is bijna valsspelen, want Typescript en Javascript zijn echt niet zo heel anders, maar ik gebruikte Deno, de Typescript-versie van Node, en daarvoor moest ik toch echt weer even opzoeken hoe ik een file moest inlezen.


Dit rammelende stukje werd mede mogelijk gemaakt door mijn gevoel dat ik meer moet bloggen. Misschien ga ik nog wel verder aan Advent of Code, maar ik wil eigenlijk ook weer dingen gaan doen aan dit weblog. Vandaar.

Stronk

Een tijdje terug was er een landelijk nieuwsbericht over rellen in het Goffertpark, op dezelfde dag dat er ook een tribune sneuvelde onder het gewicht van een grote groep hossende Vitesse-supporters. De rellen waren flink uit de hand gelopen, er werd met van alles gegooid, ‘zelfs met een boomstam’, stond er.

Nog veel langer geleden fietste ik op een dag naar werk. Mijn route ging destijds door het Goffertpark. En het was niet zomaar een dag: het stormde. Net na het stadion stond een boom die al heftig ver was doorgezakt en flink stond te schudden. Ik heb toen naar de boom geknikt en ben afgeslagen, richting de Weg door Jonkerbos, om er niet onder te komen te liggen.

Toen ik terugfietste naar huis bleek de boom inderdaad te zijn omgevallen. Later is hij weggezaagd, bleef alleen de stronk over. Mijn route is sindsdien veranderd, maar telkens als ik er langs fiets groet ik die stronk nog even.

Vandaag kwam ik weer langs de stronk, en zoals ik inmiddels al vermoedde was het bovenste stuk, dat al een tijdje wat losser hing, weg. Gek, dacht ik, ik had op die bewuste dag niet verwacht die boom jaren later nog schade zou veroorzaken en het tot het landelijk nieuws zou schoppen.

Laatste feest

Vandaag is het precies een jaar geleden dat ik voor het laatst op een feest geweest ben. Het was een feest in Rotterdam en het was een beetje een vreemde avond. De groep waarmee ik was heeft normaal een sterke ‘samen uit samen thuis’-mentaliteit, maar op een of andere manier werd die die avond verbroken. En je ziet wat er van kwam.

Het was gister precies een jaar geleden dat het eerste corona-geval in Nederland bekend werd. Veel mensen vonden dat niet zo’n big deal, en ik zelf ging dus ook nog gewoon naar een feest, maar ik weet nog wel dat ik de volgende dag dacht: was dat wel handig zo, net na carnaval?

Een week later zei ik mijn plannen af en ben ik niet naar het Nijmeegs boekenfeest geweest. Het leek me gewoon niet handig. Ik heb die dag nog wel geholpen met een verhuizing, maar ook daar was ik zelf al afstand aan het houden en af en toe mijn handen aan het wassen. Ik geloof dat sommige mensen dat vreemd vonden.

Later gingen er verhalen rond over het Boekenbal (één dag voor het boekenfeest) en dat er mensen waren die besmet waren. Ik weet niet meer of ik me daar toen al bewust van was maar ik vond het allemaal maar eng.

De Boekenweek die erop volgde besloot ik volgens mijn agenda op donderdag 12 maart dat ik ‘in quarantaine’ ging en dus thuis ging werken. Op zondag 15 maart besloot het kabinet alle horeca te sluiten, lees ik op Wikipedia.

In mijn hoofd was er een veel duidelijkere lijn tussen de oude en de nieuwe wereld, maar zo terugkijkend is hij nog best geleidelijk afgebrokkeld.

En wat ik toen al dacht is helaas tot nu toe waarheid geworden: we gaan sowieso anderhalf jaar met dit virus bezig zijn (ik verwacht dus dat deze zomer ook nog weg gaat zijn) en er komt niet echt een ‘ja nu is het over’-moment (men keek uit naar ‘één juno’), alles komt steeds in kleine stapjes terug.

Ik hoop dat er weer een feestje komt, maar ik weet ook dat ik het gek ga vinden, met zo veel mensen in een slecht geventileerde ruimte, met zulke harde muziek, tot zo laat in de nacht en dan ook nog met zo veel drank op. Maar then again, misschien word ik gewoon oud.

Dus even over dat fietsen van me

Dus, ik had onlangs een lange rant over de onveiligheid van fietsen als er auto’s naast je rondrazen. (De auto als boosaardig fenomeen.) En nog eerder had ik een rant met tussenkopjes waarin ik bekende als treinfietser nu autorijlessen neem. (De auto als boosaardig fenomeen.)

Ik heb nog altijd geen rijbewijs, want lockdown, maar ik ben dus wel tegen jan en alleman aan het opscheppen dat ik nu veel beter uitkijk op de fiets. Ik kijk verder naar voren en weet snel in te schatten wie waar voorrang heeft en of zij dat zelf ook door hebben. Ik zeg er dan altijd bij dat het eigenlijk van de zotte is dat je eerst rijles moet nemen om veilig te kunnen fietsen. (Nogmaals: de auto als boosaardig fenomeen.)

Vandaag had ik een aanrijding. Bij het station. Op de fiets, met een fiets. Ik was teveel bezig met de voetganger die mij ook zag maar op de ‘gedeelde ruimte’ bleef oversteken. Overstekende voetgangers van rechts hoef je geen voorang te geven, maar de gedeelte ruimte maakt dat onduidelijk. Ik had ook nogal wat snelheid omdat ik net twee andere fietsers had ingehaald. Wat ik niet zag, was dat terwijl de voetganger me steeds verder naar links duwde, er ook een fietser van links kwam. Er viel niet zo veel meer te remmen.

Aldus gebeurde het dus dat ik aan de andere kant van de fietser terecht kwam. Met fiets en al over hem heen geslagen, zo hard ging ik. Gelukkig ging het om een jongen, niet om een broos omaatje. Zijn fiets had schade (maar goed, hij kwam van links en had mij ook niet gezien) en mijn knie doet nog steeds zeer en gaat waarschijnlijk nog veel blauwer worden.

Bij dezen neem ik dus terug dat fietsen zo lekker veilig is. Snelheid is altijd gevaarlijk. Aan de andere kant: harder dan 30 kan ik nooit gegaan zijn en er was niemand dood. Laat ik dan vooral terugnemen dat ik inmiddels zo leuk vooruit kan kijken. Een ongeluk blijft in een klein hoekje zitten, in het verkeer is het opletten geblazen.

De tuin en de stroom

Ik heb vanavond, met een kleine onderbreking voor de Marslanding, naar de IndieWeb popup-sessie over de Garden and the Stream gekeken. Gekeken, want de daadwerkelijke sessie was in april, dus meedoen was er niet meer bij, maar gelukkig was het opgenomen.

Door de opname zag ik ook dat ik zelf live bij het event ben geweest. Dat wil zeggen: ik zag mijn hoofd in de zoom-call voorbij komen, al heb ik niets gezegd en ben ik ook eerder weggegaan. Soms lijkt een sessie super interessant, maar ben je er gewoon op dat moment niet klaar voor. Nogmaals: gelukkig was het opgenomen.

De afgelopen maand schrijf ik dus weer meer op mijn weblog. Hoewel de inhoud daarvan allemaal maar matigjes diepgaand is, merk ik dat het me goed doet om met enige regelmaat weer een stukje te typen. Ik lijk overdag weer meer ruimte in mijn hoofd te krijgen om aan andere dingen te denken. (Al hou ‘t nog nie over.)

Dat voortzettend en geïnspireerd op de popup-sessie, ben ik voornemens iets van een persoonlijke wiki te starten. Het grootste deel daarvan zal vermoedelijk privé zijn, zodat ik wat vrijer gedachten erin durf te stoppen. (Het is gek dat ik dat dan nu uittyp: waarom gaan deze gedachten dan wel straks online staan? Voor wie schrijf ik dit eigenlijk?)

Bij gebrek aan een persoonlijke wiki dan hier gewoon wat losse flodders die ik interessant vond uit de sessie:

Naast dus het idee dat blogs het web kapot hebben gemaakt, zorgt de chronologische ordening van stukjes voor weinig structuur. Sarah Hibner legde uit over wat zij noemde ‘short now’ en ‘long now’, waarmee ze dus onderscheid maakt tussen notes die reageren op iets dat in de het heden gebeurt maar buiten die context niet zo interessant zijn, tegenover notes die juist een soort universelere boodschap hebben die wel jaren later nog gelezen kunnen worden voor iets anders dan nostalgie. (Mijn eigen woorden hier.)

Volgend op de non-structuur van de chronologie, ook het idee dat ‘formele tags’ (zoals die van een biliotheek) minder goed werken dan ‘folkonomy’, tags die door mensen in hun eigen natuurlijke taal bij een onderwerp worden gezet (bijvoorbeeld hashtags op Twitter), maar dat tot slot juist de meeste structuur te halen valt uit het aan elkaar linken van notities door middel van links, die al-dan-niet twee-directioneel zijn. Door dergelijke links kan men dus paden vinden door een wiki, zoals je ook flink verdwaald kan raken als je door Wikipedia heen blijft klikken.

Daarna dan het idee dat je een wandeling kan maken door een wiki door deze paden langs te gaan, en dat dat dus een manier is om informatie terug te vinden. Ik weet niet meer waar het stond, maar ik weet wel dat op pagina X een link stond naar Y, dat ermee te maken had, dus misschien kom ik zo wel bij Z.

Chris Aldrich vertelde op het eind ook nog over hoe volken vroeger kennis deelden op verschillende fysieke locaties in hun rondtrekkende bestaan, en dat Stonehenge een vervanging daarvoor was, na het uitvinden van de landbouw: herinneringen werden aan bepaalde stenen gekoppeld om zo door te geven aan toekomstige generaties. (De stenen staan er nog, de herinneringen zijn helaas verloren.)

En dan tot slot het briljante idee om NFC-tags in je huis op te hangen, die je dan kan scannen (met je iPhone via Shortcuts) om zo naar verschillende pagina’s in je persoonlijke wiki te linken. Ik denk nu aan bij de deur een checklist of bij de koelkast een boodschappenlijstje, maar je kan ook denken: wat weet ik ook weer over de geschiedenis van Zuid Frankrijk? En dan weten dat je voor geschiedenis altijd naar de plant in je kast loopt.

Enfin, ik weet onder welke categorie van ‘now’ deze blogpost valt, of het eigenlijk wel in de stroom had gemoeten, en waarom ik destijds geen blogpostje heb geschreven over de NFC-tags die ik van Sven kreeg nadat ik in Brighton die functie van mijn iPhone had ontdekt (nog altijd kan ik mijn ov-chipkaart scannen en dan opent de NS-app). Maar het was een interessante sessie om terug te kijken, dat zeker.

De vele waarheden van de avondklok

Mijn maand van minder Twitter werd gister heftig op de proef gesteld door de rechtzaak over de avondklok, maar tegelijkertijd had ik ook het idee dat het nu al zijn vruchten afwierp. Terwijl ik door de feeds van NOS, NRC en Twitter scrollde dacht ik continu: ah ja, dit is waar. Maar ook: oei, dit is ook waar. En dit ook. Er zitten gewoon heel veel kanten en nuances aan het verhaal.

Twitter is daar dus niet goed in, nuances. Als ik wat langer op Twitter zit, zie ik elke tweet als poging tot volledige waarheid. Deze persoon zei dit, 32 minuten geleden, dus dit is diens volledige wereldbeeld. Deze persooon vindt dit, en al het andere vindt ie onwaar. Dat slaat natuurlijk nergens op. En na weer even afwezig te zijn geweest kon ik al die tweets weer lezen voor wat ze zijn: verschillende stukjes van waarheid uitgelicht.

Het was namelijk eigenlijk wel heel fijn dat de avondklok werd opgeheven. Het hele ding geeft me een beklemmend gevoel, en als met de sneeuw ook de avondklok zou zijn weggesmolten zou ik daar stiekem niet rouwig om zijn.

Daarnaast is er een heel juridisch verhaal dat ik niet ga proberen te duiden. In deze vind ik het vooral jammer dat er ruimte was voor verwarring, maar ben ik ook blij dat wetten op verschillende manieren getoetst kunnen worden.

Tot slot is er ook het punt dat we nu op een laag punt in besmettingen zitten en dat ook juist nu elke besmetting die we voorkomen, over drie weken zou zijn uitgegroeid tot een grotere groep.

Ik wil dus zowel heel graag naar buiten als naar de nul besmettingen. Ik wil zowel heel graag naar de kapper als ook op de bank blijven tot dit virus weg is. Ik wil zowel iedereen op straat knuffelen als niets met hen te maken hebben.

En bovendien: elk uur van de dag wil ik één van deze dingen het meest, zo veel zelfs, dat ik er bijna over zou tweeten. Maar dat is voor nu maar even beter van niet, denk ik. Mensen aan de andere kant van de wipwap gaan alleen maar weer boos terugtweeten.

Halverwege saai februari

Het goede nieuws is dat het me redelijk lukt om niet meer op mijn Nederlandse Twitter account te kijken. Het geeft veel rust om niet elke paar minuten real time commentaar op de politiek, de maatschappij en de weersomstandigheden te lezen.

Het slechte nieuws is dat ik mezelf heb aangeleerd om op weer vaker op mijn Engelse Twitter account te kijken. Daar volg ik voornamelijk developers, dus daar is voornamelijk real time commentaar op het Web, privacy, fancy nieuwe programmeertalen en frameworks en op wonderbaarlijke wijze ook de Australische politiek. (Geen idee hoe dat zo gekomen is.) De les is dus dat het veel uitmaakt wie je volgt op Twitter.

Maar het is dus nog steeds slecht nieuws, want zo kom ik nog steeds niet van mijn compulsieve scrollgedrag af. Niet dat ik begin deze maand al echt van NOS en NRC af kon blijven... saai februari is nog best lastig. Zoals bij de meeste dingen tegenwoordig hou ik rekening met verlenging van maatregelen.

Van wie is de wereld als er sneeuw ligt?

Op het moment van schrijven zitten we hier in Nederland in een interessant moment van ontregeling binnen een ontregelde periode. Concreet: we zitten al een tijdje met corona, maar nu is er ook nog sneeuw. Traditioneel gezien betekent sneeuw dat er geen treinen rijden, en dat doen ze ook al een paar dagen braaf niet of mondjesmaat. De avondklok kreeg onze straten maar lastig leeg en zelfs de combinatie van avondklok en sneeuw houdt men niet volledig van de straat. (Ik woon naast een druk kruispunt en spreek er vanaf mijn spreekwoordelijke geraniums schande van.)

Sneeuw, zo lijkt het, heeft verschillende stadia. Voor het gevallen is heeft het nog niet veel impact, hooguit een verhoogte drukte rond supermarkten van mensen die nog ingrediënten voor de erwtensoep willen halen. Toen het eenmaal viel, werd het rustiger op straat. Kennelijk rijdt men niet graag terwijl er sneeuw valt, we waren ook flink gewaarschuwd, en al wandelend en fietsend krijg je toch alleen maar sneeuw in je muil.

De tweede fase is die van de ongerepte sneeuw. Als het net gevallen is durft niemand het nog kapot te maken. Wie zich toch buiten waagt om foto’s voor de sociale media te maken, probeert de voetstappen van de voorgangers te blijven. Sommigen willen juist enkel het feit dat ze de eerste waren vastleggen. Hun voetstappen vormen de basis voor latere paden.

Deze tweede fase is ook de fase waarin het rustig is op straat. Mensen wagen hun auto niet door deze sneeuw, tenzij het strikt noodzakelijk is. In deze fase ontdek je twee dingen: 1) de wereld is eigenlijk heel groot als alle wegen weg zijn gevallen in één groot sneeuwveld en 2) we hebben in Nederland zo veel wegen dat het voor de ijsschuivers – die op ‘hoofdwegen’ beginnen – onmogelijk is om jouw straat nu al sneeuwvrij te maken.

Langzaamaan vormen zich de paden. Misschien niet zo zeer omdat men de ongerepte sneeuw in tact wil laten, maar meer ook omdat we inmiddels geleerd hebben dat lopen in ongerepte sneeuw natte en dus koude voeten oplevert. Her en der vroet een auto zich langzaam een weg door de sneeuw. Verderop waagt een fietser zijn leven.

Die fietser ben ik dus. Ik ben er nog altijd van overtuigd dat – ook onder deze omstandigheden – de fiets het beste vervoersmiddel in de stad is. Je komt beter beslagen ten ijs dan de auto: je ploegt met een zelfde snelheid door de sneeuw, maar als het echt niet meer gaat til je je voertuig even op en weg ben je. Het duurt allemaal wat langer, maar hé, zo vaak sneeuwt het niet, en met minder haast is het leven een stuk aangenamer.

Helaas zijn we nu in de laatste fase van de sneeuw aangekomen, en omdat het zo lang zo koud blijft, blijft deze fase maar voortduren. Inmiddels hebben de sneeuwploegers hun harde werk voltooid en zijn alle hoofdwegen weer vrij. In Nijmegen horen daar gelukkig ook meerdere fietsroutes bij, maar overal zie je de dominantie van de auto weer terugkeren. Waar eerst de sneeuw de wereld veranderde in één groot wit vlak speelveld, zijn daarin nu weer de zwarte banen van de weg uitgehakt. En waar het zwart van het asfalt zichtbaar is, daar is de auto de baas.

In de huidige situatie durf ik eigenlijk niet meer te fietsen. Veel automobilisten denken dat ze weer 50 kunnen, waardoor zij die daar normaal ook schijt aan hebben weer rustig 70 of erger gaan. Terwijl juist nu door kou en smeltwater de wegen echt glad kunnen zijn. Als er geen los fietspad is, maar fietsstroken, heb je als fietser nu pech: je moet nu het zwarte asfalt delen met de auto’s en je uitwijkmogelijkheid bestaat uit een grote berg ijs op je voormalige fietsstrook.

Maar ook lopen is lastiger. Net nog waagde ik een wandeling en moest ik een weg oversteken die normaal ook al druk is. Je wil van witte stoep naar witte stoep, maar rustig, want het zwart kan glad zijn. Terwijl je speurt naar een gaatje in de stroom veel te hard rijdende auto’s, moet je ook vast studeren op een manier hoe je straks – als het kan – veilig over de ijsmuur kan springen. Bovendien moet je dit doen voor beide kanten van de weg en liefst zonder stil te hoeven staan in de grijze blurrie waar ooit het stoepje in het midden van de weg was.

En dan sta je daar dus te wachten in de vrieskou, terwijl de verwarmde auto’s voorbij blijven rijden. Ik heb zelf besloten een wandeling te gaan maken, maar helaas, de verbroedering van pasgevallen sneeuw is weer volledig verdwenen. Van mij mag deze versie van de wereld wel weer wegsmelten. De wereld na de bruine blupsie zal nog steeds om de auto draaien, maar dan steekt het wat minder zwart op wit af.

Even tussendoor: roomsoes op piratenboot

Geschiedenis herhaalt zich nooit / maar rijmt altijd een keer, zingt Spinvis. Zelfs als je maandenlang vooral thuis bent. Twee jaar geleden was ik rond deze tijd in Japan. Ik gebruik nu deze twee weken om steeds terug te denken aan die reis. In een variatie op het cliché ben ik nu al aan het genieten van de herinneringen, nu ik nu al niet meer kan reizen.

In plaats van Netflix heb ik nu al maanden een abonnement op Crunchyroll, een streamingdienst voor anime. Dit is allemaal niet nieuw en speciaal voor de Japanweken. Sinds juli ben ik weer kanji (Japanse Chinese tekens) aan het leren, luister ik veel podcasts en kijk ik dus anime.

Mijn huidige favoriete genre is die van de sportclub. Ooit keek ik al Hikaru no Go, over het bordspel Go, maar in de afgelopen tijd keek ik dus ook Haikyu, over volleybal, en Free, over een zwemclub. Het leuke van dit genre is dat alles vrij realistisch is, en dat je daarmee ook te maken hebt met min-of-meer realistisch Japans.

Momenteel kijk ik Run with the wind (風が強く吹いている), wat dus over hardlopen gaat. Ik speel geen volleybal en hou niet van zwemmen, maar ik loop wel hard, dus dit leek me ook een fijne serie. De school in het verhaal blijkt dit keer geen middelbare school te zijn, maar een universiteit. En waar normaal altijd toegewerkt wordt naar 全国, ‘the nationals’, gaat het deze keer over de Hakone Ekiden.

En hier keek ik dus sinds aflevering één al naar uit: kennelijk gaan we naar Hakone, waar ik dus twee jaar geleden ook ben geweest. En zojuist, een paar afleveringen eerder dan gedacht, zijn we ook echt even in Hakone in de serie. Dus natuurlijk even op pauze bij het beeld van het station van Hakone Yumoto, maar daarna herkende ik zelfs enkele wegen terug in de anime.

Ik sta dus nu op pauze bij een beeld van een piratenschip op het Ashi-meer, met op de achtergrond een ondergaande zon. Want toen moest ik opzoeken: wanneer was ik bij die maffe piratenboten die ze over dat meer laten varen? Wat blijkt? Vandaag precies twee jaar geleden.

Bij deze blogpost verder geen foto’s, want ik weet niet hoe het zit met de rechten op een still uit een anime, en daarnaast had ik vlak voor ik de boot op ging net een roomsoes gegeten dus op al mijn selfies zit een witte vlek naast mijn mond. Achja, ook dat is reizen.

Meer laden