Elixir

A DNS Packet, Taken Apart

6 minute read

A DNS answer can repeat a name without carrying its bytes twice. I built a small Elixir decoder to see exactly where those bytes go, and the interesting part...

Everything Before the Click

5 minute read

Every tool my agent had until now could be run twice with no consequence. Adding one that puts something in my actual Amazon cart changed what the code aroun...

Fresh Forever

9 minute read

Three bugs in the same twenty lines, each one created by the fix before it. The last was the good one: two behaviours that are correct on their own, and toge...

Politely Ignored

5 minute read

My MCP server answered tools/list, validated every argument it was handed, and went completely unused. The model preferred its own browser extension, and not...

The Tooltip That Signed Me Out

6 minute read

My agent decided my Amazon session had expired while looking at a page Amazon only serves to people who are signed in. The culprit was a hidden tooltip, and ...

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

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

The State of Typing in Elixir

3 minute read

Elixir is dynamically typed, but ‘typing in Elixir’ now spans three things: the runtime shape you get from pattern matching and structs, optional typespecs c...

Building an Elixir API with Plug Only

3 minute read

You don’t always need Phoenix. For a small API, Plug alone gives you full control over requests and responses with almost no machinery. Here’s a JSON endpoin...