Debugging
Your Flaky Tests Are Not Flaky, They Are Telling You Something
A test that fails one time in fifty is reporting a real property of your system. Retrying it is throwing away the evidence.
Method rather than tooling: forming a hypothesis, choosing the cheapest experiment that falsifies it, and finding the wrong assumption underneath a bug.
Debugging
A test that fails one time in fifty is reporting a real property of your system. Retrying it is throwing away the evidence.
Docker
Distroless and scratch images are great for security and miserable when something breaks. Here is how to investigate a container that ships nothing.
DevOps
A cache with the wrong key restores nothing and uploads everything. A cache with too broad a key restores stale artifacts. Both are common.
Tooling
Git is protecting you from combining two repositories that share no common ancestor. Sometimes that is exactly what you want.
Node.js
Memory climbs, the process gets killed, and restarting fixes it for six hours. Here is the diff based method that finds the retainer.
Python
pip says it is installed, python says it is not. Both are telling the truth about different Pythons.