Archive
Notes
Occasional entries, newest first.
2026-09-14
Small tools, long half-life
The utilities I still use after a decade are the ones with one job, plain text interfaces, and no service to keep alive. They compose because they do not try to own the workflow.
A good tool has a short manual. A great tool has a manual you never need to open twice.
2026-07-02
Boring backups are the only backups
If restoring requires a runbook longer than the backup script, it is not a backup. It is a rehearsal for an outage. The useful test is simple: pick a file at random and restore it while someone watches.
Snapshots are convenient, but convenience is not the same as recoverability. Keep one copy that does not share a failure domain with the original.
2026-05-18
Spend the latency budget twice
Most slow paths are not slow because of one big cost. They are slow because twenty small costs were added without a budget. Write the budget down, then make each addition argue for its share.
The same habit works for memory, disk, and attention. Numbers make trade-offs visible; vague goals make them disappear.
2026-03-09
Read the log before the code
Debugging starts with evidence. The log usually says which assumption broke; the source only says what the author intended. Read the evidence first, then go looking for the disagreement.