Robin Harris surprised about Apple dropping ZFS

Robin Harris regretfully eports: "Apple kicks ZFS in the butt", and speculates why Apple did not ship ZFS as part of Snow Leopard, its latest incarnation of Mac OS X:

What did it in? Maybe it was a schedule problem - file systems require a lot of testing - and rewriting all the other bits took precedence. NIH - Not Invented Here - syndrome is another possibility. Or perhaps the uncertainty of Sun’s future led Apple to pull back.

Or maybe they just decided customers wouldn’t know enough to care, so why bother? Whatever the reason it is a major step backwards for the PC industry.

I can think of a few practical reasons myself.

For now, I'll try to focus on one: Apple's not ready for it. And perhaps, neither are the users.

Rule #1: Apple designs and sells systems that are supposed to just work. No hassle, no jumping through hoops, no bells, no whistles. Pure form, pure function.

ZFS was designed to do one thing really well. You give it your storage and your data, and it will go to extreme ends to protect your data. It will need at least two disks in order to do that.

Apple's desktop systems and notebook computers still come with only one disk inside.

Use an external disk for ZFS redundancy? The ultimate Rule #1 violation. The whole point of an external disk is that it can be disconnected. The whole point with ZFS redundancy is that you don't want to even create a hint that one of its disks could be disconnected.

After all, there is only one storage pool, and ZFS will take care of that, thank you kindly, sir. The firewire/USB/eSata cable is just the rope that the user needs. Allow them to disconnect the drive, and friendly as Mac OS is, you can provide sufficient automation to recognise that the cable was disconnected, show a kind Applely warning that "Mac OS cannot protect your data if you do not reconnect the external volume."

People are just not ready for this yet. You don't want to run ZFS with h/w that can be disconnected on a whim, or purely by accident, it's just asking for trouble. After three or four friendly warnings, people will ignore them. Yes, I know! Stop nagging me! The ease with which ZFS could recover from this will only encourage people to become careless, annoyed, or both.

ZFS will be ready for consumer use when all the volumes in a storage pool will reside together in the same device. Detachable storage is great for backups, especially with a notebook, but would have to be redundant itself. So now we're talking about at least four disks: two inside the computer, and two outside to protect against physical loss. Let's just stop there.

My conclusion is that Apple probably has taken the right decision business-wise, but I hate them for not having the hardware to support it. Maybe they will get back to it, and I look for the day when they will have notebooks and iMacs with an even numbers of disk slots.


How many languages were used to build that?

I spent two days tracking a nasty bug in PRM, a performance monitoring module in Sun Management Center, and wondered how many languages were involved with creating the product.

So far, I've found the following:

  1. java
  2. tcl
  3. sh
  4. awk
  5. sql
  6. perl
  7. C/C++
  8. XML
  9. ASN-1
Are there any missing?

How many languages can you use for product development without things getting too complex?
Some of the languages have a specific focus, like sql for db queries, sh for system adminstration (start/stop components), and the data description languages XML for SMF and ASN-1 for describing snmp mibs.