Foo to you, hardy heron!

Foo to you, hardy heron!

Using Linux is like being a third-class citizen in a troubled autocracy. Windows and Mac users can click on things and expect them to work, Linux users have to tread lightly and do their best not to upset the OSS or alsa daemons, or go too far in hoping a Flash plug in might actually WORK!!

I’ve been using Linux since 1992 or ‘93. I’ve always had a Linux box around. It’s been an experiment that’s kind of lasted 15 years. Given my predilection for technology experiments, I suppose I’ll always maintain a Linux box on the side. But every now and then, I succumb to The Urge. I take one of my main computers, this time my home office PC, and install a Linux distro as the primary OS. Only when you do this do you really start to understand where Linux stands and what holes need to be filled. And when I say holes, I really mean gaping cavities that would put geological marvels like the mighty river Indus to shame. But let’s not get caught up in the semantics.

I’ve used tons of distros; Slackware, debian, Puppy, Mandrake, Damn Small Linux (DSL), Suse and Ubuntu. My latest adventure involves Ubuntu Hardy Heron (8.04) with a 2.6.24-19 Kernel. I’m running this on a 3 Ghz Pentium 4 rig with 2 GB of RAM and a couple of 80 GB disks. Not by any means, a slow machine.

So, what are my findings? I’ve been running this thing for 3 months now and have been using it daily. The good news is that the install was relatively painless, my NIC was recognized and so was my display. I have a widescreen LCD and the resolutions were picked up just fine – all goodness, and a far cry from the xf86config days when you had to manually select GPU clocks and the like.

Now, the bad news. In the course of usual business, you keep running into irritating limitations mainly around Linux being unsupported by so much of the new stuff out there (hardware, applications, websites.. you name it). Also, I keep running into system oddities that take a LONG time to debug and figure out. Combine this with the fact that Linux has been robbed of its stability and performance, and you’re in for an unpleasant ride. I’ll give you some examples:

1) The sound config on my machine is really wierd. At times it works ok, and then sound just stops. I think it’s the alsa daemon that keeps core dumping. When I manually restart it, things return to normal, and then it’ll go away again. Bloody irritating.

2) I had to go to lengths unrequired by Windows in order to configure Sun’s VirtualBox to run audio, but once I did, it worked. Indeed, when you run a Windows VM it outputs audio just fine. The problem, of course, is that the host Linux OS no longer does! I can go in and try to debug this and figure out if it’s a permissions issue or if VirtualBox is trying to talk to hardware directly, bypassing alsa or whatever other evil dynamics exist. But I will gain very little at the end of all this and I really can’t afford to waste so much time debugging everything manually in order to get little things to work that have been working on Windows since the good old days of 3.1. This is no longer fun. It’s miserable.

It’s not just hardware interaction stuff that causes you to tear your hair out. Commonly used apps like Flash are casualties too. If I want to upload an image to this wordpress blog when I’m using my Ubuntu box, and I naively attempt to use the default Flash uploader, it never works. The content area in the browser window is grayed out indefinitely. You have to use the HTTP upload functionality and God forbid you forget! Using Linux is like being a third-class citizen in a troubled autocracy. Windows and Mac users can click on things and expect them to work, Linux users have to tread lightly and do their best not to upset the OSS or alsa daemons, or go too far in hoping a Flash plug in might actually WORK!!

3) New apps, even when they’re released by the Champions of Free, Google, are unsupported on Linux. So what that tells you is that Linux is and probably will forever remain second or third class. Anytime a new app comes out, you’ve either got to wait for a low-quality, feature-poor knock off in the OSS domain, or wait on the developer to finally come out with the Linux version, if ever. In the case of Google Chrome, here is what I see when I try to download the new Chrome browser for Linux:

Google's Chrome development team prefers Windows

Google's Chrome development team prefers Windows

And oh by the way, yes, I do know some guy on the web got Chrome to work with WINE. Whatever. WINE is about as stable as a drunk trying to walk a straight line. I’ve unfortunately been using that for years also. I currently have the latest released rev which continually bombs and pegs the CPU to boot. I am not going to run Chrome under WINE (sort of sounds like Chrome running ‘under the influence’) and I doubt very many others will either.

Eventually Google will come out with Chrome on Linux, which won’t be as stable as Chrome on Windows. Just like Firefox on Linux is not as stable as Firefox on Windows. And there’ll be sound integration problems, and plugin problems and all sorts of other misery… The upshot is that I waited several extra months to get my hands on what Windows users had for a long time ago. And when I got it, it was uglier, slower, fatter and generally the sort of thing that ruins your weekend.

4) Video playback on Linux is, let’s face it, still a nightmare. Having tried three different video players (VLC included), I’ve found that the behaviour of codecs on Linux is much less stable than on any other platform I’ve used. This is still the case, as of September 2008. I’ve tried a dozen codecs. I truly, really wanted this darn thing to work. I get playback but with an FPS rate Windows 98 readily produces on a Pentium Pro!

5) The mythological stability of the Linux OS is officially GONE now. Argue with me all you want, but Elvis, my friends, has left the building. I’ve used both platforms sufficiently to know the difference. Linux today, out of the box at least, with a mainstream distro like Ubuntu is both SLOWER and LESS STABLE than Windows. Flame away. It won’t change the truth. I have more inexplicable Firefox crashes on Linux, I have more instances when my screen grays out (GNOME does this when an app isn’t responding) leading to either the app disappearing and the screen ‘ungraying’ or me having to kill the process the old fashioned way. Good old ps -x, hunt for the PID, kill -9 it.

6) Process bloat. Those who complain about Windows running a lot of processes, blah blah, should do a ps -x | nl on the command line as root. I’m counting over 70 processes right now when I have TWO applications running… Firefox and Open Office’s Calc spreadsheet.

7) Bad resource management. I don’t mean this to be a lecture delivered in an Operating Systems class, but just take a look at the following image. I don’t have any Flash playing under Firefox, I don’t have any active apps or heavy Web 2.0 Javascript type apps running at the moment. And yet, Firefox usage is 56% of a modern, 3Ghz CPU. What the HELL!!??

Firefox consuming 56% with no heavy Web 2.0 apps, no Flash...

What is Linux good for? Maybe a minimal kernel that’s been thoroughly tested to run a single app in kiosk mode? Maybe as a way for embedded device makers to save some RTOS royalties by massaging a Linux kernel to run a couple of their point-applications? It certainly continues to have utility as a server platform that doesn’t need to worry about the peripherals an end user needs, or compatibility with the latest graphics stuff you would expect to pick up from a typical computer store, or any semblance of UI uniformity and ease-of-use etc. Also, netbooks and UMPCs like the MSI Wind, eeePC etc. are using Linux primarily to keep their costs low, but also, the limited apps you’re going to run on a platform like that can probably be caressed and cajoled into working when the hardware manufacturer is involved in building the specific Linux kernel, and hand picking the apps that go on to the device.

When it comes to the desktop, I think Linux is not ready and the question is, will it ever be? I don’t think so. I think we’ll sooner migrate to apps in the cloud where Chrome, IE and Firefox running fast JavaScript engines will allow us to do most of our stuff online. Ironically, that might be a simpler target for the Linux community to aim for. Let the browser be the “Window Manager”, cut the kernel down to the basics, remove some of the bloat – which should hopefully restore a bit of the speed and stability we used to have 10 years ago with Linux – and just try to make it a great platform to run Cloud apps.

Meanwhile, here in TechLahore Land, I’ll be scrubbing Ubuntu off my drives and moving to Vista-SP1 (been running fine for me post SP1, thank you). Maybe next winter I’ll come around, like I always do, and give the latest distro fare another try. Until then, adios penguin!