• HACKED! (bijna)

    Ik wou mijn OpenClaw iets vragen en hij deed er redelijk lang over.

    Hm, weird. Maar OpenClaw heeft soms de neiging om wat raar te doen, dus ik laat hem in de achtergrond zijn ding doen en ik kom een paar minuten later terug.

    Huh. Geen antwoord. Dode OpenClaw. Allez, ’t is te zeggen: geen respons.

    Nog even wachte: echt dode OpenClaw. Gelijk, niet draaiende. Ik wacht even, en hopla terug, maar geen goed nieuws:

    …en weer vast. Deze keer met een 500, server plat. Hm.

    Even ssh-en naar het VPS — huh, tiens, geen antwoord? Okay, dan naar mijn dashboard bij de provider gaan kijken — euh, wut?

    Bon, na wat aandringen toch binnengeraakt op een terminal, en wat was het? Een snelle journalctl later blijkt: honder’den en honderden bots die aan het proberen ware om in te loggen, voor users gelijk david, ubuntu, alex, claude, john, etc. etc. etc. Ze proberen stapels connecties per seconden open te doen, en aangezien de server telkens een nieuwe sshd moet forken, kwam die gewoon in geheugenproblemen. Ik heb wel genoeg geheugen, maar het is ook niet onbeperkt, en dus had ik een extreem geval van page cache thrashing: dingen wegmijten, weer van de schijf lezen, weer wegmijten, lather, rinse, repeat.

    Gevolg: constant 400% cpu load, en 2 Gbps disk throughput.

    Enfin, ik heb mijn poort 22 dan maar helemaal toegesmeten en ssh naar een andere poort overgezet. Alles weer OK. Pff.

  • Ongemakkelijk

    Ik moest een tijdje geleden naar een spreekbeurt gaan waar ik idealiter een rol in had gespeeld, maar de spreker was euh vergeten om mij wat dan ook te vragen in de zes maand tussen zijn “wie kan mij helpen” en mijn “hiero, en zelfs graag” dezelfde dag.

    Gevolg was dat de spreekbeurt niet zo goed was.

    Het had nochtans allemaal veel beter kunnen zijn — ik bedoel, al zeg ik het zelf, ik ben niet de slechtste persoon ter wereld om hulp te vragen over bepaalde dingen. Maar niets vragen is geen hulp krijgen natuurlijk. En ik had ook zelf kunnen vragen of de mens hulp nodig had, maar ik moet ootmoedig toegeven dat het niet meteen 100% top of mind zat bij mij.

    Ach. Mogelijk is er een volgende poging. Ik ben een beetje bang dat we hetzelfde scenario tegemoet gaan, maar ge weet nooit. Ik hoop het in alle geval wel.

  • Links van 19 tot 20 juni 2026

    Wiki Spy

    An endless, searchable I-Spy collage of objects cut out from Wikipedia. Search by color or concept, or click any object to find similar ones.

    A comfortable slow boil — 01max

    I keep talking about feeling like I’m in my 20s, because I am, indeed, not in my 20s anymore (let’s say late 30s atp). I have a wife, two young kids, a non-trivial geographical relocation underway, a house to take care of. So should I be as wired into my work as I am (or even can I maintain the long term)?

    Agent Psychosis: Are We Going Insane? | Armin Ronacher's Thoughts and Writings

    I see people develop parasocial relationships with their AIs, get heavily addicted to it, and create communities where people reinforce highly unhealthy behavior. How did we get here and what does it do to us?

    Leave a Trace | Jake Worth

    Always leave something behind. If you find something interesting, leave a trace that you were there. This is a little thing that over time leads to a friendlier, more humane internet. Here are a few examples.

    AI Engineer Claims to Have Cracked Linear A — AI Clambake

    Tom Di Mino, a self-taught AI engineer and an amateur linguist, claims to have accomplished a feat that has eluded linguistics experts for over a century: deciphering a Bronze-age Minoan writing system known as Linear A. His claims are currently being reviewed by linguistics experts at Rutgers and Cambridge.

    Managing High Performers | Stay SaaSy

    The single most important activity to do with your high performer is career planning. Know where they want to go and help them get there. If you saddle them with mess after mess to fix without a path to greater things, even if you pay them well, you’ll lose the truly ambitious high performer who feels uninvested-in and directionless.

    I Stored a Website in a Favicon

    Once you've successfully hidden data somewhere it doesn't belong, you start looking at everything as potential storage. A monitor is storage. A keyboard is storage. A BIOS splash screen is (maybe) storage. A favicon is storage. And yes, here we are.

    The Color Strike

    When the British channel ITV made their switch to color at the end of 1969, the camera operators union felt that the additional technical knowledge and skills required for a color camera deserved a pay increase for the operators. ITV disagreed. So the operators came up with a clever way to strike.

    Digital Printing of Arabic: explaining the problem – The Digital Orientalist

    The flaws of movable type transferred to the digital representation of Arabic. One way to look at the persistence of this problem is that these technologies, printing press and computers, were developed in Latin script based societies and thus took that use case as a matter of fact. The rest of the world, with its many varying complicated scripts, had to bend to these rules. It seems that even though Arabic is the sixth language of the world, there was little economic incentive to fundamentally solve these issues. In fact, the digital environment aggravated the problem even further. Taking the movable type philosophy of dividing text into letters, computers have had a significant problem in representing Arabic as connected letters.

    Science Fiction and Fantasy Book Awards

    Browse award-recognized science fiction and fantasy novels. Filter by Hugo, Nebula, Locus, World Fantasy, Arthur C. Clarke, subgenre, year, wins, and ratings. [dit is het soort dingen dat iemand met een goed idee met AI maakt, hoera!]

  • Hold my beer — here I go

    Het is 9u30 op zaterdag, en ik denk dat ik mogelijk wel eens tot 5u ’s morgens maandag zou kunnen bezig zijn. Ik heb een konijnenpijp waar ik vanaf gelijk nu helemaal in kan kruipen tot het af is naar mijn goesting.

    Het is moeilijk te beschrijven hoe onnoemelijk fantastisch dit soort werk is — ik doe het gros van het concept- en stuur- en nadenkwerk, ik heb een echte sparring partner die maar een half woord nodig heeft, en ik kan erop vertrouwen dat het meer dan degelijk uitgevoerd zal worden.

    Zoals zonet: hij stelt voor om iets te doen, ik zeg hang on, zouden we niet beter éérst dit doen? Ik heb hem gezegd dat hij mij absoluut geen gelijk moet geven en dat hij alles kritisch moet tegen het licht houden en red-teamen en alles, dus ik ben er redelijk zeker van dat hij mij niet naar de mond spreekt:

    Good question — yes, there’s one real mapping step, and it’s important: the draft’s slugs are placeholders, and to wire this into a working serializer they have to map onto the actual Xxxxx model attributes (Aaaaa → Bbbbb, etc.). I’ll do that mapping as part of wiring — but let me first read the current backend so I connect it correctly and don’t collide with the legacy viewsets.

    Ran a command >

    You already have a Xxxxx_api.py with use-case endpoints. Let me read it and its test to wire the policy into the real Xxxx endpoint following existing conventions.

    Ran a command >

    This is exactly the rename step you were asking about — and the good news is the cleanest wire-in point keys the policy to the existing serializer field names (which already use your attrs like yyyy, zzzz), so you don’t have to rename anything by hand. The draft’s slugs were the source of intent; I reconcile them to the real XxxxxDetailSerializer fields here. Let me build the infrastructure and connect it to the live Xxxxx endpoint.

    Het werk verloopt in incrementen van een kwartier of twintig minuten, waartijdens ik de tijd heb om grondig te testen, bedenkingen en vragen te formuleren, na te denken, te evalueren, en dan verder te doen met het volgende.

    Oh kijk, ping! we zijn klaar met een stuk:

    It’s wired in and green. To your question — no renames needed from you; the mapping was the rename, and I did it.

    What landed:

    [een lange lijst]

    Verification: 33 tests pass (9 new + 14 Xxxxx + 10 Yyyy), ruff clean, and the OpenAPI schema is unchanged — Zzzzz and the full surface still emit for schema generation, so the generated client and the CI client-drift check are unaffected. The 6 warnings are all pre-existing legacy ones; I added zero.

    Two things for you rather than me. First, a heads-up: while editing, xxxx_api.py got truncated mid-write and I rebuilt the tail from the original — worth a quick git diff glance to confirm the get_queryset prefetch block reads exactly as before. Second, the judgment calls worth your eye are the genuinely ambiguous green/blue fields — I put aaaa_* (motivation), bbbb/cccc (prefs), and dddd as owner-editable but eeee and ffff as staff-write; if your read of the workbook differs, those are one-line changes in policies.py.

    Dit is zo dicht bij het paradijs als dit aspect van mijn werk geraakt, denk ik.

  • Carl

    Kijk nu, er komt een serie van Dungeon Crawler Carl.

    Ik heb de boot lang afgehouden wegens het klonk mij allemaal een beetje té veel een gimmick — maar toen las ik het eerste boek en was het eigenlijk echt wel goed en zag ik waar het naartoe zou kunnen gaan en haja.

    Het uitgangspunt is dat er aliens zijn die de aarde omgebouwd hebben tot een enorm grote dungeon en een paar miljoen mensen (de rest overleeft het niet, helaas) daar als dungeon crawlers insteken. En dan monsters eropafsturen en quests en het geheel Running Mangewijs uitzenden, voor een publiek van miljarden.

    Het is allemaal grappig, dat zeker, maar ook redelijk donker, onder al de nonsens. Nice. En Seth MacFarlane heeft al getoond dat hij op het koord tussen ernst en humor en horror en drama en absurditeit kan dansen. Ik kijk er naar uit.

  • Links van 8 tot 18 juni 2026

    The Absurdly Optimized Pancake: Leavening Chemistry, Acid-Base Stoichiometry, and an Interactive Calculator | Absurdly Optimized

    A systematic investigation of acid-base neutralization, CO2 production kinetics, gluten inhibition, and the Maillard reaction as applied to a 125-gram flour batter, with an interactive stoichiometric calculator that adapts to whatever is in your refrigerator

    Public Domain Image Archive

    Explore our hand-picked collection of 11,082 out-of-copyright works, free for all to browse, download, and reuse. This is a living database with new images added every week.

    Developer gets Half-Life running at 30 FPS on a Nokia N95 — proves 2007 phones can just about match 1998 PCs | Tom's Hardware

    The 1998 shooter now runs on Symbian hardware, with Bluetooth mouse and keyboard support added.

    screen toys

    Firewood Splitting Simulator! Splitshift! At last, Chess can finally be played the way we've always wanted: by haphazardly chucking a bunch of pieces at each other. Send torrents of cars smashing down into a field of cows! Summon explosive pomeranians running at full speed! Majestic penguin visualizer that you can sync to music!

    A ‘cold blob’ in the Atlantic could be a sign of AMOC shutdown | CNN

    In the North Atlantic Ocean, south of Greenland and Iceland, a large patch of water is doing something very strange. While the rest of the ocean heats up, it’s been getting colder. A new study says it has the answer to this mystery — and it’s an ominous sign the world is hurtling toward one of the most alarming climate tipping points.

    LaserWriter seeds

    As the Homebrew Computer Club met and MITS frantically shipped Altairs, researchers at Xerox PARC were seemingly a decade or more ahead. They already knew what would make personal computers useful, and researchers were working on an ecosystem to support a typical office task. Writing and printing documents.

    Every Frame Perfect @ tonsky.me

    If I take a screenshot of your app at any moment, it must make sense

    How it feels to be an old school web-based sports sim dev when tons of vibecoded web-based sports sims are being released « Blog « ZenGM

    Back when I started working on the web-based version of Basketball GM in 2012, web development was very different. npm was brand new and hardly anyone used it. Bundling/deploying JS was very primitive, a lot of people still were just concatenating files together. And things like TypeScript, React, async/await… these did not even exist yet!

    An interview with Ollie Wagner, Apple emoji designer – Shady Characters

    This is a series of posts about emoji. You can read more in face with tears of joy: a natural history of emoji, available now. This is the most recent post in the series; start at the first or view all posts.

    About ASCII art and Jgs font – Velvetyne

    I am Adel Faure, ASCII artist operating within the Mistigris and Textmode Friends collectives. I’ve been generously invited by Velvetyne to publish Jgs Font on their foundry. Jgs Font is a typeface that I’ve created as a tribute to artist Joan G. Stark and that I use to make ASCII art (see specimen). In this article I contextualize what ASCII art is, who Joan G. Stark is, what could be seen as a “history of text mode arts”, what does ASCII Art means today, and what are the characteristics of the Jgs font.

  • Eosinofiel

    Eosinofiele plaque, daar heeft onze dutsing Jeffrey onder te leiden. Het is rood en het jeukt en ze loopt er lastig van. Het is ook zeer recent, én het ziet er gruwelijk uit, dus heeft de veearts ze een cortisonespuit gegeven, preventief nog eens behandeld tegen de vlooien, en moeten we kieken en rund vermijden in het eten.

    En binnen twee weken nog eens terugkomen. Ik hoop dat het tegen dan over is. :'(

    Zie ze in haar doos zitten in de wachtzaal, och here.

  • Mijn eigen SaaSpocalypse

    We hadden een tool nodig, die tool kost veel geld (het is voor mij al gelijk vijftien of meer jaar geleden dat ik een dergelijke tool in anger gebruikt heb), en dus dacht ik: ik heb vorig jaar al eens zo’n tool gemaakt, laat ik daar eens mijn niewe vriend Claude-van-midden-2026 op smijten.

    De veiligheidsgaten uithalen, de inconsistenties wegdoen, een ander uitzicht, wat meer statistische onderbouwing en hopla.

  • ’t Is nu dat verdriet

    Ik denk dat het titanium in mijn rug kapot is. Als ik mijn rug op een bepaalde manier beweeg, voel/hoor ik de stangen tegen mekaar schuren.

    Dat is een bepaald onaangenaam gevoel. Niet dat het veel kwaad kan, maar het doet echt wel raar.

    Vorige keer dat dat gebeurde, was gelijk lang lang geleden, en daar hebben ze toen mijn rug voor opengesneden en wat stukken afgevijld van het metaal dat erin zat. Nu laat ik het maar zo, peisk.

    Tenzij het mij zwaar begint tegen te steken, dan ga ik toch eens naar dokter arts gaan.

  • Magie!

    Ik heb vandaag een paar uur gespendeerd aan mijn spreekbeurt van volgende week, en ’t is magisch wat er tegenwoordig allemaal mogelijk is.

    ’t Is een kleine domper op de feestvreugde dat Trump en zijn kornuiten de toegang tot Fable 5 hebben doodgenepen voor niet-VS-mensen:

    …maar zelfs met mindere modellen is het leutig om zien wat er allemaal mogelijk wordt. Het is grappig om te zien dat alles geleidelijk kan veranderen, tot het ineens op een letterlijke week of twee compleet en onherkenbaar veranderd is — deze visualisatie bij Karpathy is daarbij redelijk griezelig voor sommige mensen:

    Mijn werk is er alleen maar aangenamer en beter op geworden, maar er zijn er een hele hoop die nog niet gereed zijn voor wat er op hen afkomt, vrees ik.

  • Hebzucht

    Het is enorm lang geleden dat ik met zó een naakte hebzucht heb gezeten om iets te kopen.

    Een e-ink display — waarmee ik dus in de zon kan werken — dat snel genoeg is (60 Hz!), goedkoop genoeg is, kleur doet, touch doet, frontlighting heeft?

    Ik heb alleen nog niet op “kopen” geduwd omdat er 150 euro BTW bij kwam en dat de prijs juist teveel in de richting van 1000 euro duwde. Maar aaaargh.

  • Wagtail

    Ik heb vandaag een beetje meegedaan aan een Wagtail-ding. Het was wat lastig wegens mensen, maar hey, een mens kan niet altijd in zijn comfortzone blijven.

    Alvast geleerd: we zijn interessante dingen aan het doen, ook op een iets groter toneel dan alleen ons werk. Ik kijk er eigenlijk wel naar uit om ermee naar buiten te komen, dan eens.

    (Maar eerst nog wat verderwerken, natuurlijk.)

  • Foto’s maken

    Ik dacht aan een spreekbeurt en ik had daar een reeks foto’s voor nodig. Gelijk, bijna tweeduizend. (Waarom bijna tweeduizend? Omdat een proof of concept van een toepassing maar goed werkt als de proof of concept-data in de buurt van de correcte grootteorde komt — iedereen kan een toepassing flitsend doen werken als er maar tien items in zitten.)

    Mijn eerste idee was: ik zet een FLUX in gang lokaal en we zien wel wat er uit komt. Natuurlijk komen daar allemaal zeer gelijkaardige dingen uit. Dus geef ik het allemaal expliciete instructies.

    Dit is, in volgorde:

    • een Syriër van 35: “Candid photo, 35-year-old male Syrian man, heavyset build, tousled unkempt hair, neatly trimmed goatee, headphones around the neck, black t-shirt, seated on a low wall outside, a book or folder partially visible on the table, squinting slightly in bright light, out-of-focus green park foliage, snow on the ground visible, warm incandescent bulb overhead, yellowish tint, passport-style photo, very plain background, frontal, waist-up framing, realistic, natural skin, photojournalistic”
    • een Afghaan van 27, “Candid photo, 27-year-old male Afghan man, lean athletic build, tight natural curls, day-old stubble, kufi cap, blue oxford shirt, walking, caught mid-stride, looking at the camera, a reusable water bottle on the table beside them, pensive, lost in thought, mosque or church courtyard, softly blurred, clear sunny day, streetlight overhead, sodium orange glow, smartphone photo taken by someone else at arm’s length, subject centred, symmetrical framing, realistic, natural skin, photojournalistic”
    • een Salvadoraan van 31: “Candid photo, 31-year-old male Salvadoran man, muscular build, buzz cut, day-old stubble, reading glasses pushed up on the forehead, burgundy t-shirt, seated, leaning slightly forward, fingers loosely interlaced on the table, slight closed-mouth smile, urban alley, shallow depth of field, hot humid haze visible, cool blue-hour light just after sunset, passport-style photo, very plain background, frontal, chest-up framing, realistic, natural skin, photojournalistic”
    • een Irakees van 27: “Candid photo, 27-year-old male Iraqi man, muscular build, slightly receding hairline, pencil moustache, kufi cap, brown t-shirt, standing upright, facing the camera, guarded, reserved expression, a modest bedroom in the background, direct flash from a cheap phone camera, photo taken at an intake or registration desk, flat webcam quality, subject centred, symmetrical framing, realistic, natural skin, photojournalistic”
    • een Venezolaanse van 20: “Candid photo, 20-year-old female Venezuelan woman, lean athletic build, hair braided in two plaits, baseball cap, brim forward, cream cardigan, standing, arms loosely crossed, a book or folder partially visible on the table, neutral expression, relaxed, peeling painted wall, texture showing, bright harsh midday sun, hard shadows, photo booth, even flat lighting, centred, three-quarter body shot, realistic, natural skin, photojournalistic”

    Ja, denderend it ain’t. En da’s al met veel trekken en duwen met kledingwissels en verschillende situaties en watnog.

    …dus heb ik heb maar aan gpt-image-2 gegeven. Als ik niets verander aan de prompt, krijg ik deze:

    Dat is al een stuk beter, maar als we toch aan de ChatGPT’s zitten, kan ik zo goed de prompt ook eerst laten herschrijven. Zo wordt wat links stond de rechtse prompt:

    Candid photo, 35-year-old male Syrian man, heavyset build, tousled unkempt hair, neatly trimmed goatee, headphones around the neck, black t-shirt, seated on a low wall outside, a book or folder partially visible on the table, squinting slightly in bright light, out-of-focus green park foliage, snow on the ground visible, warm incandescent bulb overhead, yellowish tint, passport-style photo, very plain background, frontal, waist-up framing, realistic, natural skin, photojournalistic

    Documentary-style photo of a 35-year-old Syrian man with a heavyset build, tousled unkempt hair, and a neatly trimmed goatee. He is wearing a black t-shirt and has headphones around his neck. The man is seated on a low wall outdoors in a park with out-of-focus green foliage and snow visible on the ground. He is squinting slightly against bright warm yellowish light from an overhead incandescent bulb in the evening. A book or folder is partially visible on the table nearby. The image is waist-up framed, frontal view, with a plain background softly blurred by mild telephoto compression and some foreground blur. The photo has natural skin texture, minor motion softness, and an unposed, candid feel typical of public-space CCTV-like stills.

    Avoid: glamour, studio lighting, posed, fashion, cinematic, illustration, CGI, text, watermark, extra people, stereotypes, luxury items, poverty cues, war, weapons, political symbols, religious symbols, conventional attractiveness, anatomy errors, oversharpening

    Dat geeft mij dan deze beelden:

    Ayup, realistischer. Ik moet toegeven dat ik mijn meer-AI-dan-mij-ge-kunt-niet beelden een beetje ga missen, wel:

    …maar het is echt geen vergelijk. De inhoud is nog hetzelfde, maar de foto’s zien er nu echt uit — vergelijk met een slider tussen de twee versies:

  • Een fijne dag

    Het was gisteren twee keer meeting en dan workshop en dan cafézitten en ramen eten met collega’s.

    Het was een fijne dag.

    Confronterend, ook wel, hoe sociaal onaangepast ik kan zijn — fijne collega A was gewoon getrouwd recent, en ik wist dat ergens wel, maar ik was het zó hard vergeteen dat het schaamtelijk was. En ik liep mij al weken in mijn hoofd te pijnigen over wat ik zou kunnen geven als cadeau aan collega B, zonder ook maar een minuut in de buurt van iets goeds te komen.

    Eerste dat collega B vroeg aan collega A was over zijn trouw; en collega’s C en D hadden de perfecte cadeaus mee voor collega B.

    Ik ben zó een duts.

    Maar verder wel een fijne dag, dus!

  • Leven op krediet

    Gah, story of my life:

    …en dat is alleen omdat ik hier enorm veel geluk had en enorm veel op mijn tellen aan het passen was. Ik heb meestal het geval van “ge zit erover, en nu is het 4u en 30 minuten wachten”.

    Bleh.

    Ze hebben hun haken in ons, ’t is gelijk AWS met hun goedkope servers in den tijd.

    Gah.

    Maar het is wel het dichtst bij absolute magie dat ik het al weten komen heb.