I'm quickly nearing the point where I'm going to drop support for OS X for my Sys Utils project. It's always been a pain to support it, and it just keeps getting worse.
In 10.5, for example, I've been told they dropped /dev/kmem. What should I use instead? The sysctl() approach has always been unreliable, and I'm pretty much worn down when it comes to figuring out the layers of goop they've slapped on top of the BSD kernel, having to rely entirely on 3rd party patches, despite the fact that I've got a 10.4 box sitting in the other room. Suck.
I see Kurt Schrader is having fun on OS X as well, as they make yet another change to the socket library. At this point I'll bet Apple has surpassed all other platforms as the #ifdef champion in Ruby, Perl, Python, etc.