Home

Why I will not be buying Windows Vista, and a gentle introduction to Linux

Steely Dan and Lisa Loeb à la Cybernetic Poet

Piet Mondrian meets Andy Warhol

Language: facts, fun, foibles, fascination, and faraway places

The canonical list of funny definitions

Sights and sites in Microsoft Flight Simulator

Astronomy in Microsoft Flight Simulator

Principles of good web design: how not to make me hate you

Hilary Hahn and Lara St. John

Psychology: humor, tricks, and how things work up there

André Breton

Marcel Duchamp

Assorted poetry

Quotes

My writing

Humor

Links

About op. 44

Email

Why I Will Not be Buying Vista

Or any other Microsoft product, for that matter

 

Windows burp

I was dumbfounded to discover that installing Linux was easy. Why? Well, the world has changed. No more do you have to understand everything about Linux before you install it, downloading the many chunks of code necessary to run a complete system and getting them all to work together. That was BSW--before shrink-wrap. With companies such as Red Hat and Corel putting all the software you need in a box, the pain is (nearly) gone.
--John Schwartz, Washington Post

That was written in December 2000 by a journalist, not an übergeek. (In fact, it's so old that there is no such thing as Corel Linux anymore.) All that FUD you hear about Linux being so hard to install hasn't been true for years. Hopefully, this page will make things that much easier for you.

Introduction (you are here)
Comparing Windows's and Linux's installation processes
Installing Linux on a laptop
Tips on dual booting
Installing applications on Linux vs. Windows
Linux applications that do what you're used to from Windows apps
Defragging hard drives in Linux
Five handy console shortcuts and one super-useful shell script
Picking a distribution: yet another viewpoint
A note to electronics and software manufacturers
Parting words


Personal Windows XP uptime records:
     Longest: 16 days.
     Shortest: 3 seconds. I'm not kidding. And I'm not even counting the times it
               would lock up while rebooting from a crash.
Personal Linux uptime records:
     Longest: 452 days. That's 1.24 YEARS of consecutive uptime from my file server.
     Shortest: 87 days. The Kubuntu box was still going strong when the power went out.
The longest was on the Debian box; it was rebooted for an upgrade from 3.0 to 3.1.
This box isn't likely to break its own record because it is no longer on a UPS. It is
also on some older, flaky hardware which acts up occasionally.

Boot time comparison:

OpenSuSE 10.0
Boot: 76 seconds
Shutdown: 27 seconds

Windows XP SP2
Boot: 117 seconds
Shutdown: 34 seconds

Hardware:
AMD Athlon XP 3000+
1 GB Geil Golden Dragon PC3500 dual-channel DDR 2-3-3-6
ASUS A7N8X-E Deluxe motherboard
Windows has a dedicated ATA 100 Western Digital WDC 2500 Caviar Special Edition with 8 MB cache
Linux has a dedicated ATA 100 Western Digital WDC 300 Caviar with 2 MB cache
This means Windows takes longer to boot even though it is on a faster hard drive!

I have bought, owned, or had preinstalled a copy of the following versions of Windows:

  • Windows 3.1
  • Windows NT 3.51
  • Windows 95
  • Windows NT 4.0
  • Windows 98
  • Windows Me
  • Windows 2000
  • Windows XP

While Windows Vista is the most hyped operating system since Windows 95, it is also the first Microsoft OS I won't be buying in 15 years. Though I use Linux for everything except games, Linux is only one of the many reasons I will never buy another Microsoft product again. Microsoft's customer service department is the biggest reason. Rather than reinvent the wheel, here is a message I posted to comp.os.linux.advocacy in 2004 giving a quick summary of Microsoft's submoronic service.

Way back when, when I was still in college, the bookstore had a deal
where you could buy any Microsoft product for only $20. Not a crippled
"Student Edition" or some such nonsense; these were the real products.
You had to have a valid student ID, could only buy one, and had to sign
a Microsoft licensing agreement.

One day, my cheap little CD-RW drive went kaput and scratched my
Microsoft Office XP disc. It left a nice circle-shaped gash along it. No
big deal until I had to reinstall Windows because I bought a 250GB HDD
and wanted to make it the primary drive. Since I had to reinstall
Windows, I also had to reinstall Office XP. The CD was munged, so it
wouldn't work. I thought "OK, it will only cost them 17 cents for the CD
and 37 cents for a stamp, so I'll call them and have them send me a
replacement."

When I did, I was asked what it said on the CD. I told them and they
replied, "We don't support that." I asked why and they said, "You only
paid $20 for that. The full version is almost $400. You can buy that,
and we'll be happy to send you new CD for it if you ever have a problem."

So, basically, even though I paid hard-earned money for it, I didn't pay
enough hard-earned money for it. I thought the discount for college
students was designed to get them using Microsoft products as early as
possible and get them hooked, not wake them up to the fact that
Microsoft only cares about money.

So, later that day, I installed OpenOffice and haven't had a problem
since. I also took an old computer in the basement and installed Debian.
So every story has a happy ending: Microsoft has one less customer, and
Linux has one more user.

--Larry M. Coleman

Perhaps Microsoft could have gotten away with this "Screw you, you're just a customer" attitude in the late 1990's when there was no real alternative to Windows, but this hasn't been true for a few years now. Linux as an everyday, desktop OS is here. It's not just as good as Windows, it's better. I've been using SuSE Linux as my real operating system since 2004, even though I've mastered Windows well enough to pass exam 70-270 and earn Microsoft Certified Professional status. In that time, SuSE has not crashed a single time, has never had a spyware or virus infection, and has needed to be rebooted exactly two times--both after kernel upgrades. Not security updates, application updates, or other updates, but kernel updates. The kernel is the brains of the OS, so a kernel upgrade is a major event. [Strictly speaking, Linux is actually the kernel itself, while everything that goes into a typical desktop computing environment, like the window manager (the thingy that makes all the pretty picture boxes), the office suite, media players, etc., are part of a distribution--also called a distro.]

I recently had trouble with Windows XP and had to reinstall it a few times before I was able to pinpoint the problem. Because I activated it each time, I eventually had to call Microsoft and speak to a representative (from an call center in India) before I could activate it again. About a week later, I put together a new box for gaming, including a new hard drive, which meant I had to install Windows yet again. This time, I also had to call Microsoft just to get permission to activate my own operating system! I should never, ever, EVER have to call a company and justify my lawful use of a piece of software I legally purchased. It's my OS, and if I want to install it fifty times on the same computer, I shouldn't have to explain myself. I bought it and I should be able to use it any legal way I want. This is yet another reason I'll never buy another Microsoft operating system. And with Vista, this Windows Genuine Headache is only going to get worse. Microsoft has made it very clear that they're going to be even more heavy-handed with their misguided efforts to increase revenue by inconveniencing their customers.

On that note, I have the same copy of OpenSuSE 10.1 installed on four different computers in my home. Did I ever have to call Novell and beg their permission? Of course not.

Here's an idea of how Linux looks when first coming to it from a Windows world.

Linux installation

  1. Insert first CD.
  2. Follow prompts, usually simply pressing Enter to accept the defaults.
  3. Partition hard drive, using either an easy, all-on-one big partition plus a swap partition scheme, or setting up separate partitions for data files, the kernel, system files, etc. No matter how you do it, when it's all over, it will look the same to you, because the partitions are transparent to you, though they have big advantages for the system. No matter what you choose, you will need to make a swap partition that should be 100-150% the size of your system's RAM. And don't worry if your hard drive is bigger than 137 GB--unlike pre-SP2 Windows XP, Linux has no problem with huge hard drives. I've installed it on a 300GB drive before.
  4. You can: 1 - pick a standard set of software that roughly matches what you're going to use your system for (probably either desktop or workstation), 2 - manually pick and choose among the 17,000+ free applications available, or 3 - just set up the bare minimum and add whatever you want later with easy-to-use package managers like Synaptic or Adept (for Debian), YaST (for SuSE), or whatever came with your distro.
  5. Wait while your programs are installed.
  6. Boot up and use your computer! Surf the Internet, use your word processor, create webpages, edit images with a Photoshop-like editor, set up a web server, check out the heavens with KStars, write programs and compile them with gcc or g++ (or write programs in Python, Lisp, Ruby, perl, etc.) or your choice of several IDE's, behold the beauty of fractals with Xaos, run your old Windows programs with Wine, cross your eyes and make your own stereograms with xstereograph, play Minesweeper, Solitaire (a few dozen kinds), Poker, Mahjongg, Chess, XLogical, Nethack--all for free and probably included with your distro. Don't bother trying to find antispyware or antivirus programs--you don't need them anymore. But if Windows has made you so paranoid that you can't live withone one, plenty of them probably came with your distro. Open up your package manager and search for "virus".
  7. If you simply can't live without your old Windows games, Cedega will probably let you play them, too! There is a short article on it here.
  8. Have a lot of fun...

Windows XP installation

  1. Get a job and save up $200.
  2. Go to the store and spend that hard-earned cash on Windows XP.
  3. Insert CD. There's only one, because Windows XP only comes with the Windows part. Everything else costs extra, and must be purchased separately.
  4. Follow prompts, usually simply pressing Enter to accept the defaults.
  5. Partition hard drive. Windows will naturally assume you want it to hog the whole hard drive. You can have it set up a partition for swap (or, in Windows-speak, the pagefile), but it's not really worth it. Linux requires a swap partition because it uses that space more efficiently than other partitioned space. Windows just uses the same clunky pagefile no matter if you allot it its own area. Also, if you decide you want to partition your drive into special areas for data and system files (which is a good idea), Windows will assign different drive letters to them, instead of making them an integral part of the filesystem.
  6. You can't pick what role you want your computer to be. All you get is Windows and nothing else, remember?
  7. Wait a long time while only one program is installed.
  8. Boot up and use your computer! No, wait, on second thought, don't try to use it yet.
  9. Go to the Windows Update site and install the patches that have come out since your CD was manufactured. This shouldn't take more than three hours and seven reboots.
  10. Scrape up another $40 and buy an antivirus program. I recommend Trend Micro's products. Whatever you do, don't buy anything from Symantec. If you do and you find yourself having to reinstall Windows and buying another antivirus program (I recommend Trend Micro, but I said that already, didn't I?) because your computer is running dog-slow and you can't get your antivirus program to uninstall correctly, don't say I didn't warn you. Don't forget to reboot.
  11. Download Firefox so you can have some slight security while surfing the Internet. Sure, Internet Explorer comes with Windows, but using that to surf the web is a bit like driving a Japanese car with "F**k Jesus" and "Support gun control" bumper stickers on it in the Deep South. Sooner or later, someone is going to shoot you in the head just for the fun of it. At the very least, your computer is going to hear the electronic equivalent of "Squeal like a pig, boy!" You probably won't need to reboot, but you might want to, just to be safe.
  12. Download and install at least two antispyware programs. Ad-aware and Spybot Search-and-Destroy are good choices. Run them and, if anything is found, have them remove it and reboot.
  13. Get out the credit card again and pay another $249 for Microsoft Office. Install it and reboot.
  14. Every once in a while, reboot. Just because it's been a while. And don't forget to update your antivirus signatures and run your antispyware programs at least every few days.
  15. Have a lot of fun... assuming you have any time left!

Linux has been criticized for being difficult to impossible to install on laptops. The day before I added this section, I installed Kubuntu 5.10 on a two-year-old Gateway laptop. It went without one single problem. Before this, the laptop had only Windows, and its copy of XP had--as Windows is notorious for--become so screwed up over time that it needed to be reinstalled. This was a good opportunity to add Linux to it, so I had the chance to compare installing Windows and Linux back-to-back on the same machine. Linux took slightly less time even though it installed the operating system AND OpenOffice AND dozens of other applications. Microsoft Office is still not installed, and just that would add another twenty minutes to the total time.

Your experience may or may not be so pleasant if you have a brand-new laptop, depending on how much proprietary design was used by the manufacturer. Probably the easiest way, if your computer is one of those with a CD that contains a copy of Windows and the applications that were preinstalled (most of them do nowadays), is to format and repartition the hard drive as described below, and then install Windows and Linux at the same time. This way, if your laptop has problems with Linux, you'll know before you've invested a lot of time customizing Windows, installing a bunch of programs, accumulating a lot of data, etc., and it will be easy to go back to devoting the whole laptop to Windows. However, this situation is improving as Linux matures and as manufacturers use more and more standard components. In fact, it's not uncommon now to bring a laptop straight home from the store and install Linux with few or no problems at all.

Some notes on dual-booting

If you're planning on installing both Windows and Linux on the same machine, install Windows first. Since Windows's megalomania leads it to assume you're never going to install anything else, it will do you the favor of overwriting anything already in your MBR whether you want it to or not. This means that if you installed Linux first, you would be unable to boot into it after you install Windows. You will then have to reinstall your bootloader. If you install Windows first, you can avoid this step. (If you didn't, then the fix is probably pretty simple. Put in the first CD of your Linux distro, then act as though you were going to install it. At some point it will probably tell you that you already appear to have Linux installed and you can probably find some selection to allow you to reinstall the bootloader. Any decent search engine will turn up thousands of hits on just this topic, so it shouldn't be hard to find detailed, step-by-step instructions. This is different for the many variants, but in SuSE at least, you can select "Rescue system" from the main boot menu.)

You can also make your life easier when you're at the partitioning stage of Windows. The default is to use one partition. Have it make two partitions, giving the first one as much space as you think Windows will need, and the second one the rest. Don't worry about doing anything with the second partition right now. You can format it or leave it unformatted, it doesn't matter either way--you'll have to reformat it during the Linux installation process anyway, so if you format it now the only thing you have to lose is a minute or two of your time. I'll use my laptop as an example. It has a 20GB hard drive, which I divided into a 5GB FAT32 partition for Windows and a 15GB unformatted partition for Linux.

You may notice that I formatted the Windows partition as FAT32. Windows XP defaults to NTFS and, if you're just installing Windows, this is the better choice. However, if you want to be able to write to files on the Windows partiton, you'll need to select FAT32. Linux can't write to NTFS partitions because Microsoft has kept the NTFS specifications a secret. Although there are programs that can write to NTFS, they are experimental and not recommended for use with data you care about. If you don't plan on writing to files on the Windows side, then you can choose NTFS anyway if you wish, but be warned: you can't change your mind without reformatting the Windows partition and losing everything in it. However, if you pick FAT32 and decide you want NTFS later, you can do this by using the convert utility. (In Windows, drop to a DOS prompt and type convert c: /FS:NTFS [replace c: with whichever drive you want to convert].)

While we're on the subject of partitions, I suggest formatting your Linux partitions as ReiserFS. Reiser, like NTFS, is a journaling filesystem, so in the event of power failure or for some other reason the machine isn't shut down properly, it can simply replay the transactions that may not have been properly attended to, thereby helping to maintain the integrity of your data and vastly speeding up checking the filesystem afterward. Because of its many advantages over the ext formats, it is the default for many distros nowadays.

Linux has no problem seeing Windows partitions, reading from NTFS partitions, and reading/writing FAT32 partitions. This means you'll be able to access your Windows files normally when you're in Linux. However, the reverse is not true: Windows refuses to believe that anything but itself exists, so you won't be able to access your Linux files when you're in Windows. The Disk Management snap-in (right-click My Computer, then select Manage) can see that there are Linux partitions on the drive, but you can't do anything useful with them.

However, your distribution may not automatically mount the Windows partition. Although SuSE does, Kubuntu may not. In Kubuntu, you might need to manually add the entry for Windows (which will probably be hda1, but may be hda0 or another number) by selecting System Settings from the Kmenu, then System Administration/Disk & Filesystems. I created a directory called /windows to use as a mount point because that's the way SuSE does it so that's where I'm used to looking for it, but you can pick anything you want. I do recommend that you at least give it its own directory somewhere; otherwise, the place you mount it will have all the files and directories in it, so it can get messy if you mount it to / , for example.

Installing applications on Linux vs. Windows

In almost any debate about the ease of use of Windows compared to Linux, at least one person will say something like "Linux will never become popular until it easy to install things on it. With Windows, it's 'Click next, next, next, install' and you're done. It's not like that in Linux." This is a dead giveaway that the person offering their opinion of Linux has never actually used Linux, because it's even simpler to install Linux applications than it is Windows apps.

The biggest difference between Linux distributions is their package manager. The major ones are Red Hat Fedora's yum, Debian's apt, and SuSE's YaST. While this is oversimplifying things a tiny bit, it is one defining characteristic of a distro. What these all have in common is that they're like Windows's "Add/Remove Programs", but way more powerful. If you're going to install something that needs something else to run correctly, it will tell you this and probably automatically add that to your list of things to install. If you're going to remove something that something else needs to function correctly, it will probably alert you of this and give you choices like not removing the program, removing the other program as well, or just ignoring the dependency. The term "DLL hell" is famous in the Windows world. While Windows has made some progress in reducing this, Linux's package managers are still light-years ahead in preventing this sort of thing in the first place.

Here are Mozilla's complete uninstallation instructions for Firefox under Linux: "Remove the firefox folder." That's it. There's no stupid registry to deal with, so if you don't want something anymore, you can just delete it. If you installed it with a package manager, you can simply select it and choose "Delete" or "Remove" too.

Here are my instructions for how to install Apache in SuSE. (Apache is the world's most popular web server. It isn't a toy program--it runs the majority of major websites. Microsoft's attempt at a web server is IIS.) Open YaST's Software Management, search for "Apache", check the box next to it, click Accept, twiddle your thumbs for a couple of minutes, and you're done. About the only simpler way to install something is to have your computer telepathically read your mind and sense that you want Apache and then install it for you.

Here's a short description of my experience installing a DNS and DHCP server in Linux. It is part of the thread I don't use Linux because... at TechRepublic.com.

69. configuration is too tough
dangi@...
05/17/06

...configuring it is too tough.

For those of you saying "wimp" or "Lazy", just try configuring a DCHP and DNS server in Windows Server 2003
and then try Linux. It takes about 1/3 the time and 1/10 the effort.

Then try installing an app in Windows, then in Linux. Also, about 1/3 the time and about 1/10 the effort.

Now, when I'm trying to keep 230 users running as part of a 3 man team, I'd rather have something take 1/3
the time and 1/10 the effort rather than something that 'sticks it to the man'. In this case, as with any
case I have seen, Windows is far superior to Linux. There are likely more security holes in Linux, but
they haven't been found because so few people, and none of consequence, use it.


69.2. I'll take that challenge.
nighthawk808
05/24/06

The time is now 04:58:08. The OS is openSuSE 10.1. Package selection at install was custom, which means no
server packages were installed. I'll have to install them, which is a one-time thing.

Start.
04:59:11 - Installing package dhcp-server. This consists of inserting CD 4 and clicking OK. YaST can do
the rest on its own.
05:00:32 - Going for coffee. BRB.
05:07:13 - Back with coffee. Package installed. Starting configuration.
05:11:56 - Finished configuration. Starting testing.
05:15:52 - Finished testing. Works fine.
Stop.

And this is the first time I've ever configured a DHCP server from scratch.

Now, DNS server:
The time is 05:18:38.
Start.
05:19:19 - Installing bind package. Same as the other install: insert CD, click OK, receive banana.
05:21:14 - Package installed. Starting configuration.
05:23:52 - Finished configuration. Starting testing.
05:30:46 - Finished testing. Works fine.
Stop.

And, as above, this is the first time I've ever set up a DNS server from scratch.

"...none of consequence use [Linux]." Besides Google, many major (i.e., multi-national) banks, and a
large percentage of investment firms. But what's a few hundred billion dollars of stock value among friends?

Have a good day, troll.

What I use in Linux to get things done

These are my favorite programs that are the equivalent of Windows programs. These are by no means the only ones, they're just my favorites. Linux gives you choices in almost everything, and just because I choose these as my favorites doesn't mean you can't have your own preference. One of the hardest things in making the switch to Linux is getting used to the vast array of free software to choose from. Things are so much simpler in the Windows world--there's only one real choice for everything. It's kind of like if McDonald's decided the only thing they were going to sell were Big Macs, large fries, and medium Cokes: it would be really simple to know what to order, but very bland.

Full-featured word processor, spreadsheet, slide presentation generator, etc.
Windows: Microsoft Office
Linux: OpenOffice
Notes: OpenOffice is almost identical to MS Office, except it can go more than 20 minutes without crashing. Oh, and it also lacks a $200+ price tag. And Office documents often look better in OpenOffice than they do in Word or Powerpoint, for example.

Quick text editor
Windows: Wordpad
Linux: Kate or vi
Notes: Kate has a lot of useful features, like highlighting and coloring text when coding, yet isn't bloated with things you don't need when you're just trying to edit some text quickly. The fact that it starts with K is a clue that it's a KDE app. I also use vi when I'm at a command line and need to make a simple change to some configuration file. I've been growing fonder of pico for this lately.

Media player (audio)
Windows: Windows Media Player
Linux: Beep Media Player
Notes: Tiny yet powerful. Kind of like Winamp used to be about eleven versions ago. It's a GNOME app, which might seem a little strange since I use KDE, but I used to prefer GNOME because Debian was my first distro. The days when GNOME and KDE apps weren't interchangable are pretty much gone, and the Portland Project aims to make that official. However, if you prefer an everything-but-the-kitchen-sink kind of player, there's amaroK or Kaffeine.

Media player (video)
Windows: Windows Media Player
Linux: Kaffeine

Picture viewer
Windows: IrfanView
Linux: This is integrated into Konqueror, the KDE version of Windows Explorer. However, if you can't live without IrfanView, it runs under Wine quite easily. Just right-click on it and select "Wine Windows Emulator" or "Open with..." then "Wine", just like Windows, assuming you installed Wine. (Perhaps this would be a good place to point out that the context menus are more helpful in Linux than they are in Windows. They can also be configured with many more options than Windows will allow you. KDE will let you do almost anything to almost anything by adding it to the menu; Windows will let you add something to the "Send to..." menu. Whoopee.)

Photo editor
Windows: Photoshop
Linux: The GIMP

Standalone C/C++ compiler
Windows: None
Linux: gcc/g++
Notes: Ironically enough, if you want a decent compiler for Windows, you need to install Cygwin--a UNIX emulator!

CD burning
Windows: Windows Explorer
Linux: K3b
Notes: Although you can create data or audio CD's from Windows Explorer, you can't use it to burn ISO files. For this, you need a helper application like ISO Recorder. K3b includes this functionality, and is much more flexible than Windows Explorer.

CD ripping
Windows: Windows Media Player
Linux: KAudioCreator
Notes: If you want to rip tracks as MP3's, you'll need to install LAME, available from lame.sourceforge.net. If you're using SuSE, download the RPM, right-click on it, and select "Actions...", then "Install with YaST". The default encoder is Ogg Vorbis, which is what I usually use. In fact, I won't even buy an MP3 player if it doesn't play Ogg Vorbis files! (You hear that, hardware manufacturers?) Oddly enough, Windows Media Player won't play Ogg Vorbis files on its own out of the box, but it will play MP3's. This is quite strange because MP3 is a proprietary format while Ogg Vorbis is an open one.

Defragging hard drives in Linux

Forget it. You don't have to. The ext3 and ReiserFS file systems do not suffer from fragmentation problems. Defragging is a microcosm of Microsoft as a whole: NTFS and FAT simply slap stuff wherever it's convenient and let the customer worry about cleaning up the mess. Linux does it right the first time.

Five handy console shortcuts and one super-useful shell script

^H (Control-H) - the equivalent of the Backspace key. Useful occasionally if you're using something that doesn't handle the key correctly.
^W (Control-W) - deletes the whole word of text you're currently typing.
^U (Control-U) - deletes the whole line of text you're currently typing. Much easier than hitting Backspace twenty or so times.
[UP-ARROW] (the up arrow key) - recalls the last command you entered. You can go back as many commands as you like by pressing the key as many times as necessary. This is like DOSKEY, except it's built into the shell instead of being an addon to it. The major difference is that it doesn't forget everything if you logout. Your command history is stored in a file called .bash_history, so you can even reboot and still use this.
[TAB] (the Tab key) - completes the filename you're currently typing. For example, if you want to open the file foobarbazandxyzzy you can simply type foo[TAB] and the system will fill in the rest for you. If more than one file matches what you've typed, it will fill in as much as it can. (If you have files named "foobarbazandxyzzy1" and "foobarbazandxyzzy2", it will fill in "foobarbazandxyzzy" and leave you to type the rest.)

Also, if the directory or file you are trying to access has a space in its name, you must use the escape character "\ ". For example, if you're trying to switch to a directory called "Documents and Settings", you must type the name as Documents\ and\ Settings or, if you remember the handy [TAB] key, type Doc[TAB] and it will do it for you. Keep in mind that bash is case-sensitive by default (although this can be changed by setting the appropriate environment variable), so Documents and documents are two different words to bash. (I've assumed here that you're using the Bourne Again Shell, or bash. It's the default shell for most popular Linux distros today.)

These also exist in Windows, but guess where Microsoft lifted them from? If you guessed UNIX, give yourself a gold star. UNIX has been around since before Bill Gates was an anonymous college dropout. Linux, being a cousin of UNIX, shares much of its heritage.

Another helpful thing is to add command aliases. For example, if you want to see the directory listing in long format (the way DOS does it) with the file sizes in K, MB, or GB, and only one page at a time, you can use the command alias lhm='ls -lh | more' and then you'll get this format whenever you type lhm instead of ls.

Some commands you might want to keep in mind are:

  • man [foo] - brings up the manpage (manual) for a command. Replace [foo] with the command you want help with.
  • apropos [foo] - if you can't remember the command name, but know what it does
  • [foo] --help - gives you a short bit of help on a command. This is the equivalent of Windows's [foo] /?
  • grep [foo] - allows you to find just the text you're looking for. I usually use this as a piped command. For example, to find the files in my home directory that contain the name Larry, I'd type cat ~/* | grep Larry

Here's a shell script that's sure to come in handy someday:

for file in `grep -l "TEXT_TO_BE_REPLACED" /DIRECTORY_FILES_ARE_IN/*.*`; do
sed 's/TEXT_TO_BE_REPLACED/TEXT_TO_REPLACE_WITH/g' $file >/tmp/$$ && mv /tmp/$$ $file
done

There, you've now replaced each instance of the string "TEXT_TO_BE_REPLACED" with the string "TEXT_TO_REPLACE_WITH" in every file in the directory /DIRECTORY_FILES_ARE_IN . If you're still running Windows, you could install a perl interpreter and do the same thing with a perl script. Writing that script is left as an exercise for the reader. My point here is that you can't do that with a plain DOS prompt, but Linux's bash does it with ease.

To do this automatically, create a new text file, add the line #!/bin/bash to the top, put the rest of the script right below that, then save it as "change.sh" or whatever name you want with the extension .sh . Then, to run it from a shell prompt, type sh change.sh and press Enter.

Distros: where to start

Probably the question most frequently asked by those thinking about finding out what all the Linux fuss is about is "What distribution should I choose?" There are almost as many answers to this question as there are people answering it, but I'll share my experiences playing with different distos FWIW.

The first distro I ever used extensively was Debian. Debian has a reputation for being difficult to install, but easy to maintain once you've installed it. While it may have been relatively difficult to install way back in the late 1990's, this is not the case anymore. I used Debian on and off for a while. One day, while having to completely reinstall Windows XP for the fourth time because it had decayed to the point that it couldn't be fixed and needed a fresh copy installed, I decided that I had had enough of this insanity. I resolved to no longer use Windows at all (except for games, which Linux unfortunately lags in. A bright spot is that Darwinia, one of the best new games to come out in years, runs natively on Linux. Deus Ex, the best game ever, runs quite nicely under Wine. And there's also Cedega, which allows you to run a wide selection of newer games, but this is a commercial product.).

Since I'd also never used anything but Debian (and, briefly, Red Hat), I decided to try something new: a retail version of Linux. Although you can use Linux your entire life and never pay a penny for it if you don't want to, the three major retail distributions, SuSE, XandrOS, and Linspire (formerly Lindows until Microsoft sued them) have put a lot of effort into making the transition off of Windows painless. I tried out XandrOS, but it seemed to go too far towards looking as much like Windows XP as possible. Linspire went even farther off the deep end. This left SuSE, which I had heard mostly good things about.

One of the things that I liked most about SuSE was that I'd heard that Novell put a lot of effort into improving KDE. Their effort certainly shows. I'd also heard good things and bad things about YaST. Until SuSE, almost all of my Linux experience was with Debian, so I'd become quite spoiled by apt. For a while, I hated YaST. It seemed like it was a jumbled, unintuitive mess. But the more I used it, the more I started to like it. Now I look back and wonder why I ever hated it so much. It's at least as good as any other package manager out there, and possibly better. Now that I've used SuSE for so long, I can see why it's one of the distros Linus Torvalds himself uses at home. It takes some time to get accustomed to, but once you do, it purrs like a well-tuned Ferrari.

SuSE is probably not the distro I'd recommend to someone looking to make the switch, though. I learned the hard way that one of the tradeoffs SuSE makes to have such power is that it sometimes does things slightly differently than many other distros; its strength comes at the price of added complexity. As I noted above, once you get used to it, you'll probably actually prefer it that way, but a more gentle introduction to Linux is via Ubuntu/Kubuntu: a well-rounded distro that is relatively easy on the novice yet powerful in the hands of the skilled user. Ubuntu uses the GNOME window manager, which has a clean, simple look and feel to it. Kubuntu uses KDE, a window manager which throws everything into the open. Other than that, they're pretty much identical.

A side note on GNOME vs. KDE: this is probably one of the biggest battles Linux users fight with one another. Each side thinks their window manager is better, and they've got dozens of reasons to prove it. The GNOME camp says that KDE is a huge, jumbled mess, while the KDE partisans say that GNOME is stripped down almost to the point of nonfunctionality. Both sides are full of hot air. Having used both for almost the same amount of time, I can tell you that it's nothing more than a matter of preference. Both have their advantages and disadvantages, so try both of them out and make the decision for yourself. (KDE and GNOME aren't the only ones out there, but they're by far the two most popular.) This just demonstrates yet again the flexibility and freedom of choice that Linux provides that Windows doesn't. After all, when is the last time you saw two people arguing over whether Windows Classic or Windows Luna is the better theme?

Now back to our regularly-scheduled program. Ubuntu/Kubuntu is different from most Linux distributions in the way they handle the root user. For reasons that only make sense to them, they make it a pain to become root, instead preferring to push you into using sudo for everything. This is annoying, but there is a way around it. Dispite this unfortunate blemish, Ubuntu/Kubuntu is still one of the best overall distros. It's rather easy to configure, Debian-based, and its support forums are very active--any decent search engine will probably return a useful solution to almost any problem you might have. I've never spent more than an hour trying to fix any problem, and that was getting my Linksys WPC54 v2.0 working with ndiswrapper. (I should note that I've spent more time than this trying to fix problems with this same card under Windows XP and still didn't manage to get it working again.) Since I've switched to using KDE, I use Kubuntu, but with one caveat: Kubuntu's KDE is currently much more buggy than SuSE's. It's still quite functional, but it's not as rock-solid stable as the polished one in OpenSuSE 10.0.

An open note to electronics and software manufacturers

If your product does not work under Linux, you have lost my sale. I do not use Windows for anything except games. Starting January 1, 2008, I also won't be buying games that don't run either natively under Linux or with Wine (or some similar freeware platform--and without jumping through hoops to do it). I have already decided against products from iRiver because they don't just not work with Linux, they go out of their way to make sure they don't. If I can't use it in Linux, it's as useless to me as a business ethics course is to Bill Gates. Linux is one of the most standards-based operating systems on the planet; there's no reason something shouldn't work with it. It takes a special effort to break a product that badly.

I am not alone in this; I've had discussions with many other people who feel the same. Linux is not going away, and it's not getting smaller. Although with each version Windows copies more and more features that UNIX and Linux have had all along, Windows will never catch up because it is based on an entirely different development philosophy. Windows is designed exclusively to make money by a company that won't do anything to improve it if it costs a penny. Linux is designed by thousands of people around the world who love to program, love to use computers, and don't care about costs--they're doing it for free anyway. More people are switching every day, so if your company is thinking "This Linux thing is just a fad. If we ignore them long enough, they'll just go away," then you're half-right: we will go away--right to your competitor who does offer Linux support.

Here's a final piece of advice when you're starting to learn Linux: don't give up. Sometimes you may get frustrated because you only know how to do a certain thing in Windows and Linux has this seemingly strange way of doing it. Just keep at it. Remember how long it took you to learn how to do that same thing in Windows. It will take you even less time to learn it in Linux because all GUI-based systems work on basically the same set of principles, and just differ in the details. One way to learn is to try to spend one whole day in Linux. You can go back to Windows for a while tomorrow, but spend the whole day using Linux. Then try for two consecutive days, then a week straight. Once you get to the point where you're spending a whole week in Linux, when you reboot back into Windows for whatever reason, you'll notice how long Windows takes to load (even when it gives you your desktop long before it will actually let you use it in order to trick you into thinking that it's faster than it really is) and how slowly things run. This is one of those things that you hear other people talk about, but don't understand until you've gotten used to the speed and quickness of Linux, which takes days of use to attain. Eventually you'll be one of those people who can't understand why anyone still uses Windows!

 Valid CSS!