Snow Leopard: Defeated
After spending years professionally beating irrational computers into acting rationally again, it’s a humbling experience to almost get beaten by a simple software update. That’s not to say software updates are without their eccentricities, but you can at least count on the problems to begin either after the software has finished installing, or right in the middle (ideally at a critical and irrecoverable point). It’s not often that problems begin before the installation takes place, or so I thought until I was staring down Snow Leopard’s missive that “You cannot install Mac OS X on this volume.”
“Can’t, or won’t?” I thought, in my best Kevin Conroy voice.
The problem, it turns out, is somehow related to the destination drive’s partition map, about which a few theories are being floated by others who have been affected. I hear you, PowerPC veterans, exclaiming “Of course! He must have an Apple Partition Table. How 2006.” Not so fast: the issue affects the requisite GUID Partition Table, and while there seems to be a few different causes, you’re more likely to run into this problem if you’ve chopped up your hard drive for a dual or multi-boot machine, or say installed Fedora and added a 2GB swap partition.
At least the solution is simple: pop open Disk Utility and resize your destination partition a couple times. Whatever the reason, most users are back in business after this digital flexing. My computer understands that I’ve made a profession out of fixing far worse nightmares, and would have none of this quick fix nonsense. Disk Utility managed to ratchet up the difficulty level by arbitrarily hating the ext3 file system upon which Fedora was installed, and crashed whenever asked to modify the partition map.
My computer forgets who its dealing with: someone who keeps a full back up and isn’t afraid to erase the partition map. Long story short, the software is installed.
Reinventing the Wheel
I found something neat today called ReactOS. The goal is to recreate an open-source successor to Windows XP based on the Windows NT kernel. The analogy has probably been done to death, but it sounds a lot like another open source OS that re-implemented an existing one. It sounds like a great idea, or at least a very ambitious one, intending to put a stranglehold on Windows’ security holes and optimize the hell out of it. Interestingly, they had this to say of a group of operating systems that already accomplished this:
Modern incarnations like Mac OS X put a fancy graphical user interface on top of UNIX, to hide system details and focus mainly for beginners and likely advanced users are left out in the rain. In contrast, various Linux and BSD flavors have been put together originally for server usage and are therefore very console centric. Most advanced features cannot be accessed from the basic graphical user interface. Almost all UNIX flavors retain some of the original design flaws and binary compatibility between various versions is usually non-existent
Now, it’s probably a bad idea for me to argue with a group of people who are capable of building their own operating system, but there are some flaws with these arguments. We’ll deal with Mac OS X first, because it’s the easiest, and applies to all the popular *nix windowing environments:

Hiding in Plain Sight
Though the terminal is probably the most easily-recognizable tool to get past the GUI, it’s not the only one. Most windowing environments provide a processor viewer similar to top, a log viewer, and even a SELinux policy generator with my copy of Fedora. It’s true that a GUI is meant to hide the complexities behind something simpler, but advanced users are hardly forced to deal with a Fischer-Price OS when more advanced tools are so readily available.
The assertion that server versions are the polar opposite is at least partially true; the most powerful features tend to require some advanced tinkering, after all, it’s a server. It’s hard to simplify that which must be equal parts accessible to trusted clients and guarded against those who aren’t. Some efforts have been made to putting a friendlier face on administrating network services, and while I’m a fan of Mac OS X Server’s admin tools, others simply prefer the control afforded by the more venerable terminal.
The final argument about legacy flaws and binary incompatibilities may as well be true. These operating systems have all been around for a long time, and the potential for junk to pile up (not unlike my closet) is a given. Are these issues so entrenched as to make it impossible or merely difficult to overhaul? Is the solution to renovate, or throw out decades of hard work and begin fresh? I don’t envy the people staring down these decisions. Binary incompatibilities is an issue I’m barely qualified to touch on, so let’s leave it there.
As for ReactOS:
In contrast to UNIX, ReactOS was designed for people familiar and comfortable with the Windows environment. Everything can be done through the well known Win32 user interface and advanced users are free to automate tasks with scripts or use the console.
“Everything,” which I’m assuming they don’t mean literally, can be done through the GUI, and advanced users can write scripts and access the console. This all sounds rather familiar. ReactOS sounds like a very cool project, but I think we’ll have to disagree about the current state of *nix operating systems.
New Ground
A few days after deciding to embark on this crazy plan, it occurred to me that perhaps I should get used to running a real Linux distro on my MacBook if I’m to make this work. Sure, Mac OS X is pretty UNIX’d up, but the goal here is to get used to something a little more unfamiliar. The MacBook was happily running Ubuntu (Intrepid Ibex) a few months ago, but was sadly just a curiosity at the time and didn’t get much love. So, about a month ago I formatted the drive and threw on Jaunty Jackalope which mostly pleased except for one big problem: gksu crashed and crashed hard.
It’s a bit of a show-stopper, since this is the process by which admin access is granted through the GUI, meaning that the whole system grinds to a stop whenever the system tries to do something like install an update to patch bugs. On the other hand, this can’t be affecting every Ubuntu user, or there would probably be a lot more talk about it. Chances are, there’s a very specific set of circumstances that conspire to invoke the bug, and I’m just unlucky enough to match said circumstances. The whole thing could probably be fixed up by patching the system via command line instead, but after a week of this I had already moved on:
Instead of getting familiar with just one distro, why not a few? Ubuntu was nuked and replaced by Fedora 10. This might seem a slightly crazy idea with Fedora 11 just around the corner, but the purpose of this exercise is after all to get used to installing and using different distros, so why not? Fedora also supports HFS+ out of the box, which is tremendously cool. Not only can I mount my Mac OS X partitions, but it even supports the directories’ permissions. Better yet, Fedora apparently is one of the focuses of the *nix admin course. Sold. So far so good, and only getting better.
Changing Gears
About half an hour ago I was repeating the same motions that I’ve been going through for the past week: hit all the job sites and look for something matching my qualifications. There’s not much out there for unproven Mac sysadmins though, with Active Directory and MS Exchange being far more ubiquitous in job listings. The best course of action at this point would be to panic, but instead I somehow got this crazy idea into my head:
You know what, why not? Beating Macs into submission for a living means limited exposure to the command line, and if you want to be really good at what you do, it means embracing it. Unfortunately, saying that you like Mac OS X’s BSD implementation isn’t the same as having the college credentials. Maybe my plan is still to walk into the first great job I find, or maybe it’s to find a just enough temporary employment to last until the fall semester. There would be a great irony in returning to school for computer studies, but that’s another story.
Decisions, decisions…
