April 2006 Archives
In this article, I'm going to get right down to the nitty gritty of OS X password implementation on 10.2, 10.3, and 10.4. I assume you have some knowledge of cryptographic hashes and algorithms. I will also assume you have knowledge of Unix password systems, since OS X passwords are (not surprisingly) heavily based on Unix implementations.
In my OS X programming of late, one debugging technique I thought would be handy is the ability log and trace Objective-C messages sent. It turns out this is not only possible, but quite easy. However my journey to this easy answer was quite long and took me deep into the Objective-C rabbit hole.
I've been using del.icio.us for a while now, and I periodically backup the posts using using curl. It's a manual process though, and I only backup when I remember to do so. This is bad.
Since computers are good at doing things periodically, I figured I'd hand this job over to cron, the standard Unix scheduling tool. First, I wrapped the whole thing as a Ruby script. I wanted to grab the password from Keychain, as I described earlier, instead of putting the password in the script itself, which is easy in Ruby. I also wanted to add some logging, which is also easy in Ruby. Next, I tell cron to run this script every morning at 4am.
Last night, I gave a presentation at PSIG 92 on Mac OS X password authentication. PSIG is a monthly Mac programmer get-together in northwest Illinois that's hosted by The NorthWest of Us and lead by Jonathan 'Wolf' Rentzsch. I've been attending for about the last year now, and I always look forward to it. The topics and conversations are interesting, and somehow we always manage to geek out into the wee hours of the morning. I highly recommend it, if you're around northwest Chicagoland and want to hang with some other really smart Mac developers.
On Sunday, I finished my third Shamrock Shuffle 8k in three years. The 2004 Shuffle was my very first running race ever, and this year was as fun as ever. There's just something about seeing downtown streets saturated with 25,000 runners that is very exciting. And I may be getting older, but I'm still getting faster. My official time this year was 49:02, a pace of 9:51. Every year my pace seems to be getting faster by about 15 to 20 seconds, however my legs were extremely tired this year. They're still recovering two days later. This race marks the start of the running season, and the weather is finally doing its job to mark the start of spring. I can't wait to start running outside again.
