kickaha: (Default)
kickaha ([personal profile] kickaha) wrote2009-08-19 05:13 pm

Sometimes it's the small things that cause great squee.

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?

[identity profile] georgmi.livejournal.com 2009-08-20 12:21 am (UTC)(link)
...And when it took an entire corporate data center to *maybe* add up to a significant fraction of a TB, and the only people who paid any attention to how big their disks were (double-checks the spelling) knew why a nominal MB differed from an actual MB, all this was OK.

Nowadays, it's past time to reconcile them.

Let me know when somebody with some market share does so. :b

[identity profile] kickaha.livejournal.com 2009-08-20 12:28 am (UTC)(link)
Yup, it needs to be sorted out, and sooner rather than later. Get on that, would you? :)

[identity profile] georgmi.livejournal.com 2009-08-20 12:39 am (UTC)(link)
Sorry, man. I work for the government, remember? Reduction of confusion is not in my bailiwick.

[identity profile] kaneda-khan.livejournal.com 2009-08-20 04:48 pm (UTC)(link)
I vaguely remember something being measured in units of 1024 * 1000, which is of course a sin against everything good and just.

[identity profile] kickaha.livejournal.com 2009-08-21 04:59 am (UTC)(link)
*shudder* That's just... gah.

[identity profile] georgmi.livejournal.com 2009-08-21 04:26 pm (UTC)(link)
Once you accept that numbers used in marketing are meaningless and without relation to reality, everything just. calms. down. and. smooths. out.

[identity profile] kickaha.livejournal.com 2009-08-21 08:23 pm (UTC)(link)
The lobotomy scar helps too.

[identity profile] georgmi.livejournal.com 2009-08-21 09:58 pm (UTC)(link)
That is between you and Big Blue.

[identity profile] kickaha.livejournal.com 2009-08-21 11:56 pm (UTC)(link)
I can walk away at any ti*KZZZZZZZZZZZT*

I love Big Blue.
I love Big Blue.
I love Big Blue.
I love Big Blue.
I love Big Blue.
I love Big Blue.
I love Big Blue.
I love Big Blue.
I love Big Blue.
I love Big Blue.

[identity profile] georgmi.livejournal.com 2009-08-22 01:15 am (UTC)(link)
Don't think I didn't notice. :D