Uncategorized

  • Priority queues, and the starvation they cause

    Running a worker over two queues in priority order means the low-priority queue is only touched when the high one is empty — which under sustained load is…

  • An HTTP client that is part of the framework

    Four services, four hand-rolled clients, four retry policies. 7.0 wraps Guzzle, and the wrapper is the point rather than the transport.

  • Equivalent mutants, and why the score is never 100

    Some mutations produce code that behaves identically to the original, so no test can possibly kill them — and they are indistinguishable from real findings without reading each…

  • A blue-green schema, for when three releases is too slow

    Expand-migrate-contract is correct and takes three releases, which is two weeks on a fortnightly cadence — and occasionally the change cannot wait that long. A multi-table RENAME is…

  • loading=lazy, and the images it must not be on

    Deferring offscreen images used to mean an IntersectionObserver, a data attribute and a library. It is now an attribute the browser understands. Applying it to every image with…

  • A heartbeat table is the only honest lag measurement

    Seconds_Behind_Master reports how far behind the SQL thread is on the events it has received, which is not the same as how stale the data is. The long-ALTER…

  • wp_cache_add_global_groups, or multisite prefixes it

    On a multisite network the object cache prefixes keys with the blog id unless the group is declared global, so data cached on one site is invisible to…

  • Width and height are required again, and CLS is why

    Dropping the width and height attributes was correct advice for a decade of responsive design, and it is what makes a page jump while it loads. Browsers now…

  • Transactions per test, until a second connection

    Truncating every table between tests costs a statement per table per test; a transaction and a rollback is one of each. The second-connection case produces a genuinely confusing…

  • A runbook is more useful for what it says not to do

    An alert that states a number crossed a threshold hands the receiver a research project, and at three in the morning three sentences beat any precision in the…