refactoring

  • The shell script that is still a shell script

    A deploy script rewritten twice — into a compiled language and back — and stable for eighteen months at a hundred and eighty lines. Shell is the right…

  • Reviewing code I did not write

    Review as the skill that matters, and a volume of code that needs it. A change that looks right, passes, and is subtly wrong.

  • A plugin with no admin screen

    A plugin whose entire configuration is a constant and a filter, on a site whose deployment is a pipeline.

  • Boundaries drawn on a whiteboard, and the test that checks them

    A module diagram from 2023 and a codebase that has moved since. A diagram everybody references and nobody has checked.

  • Ten years of a codebase, read in one week

    A decade of an application, and a week spent reading it rather than changing it. Decisions re-litigated because nobody knows what is already there.

  • A composite action that grew an input too many

    A shared setup action across four repositories, with eleven inputs, of which one repository used a combination nobody had tested. A shared abstraction with per-caller escape hatches is…

  • A year of an assistant in the editor, measured

    A year of using a model-backed assistant, and an attempt to say something specific about it. Every claim about this is a demonstration or a complaint.

  • A build with no bundler

    A site with 18 KB of JavaScript and a build pipeline sized for something larger. What a bundler provides, listed, and which of it is needed.

  • The PSR-18 client I wrote for one API

    A supplier API with a signing scheme, a rate limit and a pagination style of its own, and the same four concerns implemented in three places.

  • The service class that was three procedures

    A class named for a noun, containing three methods that share no state and call nothing in common. A class whose methods share no dependencies is a namespace…