The despicable MacFixIt

Editors’ Note: Although this was intended for MDJ and MWJ subscribers, the public importance (and the requests we’d probably get to send it to other people) have led us to post this publicly instead. You can link to this article here.

If you had any doubts that CNet-owned MacFixIt was deliberately trying to make people afraid of installing Mac OS X 10.5 (“Leopard”) to get more page views, look at the site’s own summary, in its own RSS feed, of its own article Philosophical and practical notes on installing Leopard:

Ever since founding editor Ted Landau sold MacFixIt years ago, the site has been on an increasingly shrill trajectory of fomenting fear and uncertainty about installing any software, largely in an attempt to instill in its readers an unnecessary dependency on the site’s blessing before proceeding with, well, anything. The “be very afraid” subtext has always been clear in the current MacFixIt’s installation “advice,” but it’s refreshing that the site has finally come out and said so, to remove any doubts.

The more afraid MacFixIt makes you of installing new software, the more often you’ll check the site—and either view the ads or upgrade to a paid subscription—to see if it’s “safe” to install yet. If you actually learn how things work and make your own judgments, you might break out of a fear-based dependency on MacFixIt, so the site does its best to prevent that from happening.

Take, for example, Wednesday’s article about using DiskWarrior under Mac OS X 10.5. DiskWarrior is, in our view, simply the best HFS and HFS Plus directory repair tool available, a must-have for any serious Macintosh user. DiskWarrior rebuilds directories from scratch rather than attempting to patch problems in existing directories, a process MDJ explored in depth in May 2003.

As you’ve probably heard, members of Apple’s paid developer programs did not get advance access to the final, “golden master” build of Mac OS X 10.5 before the release date. The last time Apple allowed that was with Mac OS X 10.3 (“Panther”), and since the GM build leaked all over the Internet within an hour of making it available to developers, Apple didn’t release Tiger to developers until it went on sale in the United States. It looks like the same is happening for Leopard.

Therefore, Alsoft, like other developers, has not seen the absolutely final version of Mac OS X 10.5 before customers have it, and cannot absolutely guarantee there are no last-minute changes that would affect their programs, like DiskWarrior.

Nonetheless, it’s extremely unlikely that very late builds of Leopard change anything about the HFS Plus on-disk format that haven’t been changed in earlier builds of Leopard. Making those kinds of changes late in the development cycle is a blunt invitation to disaster, as far more programs depend on low-level disk details than really should. We’re not aware of any significant on-disk HFS Plus changes in Mac OS X 10.5, and none are included on Apple’s list of Leopard features, but that doesn’t mean there aren’t changes. Mac OS X 10.4 brought a “hot files” zone area on disk for frequently used files, for example—but if a disk utility overwrites that area, it doesn’t affect the OS’s operation. Apple is pretty sharp about those compatibility issues.

In fact, that’s why HFS and HFS Plus have always borne signatures that identify the version of the filesystem in use on the volume. There’s even a four-byte OSType “last mounted version” to tell utilities like DiskWarrior what the last version of the code that mounted this disk is. Combine that with the two-byte signature that identifies the flavor of HFS used on the disk, and you have a solid way to know if any given disk has been modified by some future version of code that made changes you don’t know about. If a properly-written utility sees versions or signatures that it doesn’t understand, it doesn’t change the disk. DiskWarrior is a properly-written utility, so if there are any format changes in Mac OS X 10.5 that it doesn’t know about, it will not rewrite your directory. In such instances, DiskWarrior knows that it doesn’t know how to rebuild those disks.

In a compatibility note released to sites like MacFixIt, Alsoft explained that DiskWarrior knows not to change disks if the format tells the utility that something has changed. MacFixIt dutifully reprinted the note, adding the summary, “The current version of DiskWarrior won’t cause damage to Leopard disks because it will simply refuse to perform the process for which it is designed.”

That’s exactly correct—but doesn’t leave you in a state of MacFixIt-dependent fear. We can’t have that, can we? So the site immediately advised the 180° opposite of what it just said:

We highly recommend not running DiskWarrior at all after installing Mac OS X 10.5 until further information is available.

Emphasis added to make the subtext clear: “We know the developer just told you it’s perfectly safe, and we told you it’s perfectly safe, but you need to keep reading our site until we tell you to use it.” Think we’re exaggerating? The very next sentence:

All current indications are that the program will run, and rebuild directories on bootable Leopard volumes and could result in serious consequences, including an inability to startup from the drive.

Emphasis in original, as the site attempts to make you afraid. Both Alsoft and MacFixIt have just told you that DiskWarrior will not damage bootable Leopard disks, because it will not change disks if the on-disk format has changed in ways that DiskWarrior doesn’t understand. MacFixIt then proceeds to tell you exactly the opposite, a pure fiction, in a blatant attempt to keep you afraid and dependent on the site’s “expert advise.”

Note that to a degree, MacFixIt’s fiction is becoming “conventional wisdom”: this forum commenter takes it as blind fact that “Disk Warrior is in a … bind” due to “last minute changes … to how the directory system works,” when no such changes are known, and DiskWarrior is explicitly not in any such bind. Then again, the day before the nonsensical DiskWarrior “warning,” MacFixIt was already stating as fact that there were “dramatic changes (including modifications to file structure)” in Mac OS X 10.5.

As of this writing, we do not have the GM release of Leopard in-hand, but we’ve been running pre-release versions since WWDC 2006. On our test machine, running a late (but not GM) version of Leopard, the internal hard disk’s signature word is 0x482B, or 'H+'. The version is 0x04, and the lastMountedVersion field is 0x4846534a, or 'HFSJ' for Journaled HFS Plus. These are exactly the same values as seen on our production system, a dual-2.5GHz Power Mac G5 (Mid-2004) model running Mac OS X 10.4.10 that has never booted Leopard.

Update: Alsoft’s official Leopard support statement is now online here. There are human interface glitches if running DiskWarrior 4 under Leopard, and some delays in finding devices, plus one bogus message that permissions were repaired when no file permissions were changed. Alsoft therefore discourages running the program under 10.5, but stresses that doing so will not damage any disks.

MacFixIt has fattened its bottom line by misunderstanding technical information in ways just like this, to keep users uninformed and afraid while making them feel like they’re actually learning something. Sprinkling a few facts into a batch of fear is not a public service. For example, in the instant article, MacFixIt says this:

In an article a few days ago, we mentioned that “For most users, a basic upgrade [where the installer merges Leopard directly with your existing files] will suffice”. But that doesn’t mean we recommend it. We don’t. In fact, there is a school of thought that says you should never, never, never do a “basic upgrade” installation – that such an installation is, indeed, the root of all evil.

This “school of thought” is called “stupidity.”

Look, if you’ve regularly followed MacFixIt’s advice to lobotomize your system by mixing and matching components from old and new system versions, you’ve screwed the Installer. There’s no way it can anticipate or deduce a mish-mash hacked-up system installation that has parts of everything from 10.4.3 through 10.4.10. If that’s the case for you, for whatever reasons you did it, you should either restore all the components back to the current versions before installng, or you should definitely choose “Archive and Install” or “Erase and Install.” The Installer can’t hope to figure things out if the version of your operating system does not contain the files that it’s supposed to contain.

Otherwise, the normal “Upgrade Mac OS X” installation choice is the default for a reason: it works. The Installer contains a lot of logic to let installation packages specify upgrades, how to replace components, how to upgrade them, and so on. The code is designed and written specifically to automate all the upgrading tasks that you’d otherwise have to do by hand. It knows what files to keep, what files to replace, and what files to add. It just works. There are a few specific reasons to avoid it, as noted above, but there’s no need to fear it in other circumstances. It works.

That, of course, is unacceptable to MacFixIt, so the site instills fear without evidence:

Not only do you inherit a lot of old stuff that may be incompatible, but the algorithm whereby the installer “merges” your existing system with the new one is not reliable. The majority of troubles reported in MacFixIt may well stem from having done this sort of installation.

It’s far more likely that they stem from following previous MacFixIt advice to drop older system extensions and drivers into newer versions as a hackneyed attempt to fix problems. But, again, stating that would make readers less fear-dependent on MacFixIt’s advice, so it’s better to blame everything on the Installer—just like fear-based pundits have been doing for over ten years, advising “Clean” installs of pre-X versions of Mac OS for no reason other than superstition.

Make good, full backups of your system before installing any upgrade, and then install. If the installation doesn’t work, revert to your backup. The procedure we recommend is nearly identical to the one listed as “Joe’s Compromise Method” on page 62 of the new E-book Take Control of Upgrading to Leopard, from our friends and colleagues at TidBITS. Even that book is, in our view, unnecessarily cautious about “Upgrade Mac OS X,” but Joe Kissell’s 120 pages of solid fact and explanation behind his recommended procedures are well worth the US$10 price if you’re nervous about upgrading, or just want completely comprehensive, step-by-step instructions for preparing, upgrading, and updating a new 10.5 installation.

Everything in that book is devoted to helping you understand the whys and hows of upgrading Mac OS X, not to making you afraid of it so you’ll buy more “Take Control” books. MacFixIt, on the other hand, has apparently been reduced to blatant deceptions and fear-mongering in a desperate attempt to keep readers petrified of proceeding without the site’s increasingly-unnecessary blessing.

The only word that accurately describes this behavior is despicable.