02 writingartikelen

WritingArtikelen

Where I write up what I figured out building these — the good parts, the dead ends, and the odd strong opinion about tooling.Waar ik opschrijf wat ik ontdekte bij het bouwen — de leuke stukken, de doodlopende wegen en af en toe een uitgesproken mening over tooling.

How firm's audit log knows if someone tampered with itHoe firm's auditlog merkt dat er in geknoeid is

An audit log is only useful if you can trust it wasn't edited. Here's how firm proves nobody quietly changed, deleted, or faked a log entry — explained as simply as I can.Een auditlog is alleen nuttig als je erop kunt vertrouwen dat er niet in gewijzigd is. Zo bewijst firm dat niemand stiekem een logregel heeft veranderd, verwijderd of vervalst — zo simpel mogelijk uitgelegd.

Kobo highlights into Readwise — no desktop app, just the browserKobo-aantekeningen naar Readwise — zonder desktop-app, gewoon in de browser

Highlights from sideloaded Kobo books live only on the device. October solves that with a desktop app; I did the same thing in the browser, using the File System Access API and sql.js.Aantekeningen uit zelf-geüploade Kobo-boeken staan alleen lokaal op je e-reader. October lost dat op met een desktop-app; ik deed hetzelfde in de browser, met de File System Access API en sql.js.

release-please bumps your version but forgets uv.lockrelease-please bumpt je versie maar vergeet uv.lock

release-please updates pyproject.toml but not uv.lock's self-referential version pin, so `uv sync --locked` fails on the release commit. Here's a clean fix that keeps the lock in sync inside the release PR.release-please werkt pyproject.toml bij maar niet de zelf-verwijzende version-pin in uv.lock, dus `uv sync --locked` faalt op de release-commit. Hier is een nette fix die de lock in sync houdt binnen de release-PR.

firm: the Rails Solid stack, in pure Pythonfirm: de Rails Solid-stack, in pure Python

Background jobs, caching, pub/sub, and an audit log that all live in your existing SQL database. Ports of Rails 8's Solid stack — no Redis required.Achtergrondtaken, caching, pub/sub en een auditlog die allemaal in je bestaande SQL-database draaien. Ports van de Solid-stack uit Rails 8 — geen Redis nodig.

Owning the catalog: a faster search for the Dutch online libraryDe catalogus in eigen hand: sneller zoeken in de Nederlandse online bibliotheek

The official onlinebibliotheek.nl search is poor, so I scraped the whole catalog into SQLite + FTS5 and built my own fast, faceted search UI.De officiële zoekfunctie van onlinebibliotheek.nl is slecht, dus schraapte ik de hele catalogus naar SQLite + FTS5 en bouwde er mijn eigen snelle, gefacetteerde zoek-UI op.