Printing a <script> tag straight into a template puts it wherever the template happens to run, which is why so many themes have jQuery loaded twice and a…
OPcache has shipped with PHP since 5.5 and is disabled in several distribution builds, which means a good number of production servers are compiling every file on every…
Floating point cannot represent 0.1 exactly, so money arithmetic accumulates error that shows up as a total that is one cent off. The usual response is to round…
DateTime::modify() mutates the object and returns it. Because it returns something, it reads like a pure function, so it gets assigned to a new variable — and then…
Every hand-rolled password scheme gets the same three things wrong: the algorithm is too fast, the salt is reused or stored badly, and the comparison is not constant…
A deploy finishes, the files on disk are correct, and the site serves the previous release for another minute. OPcache is not checking whether a file changed on…
Two applications share a client library, so it should be a package. Packagist is public, running Satis is a server nobody has volunteered to own, and copying the…