Tuesday, January 04, 2005

Will Linux Save the World?

First off, I'm not going to say much about the tsunami. I will explain to those who may have been dissapointed that our (sic) President did not come out with any sort of statement from his Crawford ranch immediately following the tsunami should understand that he can't actually pronounce the word tsunami, so he was advised to let Colin do it. However, we did notice that the pledged amount of aid did increase tenfold after the first announced aid package. This was not, as some assumed, out of embarrassment at our perceived hearltessness (the original 35 mill couldn't buy a decent football stadium) but rather was due to an unusual event. Evidently, Mr. Bush actually watched the news one day...CNN I think it was. And judging from the interviews and stories, Bush quickly realized that, despite the location of the tsunami in Asia, only white people were actually involved and had harrowing survival tales. There was even a SUPERMODEL for God's sake. So, naturally, the aid was upped.

But that is not why I write today. Today is a day to muse and vent. I have been prodded for some time by the mysterious M to switch to a Linux operating system. Better security. Well, I have to admit, I don't have much top secret stuff on my PC, but the proliferation of spyware, adware and viruses got to be too much, so I decided to give it a shot.

First off, let me explain for the uninformed what Linux is. Linux is an operating system, which means that thing which gives you error messages when you try to perform some function on your computer that worked fine ten minutes ago. Linux users were tired of what many call the "blue screen of death" provided by Windows, which gives you an indecipherable error number as you crash. Evidently, Linux users don't like blue.

Linux is part of the open source movement, which means that people get together and create software for other people to use that is free or very inexpensive and which does not monkey about with the program so that regular people can't get in and look around and tweak things as they see fit. Much of the software in the open source movement is created in a highly collaborative fashion as people from all over the world contribute pieces or help make the program better. A fine example is Open Office a collection of software that rivals Microsoft Office in every way but price. You see, Open Office is free. In fact, so is the Firefox web browser from Mozilla, an essential tool in this pop-up and adware flooded internet of ours.

Linux, too, is open source and can be free or available from various places for the cost of a few cd's and postage. There are also commercial installs available, but you are primarily buying support as most of the program is available free of charge elsewhere. If you don't want to buy cd's you can copy them from many sites, though this starts to get a bit tricky. More on that in awhile.

Right now, I want to point how fine an idea this open source movement is. Imagine, people from all over the world discussing and designing very sophisticated software together for no other reason than they enjoy it and want to make good software available to others. You see, evidently it is possible for people to work hard on creative and useful projects for reasons other than PROFIT. Yep. You can practically hear Homeland Security knocking on my door now. Such thoughts will get you a free lifetime pass to Gitmo. I wonder if Fidel will liberate that prison soon....

In any event, what a fine example for the world. I think it mirrors, in some way, some of the anti-globalization work of recent years. No central authority calling the demonstrations....many different kinds of folks getting together for a cause..planning decentralized and adjusted to needs and events as they arose....intelligence agents dressed as turtles...all features of the open source movement...except maybe the turtles.

Open source, at its core, challenges fundamentally the most basic doctrine of American civil ideology: that profit is the only incentive for productive labor and that profit is the most important criterion around which our economic and even political structure should be built. Please do not underestimate the radical nature of this challenge. The only reason it isn't yet too visible is that the open source movement doesn't do much PR work. However, because of the internet, word does seem to spread, and as better and better open source software is developed, more and more people will switch.

Which brings us to Linux. If you are going to challenge corporate control of computers, ya gots to face Microsoft, and building an alternative operating system that people can use free of charge would seem a fine way to do that. Linux was initially designed by a guy named Linus Torvalds. He is still running the show when it comes to figuring out what goes in the "kernel" or core of the system. Much of the code currently found in Linux, however, has been created by others, which is, of course, the whole point. Whatever things Torvalds may be, certainly an egomaniac can not be one of them. He keeps a low profile and only jumps out occasionally to tell Microsoft to fuck off.

So, with fear and trembling, I began my own journey into the world of Linux. I've had, I'm sorry to say, mixed results and will in this article, and perhaps others, share some of the pitfalls that I experienced.

Here is the main problem with Linux: Delusional users. I hate to be cruel, but they are. As far as I can tell, the people who are the bigges advocates of Linux are completely unaware of how much more computer savvy they are than the average Windows user contemplating a switch. While many versions (called "distributions" or "distros" in the lingo) sport very cool graphical interfaces which can do just about everything a typical Windows OS can do, there is a pretty high level of sophistication one needs to get everything into working order. Here are a few issues I've hit already.

First off, I got a great book called Linux for Non-Geeks by Rickford Grant, who is not a computer professional, but is an English teacher. Hence, once can actually read his prose. The book, like many books on the Linux operating system (OS) comes with cd's included so you can install it yourself. In his case, it is a version put out by a commercial company called Red Hat. They put out a free version of their OS called "Fedora" while they try to make money by selling products to corporate America. So far there have been three big versions of Fedora, called cores 1, 2, and 3 or FC1, FC2 and FC3. The book comes with FC1, obviously the oldest version.

A word of warning, before you continue. This book and others on the net will tell you that you can install "dual boot" (i.e. also keeping Windows on your system so you can go back and forth between the two as needed) but they will be disparaging of this idea. "Hey, why bother with both? Just plunge right in!" This is the worst possible advice I can imagine and it is indicative of the delusional nature of the Linux community. More on why this is bad advice as I share some of the issues that arose.

But back to my first install. I had no choice but to go dual boot, as my step-daughter plays a game on my computer that she's quite addicted to. Games are one thing that are very limited in Linux.

Oh...yikes...first issue. You see, your computer probably just has one hard drive, the place where all the files and programs are stored. Well, it turns out that you can divide that hard drive up into pieces called "partitions" and you'll need to have a second partition on your hard drive in order to go "dual boot" with Linux and Windows. Small problem. Windows, by default, leaves no unpartitioned space on your hard drive. It calls the whole thing "C:" and puts in all in one big partition. There are no tools on Windows with which to change this. This belongs in the category of things I should have known BEFORE I started this project. There are ways to change it, but all of the ways involve a real risk of losing data, so backups are key.

In my case, I went to Best Buys and found a 120 GB hard drive on sale for 60 bucks after rebate and had a 50 dollar Visa gift card from Christmas. Not too bad. New hard drive for 10 bucks. And I can partition it however I damn well please.

I installed the hard drive and then popped in the Linux FC1 CD and rebooted. Oh, but if you aren't that computer literate you also need to be told how to get into your BIOS (built in operating system that's there even when no operating system is yet installed on your computer) and tell it that it should look in your CD-Rom for to get its boot (startup) information. I'm not going to walk through how to do this, but the point is that many Windows users don't know how to do even this, and need a clear explanation.

Luckily, I already knew how to do that and the rest of installation was easy, but only because of the book. There are very specific ways you have to configure your hard drive, and while it can be done automatically, it sure makes you feel safer to have good documentation around.

Oh boy, I did have some fun after that. You can customize and configure everything and it was fun to play around with some of the easier settings. However, there was PROBLEM NUMBER 1....

My computer seemed to be moving slowly, and when I used a system monitoring tool to check things out I saw that all 384 MB's of ram (Random Access Memory, which programs use to actually DO stuff as opposed to record data on) were being used as well as some of the "extra" memory set aside on the hard drive for this purpose (called a "swap file"). 384 is not a small amount of RAM and should not have been needed just for the operating system itself to run. I didn't even have other programs open yet. This was a PROBLEM.

I went to some online forum to ask for advice. I got back this helpful, if curt, reply: "Switch to FC3. FC1 is buggy."

Okay, now I had thought avoiding the blue screen of death or its equivalent was one advantage of Linux. Well, that is a myth. Unless you are HIGHLY skilled, you should expect many issues, bugs and quirks, which can take some time to track down and correct. Linux users love how easy it is to actually get in there and change code as needed...but until you learn how, it's actually more difficult than Windows to configure. This is the piece of information that the Linux community does not seem to be honest about (dishonest as in delusional...not hostile). So hear me now! Plan to have various problems and lack of functionality as you learn what you are doing. PLAN ON IT! Keep Windows so you can have some of those wacky extras like sound and printing, which are two areas of likely problems for your Linux pleasure.

It also doesn't help that there are a wide variety of "distributions" which might use different cores. They might have different ways of doing the same thing. This adds to the learning curve.

In any event, I went and downloaded the disks for FC3. This, in and of itself, is an adventure and if you don't have a highspeed internet connection, you'll need to shell out some cash for cd's and postage. Anyway, you research which distribution you'd like to try and search for one of the many places that make the cd's available for download. These come in "iso" files, which are exact copies of the cd and may require some special handling in order to put them on your own blank cd's. Pay attention! You may not be able to simply drag them into your "Write to CD" window. Again, since this isn't a how to I won't get into that, but if you don't know anything about it, there's another little bump on the road to your Linux life.

So hi-ho, hi-ho, to reinstall I go. Again, it goes fairly smoothly and I have fun tweaking and downloading extras. Oh, about those "extras." Windows does a pretty good job of letting you hit a button when you don't have some of the extras you need for internet viewing (called "plug-ins"). In other words, if you go to a site to watch a movie trailer and it is in the "Quicktime" format, and you don't have Quicktime, you can usually click one button and have it done for you. And, to be fair, there are sometimes this is true in Linux as well, or at least almost as easy. But if you want things like Flash animation, the RealPlayer, etc, installation can be a challenge. Quicktime won't happen at all. Be prepared for some time spent dealing with these issues.

I guess I should back up and say that there is a great deal about Linux that is different but is not really THAT hard to learn...especially with a well written book (as opposed to some of the tutorial sites on the web I've seen, I've yet to find one I could recommend to you.). However, much of Linux's power comes from the fact that you can do things directly with text based commands and simply tell the system what you want, rather than trying to figure out what to click or be limited by preset choices. However, this command line stuff ain't easy. First off, you have to get a good sense of how the files are structured and how to navigate among them in command mode (sort of like DOS mode for windows, but a Linux power user would probably kill me for putting it that way!). Then there are all the commands themselves. Here's a sample for when I was trying to install a driver (the program that makes a piece of hardware go) for my soundcard:

cd /usr/src
mkdir alsa
cd alsa
cp /downloads/alsa-* .

Now unzip and install the alsa-driver package

bunzip2 alsa-driver-xxx
tar -xf alsa-driver-xxx
cd alsa-driver-xxx
./configure --with-cards=via82xx --with-sequencer=yes;make;make install

And that was the easy part. Later, it told me to use the "modprobe" command which simply returned a message of "not a valid command" so it was back to square one.

I was trying this because, inexplicably, my sound stopped working. The little test utility got sound, and my soundcard was detected correctly, but when I went to play movies on a web page, no sound. A quick search found that this is a VERY common problem, at least for Fedora and especially for my little cheap, built-in soundcard.

Finally, even though I'd already done a lot of work setting up my system with importing address books, setting up email, installing plug-ins, etc., I decided to do a clean reinstall. This fixed the problem, which I think resulted from having updated a file which I this time left alone (the ALSA file, if you wanna know, though I'm not really sure that's the issue). Cool. I have sound.

What I don't have is a printer. Oh, it detected my printer...but only printed in blue???? I went and learned how to configure using CUPS (love the lingo) which you can do through your internet browser (did you know you can use your internet browser to browse your own system?). This looked like I was on my way to success but I made the mistake of cancelling a print job in the middle and it wouldn't cancel, or finish printing. Even a reboot left it in the cue. It's still there. Mocking me. Until I can figure out how to ACTUALLY cancel print jobs (since hitting "cancel print jobs" doesn't work) I can not print while booted in Linux. This is a rather severe drawback. Printer issues, I have since discovered, are also quite common, but the Linux community won't tell you that up front. "Why bother keeping both systems...you don't keep your old car after you buy a new one do you?" Well, yes, if I'm not sure the new one has brakes that work.

Anyway, it is not all the fault of the various Linux builds. Much hardware and software is made by big corporations who will not share what is called the "source code" with outsiders. Without that source code it is very difficult to make drivers or create compatible software. However, HP, the maker of my printer, has cooperated with the open sourcers, but still I have a stuck cue and no chance, for now, of printing in Linux. As digital photography is a hobby, printing, and a high degree of control over printing, is important to me. I haven't even tried to put my Compact Flash card reader into the mix yet.

So what's the point of this rant? Well, I am SOOOO ready to embrace the open source computing world. It is philosophically in line with how I think the world should and CAN work. However, somebody needs to tell the Linux folks that it isn't actually that easy and certainly not intuitive and to be honest when talking to new users. They will need some better tutorial sites (maybe I just haven't found them yet.) For example, the one on linux.org spends a great deal of time on commands before giving you any hints that you can actually do some stuff by pointing and clicking. I brought this up in a forum, actually, and the only reply was that "the command line functions are what make Linux so powerful." Yes, and so alienating to new users. Start basic and work up from there. Not a hard concept.

All that said, the way to make things better is for me to dive in and make my own contribution. It won't be programming, I imagine, but perhaps I can help make some how-to's that work for average Joe Windows-refugee. However, that is highly dependant on how easily I can learn to make my own system go.

Until then, if you have some computer savvy and can figure out how to resize your partitions on your hard drive, I would recommend you help the movement as well. It costs nothing and even if you have issues with Linux, it shouldn't mess up anything on the Windows side. Since it is not corporate and they have no PR, the only real hope is for the next level of "average" users to take an interest. This won't happen until things get a bit easier to understand, and that, in turn, won't happen until the current Linux community realizes that things Linux are NOT, in fact, that easy to understand.

Side note: Any seriously talented Linux people out there interested in making a good how-to site? I mean very basic level, like "What is an operating system?" I think it would be worth doing. Send me an email if you are interested.