A predictable temporary path in /tmp is a symlink attack and a collision between two concurrent runs, and both are avoided by the same three lines. Registering the…
Passing money as an integer means every function taking it validates it, and every one of those validations needs a test — a type that refuses to exist…
Wrapping a handler in a transaction inside the handler means every handler repeats it, and the one that forgets is the one that leaves half a write. Ordering…
Two deployables writing the same tables is one service with extra steps. Deciding who owns them is the whole decision, and the intermediate state lasts.
A job class that knows which queue it belongs on has made a deployment decision at the point of definition, and changing it means editing the class. Unrouted…
The same card markup in nineteen templates, each subtly different. A CSS framework gives you classes, not components — and the gap is a macro per component.
19.03 made rootless mode usable, and it is worth knowing what it costs before installing it on a machine that matters. The security gain is real and specific:…
5.2 catches a fatal error during a plugin load, deactivates the plugin, and emails a recovery link to the administration email address — which on most sites is…
PID 1 in Linux does not get default signal handlers, so a shell script as the entrypoint ignores SIGTERM entirely — and docker stop waits ten seconds and…