It’s a shame that my first blog post in months is something so antithetical to my normal posts as this, but 1) I haven’t blogged in forever (darned Twitter/Identi.ca/Facebook!!!) and 2) I just bought a MacBook Pro and am really happy with it thus far. So bear with me. Or don’t. I don’t care. If you’re in the mood for a good rant or are bored beyond belief or want to hear about how to get Ubuntu Karmic installed on a MacBook Pro (system 5,5), stick around. Otherwise, I’ll understand.
So, I’ve realized that I need to buy a personal laptop for a while now but have been putting it off because it’s expensive and a big ordeal. I don’t do anything that involves money quickly or lightly, so kicking down a big wad o’ cash for a laptop is not something that I can just do whenever I feel like it. For the last few months, I’ve been agonizing over what I should get and researching and pricing and comparing. I knew that I wanted something that stood out and looked good and felt good and was well-built. I’ve been using ThinkPads as my main laptop for the last decade or so, since it’s what my employers have provided me, and while they’re sturdy as heck and are well built and last forever, they’re not really all that sexy. I wanted sexy.
I also knew that I wanted some nice features that Apple provides stock that most of the other guys do not. Such as a backlit laptop keyboard. I was playing around with the idea of getting a Dell E6500, but 1) not horribly sexy and 2) that requires me to get a 15″ screen. Which is another thing I wanted… to not feel like I’m lugging around an Encyclopedia every time I take my laptop with me somewhere. For the last couple of months, I’ve been using an Asus Eee PC 1005HA netbook for this reason and while I absolutely loved the battery life on the little guy and the portability, the absolutely diminutive screen size is what finally did me in. Well, that and the horribly slow CPU. And the horribly slow GPU. And the really small keyboard size. And the fact that it doesn’t have an optical drive. And the crappy ath9k wifi drivers that keep disconnecting.
So I bought a Mac. Spent a bunch of time before then reading up on whether the MacBook Pros can play nicely with Linux (model 5,5 is what I ended up getting), and felt pretty comfortable that a MBP could be a really nice Linux machine. After waffling and being generally unsure of which one I wanted to get, I finally decided on a 13″ 2.26 Ghz MBP. I knew I wanted a smaller screen size than my previous PowerBook of 15″ and my current work laptop which also has a 15″ screen. So 13″ fits the bill nicely. I was really unsure about the CPU and was really hesitant to get a 2.26 Ghz CPU in the MBP, thinking that it’d be not all that much faster than the T7500 @ 2.20GHz Core 2 Duo I have in my work Thinkpad, but as it turns out, the 2.26 Ghz CPU in the MBP is really nice and fast–feels faster than the Thinkpad. Also, upgraded the RAM from 2 GB to 4 GB and I left the 160 GB drive in, planning on replacing it with a 250 GB 7200 HDD that I already have or maybe even a SSD if they ever get cheap enough.
I spent probably 6 hours or so on Sunday night getting Linux installed onto my shiny new MBP. Installing Linux was the easy part. Getting rEFIT to recognize it and boot into it was something completely else. Turns out that rEFIT does not play nicely at ALL with Grub2 (which is what Ubuntu Karmic comes with), so one of the things I did at the end that got it to work nicely was to boot off the live CD, install Karmic, chroot into my newly installed Karmic partition, uninstall Grub2, install Grub 0.97, and that seemed to do the trick nicely. The other hiccups I had were around getting the MBP’s drive partitioned in a way that OS X and rEFIT could deal with. I ended up resizing the main OS X partition and creating MS-DOS partitions from inside OS X’s disk utility and then just formatted them from the Ubuntu Karmic install process. But now I have a really nicely working OS X and Ubuntu Karmic dual-boot MacBook Pro. I realize my details are pretty sketchy here, so if you’re interested in more details, let me know and I’ll provide more info.
Since my day job allows me to write code for Linux (and don’t get me wrong, this is the best job I have EVER had and have never been happier), I occasionally need to use Skype to teleconference into meetings. And at least five times over the last 2 days, right in the middle of a Skype meeting from my Ubuntu Jaunty Linux laptop, things totally stop working. Sometimes the audio stops working entirely and I can’t hear the people on the other end anymore. Sometimes the video freezes. Sometimes Skype totally locks up the USB webcam and I have to kill -9 it and unplug/replug the webcam. Sometimes I can’t even see video on it at all and all I can see is a black box. Sometimes, it even works as it should and I don’t have problems (but those times are rather few and far between).
So, here’s my rant. I’m sick and tired of this crap in Linux. I have been a VERY vocal proponent of Linux everywhere for more than a decade. I’ve pushed it in every company I’ve worked for. I’ve insisted on using it everywhere personally. I have been searching for a job that would let me actually program on and for Linux for a long time and I now have one (YAY!). But I am absolutely exhausted of things that work on other platforms being unreliable, crappy, non-performant, crash-prone, and in general totally second rate or worse in Linux. In this particular instance, I unplugged my USB webcam from my Linux Thinkpad, plugged it into my new MacBook Pro, installed Skype and was up and running in no time. Skype did not crash, hang, hiccup, freeze, mutilate, spindle, or in any other way be anything other than an awesome application in OS X. And, as an aside, just looking through the preferences section for Skype showed that it was obviously given more love and care than the Linux version. And ya know what? I’m tired of it. I’m tired of even having to think about it. I’m tired of having to apologize for stupid stuff like this, get to a shell and killall -9 it. Or try to figure out what stupidity is causing it to happen. Or try to find workarounds so that PulseAudio can not screw things up for me. Or have to check my xorg.conf to see if I might have enabled something that is causing the bizarre Xv errors Skype spews every once in a while. I’m just tired of it.
Now, the focus of my frustration in this case is Skype. And I know that without even a moment’s hesitation, 90% of you are going to say “oh well, see, that’s what you get when you used a closed-source application! just use Open Source and everything will be better!” And to that I say: bollocks. You’d be hard-pressed to find a bigger Open Source advocate than me. But that’s not the point here. And that’s not the true issue at hand here. Open Source is great. Open Source is cool. Open Source is a whole heck of a lot of fun. Open Source is the answer to a whole lot of problems! But of this I am absolutely certain: it is not the answer to this problem. In this particular instance, and in millions more like it, all across the world, every day, people are going to need to run software that IS NOT OPEN SOURCE. You can try all you want to create the best, most awesome Open Source project to meet a given need, but you will never 100% fill every closed-source software solution need. You might get close. You might even have something that is “good enough”. But the bottom line is that there’s always going to be some piece of software that you have to run that you don’t have the source for. At least, this is true in the world that I’ve lived in for the last decade+.
Now, I am very aware that the Linux Desktop is SO much better than it was even 5 years ago. We have eye candy up the wahzoo. We even have some better applications from commercial companies. Heck, we even had the awesome World of Goo game (which I actually paid money for and LOVE)! We have much more feature-rich FOSS applications and desktop environments than we’ve ever had before. But what we don’t have is a stable platform that companies can count on being able to invest into and reap monetary rewards from. Yeah, like it or not, this is the real world and companies have to make money to stay in business.
We are a bunch of hackers. We love to tinker, to fiddle, to break compatibility in a heartbeat just for the outside chance that it might be better, to change quickly, and to do whatever we feel like. And that’s all fantastic stuff. But at the end of the day, we’re our own worst enemies. What makes Desktop Linux so awesome and fun and cool and quickly evolving is the same thing that keeps companies from investing in us–and even when they do, we end up breaking their stuff and causing Linux Desktop users grief. And we show absolutely zero possibility that this is going to improve any time soon. PulseAudio? Really? I’m so glad it’s the new hotness and is technically awesome. Your new hotness just broke an app I absolutely have to rely on. Guess how much I give a crap about your new hotness now, hm?
Anyway, I don’t have a solution to this. All I know is that I’m really liking my MacBook Pro, and I’m really liking OS X. Is it free? No. Is it Open Source? No. But does it just stinking work? Yeah, it really does. And it is such a drastic and refreshing change from the world of Desktop Linux that I am seriously wondering if I’m going to ever end up using that Ubuntu Karmic install I just slapped on the other partitions of this drive. I don’t think I’m yet ready to send out a jwz-like dissertation and farewell address, but I totally get it now. OS X is beautiful, and it just works. And I don’t think I’ll ridicule anyone for getting an Apple computer and actually using OS X on it ever again. Windows is still another story, but even there I can see what the allure is. You know… you get a computer to do stuff, and you want it to work. You don’t care what it has to do so that it works. You just want it to stinking work. Wouldn’t it be nice if Desktop Linux was like that?
[ UPDATE - 2009-11-20 ] – I’ve received a lot of really great comments on this post, but my initial intent at 1) venting/ranting, 2) comparing Desktop Linux to OS X, and 3) raising issues that I think we need to take a hard look at as a worldwide community were taken in a very different slant than I intended. FWIW, after having spent a week with my shiny little MacBook Pro, I am happily running Ubuntu Karmic 9.10 on it and have blogged again in an attempt to clear up some of the muddiness around this first post. To this end, I’m going to change the title from “I think I’m tired of Desktop Linux” to something less vitriolic for future viewers. And hopefully this won’t cause aggregators/planets to re-publish this. =:/