Zuihitsu

随筆 — follow the brush. Short observations on software, craft, and whatever else lands.

April 8, 2026

On naming events

The hardest part of analytics isn’t the pipeline. It’s getting six engineers to agree that user_signed_up and user.created and signup_complete are the same event. Name things once, in a spreadsheet, before you write a single line of capture code. The spreadsheet will outlast three refactors.

March 22, 2026

ETS tables at 3am

Spent an hour debugging why an ETS lookup was returning an empty list. The table existed. The key existed. Turned out I was pattern-matching on the wrong arity — the tuple had four elements, my match expected three. The BEAM doesn’t lie. It just doesn’t explain.

March 10, 2026

Cover crops and dead code

Crimson clover fixes nitrogen in the soil for the next season’s planting. It doesn’t produce anything you harvest directly — it improves the conditions for what comes after. Good test suites work the same way. You don’t ship the tests, but everything you ship is better because they exist.

February 18, 2026

The Sidekiq queue is a promise

Every job you enqueue is a promise to your future self that the work will get done. Most of the time, Sidekiq keeps that promise. But when it doesn’t — Redis restarts, memory pressure, a bad deploy — you learn very quickly which promises were load-bearing and which were decorative.