micropost

    Let’s Get Digital | flower.codes

    Am I going to read this book more than once again? Does this book hold personal meaning (such as a gift, or representative of a specific time)? Is this book rare or collectible in some way? Does the presence of the book in my space inspire me?

    Vier vragen die je jezelf kunt stellen om de fysieke boeken in je huis op te ruimen. Volgens mij kun je het net zo goed gebruiken voor bloempotten, administratie en die doos met oude schroefjes.

    Een stille, zonovergoten straat met stenen gebouwen, een klein zwart tafeltje met stoelen en potplanten.

    Elke ochtend heb ik op deze plek voor ons appartement een klein ontbijt en schrijf ik mijn Morning Pages. We kunnen het slechter treffen op vakantie.

    How far I’ll go to make an RSS feed of your website - Chris Hardie’s Tech and Software Blog

    I will look for you, I will find you, and I will make an RSS feed of your website.

    And here’s how I’ll do it.

    Chris gaat behoorlijk ver om van zijn favoriete sites een RSS-feed te maken. Indrukwekkende manieren om allerlei content toch in je feedreader te krijgen.

    I posted an issue in the help-forum, since there are some errors in my logfile with regards to the feed. I hope it gets sorted soon.

    @dave I thought so, but somehow the posts don’t show up in my microblog interface. I hope @manton might take a look at this.

    What is RSS.chat for Howard Rheingold

    Dave’s term for the idea is textcasting – the idea that a piece of text should work like an MP3: it plays everywhere. No one would accept a rule that songs can only be 300 seconds long. That’s the rule we’ve been living under for text.

    Dave legt in meer eenvoudiger termen uit wat rss.chat nu eigenlijk is. Het is het fundament voor een sociaal netwerk dat geen beperkingen kent zoals Twitter, LinkedIn en andere locked-in netwerken wel kennen. De moeite van het lezen waard.

    Just published some first thoughts on RSS.Chat on my blog. I dig the protocol and the idea. Still have some reservations on the acceptance and how it will be integrated in new and existing services. We’ll see. 

    I find it both exciting and confusing to be thrilled about the advent of agentic software development (you can make your own perfect software if you want) as well as a resurgence of this social network through classic protocols like RSS. Somehow it doesn’t compute in my head yet it does….

    Maybe this blogpost from Dave might help?

    Hello? Is this thing on? 1,2…1,2…. Hey ho let’s go!

    Ik leerde hoe ik Russische spam beter buiten de deur kan houden (een les in self-hosting)

    Ik klik op een artikel op de site van CreativeNotes en beland op een Russische gokwebsite. Niet één keer, elke keer.

    De voorpagina van CreativeNotes laat gewoon alles netjes zien, maar zodra ik doorklik naar een los artikel, word ik weggestuurd. Soms naar die goksite, soms naar een wat vage Amazon-productpagina. Ik dacht eerst dat mijn browser iets geks deed, maar een check op mijn telefoon en in een paar andere browsers liet precies hetzelfde zien. Mijn site was gehackt.

    Dit is niet de eerste keer dat een account van mij buiten mijn medeweten om iets deed wat ik niet had goedgekeurd. In 2023 ontdekte ik al dat een vergeten app-koppeling mijn Mastodon-account had overgenomen. Deze keer ging het net weer even anders.

    CreativeNotes draait op Ghost, een open source CMS met ingebouwde nieuwsbrief-functionaliteit en veel koppelingsmogelijkheden. Daar koos ik destijds bewust voor, zodat ik zelf de regie hield over mijn boekproject. Die regie voelde nu ineens een stuk minder vanzelfsprekend.

    Op zoek naar de oplossing

    Ik dook in de logfiles van het CMS-beheer, maar veel wijzer werd ik er niet van. Wel zag ik dat er ooit was ingelogd met een Zapier-account. Zapier? Ik kon me niet herinneren dat ik ooit een Zapier-koppeling had gemaakt, en de systeemlogs waren verder minimaal, zeg maar gerust afwezig.

    Voor ik op de server zelf ging graven, legde ik het probleem voor aan Claude. Die kwam meteen met een duidelijke diagnose:

    […] kwaadaardige code op de site zelf. Dit is een bekend patroon: iemand voegt via Ghost Admin (Settings → Code injection, header of footer) of via een gecompromitteerd thema een script toe dat kliks op links onderschept en herschrijft naar affiliate- of scamsites.

    Bij de header en footer van de site vond ik niks, maar ik wist dat code injection in Ghost ook per post en pagina mogelijk is. Ik checkte de instellingen van een van de artikelen en bingo, daar stond het: een stukje kwaadaardige Javascript.

    Auto-generated description: Er wordt een privacybeleid weergegeven met uitleg over het verzamelen en gebruiken van informatie, inclusief definities en verwijzingen naar een Privacy Policy Generator.

    Nu moest ik nog uitzoeken hoe dit was gebeurd, wat ik beter moest afschermen en hoe ik in één keer alle geïnjecteerde code uit mijn posts kreeg. Ook daar hielp Claude Cowork me goed bij. Stap één was alle API-keys vernieuwen en mijn wachtwoord wijzigen. Ondertussen bouwde Claude een script dat ik lokaal op mijn Mac draaide: het gebruikt de officiële Ghost-API, loopt alle posts en pagina’s langs, checkt op kwaadaardige code en verwijdert die meteen als hij iets vindt. Binnen twee minuten was de site weer schoon en gewoon bereikbaar.

    Beveiliging

    Toen werd het tijd om de site en de server structureel beter te beveiligen. Ik ben geen senior developer en heb weinig verstand van het echt dichttimmeren van servers, maar Claude legt me prima uit wat nodig is, waarom het nodig is en hoe ik het instel.

    Zo bleken de logfiles van mijn server maar minimale informatie te bewaren. Dat is nu anders: ik zie tot in detail wie welke pagina opvraagt, vanaf welk IP-adres en hoe vaak er wordt geprobeerd om beveiligingen te omzeilen of API’s te benaderen. Vervolgens bouwden we een script dat me via Telegram een seintje stuurt zodra een pagina op CreativeNotes wordt aangepast door iemand anders dan ikzelf, zodat ik een volgende poging meteen in de kiem kan smoren.

    Tot slot staat er nu een klein dashboard waar ik de logfiles visueel terugzie in grafieken. Dat dashboard geeft best wel veel informatie, dus die moet ik nog scherper filteren, maar het belangrijkste staat er: de server is beter afgeschermd, ik krijg een signaal zodra er iets misgaat, en een eventuele nieuwe code-injectie los ik binnen een paar minuten op met mijn eigen script.

    AI als assistent in dit alles

    Na dertig jaar weet ik best wat van programmeren, van hoe computers en servers werken, van waar je bij beveiliging op moet letten, maar ik ben er geen bedreven uitvoerder van. Ik spreek de taal niet vloeiend, zeg maar, en ik weet ook niet altijd welke term of instelling nou precies de juiste is. Voor grote taalmodellen als Claude maakt dat weinig meer uit.

    Door een gestructureerde aanpak loste ik het probleem in zo’n drie uur op. Ik beveiligde mijn werk beter en snap nu redelijk goed hoe en waarom dit is gebeurd, door te vragen waarom iets nodig is, door af en toe een tegenidee te opperen, door een foutmelding gewoon in het opdrachtveld te plakken met de simpele vraag: los dit voor me op.

    Ik schreef eerder al over het verschil tussen agents en skills in Claude Code. Dit hele avontuur was typisch skill-werk: ik zat aan het stuur, Claude was mijn copiloot, en bij elke stap kon ik meekijken en bijsturen.

    Kan het allemaal nog steviger en robuuster? Vast wel. Claude opperde zelf CrowdSec, een soort actieve waakhond die continu logfiles analyseert en zelfstandig beslissingen neemt, maar het advies was om eerst te kijken hoe de huidige beveiliging bevalt, voor ik er nog een laag bovenop leg.

    De Russische spammer heeft niets persoonlijks tegen mij. Het is geautomatiseerd, uitbesteed werk: op grote schaal zoeken naar sites met een Ghost-installatie, kijken waar de zwakke plekken zitten en daar massaal spam-links plaatsen. Ik was er even het toevallige slachtoffer van.

    Balen is het wel, maar het is meteen ook weer een les: zelf hosten is een leuke hobby, maar je draagt er wel wat petten bij. Updates, beveiliging, het is allemaal jouw verantwoordelijkheid. Ik vind dat prima, het is mijn hobby en ik leer er telkens weer wat bij. Voor de meeste mensen is dat anders, en dat hoeft ook niet. Juist om deze reden.

    sneakerweb

    The sneakerweb is a peer-to-peer protocol for web publishing without permission: there are no DNS servers, domain registrars, or web hosts.

    Instead, websites are stored directly on user devices, and transferred between them through the ultimate fallback infrastructure: physical storage media.

    Ik weet nog niet wat het exact is en hoe het werkt, maar ik wil dit best eens proberen…

    Mr. Penumbra is up all night

    I have to add: this paper SMELLS amazing (!) and I hope it main­tains some of its aroma in transit.

    Okay — The Writer & the Witch is the story you’ll receive immediately. And the one you’ll smell immediately.

    The second book will ship later this summer:

    Mr. Penumbra’s All-Night Reading Room

    Ik heb de bundel direct besteld. Ik blijf een groot fan van Robin Sloan. Niet alleen zijn boeken, maar juist het creatieve werk wat hij er bij doet. Een voorbeeld om naar te leven.

    The AI Compass

    Ik heb de test zo eerlijk mogelijk beantwoord en kom er uit als een B2B Saas Consultant. Ik weet nog niet goed hoe ik me daar bij voel. Drie woorden waar ik bar weinig mee heb. Laat ik het er op houden dat de beschrijvingen zo gekozen zijn dat ze mijn ware aard niet goed weten te vangen…

    Google Reader was building the wrong future

    Google Reader was the social network people wanted all along.

    Ik vraag me af hoe Google Reader nu zou zijn, in deze dagen. Stel dat het nooit was weggegaan. Stel dat het was doorontwikkeld in de afgelopen 10+ jaar. Met mobiel, met apps, met AI. Zou Google beter in de race zijn gebleven voor de sociale laag van het web? In plaats van die weg te geven aan Meta en China? Zou Reader en Twitter de ultieme combi zijn geweest?

    The Virtual OS Museum

    Currently over 1700 installations are included, representing over 250 different platforms and over 600 distinct OSes, spanning the entire history of stored-program computing from the Manchester Baby of 1948 (the first stored-program computer) to the present day. This is the result of over two decades of collecting VM images

    Een fantastisch project van Andrew Warkentin, die al meer dan 20 jaar oude besturingsystemen verzameld. Een prachtige collectie van echt stokoude mainframe systemen tot de opkomst van PC’s met Apple II, ZX Spectrum, BBC Micro tot hele obscure research systemen.

    Ik moet nog uitvogelen hoe en of ik dit kan draaien, het kost behoorlijk wat schijfruimte. Maar ik ben benieuwd of het systeem uit The Mother of All Demos aanwezig is.

    The Web We Know Is Going to Disappear - Minid.net

    People will not say, “Today I reject the open Web.” They will simply ask the assistant because it is faster. Convenience wins. Convenience replaces nostalgy, all the time. It almost always wins. The Web’s biggest enemy is not ideology. It is not regulation (well, a bit yes). It is not even AI itself. It is convenience.

    Een heel herkenbaar pad van (voor mij) IRC naar web naar Flash naar mobiel naar AI. Zal het web deze keer wel overleven? Mijn eigen gedrag is ook wezenlijk veranderd. Ik lees minder, post minder. Dóe minder met het web.

    The Web will still exist. But it may no longer be where people go.

    Een onverwacht voordeel met al dat vibecoden… tijdens het wachten kan ik rustig wat RSS-feeds lezen.
    Een veelgehoord gevolg van het vibecoden met bijvoorbeeld Claude Code of Codex is dat je ineens veel meer projecten gelijktijdig kunt doen. En dus “productiever” bent. Nou doei, dat is dus niet waar. Mijn brein kan echt niet beter context-switchen omdat een bataljon AI-Freggles in mijn computer bouwt over 3 verschillende projecten. Ik moet dan teveel in de gaten houden en dat trekt mijn hersenpan eenvoudigweg niet.
    Ik doe nu projecten die ik voorheen echt niet zelfstandig kon, die wel zorgvuldig en goed onderbouwd moeten gebeuren. Documentatie moet kloppen, ik werk het liefst heel stapsgewijs, ik lees de plannen van Claude zorgvuldig en wijzig waar nodig.
    Als dat eenmaal allemaal klopt, dan gaat Claude wel aan de slag. Het kan dan prima 15 - 10 minuten zelfstandig delen van een project doen. In de tussentijd heb ik even pauze. Een mooi moment om wat RSS-feeds te lezen. Of een blogpost te schrijven.
    Ik zie in mijn ooghoek dat Claude klaar is met stap 2 in fase 3. Ik moet weer gaan controleren en hem daarna verder laten werken.

    Bijna een jaar verder en ik heb inmiddels vier notitieboeken volgeschreven met mijn Morning Pages.

    Een ochtendritueel dat ik behoorlijk trouw volhoud. Een dik kwartier schrijf ik free-form over wat me die ochtend bezighoudt. Iets van de voorgaande dagen, iets wat er aan komt, waar ik over heb gedroomd, een zakelijk of een persoonlijk onderwerp. Alles kan en alles mag. Ik heb geen prompt nodig, ik begin gewoon te schrijven. Bijna elke dag schrijf drie pagina’s in mijn Midori A6 gelinieerd. Ik heb begin dit jaar ergens een paar dagen overgeslagen, soms schrijf ik maar een pagina. En dat is prima. Het gaat niet om de hoeveelheid pagina’s. Het brengt mij de rust in de ochtend om even stil te staan en bewust woorden op te schrijven. Vooral te blijven schrijven. Ik denk niet vooraf na waar ik over schrijf, ik begin gewoon. Zo nu en dan blader ik wat terug naar vorige dagen, maar dat is meer uit nieuwsgierigheid dan een onderdeel van het ritueel. Het is niet nodig om alles terug te lezen. De activiteit van het schrijven en uit je hoofd krijgen is al voldoende.

    Korte notitie: Hoe werkt dit voor jullie, mijn lieve lezers? Dat ik de laatste tijd mijn posts zo maak dat de titel de link is naar de site waar ik naar verwijs.

    Is dat logisch? Is het logisch dat de titel van mijn post eigenlijk de naam van de gelinkte pagina is? Zou je het anders willen zien? Mijn “zelf”-gebrouwen publicatie extensie bevalt me wel, ik merk dat ik sneller even iets post. Maar ik kan het allemaal aanpassen natuurlijk.

    Ik vind het zelf duidelijk genoeg, omdat ik het ken van andere sites die hetzelfde doen. Maar dat wil niet zeggen dat mijn gewaardeerde publiek het duidelijk vindt. Dus laat van je horen in de comments. Krijg ik die ook eens…

Older Posts →