Debugging the brain
I had to fix a little outage at work yesterday. It wasn't anything too serious; a customer was unable to log in to some systems, but they are not that critical. It was more of an annoyance than a real problem.
It took me about half an hour to find the cause and fix the issue. I did so by simply restarting a process -- a classic case of charging $1 for hitting something with a hammer and $999 for knowing where to hit it.
Later that day, I was playing some mahjong. I found myself in one of those situations where no good option is available; the player before me had a winning hand, we were only three or four turns in, and there was nothing to go on. I'm no expert at "reading the discards" in any case, but there was nothing to read.
I chose a 1-pin to discard, which was the best I could do, and promptly lost.
It was just bad luck. With no information to go on, I made the correct move, which was statistically the best option, but statistics mean nothing in the individual case.
It did not feel like bad luck, however. You moron, the inner voice said. Trust you to pick the one losing tile out of fourteen options. You can't do anything right.
When I start feeling like this, I know it's time to stop playing for a while.
Likewise, while I was troubleshooting the customer's problem yesterday, I wasn't exactly feeling like a competent professional.
You idiot. You've been staring at this simple error message for fifteen minutes now, and it's still not fixed. They are paying you for this. It should have been long solved by now.
Never mind that the system I was looking at is mostly undocumented, and what documentation there is is largely incorrect, misleading or outdated1, and the system is set up in such a way that this issue is bound to occur every ninety days.2 I wasted at least twenty minutes because it just did not occur to me that someone would have done it like this.
Stupid brain.
My favourite type of non-documentation is the type that looks like documentation but isn't. You'll find a page somewhere labeled "SuperWidget version 5" and you think "Aha! I was looking for information about how SuperWidget 5 is used here! This is just what I need!" and it turns out that someone has just copied and pasted the vendor's generic manual. "SuperWidget 5 presents a new paradigm in widgeting..."↩
Let him that hath understanding feel my pain. You will know what kind of renewal process is involved, and what goes wrong if you don't restart things afterwards.↩