Most of building software is finding out that something you were certain about is wrong. Three of those from Buhata, all worth the trouble of understanding properly.
The hand that wouldn't drag
The desk on a computer is a canvas bigger than your screen, and there's a hand tool for moving around it. It did nothing at all. I read the code that wires it up several times. The code was correct.
What actually happened was a variable I'd deleted by accident in an earlier change, versions back. The first line of the wiring function referred to it, threw an error, and a safety wrapper caught that error and swallowed it without a sound. The feature read perfectly on the page and did nothing on the screen.
The variable was almost beside the point. A guarded call to something that no longer exists looks exactly like working code, and it only fails where nobody's watching.
The headline nobody could read
The front of the website had white text on a mint background. I'd looked at it many times.
Measured, it came out at 1.18 to 1. The recommended minimum for large text is 3. Calling it hard to read would be generous, because it was barely on the page. Nobody caught it because everybody who looked at it already knew what it was supposed to say.
The logo that wasn't centered
I kept nudging the app icon left and right because the letter looked off center, and it kept looking off center.
The tool I was measuring with was reading the dark letter through a semi transparent yellow circle sitting behind it, so it reported the shape as thirty one pixels wider than it is. Every adjustment I made was an argument with an instrument that was lying to me.
If a thing can be measured, measuring it beats agreeing that it looks about right.
What I do now
Each of those is a test that fails if the fault comes back. It's the only durable answer I've found. A fix you remember lasts exactly as long as you remember it.
