technical blog
Practical notes from agent systems, local infrastructure, search, memory, and testing.
all blog postsNinety minutes to a real tool
Nineteen paintings turned up on this site, made by an agent using a tool that was less than two hours old. imagegen went from first commit to Homebrew tap in seventeen minutes; ProseDown is the same story at seven days.
July 2026Taste rules agents can fail
My time-anchor rule turned seven of nine openers into the same sentence. Catching that became kill-list entry 13.
June 2026Three attempts at an agent
A runaway auto-continue in February, an edge rewrite in April, and the live kernel that finally moved the durable record out of the transcript.
June 2026The report that refused to pick a winner
Two forged benchmark reports about an indexer that doesn't exist — the skeptic pass returns ok: false and the compiled report stays incomplete.
projects
Public code for agents, local infrastructure, search, memory, and developer-program measurement.
all projectsArcwell
Local-first assistant services built around a recurring lesson: agents need durable memory, visible state, and bounded workflows.
githubcodex-swift
A native macOS coding-agent runtime exploring what changes when the agent becomes a long-lived local service.
githubopen-cloud
A local Cloudflare-shaped platform for making integration state close enough to inspect, reset, and test.
The boat at night
A small sailing boat on big water at night, and the pair of loafers that pulled the thread back to it this spring.
June 2026Colour after the fire
A white villa in Museumpark has my family name by the door and keeps a painting of the 1940 fire; Rotterdam put the rest of its answer out in the street — Zadkine's hollow figure, Gabo's weightless steel.
May 2026The old men on the square
A question typed from a park bench, and the warmest Wednesday of a London March.
May 2026Speed-running taste
Jeans and department-store shirts in January 2025; sixteen months later, guessing a cloth's weight by hand.