Uncategorized

  • 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.

  • An exception hierarchy with one root and no depth

    Eleven exception classes, all extending one application root, and no intermediate types — which turned out to be right. An intermediate class exists so a caller can catch…

  • The autoloader that got slower after a directory was added

    A new PSR-4 root added to composer.json, and an authoritative classmap that had to be regenerated and was not. An authoritative classmap turns a missing entry into a…

  • json_encode with JSON_THROW_ON_ERROR, everywhere, finally

    A codebase-wide sweep for json_encode and json_decode without the throw flag, eleven years after the flag arrived. Twenty-two silent failures is the finding, and one of them had…

  • The archive table nobody could delete from

    900 million rows, a retention policy, and a legal question nobody had asked. A table that grows forever because deleting from it might be illegal.

  • 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 profile of the queue worker rather than the request

    Months of profiling the web path, and a queue worker consuming three times the CPU that nobody had ever looked at. Profiling follows attention and attention follows user-visible…

  • Composer 2.8, and audit as a merge gate

    Running the audit in CI for a year had produced a report; making it fail the merge produced a decision. Failing only on high and critical is what…

  • A test suite that runs on every commit, in ninety seconds

    Four minutes forty is fine and ninety seconds changes behaviour. The threshold below which running the suite stops being a decision.

  • Core as a Composer package, and where wp-content goes

    WordPress installed as a dependency, which requires the content directory to move out of the core directory. The constants must be defined before core loads, which means wp-config.php…