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 quite a nerd myself, I never think that 1 terabytes = 1 048 576 megabytes
Well of course not; why the fuck would you want to? That's like wondering how many hours there are in a week - who cares? 1 terabyte is 1024 gigbytes. Converting it into megabytes is pointless for the purposes of most people.
Hey let's have a 10 bit byte as well to make conversions that nobody ever does, easier.
For things where there's a clear "address bus" that consists of all possible permutations of a binary bit field, it makes sense to use the powers of two. The 2^10 kilo-, 2^20- mega, 2^30 giga- is just a convenience in terminology due to their approximate equivalence to 10^3, 10^6, 10^9, respectively; however, the bigger you go, obviously they diverge quite a bit.
For things addressed by a system of arbitrary track/cylinder numbers, say, 336 tracks or 1435 tracks, and arbitrary platter/head numbers, it's ridiculous to say that they should follow the "convenience" of the powers of two scheme.
So, how should flash drives be measured and marketed? While the components are physically based on an address bus, they present themselves to the host with sector numbers just like the spinning drives do. They can also reserve some "spare" cells in their internal mapping, for wear-leveling or error correction. I'd say they could easily make the case for marketing under SI/IEEE powers of ten.
[
Not really, how many hours in a week is a lot easier to do in your head than how many bites in a terabyte. Additionally, the computer scientists shouldn't have been using prefixes that already had a meaning.
And BTW, the answer is 168.
Seriously, did you ever need to? I've been in IT since 1998 and I cannot remember ONE situation where I thought "This is so inconvenient, I need a calculator for this shit. Couldn't they just make a Gigabyte 1000'000'000 Bytes?"
So we've had a defined standard that was, arguably, not the easiest to understand. THEN harddrive manufacturers started their fraud. And THEN people started complaining. So what, and please think about this, would be the right decision here?
As to being complicated: If that is your argument, then all the English speaking countries should switch to metric according to your logic. Obviously, a lot of people don't like that. So why is it okay here and not okay there?
As much as techies complain about people using technical terms inaccurately, we should use the SI prefixes in ways that mean what they mean. The fact that 2^10 is close to 1000 doesn't mean we get to hijack K/M/G to mean 2^10/2^20/2^30.
And mentally we're using them to mean powers of 1000 anyway. How often do you _really_ mean 1024 when you say 1K? Personally, I'm always thinking 1000-ish.
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
Yeah, but the alternative Mebi and Gibi sounds like something out yaoi. So I'd rather stick with 1 Gigabyte = 1024 Megabytes.
"Not to mention all the idiots who use words like boxen."
Anonymous Coward on Monday August 04, @06:49PM
Seriously? These sound like next generation Valley Girl names, not self-respecting geek prefixes.
When using prefixes that end in 'a' or 'o', I feel macho. Megabyes! Teraflops! Yottapwnage! Yeah, baby!
From my cold, dead hands, Apple.
BTW, who thought of the cutsey name "Apple" anyway? Nice name. Pfft.
then all the English speaking countries should switch to metric according to your logic.
Yes. Yes they should all switch to metric.
>> Now I really don't exactly know what you're whining about.
> Because it's Apple. Are you new here?
Actually, you're kind of right there. Apple was at the forefront of making computers usable for the average person, and their Human Interface Guidelines specifically recommend that the computer be made to work the way people do, rather than making people work the way the computer does! :)
"Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
The problem is precisely the definition, or rather that computer people think messing with "mega", "kilo", etc is okay because it's their own niche. Mega is understood as 1,000,000 and kilo as 1,000. I got a CS degree, and I always thought it was stupid how we subverted the meaning. 2^10 aka 1,024 is arbitrary, is in no way 1000 and was chosen purely because it was the closest power of 2 close to 1,000. What if every niche started subverting commonly understood scientific measurements for their own convenience?
We defined bit and byte and the like. Great. We could do that. But we should have left mega and all the prefixes alone. If we weren't happy wit that, go with our own, like 'mebi' series of prefixes has attempted.
"This is a case of marketing trumping computer science."
No, this is a case of standards trumping common (mis)usage. Metric prefixes have been in use for centuries, and they are powers of ten. That's how the national and international standards have ALWAYS used them.
Those prefixes are convenient, and have been used for powers of two in casual, informal usage. But powers of two were never part of any official standard until recently, when NEW and DIFFERENT prefixes were added.
Scientists and engineers have always used powers of ten. Manufacturers used to be careful to distinguish between the formal definition (powers of ten) and the casual usage (powers of two). For example, Intel lists the exact number of bytes in parentheses whenever they use the casual meaning of the prefixes, showing that they were aware of the potential for confusion.
But many reporters and hobbyists were not trained in engineering or science, and missed the distinction. So you ended up with what I think of as "AOL prefixes". Microsoft ignored the standards, as they so often do. They may have been confused by earlier systems, such as UNIX and RT-11, which reported space in numbers of disk blocks, rather than bytes. In early UNIX, the ls command lists the number of bytes without prefixes, and the du and df commands list the number of disk blocks, not the number of bytes.
I don't expect hobbyists or journalists to get the prefixes right. I can live with the misuse of the prefixes. But it really bothers me when someone complains when the prefixes are used correctly, in compliance to published international standards.
> 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."
If it is more convenient to use KiB, MiB, and GiB, then use them. Just don't call them KB, MB, and GB.
I don't understand why the hell this is so difficult.
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
I've got bad news for you... while your drives no longer appear 10% smaller, all your files are now 10% larger.
Slashdot needs a "-1, Wrong" moderation option.
The Urban Hippie