Log in
Seblog.nl

Kort

Last year I shared a Vim keybinding that I use quite frequently: I mapped gy to "+y, meaning that with the gy I yank text into the system clipboard (without the awkwardness of typing double quote and plus).

I recently added another mapping to it: if I do gY, it will actually yank the full content of the open file into my system clipboard. This saves me the awkwardness of typing gggyG. See my mapping below though: by using the command style yank, I actually don't let the cursor jump, which is much nicer.

nmap gy "+y
vmap gy "+y
nmap gY :%y+<cr>

Ik haal zojuist een haar van mijn scherm, en opeens verschuift de pagina die ik aan het lezen was. Enorm wtf-momentje: mijn nieuwe laptop heeft een touchscreen.

'Sure I will take a 7 hour train to Nürnberg, I will work on stuff' quickly derailed into compulsive sudoku solving. Now for the last hour, finally got my laptop out again.

Mijn schijf was vol, dus ik ben weer lekker even met du -sh * 2> /dev/null op pad geweest door mijn computer. En ja hoor: weer een logfile waarin PHP me elke seconde vertelt dat het niet lukt om op te starten ter waarde van 340 GB. En gewoon wéér rond Pasen.

Spelidee: trek voor elke speler een willekeurige provincie en een willekeurige partij. Doe allemaal een kieswijzer. Wie het dichtst bij zijn of naar partij scoort wint.

Gisteravond luisterde ik een aflevering van de Remote Ruby podcast met Derek Sivers, waarin hij uit de doeken doet hoe hij alle logica van zijn applicaties in de database zelf stopt, en waarin hij ook zijn persoonlijke database noemt, waarin hij zo'n beetje zijn hele leven vastlegt.

Zijn database staat in interessant contrast met de gebruikers van Obsidian, die juist voor 'plain text' gaan als opslagformaat, in de hoop dat tekst over twintig, vijftig, honderd jaar nog steeds gelezen kan worden door computers. Maar tegelijkertijd staat het óók in interessant contrast met de Ruby on Rails en Laravel developers die alle logica uit de database proberen te houden en de database alleen maar gebruiken voor domme opslag van data.

Het is fijn om af en toe even uit je comfortabele doos te worden gestuurd. Dit weblog slaat alle posts ook op in losse tekstbestanden en op mijn werk werk ik met Laravel en een relatief domme database.

Derek wijst in de aflevering ook op de Simplicity Matters talk van Rich Hickey, wiens talks eigenlijk allemaal heel goed zijn. De talk gaat in op de concepten 'makkelijk' (easy) en 'simpel' (simple), en hoe mensen die twee concepten door elkaar halen terwijl ze fundamenteel andere dingen zijn. Ook voor niet-programmeurs wel een aanrader, denk ik, al moet je af en toe even door wat jargon heen.

Ik kwam laatst langs een buitenreclame die iets zei als 'als op je bank wachten je kansen kost'. Ik dacht eerst: ik vind het best lekker om op de bank te zitten als ik wacht. Daarna dacht ik: o ja, L. heeft een bank gekocht en moet daar nu op wachten. Pas daarna drong het tot me door dat het reclamebord waarschijnlijk een ander soort bank bedoelde.

Deze week kwam ik tot de conclusie dat ik dit hele jaar mijn RSS-reader nog niet had geopend, en die periode bevat natuurlijk ook de kerstweek (Eerste tot en met Zevende Kerstdag), dus er was nogal een voorraadje ontstaan. Zoals altijd denk ik nu 'ik moet ook meer bloggen' en daarom vandaag dus een paar posts achter elkaar, over dingen die ik tegenkwam in mijn RSS-reader, zodat die ook in jullie RSS-reader staan.

Ik speel sinds 2013 Go, 'het oudste bordspel ter wereld', en was er altijd trots op dat ik al speelde vóór de computer zo sterk werd dat geen mens er meer van kan winnen. Niet dat ik ooit van 'de computer' heb kunnen winnen: in 2013 was dat al alleen voorbehouden aan de sterkste spelers.

Een ander feitje over Go dat ik graag herhaal, is dat het meer bordposities heeft dan schaken. Bla bla, de computer won al van de mens met schaken in 1977, en dan noem ik het aantal atomen in het zichtbare universum, alsof ik weet waar ik het over heb.

Maar met grote verbazing las ik dus net in NRC dat er een ander spel is dat nóg meer bordposities heeft en waar de computer het nóg moeilijker mee had. Door de bordposities, door het aantal mogelijke begin-opstellingen, én door het feit dat de tegenstander niet weet waar de stukken staan. We hebben het over Stratego, wie had dat gedacht.

Het is een leuk concept, zo'n zuignapafwasborstel, maar telkens als ik thuis kom ligt hij gewoon in de wasbak; dat kon die oude ook wel.

It seems like a lot of people (W, J and H) are cleaning up their <head>. I always tried to be minimalist in my HTML (and I did meditate back when I build the current version of my site), so my head was actually already rather empty. I did however removed 'add Twitter metadata' from my personal backlog. Feels freeing.

Van de week boostte ik op Mastodon twee toots, over Twitter en over Github, maar zojuist had ik precies diezelfde ervaring op Youtube. Een popupje vertelde me dat ik nu ook posts en videos kan 'delen met mijn publiek' en mijn eerste reactie was: mijn publiek op Youtube, hoezo op Youtube?

Ik hoop dat meer en meer mensen dit blijven hebben. Het is zo'n verademing als die muren weg zijn.

In mijn post van vorig weekend wilde ik niet toegeven dat de requests die Mastdon naar mijn inbox stuurde helemaal niet door mijn eigen verificatie-code heen kwamen.

Het stappenplan is als volgt: Mastodon stuurt een bericht naar mijn inbox, stuurt daarbij een HTTP-header met daarin een keyId, een signature en een lijstje aan namen van headers. Ik moet dan de waardes van de HTTP-headers bij de namen zoeken, de keyId ophalen (dit is een URL) en dan verifiëren of de signature van de headers inderdaad ondertekend is met de public key uit de keyId. Omdat het cryptografie is gaf de functie alleen maar false terug, zonder enige verder info.

Na heel veel zoeken bleek dat in elk geval de deletes een simpele verklaring hadden: zodra de Actor is verwijderd is ook de public key weg, en dus valt er niets te verifyen. Dat is geen bug, zeggen ze. Ik negeer nu lekker alle Actor-deletes want ik haal toch geen profielen op. Follows en Follow-Undo's die ik als test bleef doen bleven wel falen.

Na letterlijk uren te hebben doorgebracht met specs zoeken en code lezen uit Pixelfed (PHP Laravel) en Pleroma (Elixir), bleef ik er toch echt van overtuigd dat ik alles goed berekende, aan elkaar knoopte, ophaalde, alles. Heel frustrerend.

Maar, wat bleek: de (request-target) vulde ik aan als (request-target) /inbox, terwijl ik mijn inbox op /activitypub/inbox had neergezet. De andere implementaties plakten die path dynamisch op uit de Request/conn. Daar ging 6 uur waarin ik al heel veel verder kon zijn geweest met Activitypub. Maar goed, volgend weekend weer een weekend.

Ik heb uitgevonden dat ik nog een account op Mastodon had liggen uit 2016. Op dit moment accepteert die instance (Mastodon.social) geen nieuwe gebruikers meer, mede om decentralisatie te promoten, maar misschien ook om de load op de server beheersbaar te houden.

Die instance heeft dan wel een interessant extra 'probleem': als er veel mensen al een account hadden kunnen ze die allemaal activeren, om zo de server het alsnog zwaar te laten hebben. Een Mastodon zombie apocalyps.

Ik heb het een tijdje volgehouden, maar vandaag is het zo ver: ik heb de lader van mijn Apple Watch niet bij me, maar hij is wel leeg. Sinds 16 september heb ik de Series 8 en die draag ik nu ook 's nachts, maar dat betekent dat ik ergens op de dag moet bijladen. Wel 7 hele weken goed gegaan, maar vandaag dus niet.

Meer laden