Monday, September 17, 2007

The Dark Side of Linux

Some guy named Joel Adamson wrote a way-too-long-for-the-Internet essay on why he likes Unix. In this quasi-argumentative essay he argues that Unix is in fact easier to use than Windows.

Crap of course. Here's where he goes wrong.

After some screens of introductory bla bla he slowly moves towards making a point. He tells an anecdote of setting up a Windows computer for use of a router. The manual, of course, explains what to click to make it work.

Now, no problem if you are in fact using Windows. However, did you notice that there was no real information in there? If you already knew where that stuff was and which mouse button to use, this manual says you would know how to do it. Would you know what you were doing? Would you care? What if you’re using a different kind of computer and you need to accomplish the same thing? Would you be able to get the information out of that that you needed?

I don't follow. This manual is exactly the kind of manual someone needs. A router has to be set up. It tells you how to do that. It doesn't tell you anything about how routers work, how IP works, what the format of an IP frame is, the advantages of TCP/IP over UDP, about network devices, about DHCP. Not because it wants to keep the user "dumb" (as is implied Joel), but because users don't care. A few do of course, but the vast majority does not give a monkey's rear-end. Windows is a majority OS, it's not built for nerds, it's built for the average person.

At this point, of course, we expect to be dazzled by the killer argument about how Unix is far better. But instead we learn that it has manual pages "with no advertising" (which -- and this is a fun fact, apparently -- are formatted with troff, cool huh? Yeah I know, nobody cares). Yes, so I guess that solves all our problems. Do you already imagine your grandpa wading through the Unix manual pages after buying a router which simply says "RTFLM" (Read the Friendly Linux Manual -- your interpretation of the F may differ)?

Microsoft says that one of the perks of using a Windows server over a Linux server is that you can hire people for cheaper to administrate and help out. Let me repeat that: it's cheaper to hire people to run a Windows server than a Unix or Linux server. Why? Because they're less qualified.

Yes, how is this a problem? Isn't the point of the whole technology industry to make things simpler, to make things faster and more efficient and to abstract away from things so that we can focus on the task we're trying to perform? Thanks to the computer industry we can now print a letter to our mother without having to know how a printing press, or a printer for that matter, works. I don't know how a printer works do you? I do at a high level, but not the tiny technical details. Does that mean I'm not qualified to print?

If you have an operating system that needs you to have a Ph.D. in computer science to operate then it's going to be expensive to maintain. Yes, the person who operates it will be very qualified, but don't you agree that it is a massive waste of talent to have a Ph.D. operate a computer? Don't you think the more qualified should focus on challenging things in this world, and not on maintaining computer systems? Windows allows them to do that.

What follows in the essay is a very hypothetical phone exchange with an "unqualified" Windows system administrator that deals with a client that uses Emacs to read his mail. Yes. Emacs. Well Joel that makes your argument very strong. Everybody should run Unix systems so that those 17 cavemen in the world can use Emacs to read their mail.

Then we find out that Joel's favorite application is indeed Emacs, which figures. For the lucky ones who think that Emacs is the plural of Apple's eMac, I have bad news: it's not. It's an editor. And editor developed by -- wait for it -- King Richard. Emacs was one of Richard's first political devices to push the free software fundamentalist movement. Joel argues that, although Word can be extended with Visual Basic code quite easily nobody seems to do that. Instead people wade through Word's menus to find what they need. In Emacs, on the contrary, people do not use menus a lot, instead they program a lot in ELISP (a LISP variant developed especially for Emacs) to let Emacs do what they want.

Joel argues that this is because of the Emacs environment which encourages this. I argue that its the software's targeted audience that makes this difference. An average person cannot be expected to program. They can "program" a VCR, but even have trouble doing that. And now you would expect your mother to learn LISP so that she can indent a section of text? Nobody is going to write LISP code to do anything, ever. Nobody but the typical Unix audience -- nerds.

I'm sorry Joel, I'm not impressed.