Election Results: Mac over Ubuntu in a landslide

Just before election day in the US I bought another Mac (a MacBook Pro, Core 2 Duo to be precise) after ditching my Ubuntu laptop. This goes against some of the recent migrations that smart people have been making. Mark Pilgrim moved from Mac to Ubuntu, as have a few others.

I’ve read why they switched, and in my experience I’m voting 100% in the other direction. Why? Well, first some background.

I’ve been using Linux frequently for 6+ years. I’ve used Caldera, RedHat, SuSE, Gentoo (extensively), and Ubuntu. Almost all of them were installed on more than one machine, some were desktops and some were servers. Linux has served as my primary all-day-programming desktop for over 18 months. I’ve been around the block with Linux. I’m no stranger to compiling, configuring, and kernel stuff. They don’t intimidate me me.

I’ve also owned a Mac for two years. In that time I’ve used it to do some development and some home stuff. I’ve used it a fair amount. I’ve used it enough to have problems with it (corrupt disk), and I’ve used it enough to know that there are some quirks I’m not fond of (I can’t hit Tab in the browser and give focus to a checkbox).

Recently, very early this year I installed Ubuntu on multiple machines — a couple laptops, a desktop, and a remote server. I’ve used these machines as my primary work and home environments for close to 6 months now. And I’m ready to move on (at least in my home environment).

Why?

Because things in Ubuntu almost work, and on a Mac things Just Work. Ubuntu’s close enough to working that the “almost” takes a few months to fully manifest itself, but in the end I’m sick of fiddling and I’d rather move on to just Getting Things Done.

Hands Down Mac Victories

Search. Spotlight nails it. Beagle’s cool, but it’s not there. It’s a wannabe, and it shows. The presentation isn’t as good. The integration into the “chrome” of the operating system isn’t as smooth. In short, the little barriers to invoking it as well as the slightly less useful results it gave made me abandon it after a couple weeks. On a Mac, I live by Spotlight. And it rarely fails me. On Ubuntu, it almost works.

Mail. Mail.app is great. Evolution almost works. I have to use exchange at work (I have Ubuntu installed there, too). Evolution has a module to integrate with Exchange, and it sorta thinks about working. It’s slow, and frequently it hangs. So much so that I got sick of typing

ps -ef | grep evolu | grep -v grep | awk '{ print $2 }' | xargs kill

that I put it in a batch file shell script. I ran it no less than twice a day, sometimes more. Calendaring almost worked, except when it didn’t. Frequently I’d send out an appointment only to figure out that my colleagues version of the appointment didn’t repeat over the right interval. I don’t blame anyone for having trouble integrating with a Microsoft product. But at the end of the day, it was still annoyingly brittle. On Mac, there’s Entourage — an M$ product to work with the M$ server. As it is, Mail.app rocks for processing my personal email really efficiently. Oh, and it can export your mail to mbox. Duh. On Ubuntu, mail almost works.

Wireless. Wireless Just Works on a Mac (providing your router isn’t ancient). On Ubuntu, it’s the opposite. If you buy a great machine, your wireless may take months to work. On my work machine, I couldn’t use the regular Broadcom driver setup, and so I had to resort to ndiswrapper. The funny thing is, that once I got it setup, it started the habit of dropping the connection randomly. Sometimes it’d go 20 minutes, or an hour and a half, or 30 seconds. It was unpredictable. Come to find out, there’s an IRQ conflict between ndiswrapper and nvidia. A conflict that only the BIOS manufacturer (Dell) can resolve. So if I want to use wireless when working from home, I have to turn off nvidia. If I want the eye candy of Beryl (more on that later) at work, then I have to switch my xorg.conf every time my laptop migrates.

Visual Effects. Ok. So I love that twirling cube on the Mac. The login box shakes its head at you when you put the wrong password in. The system preferences menu highlights areas that may have what you’re looking for as you search. Beyond being “cute”, these kinds of user interface indications provide street signs and affordances that anchor the user in a useful mental model of how the system is treating their actions. It reduces both the Gulf of Evaluation and the Gulf of Execution by radiating system state in a creative, intuitive, meaningful way. There seem to be several different combinations of programs and libraries that you can install on Ubuntu to try to bring some of this UI goodness to your Linux desktop. Beryl has been my most recent favorite. But the maze of configuration settings and the massive number of things that can go wrong if you don’t get something setup quite right are annoying. I had XGL and Compiz setup great on my laptop. Then I did an update one day and everything broke. I had no chrome (close, max, min buttons; resize arrows, etc.) on any of my windows. I dropped back to my normal window manager. I waited. 2 days. 5 days. 3 weeks. Nothing. Meanwhile, my work laptop continued to like Compiz. But then I added an external monitor and then nothing worked. Then Beryl came out. It worked. It fixed both problems, but added others. Configuration still was an intermediate level task. On Ubuntu, the visual effects are mainly eye candy, unstable, and hard to configure. On a Mac, the visual effects are subtle, elegant UI design that Just Works.

Audio Effects. Chat doesn’t blare at you, and the Power On sound is impressive. The sound design shows the same kind of polish as the Tokyo subway. On Ubuntu, some of the sounds are great but some are lame. The inconsistency an lack of harmony among the components is reminiscent of the PC fragmentation. On Ubuntu, it’s almost sorta there, but not quite. A Mac feels more integrated and unified, in my opinion, and the design standard is clearly on a higher Zen plane.

Bluetooth. Bluetooth on the Mac just works. I’ve had an iMac with a bluetooth keyboard and mouse for over 2 years now. I’ve used that same iMac to connect to my cell phone and my bluetooth headset. I’ve pulled pictures off my cellphone, dropped MP3 ringtones onto it, and browsed it’s directories. Ubuntu’s support of bluetooth is nothing short of disastrous. There are half baked projects scattered across both Gnome and KDE. Some work, some don’t. None could connect to my cell phone. Only one could browse part of it. Ubuntu simply gets a failing grade in this area, for sucking the life out of me while I fell down this rabbit hole into the Pit of Despair. On Mac bluetooth Just Works.

Bonus Points for the Mac

Sadly, I don’t have time to elaborate on why this things are so cool. You should just buy a Mac, and then you’d know.

  • QuickSilver. You can’t understand how cool this is by simply reading.
  • Magnetic battery connection. It’s like moving to a mouse with a scroll wheel — you have to experience it.
  • Scriptability.
  • I can boot off another device. Like, say, another Mac in Firewire-mode.
  • Movie editing. No, real movie editing.
  • iPod+iTunes. (amaroK is lame, iTunes is QuickSilver enabled)
  • Open formats. Most things speak the open formats I care about.
  • Two finger right click + horizontal scroll. Yup, experience required to feel the cool factor.

Stuck on Windows

Visio. There’s nothing on Ubuntu that lets me read files written by Visio. Oh, and VMWare on Linux almost works. Except their website process for downloading the free server edition requires me to re-register every time I need to download. And it requires strange root access. At it can’t boot the physical partition where my real Windows data is. And I’d have to ask support to register my virtual instance with the domain controller so they could conceivably remotely install Visio on my virtual instance. Nope, gotta keep the dual boot. In fact, this has actually pushed me more toward staying in Windows on the work machine.

Conclusion

My reasons for choosing to dump Ubuntu for a Mac are almost entirely about the experience. After years of Linux work, I’m tired of fiddling. I’m tired of things that almost work. I’m ready for a change. I’m sick of the war to get things to work. I’m ready to simply Get Things Done.

Cast your vote.

Bye Typo - Back to WordPress; Podcast Fixed

OK. Now that the little one’s affording me a bit more sleep, I’ve finally gotten around to fixing my podcast. I took the cheap way out — I simply moved back to WordPress. I didn’t find that my experience with Typo was all that compelling. I had to rework my permalinks, migrate the content (comments didn’t come over well), and then there was the question of the podcast (it totally didn’t work at all — all the content’s actually at archive.org).

So now I’ve fixed it all up and hopefully the stage is now set for smoother sailing on both the blog and the podcast from here on out.

Using POST for Search Considered Harmful

This is why JSF’s “everything-is-a-POST” approach is bad, but first let me give a bit of background information. I’m a Harry Potter fan. I like the books. I like the occasional conversation. I ususally keep my enthusiasm centered around new arrivals of a book or movie. A while back, my mom and I were talking Harry Potter. She tried to send me a few links. Here’s what I got:

Hi guys,

Here are a couple of links you might like:

Video stream of Radio City Music Hall reading:
http://www.the-leaky-cauldron.org/#article:8956

Here’s a quick rundown of the above interview. You have to scroll down to “Coverage:Harry Carrie and Garp” There are some additional links to fan reaction toward the end of the article.

http://www.mugglenet.com/search/index.php

transcript of Richard and Judy interview:

http://www.mugglenet.com/search/index.php

Have fun,
loveya,
mom

Notice the last two links. They’re identical, and they clearly have no information about which particular search results should appear in them. They’re entirely dependent upon the state of the current session of the user. Yet they have interesting content that my mom wants to share with me.

With most other sites (including the first link in the email), you can simply cut-n-paste the URL and send something meaninful to a friend. Lots of people know this. But when you hide your search behind a POST, you break that tacit understanding between the user and the Big Web World. You violate a social morĂ©. This isn’t just a problem with JSF (though their assertion that everything’s a POST is darn annoying) — even my example is from a PHP site.

Please stop breaking the web. Always use GET for your search options, and reserve POST for what it should be for: operations with such side effects that the user agent should prevent accidental replay of the request.