Recent Posts

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...

I Taught My Label Maker to Draw

8 minute read

I live in Ruby, Elixir and Emacs. A CrunchLabs label maker landed on my desk, I opened the firmware to fix two small annoyances, and it turned into a pocket ...