Recent Posts

The Page That Never Came Back

6 minute read

Replying to a process that has died costs nothing and tells you nothing. In a pool that lends out browser pages, that silence cost me a page every time it ha...

Hanami Froze the Door I Always Use

4 minute read

I am building a real app in Hanami 3 with twenty years of Rails habits, on purpose, to find out where those habits stop working. The very first one broke ins...

What a Port Doesn’t Give You

6 minute read

My agent drives a headless browser through a Node process held by a Port. Two guarantees I take for granted in Elixir stop at that boundary, and one of them ...

Let It Crash Stops at stdin

7 minute read

I have been building a personal agent as an MCP server in Elixir, and the transport turned out to be the interesting part. A single malformed request killed ...

Not Every Curve Belongs in Sand

3 minute read

Another CrunchLabs kit took over an evening: a sand table that drags a ball through sand on a polar arm. I added a few parametric math patterns, and the inte...