This is a little embarrassing. My most recent source of unhappiness was my purchase of a Dell Vostro 3700 laptop that happened to be one of those “Hybrid” chipsets. In exchange for a smashing purchase price I am stuck with an Nvidia FX graphic card that will not work in Linux. Instead I get the equivalent of an Intel HD graphic card. The awful truth is that I would have saved even more money and gotten a laptop with just Intel HD graphics. Pulling at this small thread has led me to even more sources of discontent.
In reality, my problems are much bigger than just my graphic card. I have been a Linux user for quite some time (my first store bought copy was SlackWare 96). I have used a variety of flavors with all types of user experiences: source compile only Gentoo, Debian package management based distros, even some live CD versions. My younger more patient self was more willing to put up with the little foibles: bad device driver support, half baked UI rewrites, API wars about issues that maybe 5 people in the world care about. I was willing to put up with it because until about 2 or 3 Windows revisions back Windows was not the most competent O.S. Furthermore, Linux was usually blazingly fast on even limited hardware. One of these things has changed though: since about Windows Vista, Windows has actually become a very usable and elegant O.S. In fact, its fair to say that Windows 7 is easily the best desktop O.S. that has every existed. I say this without the least irony and with a little eating of crow.
I have to admit, I wasn’t exactly rooting for Microsoft in the desktop O.S. wars. I frankly didn’t care about commercial operating systems as I was perfectly happy using freely available ones. A few things have changed for me in the last few years:
- I don’t have time to tinker anymore. I have a full time 9 to 5 and then I come home to code my startup application. I don’t have time to spend days or weeks without my computer just working.
- Linux driver support has become progressively worse. Back in the day Linux was usually made to work on a few manufacturer pcs and maybe one or two high performance computing platforms. Today, Linux is running on everything from cell phones to toasters. The resulting dilution of resources means that Linux just doesn’t have the same driver support that it used to have. This is particularly bad for desktop users as the paid driver developers are working for enterprise vendors like Red Hat and they no longer care about desktop Linux.
- I finally have a big problem with the perpetual change model of Linux. Here is the thing, do we really need to have 25 window managers? Do we really need 10 application servers. I’m all about diversity, but, diversity should be moving us forward not just changing for the sense of change. The Linux community seems to accept that the platform is perpetually changing and that we have to keep updating on a regular basis like a waiter serving drinks on the roof of a moving vehicle. That analogy explains what its like being a Linux desktop user today. Every day you log into your machine and you are greeted by 5-10 updates. You can read the developer descriptions of those updates, but, they don’t get into the epic flame wars that may be associated with those updates. You also won’t hear about why your machine may be broken after installing these updates. (I could write a book on why this is not really always the developers fault, in fact, there are so many reasons why this is). The problem is that other than the Kernel, Linux frankly has too many updates that can cause end user problems. The traffic cops for this are the distro developers and this problem lies in their hands. This problem is for them to solve. Quite frankly distros need to have integration labs like what Microsoft have where they thoroughly test new versions before hoisting them on an unsuspecting public.
- I am more concerned about being able to work and be productive than I am about having new features. Maybe I’m getting old or maybe I am very busy. Either way I wouldn’t mind using FVWM and old lib C if I didn’t have to worry about my laptop breaking every few weeks.
So how does Windows 7 fit into all this. First off, it’s a damn fine OS. I’ve never had it crash on me and I’ve used it on several different laptops and desktops. Its not a memory hog. The UI is very nice and simple. The driver support is amazing. Overall it is a very unfussy product. This leaves me in somewhat of a bind though since most of my development work at home is on the LAMP stack. However, there are several virtualization platforms that allow you to run Linux inside Windows 7. Now this may seem quite strange, but, I need to run Linux for all the great developer tools and wonderfully free API. However, I am likely going to give up on dual booting my laptop. Long rant for little pay off, but, this is what you get from staying up late because of something stupid.