Uncategorized

  • The new-without-parentheses syntax, and where it reads worse

    8.4 allows chaining on a new expression without wrapping it, which is a small improvement that invites a bigger mistake. The parentheses were noise on a one-call chain…

  • A test double that had drifted from the real thing

    An in-memory repository passing every test, and a real one that had gained a behaviour the fake did not have. A constraint added to the database is a…

  • A premium plugin with no repository, handled honestly

    Composer-managed WordPress, and four commercial plugins that ship as a zip behind a licence key. An inline package definition with a version that has to be bumped by…

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

  • An alert deleted after three months of silence

    A rule that had not fired since it was created, deleted on the grounds that a silent alert is untested rather than reassuring. A rule that never fires…

  • Testing a migration forwards on a copy of production

    A migration tested against an empty schema, run against nine hundred million rows, and taking four hours instead of four seconds. The restore drill already produced a full…

  • Import maps, and a page with no bundler

    Bare module specifiers resolved by the browser, which removes the last reason a small page needs a bundler. The import map is generated by the same script that…

  • Managing WordPress entirely through Composer

    turkerdev/wp-composer, and an install where nothing is committed except a lock file. Core, themes and plugins as dependencies.

  • A partition drop that finally ran

    A partitioning scheme built in 2023 for a retention policy that nobody had authority to enforce until this year. Dropping one partition a day rather than all of…

  • wp-cli in a pipeline, and the user it runs as

    A deploy step running WP-CLI as root, and every file it touches becoming unwritable by the web process. The –allow-root flag makes the warning go away and makes…