\a Must Die

For those of you who aren't programmers or nerd, "\a" is the string commonly used to represent the "alarm character" is C-style programming languages. It makes the computer beep.

Problem: Almost all computers don't use the sound card to beep, they use a special dedicated speaker. (Why? Diagnostic reasons, many computers will use special beep sequences to indicate an error that prevents them from displaying graphics. Such errors would also exclude the sound card.)

So why is this a problem? Well, because the beep is coming from a special speaker dedicated to making annoying beeps, it completely and totally ignores your volume settings.

And on my work computer, it's fucking loud. Loud enough to nearly drown out my iPod. So I run a program and it gets caught in an infinite loop doing nothing but beep. So I've got a constant stream of beeps assaulting the area at max volume with no way to turn it down.

Ultimately, though, my question is this: Why doesn't the Windows console simply emulate the stupid beep? I don't need the actual annoyingly loud beep. Just play the ding sound, and if the volume is muted, don't play a damned thing!

Please!

There's actually another reason this is incredibly annoying. While a program is beeping via '\a', it isn't doing anything else. It has to wait the second for the beep and its slight pause to complete. Then it can do a new thing, like print another '\a'. This makes certain programs, like MySQL, incredibly annoying, because they'll beep at every single error with no way to deactivate them.

Comments

This is especially annoying when you're compiling something overnight and the compiler insists on constantly beeping; I've started using a pillow to muffle it slightly.