I don’t even know what I want out of a computer anymore.

Outside of my job, the things I want a computer to do are about the same things anyone wants a computer to do:

  • Surf the information superhighway
  • Read and write email
  • Store recipes
  • Play some wicked tunes

Since about 1998 or so I’ve used Linux at home, the reason then and still being that I like to tinker. Windows is pretty alright for the things I want to do but often confining, and I’ve never quite been able to wrap my head around Mac OS. My attempts at using Mac OS, even without the xtreme popup rad-mode dock, have usually ended in confusion over some detail or another, and I still haven’t forgiven Apple for Quicktime.

As far as my computer habits today, the difference I’m finding is that while I still like to tinker, I’d rather not have to. I’d like for everything to work right out of the box, but I know that this will never fit my skewed view of the world, so I’d instead like everything to work after the box, some brief configuration and a handful of extra programs. My choice of web browser dates back to the Netscape wars with reasons long since irrelevant, but I now find the Web unusable without Adblock and a browser that makes such extensibility possible. I use Thunderbird mostly because it’s slightly less awful than the alternatives and less likely to do something unexpected. My music player, Amarok, is really the only choice that binds me to Linux. Could I find something in Windows to fill the gap? Probably, but it was painful enough finding a good player in Linux that doesn’t choke on a collection of my size and understands that some albums have more than one artist. I stick with Linux partly because of its philosophy of customizability–easy access to keyboard shortcuts, “sloppy” focus, finely tunable keymap options that present the full range of human expression, or in my case at least the full range of New Yorker English and the occasional dash or two–but mostly because of the environment it provides for when I program as a hobby instead of as an occupation. Windows provides some very nice tools, some them now even free, for building a Windows application, but it doesn’t make it easy to tinker.

What I don’t like about Linux is that it’s always a step or few behind environments that don’t require tinkering. The particulars of hardware support is always the worst. For example, I have a USB hard drive, and in order to save power and wear it will spin down after ten minutes or so of inactivity. It takes about five seconds or so to spin back up, and it used to be that Linux would wait about two of those seconds and then decide something must be wrong: even if you do end up reading from the device at some point, it’s probably a bad idea to write to it so let’s just turn the whole thing off before you do something dangerous. There was a way around this. I added a file to /etc/udev/rules.d that, when it saw the plugin event from this drive’s particular set of identifiers, would write some text to a file somewhere in /sys that would instruct Linux to chill out and maintain if it can’t read the device right away. This extra step became unnecessary a few upgrades ago, but still: this was a release version of a popular Linux distribution, and it failed in an annoying way that would never be seen in Windows or Mac OS. My annoyances today seem mostly to stem from the differences in GNOME and KDE, an ancient and boring fight between graphical toolkits that I only care about now because I use one for my music player and the other for everything else. Amarok wants to be able to watch for discs in the CD-ROM drive and iPod plugins, and if it happens to catch on to those things before GNOME, which is fortunately rare, it usually makes a mess. Linux has gotten a lot better over the years, but what’s most frustrating is that while it’s grown into something that feels much more like a real desktop operating system than it did back in the 90’s, it’s always fallen a little short of the mark.

The first Linux distribution I used was Redhat 5. I briefly used Slackware before switching to Debian by the time I went off to college, I experimented with Gentoo for a while after that, and I eventually became fed up with distributions in general and joined two other Tech students in creating Peachtree Linux (not affiliated with Sage Software or the Peachtree Accounting suite). After Peachtree’s demise I switched to Fedora because everyone else was using it. Fedora, by way of Redhat, has been a long constant in the Linux world, and I no longer cared enough about whatever objections I’d had to it before. Recently I realized that maybe there are other choices out there, and maybe I ought to take a look around and forge my own path. I ended up finding a lot more maybes.

What I want is a Linux distribution that provides a desktop environment where manual configuration of just about anything–network, display, sound cards, USB devices–is considered an exceptional event, preferably a distribution where these exceptions can be handled by simple graphical tools instead of a need to poke through a hundred text files in a hundred different formats. I’d like a distribution that can adequately walk that thin line between cool new features and stability. Additionally, I need to consider whether a distribution can handle the fourth task in that list above. Due to a mess of patent licensing and other legal concerns, distributions that are out to make a buck tend not to provide support for mp3s or several video codecs. So I need a distribution that can either turn a blind eye to this point of law or has a community that does, something like Livna, in order to easily play mp3s.

Debian might fit most of the bill, but I doubt it. Their “stable” release is famous for being hilariously out-of-date, and “testing,” a compromise created about eight years ago between the slow-moving stable and the unfiltered, buggy battle of the unstable distribution, is still a briar patch of surprises and daily changes. Also, while Debian is famous for creating their community-oriented model, opening to their users an unfathomable expanse of software choices, they lack the centralization or drive necessary to make the coherent environment I’m looking for. Gentoo is just a Debian that’s made some bad decisions and where an update means spending a week rebuilding the system from scratch. Ubuntu is a derivative of Debian, but built in such a way as to take advantage of the huge pool of community contributions but offer a friendlier environment on top of it. I don’t trust Suse or Mandriva (didn’t one of them go bankrupt?) to have grown past the mistakes I remember struggling with at Emperor, and I don’t think either is in a position to offer anything interesting. And then there’s Fedora. I’d like to like Fedora. Fedora’s problem is that every release contains some new thing that’s kind of cool and some new thing that’s horribly broken.

Fedora 9 switched from Redhat’s system-config-network, a tool that’s brought me joy and pain through the years on its own, to GNOME’s network configuration tool, NetworkManager. That all seems well and good, switch from the Redhat-specific things to the the new, generic things, but they left system-config-network running. I don’t know why and don’t really care–my guess is that NetworkManager doesn’t work in all situations and they left the old tool around to pick up the slack,–but the result is that, after whatever exciting races the two tools run at boot time, I get a DHCP lease about 95% of the time; the hostname isn’t set at all, even though I set it during the install, unless I add it to some text file somewhere, and I have about a 5% chance of being able to lookup names local to the LAN (like the name of the NAS box I need in order to get to the mp3s I can’t play). Fedora 8 brought pulseaudio, which appears to be an attempt to reinvent esound in a way that crashes even more frequently. As a bonus, after installing the compatibility layer that makes sound work on Youtube again, Flash becomes extra unstable and will bring the browser itself more often than not. Perhaps pulseaudio is meant as a madeleine to bring back memories of those halcyon days of Netscape 4. Sound in Linux is complicated. A lot of people made some bad decisions; I think the Fedora maintainers are among them. Fedora 7…I don’t know, I’m sure it had something wrong with it. Fedora 6 seemed ok.

But Fedora, or rather Redhat, has done a lot of things that I think are really kind of cool. Rpm, despite its flaws and godawful spec file format, is really the best package manager I’ve seen. It has an automatic dependency creation and resolution system that puts the hand-crafted three-level ridiculousness of Debian and its ilk to shame, and it was the first to figure out that it isn’t feasible to use a flat text file to store the kind of package data needed in any general purpose distribution. One Redhat-specific addition that I find pretty neat is the way it handles debugging symbols. While Redhat/Fedora packages are shipped without debugging symbols, as is the way of such things, it also has the option of installing unstripped programs and libraries in /usr/lib/debug. The Redhat-packaged gdb knows to read these files and can even tell you which debug library packages you’re missing for a particular program. It makes tinkering available and easy. I wish the rest of the distribution had that kind of thought put into it.

I’ve viewed Ubuntu as some kind of a hipster joke for most of its existence. When it came out I didn’t want an extra user-friendly desktop, I didn’t want something based on Debian, and I certainly didn’t want something with ads that looked like American Apparel joins the Peace Corps. With this distro-existential crisis I’ve been having I decided to cast off my prejudices and install Horny Hedgehog, or whatever the H release is called. There were a few minor things that annoyed me right off the bat, mainly the choice to make the trash can a tiny icon in the taskbar instead of a big one on the desktop, and the hoops I had to go through to prevent anything from happening when I plugged in my mp3 player when all I want in to get to it in Amarok, but overall the Desktop is pretty nice. Missing packages are available at the click of a button in situations where things go wrong (mp3 codecs, flash plugin), and I actually found myself getting annoyed when I had to change things outside of the available tools (like the music player plugin thing), getting annoyed at times where before I wouldn’t have thought it unusual to open a text file in one window and a dense manual in another and fix it by hand. It has a kind of cool feature where if you type an unavailable command in a terminal, it’ll tell you what package to install and what command you need to run to install it. And it’s removed the idea of a root user, instead making administrator functions available by prompting for the user password anytime an escalation in privilege is needed (or just silently doing it for people who know what to add to which file), something I think desktop-oriented systems should have done long ago.

As time wore on, it became increasingly obvious that Ubuntu’s main contribution is to offer a theme that turns everything brown. I guess that theme was really the first thing that irked me. I get it, founder dude’s from Africa, some of Africa is the color of dirt; please make everything not ugly again. H is a “long-term support” release, which apparently means that it’s still full of buggy software, but those bugs will be updated over the course of thirty-six instead of eighteen months. The bug that pissed me off the most was one involving the keyboard. I like to remap Caps Lock to act as an extra Ctrl key, because I hit Ctrl a lot, I don’t want carpal tunnel and I think Caps Lock is useless. This Ctrl key position is seen a lot on old Unix workstations, and it’s easy to set this layout in the GNOME keyboard preferences. The problem in Ubuntu is that once I did this, while the Caps Lock was Ctrling like it should, it was also toggling the Caps Lock LED. The bug was fixed in the new short-term support release, but I don’t know if the change ever made it back to H; I just figured out what to put in which text file and moved on. One problem I haven’t yet figured out is the little gray rectangle the sometimes appears in the top left corner of the screen. It looks like the corner of a window that’s been accidentally moved off-screen, and it’s becomes most visbile and distracting when I try to watch a video full-screen and the little rectangle stays in the foreground. It goes away when I close Firefox, and it’s something I never saw in Fedora. On the plus side for Firefox, flash isn’t so crashy anymore despite it still running through pulseaudio, but it looks like that’s because Adobe released Flash 10 while I was making this switch, so it’s probably fixed in Fedora by now, too.

So in all Ubuntu works mostly like I’d expect it to, but it’s especially noticeable when it doesn’t, and from browsing the forums and bug reports it looks like users and developers alike lack either the knowledge or motivation to do anything beyond making every program match their shit-ugly brown coffee stain theme. Sigh. At least some of the folks at FedoraHat know what they’re doing and maybe even get paid for it. I just don’t know. Fedora 10 is coming out in a couple of weeks. Maybe that one will be ok.

One Response

  1. David Cantrell Says:

    One thing that has irritated me with Fedora is what happened when we merged Core and Extras. Core was what used to be Red Hat Linux. A distribution more or less developed in house at RH and released with some kind of schedule. Extras was the community component. Lots of addon stuff.

    After Fedora Core 6, we merged Core and Extras. It took a long time for that change to shake out and I, personally, never liked the Fedora 7 or Fedora 8 releases. Fedora 9 is a much better improvement and I can say that Fedora 10 is also getting a lot closer at what I remember from the Core/Extra releases. But there are still issues.

    For one, I think the Fedora release cycle is too quick. It doesn’t give developers enough time to code. You get a really short window and the main push is to take whatever popular new things are out there and shove them in to the distribution and hope for the best. I think, but don’t know for sure, that there is a move to extend the release cycle for Fedora. It simply moves too fast for people to rely on.

    Back in the Core/Extras days, there was also the Fedora Legacy project. These people made security and critical updates for all existing Fedora Core releases until such time as they deemed it was not worth supporting anymore. Usually on the order of years. That was a fantastic service. People could install Fedora Core 4, for example, and get comfortable with it and know updates would be available. The standard line these days is “well, you should upgrade.” With such short release cycles, some people don’t even get a chance to try the current release before the next one is out.

    For these reasons, if someone who wants Linux asks me for a distribution recommendation, I say CentOS. That is, for the user who is thinking about Fedora, but just wants it for web browsing, playing music and movies, and word processing, I recommend CentOS. They want Linux probably because it’s free, so suggesting RHEL doesn’t make sense. But they don’t want to be told that three weeks after they get everything working on their Fedora system, it’s time to upgrade. They don’t care that the sound subsystem changes from alsa to pulseaudio because the end result to them is that sound still works.

    CentOS is a great service for those who like Fedora, but want a less rapid distribution. Since it’s a RHEL rebuild, it gets all the RHEL updates. And it’s supported for as long as we support RHEL releases.

    There is the EPEL project in Fedora to provide an Extras-like collection for RHEL. And you can also get Livna and other such things for CentOS (or RHEL).

    Personally, I’m enjoying MacOS X on my workstation with Linux in a VM. At the end of my work day, I can turn off Linux and stop tinkering and just use the computer.

Leave a Comment




XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>