An application resolved against PHP 7.4 and deployed to a 7.3 server used to fail at some arbitrary point inside a library, with an error nobody connects to…
A percentage-based canary needs a load balancer that supports weighting; a header-based one needs an nginx map and works anywhere. Deciding on a header means the team can…
Numeric module ids in 4 shifted when a module was added, which changed the content of every chunk after it and invalidated caches for files that had not…
Forty gigabytes of logs a day and no answer to “is checkout slow”. Metrics, logs and traces answer different questions, and logs were doing all three badly.
The database password was in the repository, then in the image, then in an environment variable readable by anything that could run ps. Where it went next.
The audit asked where the database password is and there were five answers, all of them true. Enumerating the copies is the first hour and is usually the…
Warming from cron writes every entry at the same moment, so every entry expires at the same moment — which reintroduces the stampede the cache was meant to…
5.5 added a per-plugin auto-update toggle, which is right for a site nobody maintains and is a plugin updating at 03:00 on one that somebody does. On a…