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 make the skeptic pass return ok: false and leave the compiled report incomplete.
projects
Public code for agents, local infrastructure, search, memory, and developer-program measurement.
all projectsArcwell
Local-first assistant services with durable memory, visible state, and bounded workflows.
githubcodex-swift
A native macOS coding-agent runtime built to run as a long-lived local service.
githubopen-cloud
A local Cloudflare-shaped platform whose integration state can be inspected, reset, and tested.
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
Henk Chabot's 1940 fire painting hangs in a museum with my family name. Rotterdam keeps much of its art outside, including Zadkine's hollow figure and Gabo's steel construction.
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.