Uncategorized

  • A trace is a tree; a log line is a point

    Logs answer what happened and traces answer what a request did, and a request that touches six services is a shape logs cannot represent. The value is entirely…

  • Health checks are middleware, not a controller

    A health endpoint written as a controller action goes through routing, filters and model binding — which is exactly the machinery a health check should not depend on.…

  • Coverage configuration moved, and the report went silent

    9.3 moved the coverage settings out of the filter element into their own, and the old form is ignored rather than rejected. The failure is silent and reports…

  • Writing the row and the event in one transaction

    The outbox is the smallest correct answer to the dual write problem, and the implementation is one insert and a worker. The index on (published_at, id) is what…

  • Blue-green on one host is two sockets and a variable

    The pattern does not need two machines or a load balancer — two php-fpm pools and an nginx variable will do it, and the rollback becomes a config…

  • Draining a node before deploying to it

    Deploying to a host still receiving traffic means the requests in flight during the swap see a half-updated application, and there is no version of that which is…

  • Ubuntu 20.04 and the netplan that is now normal

    20.04 arrived in April and netplan is no longer the new thing — which means the older configuration people still copy from notes does nothing at all. netplan…

  • Autoloaded options are read on every request

    Every option with autoload set to yes is fetched in one query on every page load, so a plugin storing a megabyte there makes every request slower forever.…

  • An API document that is generated, not maintained

    The documentation was written in January and the API changed in March. Documentation written by hand is a copy, and copies drift — usually within a sprint.

  • Blade components and the partial that had eleven parameters

    An @include with eleven variables and no way to know which are required. A partial is a file rather than a contract, and 7.0 makes the constructor the…