Uncategorized

  • Ubiquitous language is a naming rule with teeth

    The idea is usually explained as “use the same words as the business”, which sounds like a style preference. The version with consequences is that a word meaning…

  • MEMORY USAGE tells you which key is the problem

    –bigkeys reports the largest key by element count, which is not the same as the largest by memory — a hash with 500 short fields is smaller than…

  • Portals for the modal that must escape its parent

    A modal rendered where it logically belongs is trapped by any ancestor with overflow: hidden, a transform, or a z-index stacking context — and moving it in the…

  • Logging drivers, and why json-file fills the disk

    The default driver writes every line to a JSON file with no rotation, so a chatty container quietly consumes the host disk and nothing points at it —…

  • Blackfire compares two profiles, which is the useful part

    A single profile tells you where the time goes and leaves the question of whether that is unusual. A comparison between two profiles answers the question you actually…

  • sodium in core replaces the extension nobody installed

    Modern cryptography in PHP has meant either openssl with a lot of decisions to get wrong, or a PECL extension nobody had. 7.2 puts libsodium in core, with…

  • OPcache is per-process-pool, not per-server

    Two PHP-FPM pools have two separate OPcache shared memory segments, so a cache reset in one does nothing to the other — and the site serves a mix…

  • PHPUnit 6 renamed the classes into a namespace

    Version 6 moved everything under PHPUnitFramework and left aliases for the old names, which are deprecated. Every test file extending PHPUnit_Framework_TestCase needs a line changing. The rename is…

  • COPY –from can reference an image, not just a stage

    COPY –from is usually shown pointing at an earlier stage, and it accepts an image name just as happily — which removes a whole class of “install this…

  • Compose file version 3, and what swarm changed

    v3 exists to be deployable to a scheduler, and that removes things a single-host file relied on. What went, why it had to, and what replaces it.