Blog
How a Go scaffolder can re-run safely: hash every generated file, overwrite what is untouched, and prompt before it stands on your edits.
A well-built CLI already has what an agent needs: named operations, descriptions and typed parameters. Exposing one over MCP takes no AI code.
How a pile of separate Go CLI plumbing packages became one library, with a typed container for dependencies and a generator on top.
Exporting the latest revision of every MediaWiki page from a PostgreSQL backend, joining through the slots table, and what to do next.
Seed a Neo4j 4.x database inside a Kubernetes pod with an init container running neo4j-admin import, and fix the store-id and memory errors.
Piping ambient audio into Discord on Linux for a tabletop game: virtual null-sink and loopback modules wired up through pavucontrol.
Encrypting an additional drive on Linux with LUKS: partition it, generate a keyfile, encrypt it and mount it automatically at boot.
Setting up xRDP on Ubuntu 18.04: install it, open port 3389, and suppress the colord password prompt that greets every single login.
Pulling my own technical CV apart section by section: font, length, format, personal details, and the self-graded skills table.
A Dell D6000 dock randomly powering down on Ubuntu 18.04, where the real cause turned out to be PulseAudio triggering USB autosuspend.