I just wrote a nice little article on personal experience (sorry witeshark, haha).
For many years I was surrounded by mac-people (the race) always telling me how great Apple was, and how Microsoft had absolutely nothing on them. At that point, OS X was fairly new, and the only experience I had with macs were the big, old OS9 computers that were only good for two things: going to netscape.com and crashing. Oh, and they played that cool little beeping noise when you hold down that obscure sideways triangle key during bootup. Because of these experiences, I had a personal vendetta against Apple, but every time I tried to rant about them, I always heard OS X fixed all those bugs and everything finally works. Now I wouldn’t normally pay that any attention because every software vendor in history says that about every new release, but one thing made this different. The Appleians told me OS X was based on Darwin… a modified FreeBSD core.
Long story short, I finally broke down and decided to buy a much needed 4th laptop (the other three are just collecting dust)…. a Powerbook (it’s an overly pretty unix… couldn’t be too bad, right?). Rather than getting a cheap old one, I said if I was going to give Apple a try, I’d be fair about it. I pranced into the Apple store and 15 minutes later, walked out with a brand new 12″ Powerbook G4 with an upgraded 1GB of ram and an Airport Extreme card (Apple’s name rebranding for an 802.11g wireless network card). I chose the 12″ size because I’d only be using the Powerbook on the go, thus portability. If I’m at home, I’ll use my desktop.
I used OS X for a while and decided it is in fact fantastic. If all you want to do is word processing and browsing websites. I don’t really play games, so even if it could do that (I’ve heard mixed things), it wouldn’t help me. I tried programming Carbon (Apple’s “pretty” APIs), which turned out to be complete rubbish. It’s like they took Visual Basic, and tried to make it even more user friendly… in doing so completely destroying all development ability (and breaking all programming syntax standards), however I will admit it does have very good OOP support. I with a bit of installing and patching, I got the latest versions of Perl and gcc installed, however I quickly realized programming on that keyboard is truly a form of torture. The control key is rarely used in OS X (unless you’re…. wait, another rant:
Rant: Right-clicking. Apples are developed on the foundation of being very easy to use. Superb. Their mouse is even so easy to use, it only needs one button! Wrong. Modern GUIs these days are so overcomplicated they require multiple click functionality to actually get anything done. Unless you want to memorize a plethora of obscure key codes (usually involving a hybrid symbol between a pound sign and a daisy), you need a right click. Now Apple realized this and instead of adding another mouse button like a sensible operating system, they require you to hold down control (a key from one input source) and click the single mouse button (on the other input source). WHY? If the right-click functionality was important enough to include in the operating system at all, why make it so needlessly complicated? Your answer? Because their stubborn. Since the main focus of their OS X operating system is ease of use, they’d never admit they developed the system overeasy and in doing so lost some fundamental usability. Oh, and let me tell you about ease of use… to force quit an application in Windows it’s quite simple, the three finger solute involving your fingers falling in aesthetically pleasing positions. In Apple, not so much. After looking it up online to figure out how the hell I’m supposed to kill my Safari that went haywire, it still took me a good few minutes to figure out HOW to push the correct keys. The sequence sounded simple enough, with something like ctrl-alt-esc, the alt key wasn’t doing anything. OS X rarely uses the alt key, so they decided to override the functionality with an option key, which is also rarely used. I, on a laptop, had to hold down the Fn key with one finger, then tapping the option/alt hybrid key, and cross my fingers back over to hit the ctrl key, and use my 2nd hand to hit escape. Then the whole system locked up. I wanted to throw it out a Window, however the shear monetary investment in this hunk of metal made me restrain myself. Also on this rant of input controls I’d like to bring up Apple’s brilliant “easy-to-use” plethora of OS key binds. They break every standard and for reasons incomprehensible to me, decided to choose the most obscure, yet applicable combinations. For example you open a folder and are looking at some files, right? You select a file, and how would you expect to open it using the keyboard (I’m much more key-focused than mouse focused)? The normal and obvious answer would be the Enter/Return key (yes they are different, another crazy hybrid key requiring the Fn key to toggle it… however there is ALSO a completely separate key for “Enter” alone, by itself, down beside the arrow keys… why I will never understand). Wrong. Enter is the key you press to rename the file. You have to hold down the apple key and tap O to actually open the file. I could understand a two-key combination for renaming a file since it’s less used, however I think the programmer who set this up got it backwards. The Enter key renames the file? Wow.
Now that that rant is over, back to my programming rant. Now, the control key is rarely used in OS X, so it’s not in a very comfortable spot on the 12” Powerbook’s keyboard. The function key is the perfect distance from the C key, which causes me to often find myself hitting function-c to halt a script and wonder why it’s still going. I understand they were cramped for space on the keyboard with the 12”, but there are about 5 keys on here I think I could easily pop off and never miss, so the keyboard design is absolutely horrible. I have keys I never use, and the keys I do need require finger-yoga to get to. I quickly discovered the Powerbook is probably the worst choice I could have made for a programming laptop.
Fine, no perl or gcc. I gave up on all mobile development and used it for what it could do… internet and word processing. And actually the funny part is it struggles at that. The wireless reception range on of the Airport Extreme is horrible, and the only decent word processor that works on it is Microsoft Word… quite ironic. So there I had a very expensive laptop that could do less than my 500MHz Compaq Armada M300 (great little laptop).
I can’t really sell it because of some scratches on the case and some dead pixels, I’d get very little for it, so I began looking into other alternative uses for it. While a frisbee would be fun, I decided instead to look into a true *nix solution. FreeBSD recently finished their PPC port (I remember a few years back it wasn’t bootable), however I’m still not sure I’d trust the stability and driver availability since it is a fairly new platform for it. I eventually narrowed it down to YellowDog (a PPC oriented linux) and Gentoo 2006. I’ve always wanted to play with Gentoo and learn it a bit more, because of it’s closeness to FreeBSD, so I chose that direction.
The installation process for Gentoo was as painful as expected, like always, but finished compiling a Stage 1 system in a little over 11 hours. It’s been compiling X, Sawfish (a real man’s window manager), and some other visual goodies for the entire day so far, and is still not done. It might take me some tweaking to get the keymaps and mouse setup the way I like it (and is useable), however with Gentoo and X11 I’ll have that freedom. I still haven’t gotten Airport working on it, but I found a few sites talking about how it can be done, but takes some tweaking.
With the 4.5 pound ultra-portable body, and finally a decent operating system, I might actually have a useable laptop after all these months. With black and white text scrolling by for well over 24 hours now, it’ll be nice to finally get a familiar looking window manager up and running on it. Another day I’m going to mess with the power management, suspend mode on screen close, and other goodies like that… but for now I just want it working.
So far it’s looking like good game OS X.