The love of old stuff

By now, if you don’t know I like having old computer gear lying around and keeping it up and running, you don’t know me very well.

It so happens that my main file server at home is my old’n trusty G5 (dual 2.0Ghz and 4GB of RAM, top o’the range back in the day), running 10.4.11. It has a lot of room to spare and has never ever let me down.

For a project, I needed a PowerPC computer running 10.5.8. I decided that the G5 could suffer a little downtime for the Betterment of Mankind. I therefore setup a new partition, start the installation, set the whole thing up, secure in my conviction that it’s only temporary.

When everything is good to go with the project (cool project, too, maybe I’ll post something about that later), I revert back to my previous setting. Las, ho and behold! The filesystem is completely torn apart. It takes 5 minutes just to mount the drive. A lot of files are missing. What happened? What can possibly be done?

First thing’s first, disk utility cannot even VERIFY the drive. Don’t even think of repairing it. DiskWarrior identifies more than 5000 corrupted files, some of them as important as /bin/ls…

After a long period of trials and errors and copies from another computer I have somewhere running 10.4.11, I finally have a “workable” system. But the base containing the users has been corrupted.

Not to worry, says Apple’s knowledge base! All you have to do is restore the database backup, easy as pie. Just boot in single user (cmd + s at boot time), mount the drives (mount -a), continue the startup (sh /etc/rc), and restore the backup (niload -d -r -t < /var/backups/local.nidump). Reboot for safety.

There’s just one problem with that: continuing the startup starts the windowserver, and you can’t type any command anymore. Oh and the screen stays blue forever.

So here’s the trick: knowing that sh /etc/rc is asynchronous and accounting for the various amounts of time this or that subsystem needs to boot, just type all the commands anyway, and let it deal with it invisibly (hooray for error checking but… better than nothing)

so boot in single user, mount the drive and type
sh /etc/rc ; sleep 120 ;  niload -d -r -t < /var/backups/local.nidump ; sleep 30 ; reboot

The blue screen and the lack of any feedback is sure to stretch time in a way that’s not completely explainable by physical means, but in the end, the system is back online.

Next time the system fails, it’s going to take me 2h instead of 50.


Dancing with the Leopard

OK, 10.5 (aka Leopard) is officially out of the box. It runs pretty well, by and large. There are a few quirks here and there, but I guess it’s bound to happen given the context.

Everyone keeps marveling at how fast it goes, compared to its predecessor. And it’s true, more or less. As usual, 10.x is faster than 10.(x-1)… That’s what you expect of a new release, right?

However, there are still a number of annoying bugs that pestered my installation. Maybe it’s because I’m “old school” with all my powerpc machines… After all, Apple still sells hardware, and it makes sense to target their latest computers rather than the 2+ years old ones.

But 10.5.0 is still immature : installing it on my G5/dual 2.5/4GB of RAM took 3h (the migration process, aka “1 minute remaining” took 2h…), airport is shaky to say the least, and some of my favorite applications that I thought were using fairly standard APIs are broken one way or another. Oh and since I have TimeMachine and Spotlight on (and QuickLook can’t be turned off), the disks were under a heavy strain during the first 12h of uptime, thus reducing the overall speed by a good fraction.

I hear “but that’s to be expected with a .0 release!” a lot… Part of me agrees, and part of me rebels against the notion that .0 are just public betas (with a price tag). What’s the use of having a beta program for developers if the bugs we talk about aren’t fixed?

While economic pressure is the most important factor, it gets harder and harder to think about it as just one factor among others. I know several developers who didn’t even bother to report bugs they found in the beta, because they wouldn’t get fixed before a huge number of people ran into them. A huge number of paying customers, should I say.

10.4.x has been a stable and mature system. It still is. True, there are a number of impressive new features available in 10.5 (see Siracusa’s article for an in-depth review), but they are features I can live without, most of the time. I think QuickLook is the feature that will drag me across… Previewing documents without opening applications? wow!

Would I give up stability and comfort for graphical prowess and immature new features, though? Not yet. But that’s only because I spent a lot of time finding out the “new way” old APIs worked (d’ya hear me NSSaveOperation?) and am currently a bit cranky.

For the next major release, I would really like Apple to set-up a beta “community” where we could discuss secret things. Kind of like the WWDC, but for longer than a week… That way, we might not spend hours and hours trying to work out what works, should work or won’t work. Maybe we could even have some advance warning about what’s the GM like, instead of having it after everyone else…

10.5.0 is out. And it’s good. 10.4.x is mature. And that’s even better.