Flutterby™! : losing head

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

losing head

2007-01-19 23:58:13.923157+00 by Dan Lyke 4 comments

John over at Genehack did exactly the same thing to his Mac that I did. In my most recent OS X installation I was smart and copied /usr/bin/head before installing basic Perl[Wiki] modules. Yeah, case insensitive filesystems are braindead, case insensitive filesystems which pretend to be Un*x like are even worse.

Just wait 'til you discover that umount appears to work like you'd expect it would, except that it doesn't. No, on the Mac, it's diskutil unmount /dev/..., except that umount will just silently do nothing while telling you that it did everything, thereby making it far easier to corrupt external media.

There's so much that Apple could have done right with this platform, alas it's amazing at how much ductape and bailing wire appears to be holding it together once you look behind the curtain.

[ related topics: Apple Computer John S Jacobs-Anderson moron Macintosh ]

comments in ascending chronological order (reverse):

#Comment Re: made: 2007-01-20 05:25:44.694616+00 by: meuon

You weren't supposed to peek behind the curtain.

#Comment Re: made: 2007-01-20 13:24:42.821015+00 by: DaveP

You can make a case-sensitive filesystem. It's just that many apps (especially older Carbon apps) won't run on it.

#Comment Re: made: 2007-01-20 14:54:05.988774+00 by: John Anderson

I guess I feel mildly better that I'm not the only person to have been bitten by this. I was able to pull a 'head' binary over from my work Mac, which means that one file is now a "fat" binary on an otherwise PPC-only machine -- I'm sure that will lead to some mysterious breakage at some point...

#Comment Re: made: 2007-01-20 19:10:48.765812+00 by: markd

Unlikely it'll lead to problems. The intel side won't be run on a PPC. You can strip out the intel side if you want with:

lipo -thin ppc -output head.ppc head

and then replace the fat-head (sorry) with head.ppc. I like fat files - one stop shopping. Different architectures, or 32 and 64 bit versions of a program or library.

I was going to mention the case-sensitive HFS file system, but DaveP beat me to it. You can also make a UFS disk image that lets you do the case-sensitive abortion that is Makefile, MAKEFILE, and makefile (I can never figure out which one is which). Typically what I suggest to alpha nerds is a reasonably sized boot partition that will hold the default /Applications, and any native mac apps you might want to use, and then have a partition or disk image for UFS for Perl stuff (Perl seems to be the main offender with having lots of stuff named the same differing only by case. I guess there's more than one way to name it.)

On OS X, places like /usr/bin/ and /System are the manufacturer's territory. For better or worse, Apple can and will do all sorts of "wrong" things in there. That's why God made /usr/local/bin and/or /opt, depending on your pursuasion. I always put things to /usr/local/whatever, and have never had problems. It also makes migrating all my locally installed stuff from machine to machine that much easier - I have a DocBook (SGML) toolchain, the very definition of pain and suffering, that has survived intact through 5 different machines, three major OS revisions, and one chip architecture change.

One thing to realize is you/we are 99th percentile - the uber unix geek, which is not the Mac's target audience. For the ordinary user, "sales forecast 1999", "Sales Forecast 1999", and "SALES FORECAST 1999" are the same thing. Hell, I've had "professional web designers" stare at me blankely when I say "Blah.JPG gives me a 404 on the server, use Blah.jpg in your html." "but they're the same!"

Given the frankenstein nature of OSX (the unholy union of Mach, *BSD, and Classic Mac stuff), I'm surprised more stuff isn't broken. The Fruit isn't perfect, but I still like it more than any of the alternatives.

For folks having specific problems, like the unmount thing - have you filed bugs via http:// bugreporter.apple.com? (requires a developer account, but it's free, and you can use bogus credentials if you want). It could well be that particular behavior is a real bug. (Then again it might be broken as designed) With the next major OS still in gestation, now's the time to get stuff on the radar.