Het was wel grappig vandaag: als er op het werk een boomstructuur getekend wordt van wie er aan wie rapporteert en wie de baas van wie is, komt ge uiteindelijk op directeurs en decanen en beheerders en vice-rector en rector uit.
Vandaag hadden we een presentatie voor al die mensen.
Vroeger, denk ik, zou ik daar nerveus voor geweest zijn.
Het plan was: vrijdag vakantie. Zaterdag uitslapen tot ver in de namiddag. Zondag idem. Maandag vakantie. Dinsdag vakantie.
Het is geworden: vrijdag uitgeput en voor pampus in bed liggen. Beseffen dat er zaterdag een hele dag uitstap is en dat ik dus vroeg moet opstaan. Beseffen dat er maandag een belangrijke meeting op het werk is waar ik eigenlijk niet anders kan dan er naartoe gaan. En dan nog een tweede meeting met idem. Beseffen dat ik onbesuisd ja had gezegd op iets waardoor ik dinsdag ook vroeg moet opstaan en naar Brussel gaan met de trein.
Het leven is van meeting naar meeting gaan, en ergens tussen de meetings worden er beslissingen genomen en soms tijdens de meetings ook, en ergens wordt er ook nog werk gedaan.
Waar dan weer over meeting kan gehouden worden en over beslist worden, en met kleine incrementen links en rechts mogen we hopen dat we ergens geraken. Het is niet altijd even evident om er veel voortgang in te zien, ’t is soms maar achteraf en door het tegen mensen te vertellen dat de voortgang duidelijk wordt.
We zijn op een kantelmoment in één van de projecten op het werk, waar het van kijken en begrijpen naar nadenken over nieuwe dinges gaat. Er zit vanalles in mijn hoofd, er zit vanalles in andermans hoofd ongetwijfeld ook. Ik ben benieuwd hoe het in de praktijk zal coalesceren.
Wat daar mag het ondertussen wél een beetje naartoe gaan.
Ik wil iets doen en dus doe ik het programma open waarmee ik dat doe maar er blijkt een update te zijn dus ondertussen doe ik iets anders en dan denk ik, “ik zou eigenlijk wel eens dát kunnen doen terwijl ik toch bezig ben” en dan begin ik aan nog iets anders waar ik nóg iets anders voor moet hebben en dus begin ik dáár dan maar aan maar dar blijkt niet zo simpel te zijn en het duurt een tijd en dan bedenk ik dat het wel wijs zou zijn om daar een mooie illustratie bij te maken en nu ik toch die illustratie heb zou ik er wel een artikel kunnen rond maken maar daar heb ik een degelijke tabel voor nodig en oh dat herinnert er mij aan dat ik nog een tabel in een wikipediapagina ging zetten en ah ja daar heb ik nog individuele beelden in svg voor nodig en dan kan ik best meteen die tabel genereren uit een json met data maar maak ik best rap een scriptje om analyse naar uniforme json te kappen en dan kan ik tegelijkertijd ook direct
Maar ik ben geen computer en ik zie daar helemaal niets in. Het scriptje dat ik gisteren gemaakt had om er ene iets leebaarder tekst van te maken, deed eigenlijk zijn werk helemaal niet. En dus heb ik het deze keer maar manueel aangepakt. Enfin ja, semi-manueel — ik heb mijn lokale AI het volgende gevraagd:
Write a tkinter application to map glyphs to letters. Read glyph-coded sentences from analytics.json > sentences > codes. Translate by substituting codes with assigned letters.
On the left: all used codes with a text input for one character. Above that: a button to randomize and a button to apply the substitution. Clicking a code label ‘freezes’ that code. Clicking the randomize button fills all unfrozen boxers with a random permutation of available letters (from this set: aeiouâêîôûntrdslgvhkmbpwqjxcz).
On the right: at the top the glyph-coded sentences, at the bottom the translated sentences.
En dat gaf mij dan zoiets:
…maar natuurlijk is “ôâaod aj ezôo wuz hjuj / tujwûô aj hjuj wuz ezôo / ezôo wuz tujwûô aj hjuj” erdelijk onleesbaar. En dus heb ik maar plausibel klinkende letters ingevuld en dan randomize geduwd tot ik meer en meer leesbare dingen zag, en dan uiteindelijk kwam ik op dit uit:
Dat geeft nog altijd nonsens, maar “do kla gic. zlon kla jo ce gic. do kla gic. gic kla hâps. gic kla hâpsôn. gic kla jocôn. gic kla zlekôn. jôta kla hâps. jôta kla hâpsôn. jôta kla jocôn. jôta kla zlekôn” is tenminste wél leesbaar.
En het patroonherkennend oog ziet er meteen ook dingen in:
do kla gic.
zlon kla jo ce gic.
do kla gic.
gic kla hâps.
gic kla hâpsôn.
gic kla jocôn.
gic kla zlekôn.
jôta kla hâps.
jôta kla hâpsôn.
jôta kla jocôn.
jôta kla zlekôn
Allemaal herhaalde “X kla Y”, en dan opeenvolgingen van “hâps – hâpsôn – jocôn – zlekôn“?
Afijn. Ik ga morgen eens kijken wat mijn andere AI-vriend ervan maakt.
Ik had vandaag mijn tweede sessie onderzoeken van mijn oren en mijn hersens in het kader van een tinnitus-en-dingen-onderzoek.
Het was een vreemde ervaring: eerst een korte maar bijna onmogelijke test om het onderscheid tussen klanken te proberen vinden, dan een half uur uur in een zetel liggen met een luidspreker/microfoon in mijn rechteroor om te kijken of één soort haartjes in mijn oor nog goed werken, en dan bijna een uur in diezelfde zetel, boomstil, met electroden aan mijn hoofd om te zien of mijn hersens het geluid wel goed verwerken.
Niét evident, een uur stil liggen zonder telefoon of leesboek.
Maar wel gelukt, dus. En ik heb er twee boekenbons voor in ruil gekregen die ik aan een goed doel heb geschonken.
Wat kunnen we daarvan maken? Ik zou er allemaal analysedingen kunnen op loslaten, maar gewoon wat gezond verstand eerst. Ik weet dat de bron een inscriptie in symbolen is, die convetioneel omgezet werd naar codes. Er is het vermoeden dat de symbolen voor letters of lettergrepen of zo zouden kunnen staan, maar ik weet niet hoe ze uitgesproken worden. Ik weet wel dat spatie mogelijks woorden scheidt, en dat “P01” mogelijks een leesteken of een scheidingsteken is.
Er is geen afspraak over hoe pakweg A01 uitgesproken wordt, dus wat geeft dat als ik gewoon door de codes ga en één voor één de codes vervang door de volgende beschikbare letter (en P01 door “.”?
Iets beter. Niet veel, maar toch iets. Ik weet niet of dit een code is die uitgesproken kan worden, maar toch eens kijken wat het zou geven als ik in plaats van gewoon abcde etc. aan de codes te geven zoals ik ze tegenkom, eerst zou kijken wat de frequentie is van codes en die dan te vertalen in volgorde van de frequentie van letters in, waarom niet, het Nederlands — e n a t i r o d s l g v h k m u b p w j z c f x y q.
Meh. Dat geeft iets dat gelijk nog minder leesbaar is:
eatg kja eatu kj. kra eatg osa. zaryi. eiot. lnmuj. bndcs. vawfd. ead. vgr. urpt. zai. vnsxw. vudnr. pmb. eadq. zaryi kr eiot lahe eiot. eiot kr eiot lahe lnmuj. lnmuj kr eiot lahe bndcs. bndcs kr eiot lahe vawfd. vawfd kr eiot lahe ead. ead kr eiot lahe vgr. vgr kr eiot lahe urpt. urpt kr eiot lahe zai. zai kr eiot lahe vnsxw. vnsxw kr eiot lahe vudnr. vudnr kr eiot lahe pmb. pmb kr zaryi lahe pmb. pmb kr eiot lahe eiotensg. vudnr kr lnmuj lahe eiotensg. vnsxw kr bndcs lahe eiotensg. ead kr urpt lahe eiotensg. eiotensg kr eiot lahe eiotensg eiot. eiotensg kr eiotensg lahe lnmujensg. lnmujensg kr eiotensg lahe bndcsensg. bndcsensg kr eiotensg lahe vawfdensg. pmbensg pmb kr eiot lahe vadnd. vadnd kr eiotensg lahe vadnd eiotensg. vadnd kr vadnd lahe lnmujensg vadnd. vadnd eiotensg kr eiotensg lahe vadnd lnmujensg. vgr kr vgr lahe eiotensg. qdzr kr eiot lahe qdzr eiot. eiotensg vnw eiot lahe pmb. lnmujensg vnw eiot lahe eiotensg pmb. vadnd vnw eiot lahe pmbensg pmb. vadnd eiotensg vnw eiotensg lahe vadnd.
Ik schrijf dus een een pythonscriptje om combinaties te genereren en het blijkt onmogelijk om een permutatie van 26 letters te maken die deze tekst leesbaar maakt: er zijn altijd woorden met alleen maar medeklinkers of alleen maar klinkers.
Dan maar op een andere manier. Als we ervan uitgaan dat lange reeksen medeklinkers en klinkers moeilijk uit te spreken zijn, kan ik eerst op zoek gaan naar een mapping van codes naar klinker/medeklinker, en mogelijks méér dan vijf klinkers te gebruiken. Precieze uitspraak maakt mij niet uit — ik zou pakweg a e i o u â ê î ô û kunnen proberen, dat geeft mij tien klinkers in de plaats van vijf. (Of het moet natuurlijk zijn dat sommige combinaties van tekens één klank zijn, klinker of medeklinker — wie weet is bijvoorbeeld “la” eigenlijk “ñ” of “ui”. Gah!)
Maar hey kijk nu, dat geeft redelijk leesbare resultaten (al ziet het er wel, euh, weird uit):
fmâp gûm fmâc gû. gim fmâp wem. dmisê. fêwâ. ahocû. bhôze. umxnô. fmô. upi. citâ. dmê. uherx. ucôhi. tob. fmôy. dmisê gi fêwâ amîf fêwâ. fêwâ gi fêwâ amîf ahocû. ahocû gi fêwâ amîf bhôze. bhôze gi fêwâ amîf umxnô. umxnô gi fêwâ amîf fmô. fmô gi fêwâ amîf upi. upi gi fêwâ amîf citâ. citâ gi fêwâ amîf dmê. dmê gi fêwâ amîf uherx. uherx gi fêwâ amîf ucôhi. ucôhi gi fêwâ amîf tob. tob gi dmisê amîf tob. tob gi fêwâ amîf fêwâfhep. ucôhi gi ahocû amîf fêwâfhep. uherx gi bhôze amîf fêwâfhep. fmô gi citâ amîf fêwâfhep. fêwâfhep gi fêwâ amîf fêwâfhep fêwâ. fêwâfhep gi fêwâfhep amîf ahocûfhep. ahocûfhep gi fêwâfhep amîf bhôzefhep. bhôzefhep gi fêwâfhep amîf umxnôfhep. tobfhep tob gi fêwâ amîf umôhô. umôhô gi fêwâfhep amîf umôhô fêwâfhep. umôhô gi umôhô amîf ahocûfhep umôhô. umôhô fêwâfhep gi fêwâfhep amîf umôhô ahocûfhep. upi gi upi amîf fêwâfhep. yôdi gi fêwâ amîf yôdi fêwâ. fêwâfhep uhx fêwâ amîf tob. ahocûfhep uhx fêwâ amîf fêwâfhep tob. umôhô uhx fêwâ amîf tobfhep tob. umôhô fêwâfhep uhx fêwâfhep amîf umôhô.
Wat substitutie om het leesbaarder te maken voor een Vlaamse mens en dat geeft dit:
Right. Dat geheel terzijde, want het vervolg had ook met het eerste stukje subsititie gekund.
En dan nu kijken welke patronen er mogelijks in zitten. Met het blote oog: eerst eens elk stuk met een punt op het einde op een andere lijn zetten en wat spaties in zetten:
Het lijkt een logische lijst te zijn van A wô/ong B îlêp C, en die oplijsting van termen die ook alsmaar terugkeren, maakt het logisch dat het om cijfers en bewerkingen gaat:
A wô B îlêp C, met dan op de volgende lijnen C wô B îlêp D, D wô B îlêp E, etc., dat kan niet anders willen zeggen dan A is 0, B is 1, C is 2, D is 3 etc., en wô is +, en îlêp is =. Vervangen in de tekst vertalt heel dit stuk meteen (ik sla het begin over, da’s twee lijnen en dan NUL, EEN, TWEE tot ELF en dan “VIJFs”):
NUL + EEN = EEN.
EEN + EEN = TWEE.
TWEE + EEN = DRIE.
DRIE + EEN = VIER.
VIER + EEN = VIJF.
VIJF + EEN = ZES.
ZES + EEN = ZEVEN.
ZEVEN + EEN = ACHT.
ACHT + EEN = NEGEN.
NEGEN + EEN = TIEN.
TIEN + EEN = ELF.
ELF + NUL = ELF.
Daarop volgt dit — ’t is dus gewoon duodecimaal in de plaats van decimaal…
ELF + EEN = EENpnih.
TIEN + TWEE = EENpnih.
NEGEN + DRIE = EENpnih.
VIJF + ZEVEN = EENpnih.
…en pnih is een dozijn:
ELF + EEN = EEN-DOZIJN.
TIEN + TWEE = EEN-DOZIJN.
NEGEN + DRIE = EEN-DOZIJN.
VIJF + ZEVEN = EEN-DOZIJN.
En dan regels om grotere cijfers samen te stellen, opnieuw redelijk logisch met pnih als DOZIJN en een x-DOZIJN y om samen te stellen:
De logica van de dingen is dat salô een dozijn gros is, of 12 maal 144, maar er staat maar één som dus zeker zijn we niet. En dan eindigt de tekst met
EEN-DOZIJN ong EEN = ELF.
TWEE-DOZIJN ong EEN = EEN-DOZIJN ELF.
GROS ong EEN = ELF-DOZIJN ELF.
GROS EEN-DOZIJN ong EEN-DOZIJN = GROS.
Weinig anders te interpreteren dan dat ong hetzelfde is als “min”.
En hopla! Een heel telstelsel. Geen idee hoe het uitgesproken wordt, maar ik kan wel tot 20735 tellen: ELF-GROS² ELF-GROS ELF-DOZIJN ELF, of rûksalo rûkolana rûkpnih rûk of A01-H01-B01-C04-T02-B02-L01 A01-H01-B01-C05-M03-T02-M02-T02 A01-H01-B01-C01-M02-H02-B04 A01-H01-B01 of
En nee, geen idee wat die aanhef betekent.
⁂
Met wat wetenschap was het ook doenbaar, maar met het blote oog dus ook.
Ik was een zoveelste applicatie(tje) aan het maken, toen ineens Python niet meer meewou.
Of nee, eigenlijk: het was eers VS Code die plat ging met geheugenproblemen, en dan was het typst dat niet wilde werken, en dan was het VS Code’s source control die maar bleef draaien zelfs al werkte git proper op de command line.
En wat ik ook deed, het kwam niet in orde — ik ben een substantieel deel van de dag aan het soort kloterij verloren waar ik niet graag mijn tijd aan verlies. Het is dan maar een kogel door de kerk geworden: een hele koterij van geïnstalleerde extensies die ik ook praktisch nooit gebruik in VS Code weggekapt.
Dan werkte die source control weer, maar ineens wilde python -m venv venv niet meer werken. En dan wilde gewoon pip install -r requirements.txt niet meer werken. En eigenlijk niets meer van Python, op den duur.
Ook daar is het met kogels en kerken geweest: alle versies van Python van mijn coputer gesmeten — ik wil nie zeggen hoeveel dat er juist waren. Ik wil ook niet zeggen hoeveel ettelijek stapels gigabytes groot sommige van die installaties waren: ik ben tot mijn scha en schande maar een relatief late bekeerling tot virtual environments, en dus stonden er duuzd versies van allerlei packages die ik ooit eens gebruikt heb en dan nooit meer.
Afijn.
Alles weg. Computer hestart. Python 3.14 geïnstalleerd want waarom ook niet.
Ik leef al jaren en jaren met loodgieterij in mijn lijf. Daar was woensdag een stuk van afgevallen, en alhoewel het geheel om de zoveel tijd vervangen wordt, was het juist wat te lang wachten op vervanging.
En behelpen met duct tape en gedoe is ook maar behelpen, dus is het een rap bezoek aan de mensen van het hospitaal geworden. Ik moest een plakker hebben om een wisselstuk te kunnen meekrijgen, en aangezien het zonder afspraak was, moest ik langs de manuele inschrijfbalie.
Ik zei tegen de vriendelijke mevrouw waar het over ging, te weten een tjoep die er zomaar af was gevallen. Ze wist direkt waar het over ging, en gaf mij groot gelijk dat ik een nieuw dink kwam halen.
Een gemak soms, zo’n beetje een bionische mens zijn.
Ik zit zó diep een rabbit hole, ge kunt het u niet voorstellen. Ik wil een verhaal vertellen maar daar moet ik een taal voor maken en ook een alfabet en ook een backstory en ook het verhaal van de ontdekking van het verhaal en dingen over en weer tussen wetenschappers en ruzie en uiteindelijk een veel groter verhaal — en dus maak ik dingen en programmeer ik zaken en verlies ik mij het ene moment in details en het andere moment in sweeping epische verhalen en aaargh.
Maar ’t is zó wijs. En vooral: weten dat het niemand interesseert, en dat ik de enige ben (op mijn gezin en naaste collega’s na wiens oren ik eraf over zaag) die weet waar het allemaal over gaat: ha!
Niemand die weet dat dit eigenlijk heel triestig is:
Niemand die weet dat dit eigenlijk zowel triestig als een begin van veel informatie is.:
En oei ik zie dat ik nog wat kerningparen vergeten ben. En zo blijven we bezig, jazeker. 🙂
Reinventing the DOM to ditch all legacy baggage could coincide with redesigning it for a more multi-threaded, multi-origin, and async web. The browser engines are already multi-process… what did they learn? A lot has happened since Netscape, with advances in structured concurrency, ownership semantics, FP effects… all could come in handy here.
* * *
Step 1 should just be a data model that doesn’t have 350+ properties per node tho.
Don’t be under the mistaken impression that this isn’t entirely fixable.
Famously, Finnic languages have been very conservative in some respects, preserving elements of borrowed Proto-Germanic words that were lost from the Germanic languages themselves.
In this tutorial we’re exploring a fully automated workflow for 3D camera tracking using only free and open-source software! This technique uses the power of photogrammetry with COLMAP to create incredibly precise 3D tracks and point clouds from any video footage.
This tutorial covers the entire process from downloading the necessary tools (COLMAP, FFmpeg and a custom script I’ve put together) to importing the final animated camera and scene data directly into Blender.
OpenAI’s new research explains why language models hallucinate. The findings show how improved evaluations can enhance AI reliability, honesty, and safety.
Here by dragons. And giants. And mermaids, minotaurs and pegasi. London is a living bestiary of mythological creatures. They pop up on flags, gateposts, sculptures and even our bollards.
Welcome to our cryptozoological guide to the capital, with historical notes on each monster.
The best book I know on accident analysis is the _cast_ Handbook. Available online. It explains exactly how and why people approach accident analysis incorrectly. Unfortunately, it’s also a long read. This article is a shorter version; I hope it is still somewhat useful. Most of this article draws quite directly from the cast Handbook, so if you want more details and examples from other domains, read the book!
“Typst 0.14 is out now. With accessibility by default, PDFs as images, character-level justification, and more, it has everything you need to move from draft to production” — nog maar eens iets dat ik dringend moet uitproberen. LaTEX steeks soms écht wel tegen, zeker als het op tempaltes aanpassen aankomt.
Gisteren had ik deze nonsens gemaakt — nee, wacht, ’t is te zeggen: in de nacht van eer-eergisteren op eergisteren heb ik in een sessie van zo ongeveer 36 uur na elkaar die nonsens mogelijk gemaakt.
En dan heb ik er nog eens een nacht ingestoken. Vandaag, tussen de bedrijven door overdag en vooral vanavond en vannacht heb ik dit mogelijk gemaakt:
En dan ga ik morgen op mijn verlofdag eens analyse doen zie. En tegelijkertijd verfijnen.