Apple Kicks HDD Marketing Debate Into High Gear
quacking duck writes "With the release of Mac OS X 10.6 Snow Leopard, Apple has updated a support document describing how their new operating system reports capacities of hard drives and other media. It has sided with hard drive makers, who for years have advertised capacities as '1 GB = 1,000,000,000 bytes' instead of the traditional computer science definition, and in so doing has kicked the debate between marketing and computer science into high gear. Binary prefixes for binary units (e.g. GiB for 'gibibyte') have been promoted by the International Electrotechnical Commission and endorsed by IEEE and other standards organizations, but to date there's been limited acceptance (though manufacturers have wholeheartedly accepted the 'new' definitions for GB and TB). Is Apple's move the first major step in forcing computer science to adopt the more awkward binary prefixes, breaking decades of accepted (if technically inaccurate) usage of SI prefixes?"
What's more, Apple's been sued a couple of times over the definition of a gigabyte by angry idiots who didn't understand that 10^9 != 2^30. Possibly they're doing this in part to minimize their future liability.
I'm happy Apple is doing this. The use of SI unit names for base 2 values was convenient and gave relatively small errors for low numbers. But up above a gigabyte, and certainly in the terabyte range it's just plain wrong. And certainly nobody who's not a CS person is going to think "Oh, yeah, I divide the base 10 exponent by 3 and multiply by 10 to get the base 2 exponent because this is a piece of computer equipment!".
The binary SI prefixes aren't that hard to use when they really make sense. Computer science should get with the rest of the world in how things are measured and quanitifed and stop doing so with its own special language understood by those well versed in the field unless that language uses words and terms clearly different from the standard ones.
Need a Python, C++, Unix, Linux develop
then all the English speaking countries should switch to metric according to your logic.
Yes. Yes they should all switch to metric.
> 1024 is NOT arbitrary. ...
>
> Because computers work in powers of 2.
What he means is, it's an arbitrary choice of *grouping* - there's nothing in the base 2 or base 10 systems that puts 1024 on a digit boundary.
1024 is 2^10 - to be self-consistent, they should have chosen 2^8 or 2^16 for grouping, since 8 = 2^3 and 16 = 2^4, but they chose 2^10 because it happened to be "close to 1000"
They took the "kilo" prefix out of convenience and wedged it into a system not suited for it.
"Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
Because computers work in powers of 2.
Except when they don't, like floppies, CDs, DVDs, BluRays, HDDs, dial-ups speeds, networks or any of the many other places where they don't. Eventually you run into issues where there's a GigE (1,000,000,000) network adapter running a 3GHz (3,000,000) processor which is processed in 512 MB (512*1024*1024) RAM before being stored over a 3 Gbit (3,000,000,000) SATAII connection to a 1TB (1,000,000,000,000) hard disk. Every time you run into other sciences like "we need to process 1000 samples/second at 16 bits, that's 16 kbits right?" you run into trouble.
On the other hand, I can go into the details and say that in order to fit the CPU L1 cache it's 64 kB (64*1024) and textures can be maximum 2048*2048 pixels and there are exactly 512 stream processors to work with, you can handle 2^32 bits in an integer and so on and so forth. We're never going to get to where we can ditch base 2 sizes either, they're vital on almost every level once you get into the details.
Everytime you say "this is not a problem, because computers don't interact with the rest of the world and/or it's always trivial to tell" you are seriously deluding yourself. All the people saying "you should all use kB = 1000 and forget the rest" or "you should all use kB = 1024 and forget the rest" are both deluding themselves. We need both and we need clearly defined units for both. That's why I now say use kB = 1000 where it's correct. "Losing" the battle over kB is the only way we'll have kB and KiB, because clearly it's impossible to change the meaning of kilo = 1000 in everything else.
Live today, because you never know what tomorrow brings