As far as I'm concerned, Linux on the desktop is a great example of how not to do things.

I started using Linux in the 0.9x days, back when I downloaded a SLS distribution on a 2400 baud modem and put it onto 20-30 5.25" disks. I then switched to Slackware (14.4kbps modem now!) and then Red Hat (in the v2/v3 days up until v6 or so).

Back then I typically just used multiple text consoles (alt-F2, etc to switch). This actually worked really well.

At the time you could run X... if you had the right hardware... if you configured all the right settings... if you had enough CPU/RAM... if (ad nauseum). But you could get it to work.

Thing is, there wasn't actually a lot of reason to use X. Programming was done in vi or emacs. You might want to use Netscape but the Web was embronic at best (we're talking 1995 here) and Netscape was a resource hog. I preferred to use lynx when I could.

Thing is, at that time I remember people saying "sure it's not great but it's getting better... give it a year or two and it'll be awesome".

15 years on I still hear the same thing and honestly I don't think it's much better. Sure the problems are different but Gnome still feels slow (not that Gnome existed back then, but you get my point). You still have to dick around with things just to get them to work.

From a combination of age and experience I both no longer value my time so low as to bother with this whenever I can avoid it and I no longer believe the lie about it getting better.

Take PulseAudio. I just don't get it. All i want to do is change my system volume and have it react relatively quickly (PA, in my experience, can have latency on volume changes of 100+ ms; yes this is a problem).

PulaseAudio, for me, exemplifies all that's wrong with desktop Linux. As someone described it, it's a solution in search of a problem, overengineering at its finest. It simply aims to solve problems I don't have or care about and fail at solving the problems I do have (unrelated side note: if you happen to be on the CSS Working Group, go back and read this paragraph 400-500 times until you get it).

Lots of apologists on this thread say OSX isn't a valid comparison because it only supports limited hardware. Nonsense. OSX is the way it is because the focus is on user experience and working well, not on, say, remembering per-application volume settings or being able to position particular audio streams (because, hey, it's a cool engineering exercise).

I'll use OSX whenever I can. I just wish Apple didn't make it so hard, like your desktop options are the Mac Mini (still Core 2 Duo, no thanks, my laptop had one of those in 2007), the Mac Pro (no thanks, proprietary hardware that is no longer supported 2-3 years later) or the iMac (can you make it any harder to install an SSD?).

I'll happily use Windows 7 too. It's stolen most of the best bits of OSX, enough that it's "good enough" anyway. Sure it's a nightmare of complexity too (policy settings anyone?) but at least using it on the desktop, unlike Linux, doesn't leave me wanting to stab out my eyes with a spoon.

I just wish there was a Mac Mini equivalent that used a Sandy Bridge i5/i7 (the 13" MBP has this, I don't see why the Mini can't) and a second hard drive instead of an optical drive (SSD + 2.5" HD for storage or even RAID1 SSDs for reliability). Integrated GPUs are fine.

Come on Mac Mini refresh, you're long overdue.

Anyway, the story of Linux on the desktop is the ultimate answer to the question of why shoot yourself in the foot when you can shoot yourself in the head.