Hard Drive Capacity Confusion, Lucidly Explained
mrklin writes "James Wiebe of wiebetech.com has written a clear example of how hard drive capacity is calculated (PDF file) by hard drive manufacturers (base 10) and OS (base 2). He failed to name how the capacity should be described, though."
With storage prices falling through the floor, does it matter to anyone except whiny nerds whether the byte counts are done in base 10 or base 2?
In the words of William Shatner, "Get a life!"
This one will hold 30 days of Porn
Now, this one here will hold 45 days of Porn
Break it down to something Everyone understands
As far as ordinary users (i.e. anyone who doesn't have to deal with TLBs, memory pages, disk sectors and the like) are concerned, there's really no reason left to use binary units; 2^9 bytes per sector, 8 sectors per filesystem block, etc. are all low-level conveniences that the user shouldn't have to even notice. Though I personally am too used to the binary units to switch easily, the vast majority of users probably wouldn't even notice the difference, aside from their computers finally reporting the right size for their hard disks. Granted, overcoming the huge momentum for binary units will be difficult, but one could always consider it practice for getting the USA to accept metric.
This is not a matter of base-10 vs base-2... a base-10 number is written as "2875" for example. A base-2 number is written as "10100110". A base-16 number is written as "8A3F0"...
This is a matter of UNITS used - like inches vs. feet, or in this case GiB vs GB.
Geez, get the terminiology right...
Ah, and therein lay the crux of the matter. The problem is that *everywhere else* kilo-, mega-, etc. prefix units (to stop the megapolis argument) they denote powers of 10. A megavolt is a million volts. A kilometer is 1000 meters. A gigahertz is a billion hertz. Only in computer science have people redefined the units to refer to anything other than powers of 10. *That* is what the debate revolves around, and that is what is IMO the mistake of people early on. The solution is to make kilobytes officially be 1000 bytes (as the IEC has) and use a different unit for the powers of two.
About two years ago there was a debate about this. Can't remember the details of that debate. Maybe it was when those "mebibytes" were introduced. I still say now what I said then.
I think there should be "short megabytes" and "long megabytes", and the same for gigabytes. Like this:
Then all we need is to get hard drive manufacturers and OS vendors to state whether they are using short or long tons, er, gigabytes.
As to abbreviations, take Donald Knuth's suggestion. Use the capital letter twice to suggest binaryness. 1 MMB = one long megabyte; 1 GGB = one long gigabyte. I like this much better than the now-standardized MiB men-in-black abbreviation for long megabytes (which are still not called long megabytes in the standard, they are called mebibytes, which sounds silly and no one uses it).
Who's with me?
Sunlit World Scheme. Weird and different.
Those are too hard to pronounce. Who not just distinguish them by prefixing the metric ones with the word "metric", as we do with tons and metric tons.
kilobyte = 1024 bytes
metric kilobyte = 1000 bytes
The only relevant issue is the meaning of words like kilobyte, megabyte, and gigabyte. Wiebe describes how you can arrive at two different answers for drive capacity depending on how you define the word "gigabyte," but does so completely uncritically. For example, he describes the drive manufacturer logic and writes that "the drive's claim of 123.5 GB is verified with this simple mathematical formula." But the issue is what the word "gigabyte" means, and the formula presented sheds no light on the word's conventional usage or etymology. I personally was raised to use these terms to correspond the numbers that are powers of two. Wiebe doesn't give me any point of reference to shed light on whether it's reasonable to use the meanings drive manufacturers do. (Of course I already know the answer, but that's beside the point.)
Wiebe uses some other odd logic, exemplified in point 3.7. He writes that the consumer was never cheated, because a drive advertised as having a capacity of 123.5GB had just that in "decimal based" capacity. This is a bizarre way to characterize the complaints. Consumers who believe they were cheated aren't claiming they didn't get 123.5GB for any definition of the word gigabyte. They're claiming they didn't get 123.5GB by the conventional definition of the word as commonly used in connection with computers. In my view, they're right, although I don't personally get too upset about it.
But personally I strongly reject this "kibibytes" attempt at CS revisionist history. Stick with what CS people have been using as measurements for decades, I say,
Why shouldn't CS people stick to what the rest of the sciences have been using for decades, that "kilo" means 1000? This CS thing of making "kilo" stand for 1024 is an attempt at revisionist history.
There's always another perspective.