Reason #13,501 Why I Hate Windows

This is not strictly a Windows issue, per se, but a PC issue. I almost assuredly could have embarrassed myself as badly using linux.

I forgot that curl, unlike wget, helpfully defaults to outputting the file you’re downloading to the shell. I honestly have no idea why this would be useful, but at any rate, I forgot to pipe it to a shell. Had it been plain text, it wouldn’t have been an issue, but I was downloading a bzipped tarfile. Since that’s in binary format, there were of course bell characters randomly distributed throughout the file, since the shell assumes the incoming bytes are ASCII.

The end result was me interrupting the meeting in my group’s working area, courtesy of my computer converting each of those bell characters into a loud beep at the precise Piss Off Humans frequency. I was able to kill it, but not before at least a second of exceedingly loud noise.

First, screw backwards compatibility. Bell characters were arguably useful on teletypes, which might need to ding for various reasons, and also had very low text throughput. There is no reason for a modern shell like Bash to still emulate 40-year-old technology.

Second, why, by default, does the bell character go straight to the motherboard’s tone generator (or possibly an internal speaker)? In Terminal on OS X, the bell character is interpreted as a silent window decoration blink. Even if you allow it to make noise, it is played as the OS X system alert sound through the current system sound output device. I had headphones on at work; at worst, I should have been the only one to suffer.

I mean, sure, I made a dumb mistake, but the default behavior is ridiculous.

2 comments on “Beeeeeep!!!
  1. xset -b

    Should be in everyone’s .xsession.

  2. antimony says:

    I so know that pain. Especially when a certain program created by a certain company which I now work for decides to beep incessantly, and then the machine is transfixed by a peculiar bug where if you cntrl-c during a beep, it gets confused and just continues to wail indefinitely or until one can get a kill -9 in edgewise. And the bug has also locked the computer up badly enough that it’s going to take a while before you can get to the killin’.

    Here, have a bell. ^G

Nurd Up!