Uncategorized

  • Structured logs, and the field that was never queried

    Eleven fields on every log line, of which four have never appeared in a query. A structured log invites adding fields because each one is cheap, and the…

  • An on-call rota of three

    A rota of two is not a rota. A third person joined in November, and the gap was everything learned in the shadowing month and never written down.

  • An index that helped one customer and cost everybody

    An index added for a customer whose data shape is an outlier, and the write cost it imposed on every insert. The arithmetic favours the index and it…

  • An incident drill on a Tuesday afternoon

    A simulated incident, announced in advance, run against production with a deliberately broken dependency. Announcing it in advance removes the value of surprise and removes the risk of…

  • Message payloads reduced to identifiers, one year on

    A change made in 2024 to send identifiers rather than snapshots, and what a year of it produced. The lookup cost is trivial when the consumer shares a…

  • Mutation testing on a second directory

    A technique applied to one directory in 2023, extended to a second, with a much worse result and a better reason. A low score on code that implements…

  • A rolling update in twenty lines of shell

    Compose has no rolling update, and the thing it does not have is twenty lines of shell for a two-replica service. Scaling up, waiting for health, then removing…

  • The seam that made a rewrite possible without one

    An interface introduced in 2022 for testing, which turned out to be the only reason a subsystem could be replaced in a fortnight. A comparing implementation running both…

  • A conflict rule in composer.json, and why it beat a version bound

    Two packages that work individually and break together, expressed as a version bound that was wrong for anybody not using both. Narrowing the requirement would have said “this…

  • The generated specification that drifted from the second version

    A specification generated from the router, which is drift-proof until there are two routers describing two versions. Generating from the router guarantees that a documented endpoint exists and…