No, I'm not sick. Yes, I'm in my right mind. And yes, I do still think Apple is evil, the Mac UI is annoying, and Steve Jobs needs to get smacked with an open-platform cluebat. I still won't buy an iPhone or an iPod, and I won't use iTunes, either. I still believe that if I buy a piece of hardware, I have the Dog-given right to run whatever the hell piece of software on it I feel like.
So what gives?
Well, first off I want to correct a commonly-held misconception: I am not an operating system zealot.
I believe in using the best tool for the job. I have strong opinions about what tool that is, depending on the job in question. (Dev = Linux, Games = Windows, boring everyday shit = Mac) And I categorically reject the notion (espoused by the Free Software Foundation) that proprietary software is inherently bad or somehow immoral. (Indeed, I feel the FSF is acting somewhat immorally--or at least disrespectfully--by trying to shove their particular brand of "freedom" down everyone else's throats.) I feel there are a whole host of PRAGMATIC reasons to choose Open Source over proprietary software, and I'll discuss those below. But I have no problem with proprietary software as such.
In my case, there are a number of fairly compelling, pragmatic reasons for buying a new machine, and a Mac in particular. First, I need a new laptop -- I discovered a while back that my current machine eats (and I do mean EATS) laptop batteries, so I effectively have no laptop. Having a mobile computer is important to me, because I like to travel on the weekends and need a machine I can take with me. Also, the importance of getting a server machine has diminished, because I'm trying to stay away from the computer while I'm not at work -- I just can't afford to use my hands that much anymore if I still want to be able to type in 20 years.
So why a MacBook, instead of a Linux laptop?
Honestly, there is a certain class of problems for which the Mac is better than any other system out there. I'm thinking here of bread-and-butter PIM, mail, chat, etc. The Mac is a package deal in the sense that you buy it once, it works (almost) out of the box (well, except when it breaks, in which case you're screwed, but I digress), it's pretty, and everything is really nicely-integrated. I can sync my Google and Exchange accounts, (yet keep them separate -- work doesn't get to know what I do on the weekends). I now have a (mostly-)full set of Outlook tools that doesn't make me want to stab my eyes out with a spork. Safari is a respectable browser, and I can get Firefox if I need it. Adium has an interface superior to any other IM client, on any platform, that I've seen so far.
Linux, even KDE (which is by far the best of the bunch) doesn't come close to this. Exchange support is being worked on for KDE 4.4 (thanks, greeneg!), but the CalDAV stuff for syncing Google Calendar doesn't work, and there's no way to sync the address book. And forget pushing my contacts to my phone. Linux has no idea what to do with Bluetooth, let alone a RAZR, and I don't feel like spending an entire weekend figuring it out.
Now, all of these problems are fixable. But the focus of KDE, in particular, seems to have shifted from "bread-and-butter make-it-work so I can get my shit done", to "pretty-shiny desktop widgets and social networking". I've never been much for social networking (except the kind that you do yourself), and while the desktop widgets are pretty-shiny, they spend most of their time on my desktop, buried under windows in which--you guessed it--I'm doing actual work.
I guess I feel the KDE project has lost its way.
If we move down the stack, we get to Qt and X11. Qt is well-maintained, clean, etc. -- though it should be, it's now owned by Nokia. The graphics and audio stacks are a different story, however. X11 is plagued with driver problems and instability -- we have several different acceleration architectures that all do the same thing (and do it badly -- in a lot of cases, it's actually faster NOT to accelerate), and we're shoehorning all of this into a windowing system that was badly-designed when it was written 30 or so years ago, nevermind today. (Never try to write raw Xlib code, BTW. It really, really sucks.) We have the PulseAudio, ALSA and GStreamer religions, in which everyone is having a bad case of Not-Invented-Here syndrome, loudly arguing back and forth while the whole multimedia stack suffers. Even Qt itself has now sprouted multiple multimedia frameworks that do almost the same thing.
Moving even further down, the kernel itself is rock-solid. I have very few complaints, other than to ask the kernel developers to make sure they support the desktop people as well as they can. Linux is damn good at the "bread-and-butter" of the server room -- networking, storing data, and hardcore computing (peg those CPUs, baby!). I've always relied, and will continue to rely on Linux for safely storing my shit. XFS (and soon, btrfs) just kicks the pants off of HFS+ in terms of scalability (and probably reliability, though I don't know).
Linux is also a much better development environment, for the simple reason that its UIs (well, except for GNOME, but why the hell would anyone use that?) are customizable to a fault. Want focus-follows-mouse with a key-press to raise and lower windows? No problem. Or maybe a text editor (Vim) so powerful it was ported to Mac and Windows? Sure. Want to peg the CPU and fill up your RAM *without* your system falling over? Linux does better at that than Mac has so far (for me, at least).
In the OSS world, there is no such thing as an "undocumented" protocol or API -- even if the documentation is inadequate, you can read the source. (Yes, I've actually done this. No, it's not nearly as hard as it sounds. If you can't read other people's reasonably-structured code, you shouldn't be writing it in the first place. =P) And BECAUSE you can read the source, you have the built-in assurance that your data won't be locked away in some proprietary format that's impossible to read because it depends on some implementation-specific detail hidden away in Microsoft Excel 5.0.427-6b for the Mac. (Well, it might be, but you can still figure out what the hell is going on.) In the OSS world, it's to the developer's ADVANTAGE to make their formats and protocols open and easy to read -- it encourages people to use and work on their project.
So to the extent that I'm concerned about keeping my data safe, I'm not going to trust the Mac. It will be synced frequently with the Linux box, and the Linux box still gets to do backups and be the authoritative storage point. I'm still a KDE user--particularly at work--and while I'll be happy to see Mac ports of KDE apps, I'm still planning on using some of them, even on my old machine. I can't live without KMyMoney, which is almost exactly what I want in a finance program, even if the UI's a bit awkward. Digikam also does an excellent job at managing my images, and I'm not sure I'd trust iPhoto with the task.
But the reality is, KDE is diverging from what I need in an "everyday" (web, IM, Mail, etc.) desktop environment, and OSX is getting closer. I don't have the time, the energy, or the muscles and tendons (in my hands :P) required to fix the problem, and there's a lot more work than one man can do, anyway. I really, really hope this gets fixed soon, but we're up to KDE 4.3 and it doesn't look like it will be.
Don't get me wrong -- I still like KDE and I want to see it succeed. I'm still going to follow trunk and help out where and when I can. (Maybe I can help test KDE/Mac. :D) But right now, for a laptop that primarily does everyday kinds of things, a Mac suits my needs better.