kickaha: (Default)
[personal profile] kickaha
MacOS X 10.6 (Snow Leopard) is a cleanup/tweaking of 10.5 to streamline it, get it multi-core optimized, bring new under-the-hood technologies, etc to the Mac platform. User-directed changes will be small, but one has me nearly bouncing out of my seat.

File and disk sizes in the Finder will now be properly reported in base-10 decimal SI units.

kB = 1000 bytes
MB = 1000 kB
GB = 1000 MB

"What?" you say, "Aren't those 1024 at each step?" Welcome to the wonderful world of Kidnapped Units. Back in the mists of early CS, the boffins realized that 2^10 (1024) is awfully close to 10^3 (1000) and started using the SI unit kilo- to represent it.

Problem is, 1024 != 1000, even for small values of 1024.

When you're dealing with small amounts, this isn't so bad for a rough estimate. 1024 is only 2.4% larger than 1000, after all. But... the larger the Kidnapped Unit, the bigger the discrepancy. At the MB level, you're off by 4.85%, at GB, 7.37%, and at TB, you're basically at 10% difference.

Which means that when you buy that 1TB drive and take it home, your computer says it's only about 900GB in size. Why?

Because the drive manufacturers (physicists, mostly) use the base-10 system version of Giga-, but the software folks who write your OSs use the base-2 definition of Giga-. Whoops. This has led to more than one class-action lawsuit against the drive manufacturers, accusing them of false advertising. It isn't, they're the ones who are *right*. The SI units are, by definition, powers of 10. The CS folks have it wrong, and always have.

Luckily, a full decade ago, the SI came up with a solution... unfortunately, none of the major OS makers have jumped on it. (I believe KDE's Konqueror comes with an option for this.) The solution is the binary-unit. Instead of kilobyte, you have the kibibyte. The megabyte becomes the mebibyte, the gigabyte the gibibyte, etc, written kiB, MiB, GiB, and so on. These are the 'traditional' CS units, written appropriately, and they've caught on in academia for the most part, and in industry where it seems to make marketing look good. (Naturally.)

So what is reported in every major OS has had the wrong units applied to it. This is why a 500GB labeled drive will frequently end up 'missing' nearly 9% of its space when reported by the OS. The OS is calculating GiB, but labeling it GB. It's like fluid ounces vs. weight ounces. Not the same.

Finally, the SI units are being used appropriately.

Hi, I'm a geek, why do you ask?
Anonymous( )Anonymous This account has disabled anonymous posting.
OpenID( )OpenID You can comment on this post while signed in with an account from many other sites, once you have confirmed your email address. Sign in using OpenID.
Account name:
If you don't have an account you can create one now.
HTML doesn't work in the subject.


Notice: This account is set to log the IP addresses of everyone who comments.
Links will be displayed as unclickable URLs to help prevent spam.


kickaha: (Default)

July 2010

25 262728293031

Style Credit

Expand Cut Tags

No cut tags