Saturday, July 5, 2008

The Linux Killers

I'm always telling people about Linux. It's great! It's awesome! I feel like a Christian evangelist when I do this. I just feel so strongly for the operating system both as a substance of ethics and as a simply more logical, cost-effective, personalizable, progressive, unique solution for using a computer.

But then I usually hear from friends who are technologically inclined some kind of backlash against it. My distribution of choice is Ubuntu. And it makes me think that perhaps, after all these years of people saying, "Linux has really come into it's own," and being torn down by someone else proving them wrong that maybe Linux is really, truly, there.

This is what I hear:

  • You spend so much time configuring Linux that you end up not having any time actually using it.
  • Linux is too complicated for the average desktop user.
  • My software won't run on Linux

I would like to address these points. It seems like these are excuses to avoid a learning curve. I just don't understand the need to pay a couple hundred bucks for an operating system or at the very least, risk being arrested for software piracy, when you've got completely free-as-in-speech and free-as-in-beer operating systems out there that best Windows in all aspects.

Configuration
I recently installed both Windows and Ubuntu in a dual-boot configuration on my computer. Here is my experience with installing Windows:

  1. Windows gets installed first since I want GRUB, a third-party bootloader that comes packaged with Ubuntu Linux, to be my bootloader. I want this because it's easy to configure. Wow. The first step and I'm already making my decision based on how easy Linux is to configure compared to how difficult it is to configure the same thing in Windows.
  2. Insert Windows disk. Boot to it. Uh-oh. This Windows XP installer disk doesn't recognize my computer's HDD. Why? Because it doesn't have native drivers for SATA hard drives.
  3. In an existing installation of Windows, I download NLite, a tool to reconfigure and create a new bootable Windows disk from an existing one. I go to Gateway's site (the computer is a Gateway) looking for SATA drivers. I find one, but it's for Windows Vista only. So I have to search around there for model numbers, etc, and spend a good half hour finding an appropriate driver. I use NLite to slipstream the driver into the Windows installation disk. I build a new ISO. I burn that ISO to disk. Back to square one.
  4. Insert Windows disk. Boot to it. Cross fingers. Hooray! Now Windows sees my hard drive. Run the installer, partitioning the drive for 30GB to Windows, 70GB unaffected (this will be my Ubuntu Linux partition). Install Windows by letting the installer run, occasionally entering information like time zone, computer name, etc. Of course, these things are prompted for somewhat randomly, and in the middle of the install, so there may be a good five to ten minutes of idling while I'm away doing other things, unaware that these messages are currently on the screen. Yes, I know the messages will pop up during the install. I've installed Windows hundreds of times for hundreds of people, but I have dinner to cook and things to get on with in my life, so I step away during the mostly automated part of this.
  5. Thirty to forty-five minutes later, the computer boots to a Windows login prompt. I log in. I'm presented with a low-resolution desktop. I check the Windows Device Manager to find that I'm missing several drivers. These are video drivers, ethernet drivers, wireless network drivers, motherboard chipset drivers, modem drivers, and audio drivers. This means that my monitor will show choppy video at low resolution, will not connect to the internet or any network in any way, will not know how to work with the most rudimentary of hardware, connect to the internet via dialup (big deal, hah), or play any sounds whatsoever.
  6. Since I have no networking abilities, I go to a different computer and browse Gateway's site, Intel's site, Softpedia, and countless forums looking for WinXP drivers for this laptop. After several trips back and forth between two computers using a flash drive, and about two hours of trial and error, I have finally found all the necessary drivers for Windows. Everything works, but the Wireless connection is iffy because Windows has this problem where you may or may not need third party wireless connection manager software or services to get wireless cards working properly, and it takes me a few minutes to make sure I can actually connect to my wireless network.
  7. I don't feel like ever going through this much hassle over drivers ever again, so I make sure to burn the functional drivers to a disk and store it in a safe location with other computer software essentials.
  8. Now, I know there are going to be security problems here, so I go to download all the Windows patches. I spend another hour doing this, and several reboots, and finally have everything put together. Only, I know that I now have registry issues and wasted hard drive space because that's just how Windows is.
  9. I download a freeware Windows cleanup utility (these things exist in droves because of their inherent necessity). The one I like is called CCleaner, which is short for Crap Cleaner. This tool cleans Windows, which is to say they think that Windows is Crap. It cleans up a hundred megs or so of wasted hard drive space, and finds 152 registry issues that need fixing. I let it do its thing.
  10. So now I've effectively spent about three to four hours just to get Windows up and running smooth, but I've still got to install software like a word processor, anti-virus software, anti-spyware software, instant messengers, and more. I'm just not gonna bother with it now. It's already eleven o'clock PM, and I haven't even started my Ubuntu Linux install. Everybody knows that it's so difficult and time-consuming to configure that I don't want to waste all my time with Windows, since I'm clearly going to be up all night installing Linux and making it work properly.

So now it's time to install Ubuntu Linux. This might take a while. Here goes:

  1. Insert Ubuntu Linux live CD (standard desktop distribution format). Boot to the CD. I get a menu. I choose to run the Live CD. Within five minutes, I'm looking at a full-resolution (for me, that's 1440x900) desktop. There's an icon here that says, "Install." I double-click it.
  2. Over the first few screens, I tell it what language I speak, what keyboard I'm using, and what time zone I'm in. Then I go to a hard drive partitioner. Unlike the Windows installer, this will let me choose some simpler options (you know, like if I'm a n00b at installing OS's) like "Guided - Use entire hard disk" or "Use largest contiguous free space" which will let you resize an existing partition without losing data or making an OS suddenly not boot. But I've done this a couple of times before, so I choose the advanced method. It's nice that Ubuntu recognizes my hard drive, and even nicer that I can set up a new partition table in five minutes. I've got 512MB for my swap file (which will likely never be used), and the rest is for my OS install. The partition I set up for Windows goes untouched.
  3. I click "Forward" and I'm presented with a summary of my intended actions. I read over them. They say what I want them to say. I click "Install." A progress bar comes onscreen. It takes twenty minutes for the progress bar to fill, and it tells me what's going on each step of the way. Partitioning, copying files, package upgrades (which it skips, since I've opted to not connect to the internet), and then it's done. It tells me I can keep using the Live CD or I can reboot. I click the "Reboot" button that it provides for me.
  4. My desktop drops away. I get a decreasing progress bar. After a moment, I am told to remove the CD from the drive and press [Enter]. The CD is ejected automatically for me. I remove the disk and press the key. The computer reboots.
  5. I am presented with GRUB, my bootloader of choice, which has been configured by the Ubuntu Linux installer to include Ubuntu, a Safe Mode for Ubuntu, Windows XP (yeah, it detected that automatically), and a memory test application, which is nice if I ever have memory problems, but I admittedly have never used this function, despite its prescence in Ubuntu distros for a couple of years. I boot to Ubuntu in Normal Mode.
  6. My desktop is here in full resolution. I'm hearing logon sounds. Ubuntu is telling me that there's only one driver that it didn't automatically install. But it's not telling me it couldn't find the driver. It's telling me that Ubuntu does not have the legal right to install the firmware for my wireless network card without prompting me first. So it's prompting me. It installs the firmware upon my command, and all I've had to do is plug into a cabled network for the time being. All my drivers are installed, and I never had to go back and forth with another computer. Compared to the amount of time that it took to get this far with the Windows install, I'd say this configuration is going pretty quickly. It's taken me about one-tenth of the time.
  7. Not to mention, I don't need to install an office suite, because OpenOffice.org 2.4 has already been installed. It's a free one, and it's already reading the proprietary Microsoft Office 2007 formats. I have no need for security software, because Linux isn't about to catch a virus or any kind of malware anytime soon. My instant messenger is already installed, as well; it's called Pidgin, and it works as an IM merger between AIM, ICQ, GTalk, MySpace Messenger, Microsoft Messenger, XMPP, Jabber, and other protocols that I've never even heard of. I'm all set. I'm done.
  8. Now for the bells and whistles. I click on my Applications menu (the Gnome Desktop equation of the Windows Start Menu) and click Add/Remove... I run a search in the new window for "Advanced Desktop" and put a check next to Advanced Desktop Effects Settings, the first result. I click the Apply button. The package manager automatically downloads all the software dependencies and configures it all and then tells me it's done. I launch the configuration window from System->Preferences and a few clicks later, my desktop is fully functional with the extra benefit of having multiple virtual desktops and gorgeous, screen-rip-free transistions between them. Here's a demo (pops) of those effects.

All in all, configuration turned out much easier and less time-consuming in Linux than in Windows. In fact, I got farther with my Linux config than I did with my Windows config in a total of about one-quarter of the time. So, uh... myth debunked, I guess.

Complication
Let's get this one out of the way. Windows causes fragmentation of the hard drive because of its obviously inferior file system. Windows has the registry which is the primary target for evil-ware due to its blatant security vulnerabilities, and also contains erroneous data that even Windows itself can't seem to keep track of. Windows has an updater program for itself and separate updater programs for every other application it runs, depending on the application, so that at any given time that I want to do updates for my Windows OS, I have to run umpteen different updaters and reboot umpteen different times for no apparent reason whatsoever except that Windows has "tight integration," which is another way of saying, "one application crash always has the very frightening possibility of rendering my entire OS useless."

Ubuntu Linux (and most other Linuxes) do not allow hard drive fragmentation to happen. Period. No complication there. Linux has no "registry." No complication there. All of your applications get updated through a single updater program which also updates your OS, and only asks you to restart your computer when something really necessitates that action. No complication there. So... Where's the complication?

"Well," the Linux know-nothings will say, "there's the command line. You can't actually accomplish anything without the command line."

To which I respond: "Fool! You know nothing! Haven't I already installed the OS, installed software applications, not to mention new firmware for my wireless NIC without using the command line once‽"

Yeah, I even say the interrobang.

The point here is that leaps and bounds have been made to move the Linux user interface away from the command line and toward what we now consider a "desktop" approach. The Gnome Desktop Manager (GDM) and the K Desktop Environment (KDE) are two different ways that users can interface a Linux desktop, and even though I'm a fan of Gnome over KDE, I will recognize that both environments have innumerable benefits over the Windows desktop, especially in the way of simplicity with customization. I can't even begin to go into the details of all the specifics that can be customized within these desktop environments, but I can tell you it's very easy to do, and neither interface requires a single command at the terminal level to do any of that, nor do they require the editing of any configuration files. You can even have the option to boot into one or the other at any given time. You can swap back and forth between desktop environments at the click of a button!

So if both Windows and Linux are just as easy to configure, and you can get more out of a Linux desktop than you can out of a Windows desktop, then where's the trouble? Another myth debunked.

Software
Your software is written for Windows, compiled under Windows, and therefore will only run under Windows. Half the time you'd be right. The other half of the time, you'd be wrong. First, you have to understand that anything written in the Java language can be run under Linux just as easily as it can under Windows. There is no difference whatsoever. Second, you can always see if the same software is available under Linux. It might be, but this is a case where I will admit that you'd be stretching for hope. However, the real solution is to find an open source version of the software.

Need MS Office? No you don't. Strip yourself of your petty dependency that costs money every three years when Microsoft decides they need to rape your wallet. Use OpenOffice instead. It's already well caught up to MS Office, and updates are frequent. The development of open source software is much faster by nature than the development of closed-source, license-ware, copyrighted software. The fact that the market is not willing to pay $150 every month for a new version means that feedback and development cannot be addressed in a timely manner.

Need Microsoft Money? No, you don't! Try Home Bank. It's open-source. It's free of charge. It's just as good.

Linux has free, open-source software solutions for all of the following categories:

  • Office Suite
  • Finance Management
  • Screenwriting
  • Email
  • Secure web browsing
  • Instant Messaging
  • Computer Programming
  • Web Page Development
  • Note-taking
  • Casual Games
  • High-speed 3D First-Person-Shooter Games
  • Commercial Games, like Penumbra: The Black Plague (pops)
  • Advanced Graphics Editing
  • 3D Modelling
  • VOIP Phone Dialing
  • Media Playback
  • iPod and other portable media player interfaces
  • DVD Playback
  • CD/DVD Burning
  • Professional Audio Recording/Editing
  • AND MUCH MUCH MORE!

And if for some reason, you can't find a viable, free of charge substitute for your paid-for Windows software, you can always try running it under WINE. WINE stands for Wine Is Not an Emulator. It's basically a rewrite of the majority of Windows system files for Linux to allow Windows software to run in a Linux desktop environment. MS Office runs under WINE, if you're really that attached to it.

And if that's not enough for you, it should be said that all of this software is available to download and automatically install and configure itself through a simple point-and-click interface, without ever having to insert a CD or manually locate a misplaced installer file.

Myth debunked again.

All that said, there are some cases where Windows is better. Commercial gaming, while present on Linux, hasn't reached full force here, so for the latest and greatest games, Windows is a better choice for you. But since Linux allows you to dual-boot so easily, why not make the switch? Where are the detracting points? They can all be debunked. Why? I hate to say it because it's been said so many times before now, with limited truth, that Linux has truly come into its own. With a little extra popularity, it can become the operating system, or set thereof, that puts Microsoft in its place.

In other news, Bill Gates is retiring this month. Coincidence?

No comments: