Flutterby™!: A_Mac_Rant

Next unread comment / Catchup all unread comments User Account Info | Logout | XML/Pilot/etc versions | Long version (with comments) | Weblog archives | Site Map | | Browse Topics


This is my first attempt at trying to build a Wiki-like knowledge base on top of the Flutterby content management system.

This is a place for explanation, description and static links on a topic that's either too broad to be covered under a single link, or that you're just too lazy to find the real link to.

Entries are automatically generated.

Dan's Mac Rant

by:Dan Lyke started: 2006-12-21 03:29:23.91774+01 updated: 2006-12-21 03:29:23.91774+01

For a year and a half I've had a Mac[Wiki] PowerBook G4 for work. Sometime in there my Linux[Wiki] laptop had hardware problems, so for a half-year or so it's been my primary computer. In that time I've learned to accept some of its quirks and idiosyncracies, the fact that iChat sometimes forgets how to make noises for its alerts and it takes a system reboot to bring that back, that ImageMagick's display utility doesn't seem to get the right sent of events or focus when running in X, that even with native Mac[Wiki] apps, focus seems a hit and miss thing, sometimes I'll be mousing in a window, start to type, and discover that my keystrokes are going somewhere else entirely. I've even gotten used to the fact that application files are directories... kind of. If you don't understand this last part, that's okay, there are lots of bits of the Mac[Wiki] that don't understand it either.

As a developer, I've accepted that although at its core this machine is allegedly POSIX[Wiki], there are wrappers for various functionality that you soon end up having to use that rival the worst of Windows's byzantine duplications permutations, and that the documentation for these is usually searching through .h files and the archives for the Mac[Wiki] developer list, and the answer is often "No, really, don't use the API set that you're using".

I've been cool with all of this, because, frankly, it sucks less than Windows[Wiki]. But I think Apple is working hard to play catch-up to Microsoft[Wiki], and I fear that soon the Mac[Wiki] experience will rival the brokenness of XP.

Yesterday I got a PowerBook Pro. Had I just turned the thing on and used it, everything probably would have been fine, but I decided that it'd be nice to be able to boot multiple versions of the OS for testing. So I partitioned the drive into three parts, two small partions, one large one, and installed a stripped down version on the small partition. So far so good.

So I copy the /Applications directory over to the big partition and create a symbolic link to it, and go to install the rest of the apps that the Mac[Wiki] ships with. The installer shows me the three partitions, won't let me select the big one, and won't let me install lots of stuff on the smaller one, but that's okay because I've got that symbolic link, so everything should work, right?

Well, no, when I try to install it I get an error.

So I ask a few questions and discover that on the Mac, you need to use a -R rather than just a -r when you copy to preserve meta information on the filesystem. That I'd lost the use of the head command because a Perl[Wiki] module installs a HEAD command in the same place gave me a small shot of irony, but I try again.

This time, the installer helpfully removes my /Applications symbolic link, and stuffs the programs in the small partition again.

Finally, I give up and put everything in the big partition, thinking that when I do install another OS I can put it in the small partition and do the symbolic link thing because as long as I don't want to install anything new, I should be okay.

Now I've also got a toolchain that takes images off of my digital cameras, processes them, and uploads them to my website. On Linux[Wiki] systems, they automatically unmount the card so that I can just start this process, and when it finishes grab the card back out of the reader and go.

On the Mac[Wiki], the standard umount doesn't work. Oh, it says it works, it may even unmount the filesystem, but the "Finder" still thinks its there. Worse, the Mac[Wiki] writes to its filesystem (and caches an awful lot) even if you're just reading data. So using umount is a quick way to data corruption.

I mention this today to a Mac[Wiki] enthused cow-orker, and he says "just use diskutil rather than umount". So I do, and after I figure out a few things, it works. But Apple has full control over the hardware, the shell, and the operating system kernel, why did they not fix umount to work correctly? Why did they break an established interface?

It's as though they built a car which put the shifter/transmission control, the parking brake, the accelerator and brake on a lever on the steering column. Perfectly serviceable interface, does all your stuff for you. But they left all of the other levers in place, and didn't hook them up, so when you go to set the parking break the lever clicks into place, you think the car's not going anywhere, but, no, you're just being fooled.


As the Mac[Wiki] embraces complexity for its own sake, at least under the hood, as it descends into a nightmare of deprecated and replaced and overlapping APIs, who's winning? A whole bunch of people, working largely for free, have built a system that competes with both Mac[Wiki] and Windows[Wiki], and it's getting better and better where the other two are getting worse and worse.

I think it behooves all of us in the software business, probably everyone in any business, to look at how those processes have broken and how and why a bunch of volunteers are building a better replacement.

Comments go to:

by:Dan Lyke started: 2006-12-21 03:31:12.668122+01 updated: 2006-12-21 03:31:12.668122+01

Comments to http://www.flutterby.com/archives/comments/9621.html

Flutterby™ is a trademark claimed by

Dan Lyke
for the web publications at www.flutterby.com and www.flutterby.net.