In the little more than a year since I got it, my MacBook Pro’s battery life has gone from 3-4 hours to barely 1.5 hours. That’s disappointing. Apparently the software that figures out how much time the machine has left never caught up to this reality, because in the last few weeks I’ve had problems with the machine suddenly losing power when it supposedly had half an hour or more left. That’s aggravating. On Friday, after one of these episodes, the machine couldn’t boot and the Apple-provided repair utility (run from DVD) was powerless to help. That’s disgusting. Something like that is not just a technical error. It’s also a betrayal of trust because, if Apple had followed well established standards for how filesystems should be developed and tested, this kind of failure should never occur on functioning hardware – and my hardware, by the way, is fine.
Before I go on, I’d like to say that things seem to be OK. Thanks largely to Data Rescue, I was able to slurp all of the data I cared about from the disk. After reinstalling, things seem reasonably OK, though I’m sure I’ll be reinstalling various bits of software for a while yet. The net result is a loss of convenience and confidence, but not – as far as I’ve been able to tell so far – of data. It’s particularly notable that iPhoto seamlessly dealt with my reimportation of all of my pictures. Kudos to those developers for that. Now, on with the rant.
The thing that infuriates me about this, as a professional filesystem developer, is how contrary it is to how I and my colleagues generally work. Let’s leave aside the fact that I was playing Zuma at the time and had practically nothing going on in the background, so there was no reason anything should have been touching volume-level data structures on disk for at least the last several minutes. Even if there had been a reason for such activity, the whole point of a journaling filesystem is supposed to be that updates are done in such a way that this kind of catastrophic loss of access to data cannot persist beyond the next journal replay. Recovery after sudden power loss is something that Apple should be testing all the time. Considering the amount of time they’ve had to discover and fix any bugs in this area, such conditions should be all but impossible for users to trigger – and yet it doesn’t take long for Google to tell me that I’m far from alone on this one. There’s even a considerable market for software to perform data recovery and repair that Apple’s own utilities cannot. With all due respect to the fine folks at Prosoft Engineering and elsewhere, this represents yet another abject failure by Apple. Their crappy battery, their crappy battery-monitoring software, their unbelievably crappy filesystem, and their crappy repair utility all contributed to this.
Every developer, tester, or project/product manager at Apple who ever had anything to do with HFS(+) should be ashamed.