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.