Technology hypochondriacs

Raymond Chen

One phenomenon I’ve noticed quite a bit is something I’m going to call “technology hypochondria”, the belief that you are suffering from whatever problem you just read about. It reminds me of this joke:

A man goes to his doctor. “Doctor,” he says, “I’m pretty sure I’ve got this disease here. All the symptoms match. I’m suffering from fatigue, sleeplessness, irritability, and memory loss.”

“Mr. Jenkins,” the doctor responds, “I’m fairly certain you aren’t suffering from menopause.”

One of my relatives who is a medical doctor in a public hospital explained to me that in his experience, you should never trust the diagnosis of a med student. “When we bring them along on rounds and show them a patient and ask them what they think the problem might be, they always answer with the disease they just studied last week.” When I describe one way a program can become unresponsive, that doesn’t necessarily mean that that’s why your program is unresponsive. A program can become unresponsive for any of a million reasons, most of which have the same basic symptoms: “When I click on the program, nothing happens.” That’s really not enough information from which to make a diagnosis. To make a diagnosis, you need to whack a debugger under the program and see why the UI thread isn’t processing messages. (Mark Russinovich did exactly that to investigate a process startup delay he was experiencing, and the cause in his case was something I hadn’t seen before.)

If you post a comment to one of my articles asking, “Could this be why my program also has a similar problem?”, don’t expect much of an answer from me. It’s like writing a letter to a newspaper’s medical advice column saying, “I’m suffering from fatigue and loss of appetite. Do I have AIDS?”