6-Oct-2005 (Thu)
Wherein I whine about computers.

Ok, just skip this entry if you don't care about my periodic bitching about computers.




So, the other day I made the mistake of running the software updater on the webcast machines. (FC4 yum.) I have a habit of doing this crazy thing, in the possibly-misguided hope that it will cause me to have the latest round of security fixes and prevent the script kiddies from running roughshod over my machines.

Yet, you may have noticed my use of the word "mistake", because this time it happened to update ALSA (which, laughably, stands for "Advanced" Linux Sound "Architecture".) Now what do you think often happens when ALSA gets updated? If you're guessing "something bad", well, you're right. In this case (and, I think, in every previous case) what it means is that they changed the names of all the parameters of my sound cards. This means something like, some teenager decided that where it said "EMU10K1" it should really have said "EMU10K1 PCM", or some shit like that. Why should I care about this? Well, I shouldn't. Except that this means that the previously-saved configuration file for my sound card NO LONGER WORKS because (I guess?) it has the old names in it. It spits out errors like the following, and doesn't make any music:

    alsactl: set_control:894: warning: name mismatch (Music Playback Volume/Synth Playback Volume) for control #7
    alsactl: set_control:896: warning: index mismatch (0/0) for control #7
    alsactl: set_control:898: failed to obtain info for control #7 (Operation not permitted)

So we lost saturday's webcast. Thank you, anonymous, incompetent teenager.

To fix this, I had to run the confiuguration program that lets you "graphically" reconfigure the sound card. It runs in a terminal. (In another universe, you may know this as "DOS".) It is dead sexy and looks like this:

Aw yeah. So at this point, my task is to conduct an exhaustive search of all these fucking sliders and mute buttons to figure out what they do this time, and which one makes the sound come back on. There are sixty-five of them, and most of them have names that mean nothing to me.

When I do mindless sysadmin bullshit like this, I always write it down. This time, my notes didn't help much.

Last time what I wrote down was:

    alsamixer SigmaTel STAC9708,11:
      Master: 84
      Bass/Treble: 50
      PCM: 100
      Wave: 100
      Wave Capture: 100
      Capture: 33
      AC97 Capture: 100
      EMU10K1 PCM: 100

      Everything else 0/Mute.

This time, the answer is:

    alsamixer SigmaTel STAC9708,11:
      Master: 84
      Bass/Treble: 50
      PCM: 100
      Wave: 100
      Wave Capture: 100
      Line: 0 Rec Mute
      Capture: 33 Rec
      AC97 Capture: 100
      EMU10K1 PCM: 0/0 (the first, stereo one)
      EMU10K1 PCM: 100 (the second, mono one)

Did I leave something out when I wrote it down last time? I'm pretty sure the answer is "no", this shit just changed.

This is exactly the kind of time-wasting bullshit that caused me to give up on running Unix as my home desktop. I switched to MacOSX about four months ago, and I haven't regretted it for a second.

Why am I still running this halfassed teenager-ware called Linux on my servers, you might ask? Well, I believe that the sad thing is that (hardware support aside) I'd still have to run exactly the same halfassed teenager-ware on a Mac to make the webcasts work (e.g., Icecast); it would just all be even less reliable, because it'd be running on a platform that none of the developers use.

In other words, I'm just fuckin' doomed.

23 Responses:

  1. ioerror says:

    You should have come to the Dyson talk. It had empty seats.

  2. jered says:

    I think that you're being too harsh on incompetent teenagers. Many of these people are incompetent 20 and 30 year-olds.

  3. pfrank says:

    Not sure if it'll do what you need, but Nicecast is an OS X based front end to Icecast that works extremely well. It's not free, but reasonably priced. Rogue Amoeba's other stuff like Audio Hijack and such is worth looking into also, if you need that sort of thing.

    • jwz says:

      None of the problems I've ever had with Icecast could be described as "not having a fancy GUI."

      • pfrank says:

        eh, Nicecast seems to be a lot more than just a fancy GUI. But whatever. Maybe it'd be helpful, maybe not.

  4. ywwg says:

    There seems to be an irresistable urge in the open source community to continually reachitecture to fix small "problems". Every time a system is found to be slightly substandard it must be rewritten. Usually a few ugly hacks would fix the problem and no one would notice. But we can't have ugly hacks, that would be wrong!

    Have you thought of switching those machines to CentOS? You wouldn't get surprised by sneaky updates that way. Of course, this idea only makes sense if the time required to move the OS over is less than cumulative fixing-shit time.

    • Perhaps the right idea is actually to fix small "problems" like these, except then also provide either backward compatibility or an "update" script that converts old config files into new ones. Or maybe not.

  5. tkil says:

    As usual, I haven't actually done this, so skip if you like.

    If you prefer Apple over Linux on the desktop, maybe you should try it on the server side?

    http://www.apple.com/quicktime/broadcaster/
    http://www.apple.com/quicktime/streamingserver/

    First is a free download, second is a part of OSX Server (which is about 500$, dunno if you can find it cheaper), and of course only runs on a Mac (you know the prices of the consumer machines -- XServes start at 3k$ and go up from there).

    Note that this isn't necessarily a recommendation -- but if you found that giving Apple money solved your desktop woes, consider whether they might do the same for your server situation.

    (If you want to mix this with the way of pain, if you can find a mac to run the broadcaster, or figure out how to make a different box come up with the same stuff, the core of the Quicktime Streaming Server is just the Darwin Streaming Server, and the latter is a free download. No shiny GUI, but that would probably not be a problem for you.)

    (I looked into some of this a while ago, but decided that it was more trouble and/or money than my casual experimentation warranted.)

    Finally, if you want to stick with the Linux server solution, consider using updates just against security-sensitive components (being the kernel, ssh, httpd, MTA, etc). Erf, having written that, I now realize that ALSA is a part of the kernel. Ouch. :(

    Someone else already pointed out CentOS; any of the various "enterprise linux" variants might be less fragile than FC4 (which is designed to be more bleeding-edge, but they release it often enough that a breakage-inducing ALSA update could have waited).

    Good luck.

  6. boonedog says:

    It's so weird hearing about the DNA lounge. I had friends that went there in '87 but I was still underage. Is the Paradise Lounge still around? My roommate used to work there and I could hang out there despite being underage. No such luck at DNA.

  7. justmealex says:

    The other suggestions are good but I have to toss this in:
    Why don't you have a test server? One where you test the updates on that first and if everything comes out clean, then run the updates on your production servers.

    Sidenote: I agree with the incompetent teenagers part..

  8. otterley says:

    During my brief time in the "industry" I gained a very valuable lesson in business continuance:

    If it ain't broke, don't fix it.

    While I can understand your desire to have security updates, you should be able to get those without having to update the rest of your OS. If your OS "vendor" doesn't provide that option, perhaps you should consider switching vendors.

    Fedora Core is not really a stable OS. I'm sure you could get by perfectly well with Debian, SuSE, or Red Hat Enterprise Linux, and with any of them you would not be forced to sacrifice stability for security.

  9. fantasygoat says:

    If you want a cheap Mac X-Serve, just let me know.

  10. dasht_brk says:

    "DNA Software" -- useful and entertaining shit that Just Works.

    -t

  11. luserspaz says:

    The last time I dist-upgraded Debian (I run unstable, it's my own fault), it left me without a working dhcp client. And here I thought dhcp was a solved problem.

  12. fgmr says:

    I learned the hard way that once I set up a machine to do something, I shrinkwrap it and never install another damn thing. No matter how innocuous or unrelated, I don't install it, recompile it, or change the configuration. If I want to change something, I build a second box, get *it* set up the new way, prove it works, and switch over. Then I can play leapfrog with the two boxes if necessary.

    Of course, being occasionally stupid or lapsed of memory, I have to teach myself this lesson again from time to time. But I think it's sinking in.

  13. bifrosty2k says:

    This is exactly the kind of time-wasting bullshit that caused me to give up on running Unix as my home desktop.

    *puts on yoda hat*
    "Linux, this causes your problems, yes"

  14. loosechanj says:

    I love how there's no obvious way to save those alsa mixer settings within the app itself. You know, something like oh, I dunno...pressing "s" maybe?

  15. vordark says:

    I would bet solid money that you thought about this back at day one, and you probably even ranted about it somewhere, but...

    Isn't there some kind of all-in-one, warm and fuzzy hardware solution that could solve this problem for you so you would never again have to upgrade/re-install/re-configure anything? I mean, someone must have created some kind of frigging box thingy with an input labeled "Audio Goes In Here" and an output that says "Ethernet Connection Goes In Here" and just works, right? I mean, aren't webcasts common enough that someone has created an appliance that takes care of all this shit?

    • dasht_brk says:

      Sadly, appliances that high in the network stack these days still require software upgrades. A lot of them run J. Rnadom Linux.

      But there is a business there, sorta, if you can convince investors that somehow your particular yet-another-trivial-"specialization" warrants a few gazillion bucks.

      God, stuff sucks.

      -t

  16. 21cdb says:

    You seem to be very positive overall on the whole OS X user experience; have you delved into the dev side yet? (Or are you still basking in the glow of working sound and video)

    • jwz says:

      I haven't done much Mac-specific programming yet, except the occasional short perl and applescript hack. This is good, because it means I haven't needed to. Shit just works.

  17. antiv says:

    If anyone is aware of any alternatives to icecast, then please enlighten us as well.