field notes

Writing

Short notes from real engineering work: one decision, one incident, one reversal at a time. Each one names the shape of the problem, the tension that made it hard, the decision, and what it cost. The internals stay out — the codename is the hint.

If you have five minutes rather than an afternoon: the three case studies condense this material to one problem, one decision and what the decision cost. The notes below are the record those studies cite — and the projects the codenames belong to are on the front page.

source notes/ · 252 notes · 10 codenames · newest first · atom feed

All field notes

filter by theme · 244 total

every layer that was supposed to be transparent

The first service migration looked like a copy and a connection string: take a database out of the application's container, run it as a supervised process on the host, point the application at it. The move took far longer than that, and…

read

an identity service that keeps no record

Everything else trusts the identity service, which makes it the worst place to be uncertain. An audit found two kinds of uncertainty. The service was not recording sign-in events or administrative events, so the question of who changed what…

read

the last hop is the alert

An alerting system has one job and several dependencies: something evaluates a rule, something delivers the result, something transports it, something makes a noise. Every link can be empty while the previous link reports success, and…

read

renew without becoming an outage

Certificate renewal is a periodic job that writes a new file and exits. The running service keeps the old certificate in memory and keeps serving it, so the write is not the delivery. The first version of the automation finished by…

read

the redundancy we decided not to buy

A proposal arrived to make the database highly available: two copies, automatic failover, the standard shape that appears in every design document. The review before building it asked a narrower question than the proposal did. What failure…

read

the repository is not the fleet

The declarative path existed and lagged the imperative one, in the ordinary way: a change typed by hand at the moment of need, a repository updated later, or not at all. Most changes were still typed by hand, and the written record said…

read

the check that could not fail

There are three ways a check earns silence without earning confidence. The first is that it does not exist. Alerting covered machine health — processor, disk, memory — and nobody had asked whether the service people actually used was up, so…

read

the backup that was empty for weeks

A backup job is a producer with no consumer. Nothing in the system notices when the archive is empty. The job either exits zero, and the emptiness is invisible, or it fails into a log nobody reads, and the schedule keeps firing regardless.

read

the default that has to be deny

Per-port rules look like security and behave like a promise to remember every port. Workloads get new ports when they are rescheduled, and the rule list does not grow with them, so the estate accumulates silent holes that nobody wrote down.

read

one writer

Many reporters, one writer. Each machine is allowed to say what it believes about itself; exactly one process is allowed to turn those statements into records. With several writers, two orderings of the same announcements produce two…

read

names that expire rather than lie

Leadership moves, and anything that hard-codes where leadership was becomes a fact somebody has to remember at the worst possible moment. A name that always resolves is not a reliable name; it is a name that can be confidently wrong, and…

read

permanent, not staging

For a long time the honest name for this estate was staging, and the word licensed sloppiness: try it, leave it running, fix it later. Calling it permanent changed nothing about the hardware and a great deal about the decisions. Permanent…

read

method

What a field note is

Not a changelog entry and not a repository summary. One decision, one incident, one reversal, or one hard-won invariant — the thing an engineer would tell you at a whiteboard.

shape
What made the problem genuinely hard, before any solution appeared.
tension
The two things that could not both be true — stated precisely, because that is the part that transfers.
decision
What was chosen, and what it cost. Cost is the credibility; a decision with no cost attached has not been described.
ceiling
A codename, a theme, and a class of problem — never a hostname, a parameter, a version or a vendor. Under the disclosure rules the hint is the category, not the instance.

Prefer records with dates and root causes? Those are on incidents. Live numbers are on stats.