Ubuntu is the only game in town

Due to a variety of problems, some caused by me, I ended up re-installing Linux and Windows on my main desktop machine this weekend. Given that I was re-partitioning and re-formatting and such anyway, I thought I'd take the opportunity to sample the various free operating systems that I normally wouldn't try out. It was an interesting experience. Here are some of my reactions:

  • Windows: Excruciating, but at least reliable. It took well over 20 reboots, and hundreds of clicks to get Windows to a barely usable state. No hardware was auto-detected. Sound didn't work out of the box. The one saving grace is that I never had to edit a text file, but I did have to know the vendors and model numbers of at least my motherboard and my sound card to get it to work. However, it does have the nasty habit of totally killing your boot sector immediately when you put the Windows CD in, so it did have the benefit of being installed first. I suspect the BSDs would have fared better with this advantage. It never ceases to amaze me that basic functions like copying files do not work on Windows; even a simple cloned install of World of Warcraft doesn't work, presumably because some registry keys are missing. On Linux, my entire home directory was cloned (between different architectures, even! i386 to x64) with no difficulty. This includes a cloned installation of WoW with Cedega, which ironically I can now play on Linux, but will take 5 more hours of installation to be ready on Windows.

  • Ubuntu Breezy: EVMS crashes hard and often on newer Intel motherboards. is still trying to figure out why, but I've given up, especially considering that the problem seems to be fixed in newer kernels. The installation experience, however, was smooth - with the exception of setting up the proprietary drivers for X, which was a simple matter of copying over my old xorg.conf. One reboot.

  • Ubuntu Dapper (Flight CD 2): Identical to Breezy installation experience, except everything was faster and more stable. The bootloader disabled my USB keyboard though - why? It turned back on immediately when I got to the installer. EVMS problems appear completely gone.

  • Fedora Core 4: Very slick looking installer, but harder to use than the Ubuntu one. The partitioning setup was especially grating: I started with Fedora and later had to back out to an Ubuntu install to get the disks set up as I wanted (I didn't want to put any of my OSes on primary partitions since I was installing so many). It didn't recognize my network card - I have a bog-standard onboard card, supported by the linux e100 driver. I even entered it in their network configuration window. I typed in its IRQ. It is almost 2006, and I typed in an IRQ. Still, it did not work. (An IRQ though? Why don't you make me twiddle some jumpers during the install, or ask me to enter a modeline by hand? Seriously, redhat, welcome to the nineties, we do not type IRQs into text fields, or for that matter anywhere, any more. Put this on your big Web Two Point Oh checklist, pundits: do not make your users enter a damn IRQ.)

  • Gentoo: booted a liveCD. Recognized my hardware almost as effectively as Ubuntu. (I didn't figure out X configuration; something was wrong with the integration with proprietary Nvidia drivers.) After three hours of compiling things, though, I just gave up. Who has the time for that? (Keep in mind I am saying this as a guy who had the time to try to install like ten operating systems.)

  • FreeBSD: Can't install on logical partitions. Didn't recognize my network card. Didn't recognize my sound card. Didn't recognize my video card. Couldn't mount a USB thumb drive. I got what looked like a kernel panic when I accidentally pushed a key that was not listed on the menu in "fdisk". Red Hat at least gets points for trying. I keep trying to think of a reason why anyone would install a BSD but every experience I have like this reinforces my prejudice that it is just a slow, buggy linux.

  • DragonFlyBSD: Same as FreeBSD, but with a shell prompt and no installer.

  • FreeSBIE: Booted, started an X server, but that was it. Still couldn't recognize my ethernet card. I could install onto a secondary partition from here, but the directions for formatting partitions appeared to be incorrect (or the code for dealing with partition tables is buggy, take your pick).

  • ReactOS: technically booted, but couldn't recognize the CDROM, so couldn't bootstrap into anything useful.

  • Syllable: wouldn't boot.

  • NetBSD: wouldn't boot.



I don't have any plans to offer any deeper insights into this process, or help anyone install any operating systems as a result of this little rant. I have also made no attempt to be fair, and I don't want to do this again any time soon, so if your favorite operating system got trashed here, don't bother to tell me that I'm not being fair. Think of it as a pop quiz!

Thank you, Ubuntu, for providing me with an operating system that can perform basic functions such as networking and playing sounds without installing a million extra drivers. It seems like you are the only one that can do these things. Now could you please make it so that crazy Enterprise Systems do not cause my computer to crash horribly at random.

Unreasonable Defaults

This is really just some useless whining, but my name is glyph, for goodness sake. Sometimes I just need to complain about fonts.

Firefox for Linux always seems to ship with the crappiest possible font configuration. Why? This is what the fonts look like by default on a fresh install of Firefox 1.5, and also in Ubuntu's unreleased "Dapper" distribution's current 1.5 package.


badtext


Now, here is the same text rendered using fonts that are packaged with the distribution, and in fact, almost all Linux distributions these days:


goodtext


"FreeMono", "FreeSans", and "monospace". Was that really so hard?

Python Namespace Problem

This problem periodically comes up, and generally an unsatisfactory solution is proposed, the cure is worse than the disease, it's rejected, and we ignore the problem for another year.

The 1:1 correspondence of modules to files in Python is handy, but sometimes inconvenient. I would like to be able to write large, complex packages in Python but constrain the interface that they present, so that users only have to import one module in order to use them.

What is a good way to do this?

Don't Say I Never Did Nothing For You

An astounding variety of people have been bothering me lately about Windows support for Mantissa, which I guess is emblematic of Divmod's recent success with its new infrastructure, so good. Unfortunately I, too, have been forced into the grimy nether-world of win32 lately, so I thought I'd make sure that things actually work properly.

Surprisingly enough, after a bit of tweaking, they do.

As of today's Divmod repository trunk, install command-line SVN, PuTTY, and Python, make sure they're all in your %PATH%, and then click on this:

You should then be able to do this:


Voila.

Okay, I cheated, but only a little. If you don't comment out ClickChronicle in Divmod.pth, you'll get a slew of harmless tracebacks in addition to the useful output given there.

Last Chance To See

Just a final reminder: I still need help moving tonight. I still have some rather heavy furniture to move, so if you haven't come out yet, please consider doing so. I would really appreciate it.

Thanks very much to the crew so far, especially JP and Itamar, both of whom showed up on two days.