There's this piece of software I had a frustrating experience with today; let's call it Program X. Here is what I imagine to be part of the design process for Program X:
"Hey, when the user types in numeric values to be used in a calculation, should we do any checking to see whether or not the values are within the legal range, or even numbers at all?"
"Nah, that's too much work. We'll just plug the values straight into the calculation, and if they're not what the program's expecting, let's just let it crash to the desktop without any sort of helpful error message at all! It'll be fun!"
"But what if somebody mistypes something?"
"Well, then, that's their problem, not ours!"
Three smegging hours I spent trying to solve a persistent crashing today, time which I really needed to be spending on something else. My only remaining dilemma is just how sarcastic to be when reporting the bug. First-year computer science students learn about range-checking input values; how is it that purportedly experienced, professional programmers seem to feel it's unnecessary?
Of course, even if I do report it, there's no hope that the programmers will actually fix it, as reporting a crash caused by invalid user input is the computer equivalent of "Doctor, it hurts when I do this!" — especially when they're focused on pushing a final release out the door so they can wash their hands of it and move on to the next thing.
(I was going to use the "Faces of Insanity" icon for this post, but then Squelch would go away until the post had scrolled off the page.