Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Apple is really clever here, by counting in base 10 instead of base 2, they give us the impression that Snow Leopard is actually smaller than Leopard which I don't believe it really is..
I'm not sure if I like the new base 10 either, it's kinda weird considering all other platforms are on base 2..
 
Apple is really clever here, by counting in base 10 instead of base 2, they give us the impression that Snow Leopard is actually smaller than Leopard which I don't believe it really is..
I'm not sure if I like the new base 10 either, it's kinda weird considering all other platforms are on base 2..

It actually is smaller. As to whether it creates an exaggerated image of how small it is, that depends how you look at it. If you look at free space, the number reported will be higher in base 10 than base 2. But if you look at space used, that will also be higher in base 10 than base 2. So really, it looks like files are bigger but so is your HD. But in terms of actual byte-to-byte comparison, SL is smaller than Leopard.
 
This is a really interesting thread...

As well as RAM, hard drives also store data in a binary (0 or 1) form. Please feel free to look up "Hard Disk Drive" on wikipedia for a decent explanation on the technology and how it actually stores data. Why should HDD's use a different base system than the machine's RAM?

Personally, I'd prefer if all "memory" devices used a base 2 system. This includes both non-persistant RAM and persistant storage. I suppose I could get used to a base 10 system, but it seems unnatural from a programming point of view...

For those who feel that a base 10 system is better, are you aware of the fact that that every single "file" you write to your hard drive (or SSD) always uses a base2 storage unit? The smallest possible element in an HFS+ filesystem is 512 bytes (or one sector.) That's, umm.. 0.5KB (using the normally accepted meaning of the abbreviation in the computer industry.) More likely, your allocation units are a multiple of a single sector... let's say 8 sectors... so any file you write must take up space being a multiple of 4096 bytes (or 4KB)

In other words, the filesystem uses base2. The memory uses base2. The CPU uses base2. Until you installed SL on your machine, every storage unit on your machine was used as, and represented within the OS as decimal number that was a multiple of 2. Today, with SL installed, everything is STILL used as base 2, but there are mixed visual representations within the OS: non-persistant storage is being shown as base 2, and some persistant storage is shown as base 10, and other persistant storage is shown as base 2.

As I said earlier, I could probably get used to everything changing over to a base 10 system... However, for me to get used to it, EVERYTHING would have to change over. This would mean that I wouldn't have 4GB of RAM, but instead would have 4.29 GB of RAM. File allocation sectors would then have to be changed to 500 bytes instead of 512. Of course, to do all that, either programs would get much slower, or we'd need need to completely redefine some very basic elements of computer technologies (such as the concept of a bit - a 2 state element.)

All this... so the HDD companies can put bigger drive size numbers on their marketing materials...
 
This is a really interesting thread...

As well as RAM, hard drives also store data in a binary (0 or 1) form. Please feel free to look up "Hard Disk Drive" on wikipedia for a decent explanation on the technology and how it actually stores data. Why should HDD's use a different base system than the machine's RAM?
You did a poor job at searching at Wikipedia:
- Binary Coded Decimal
- Binary Prefix
- Hard Disk Drive
- Timeline of binary prefixes

As you can see from the above articles it's quite clear that computing has been some mess regarding the use of what system they used to represent data. They used different systems in the past but are now using just 2 (base-10 and base-2).

Personally, I'd prefer if all "memory" devices used a base 2 system. This includes both non-persistant RAM and persistant storage. I suppose I could get used to a base 10 system, but it seems unnatural from a programming point of view...
Base-2 is unnatural from a programming point of view in some cases. There are systems where base-10 (read: BCD) is the natural way of doing things. It also used to be years and years ago for some IBM systems. There are some advantages and disadvantages to base-2 and base-10. In some cases it's better to use base-10, in some other base-2 is more suited. Take a look at microcontrollers, might clear some stuff up.

For those who feel that a base 10 system is better, are you aware of the fact that that every single "file" you write to your hard drive (or SSD) always uses a base2 storage unit? The smallest possible element in an HFS+ filesystem is 512 bytes (or one sector.) That's, umm.. 0.5KB (using the normally accepted meaning of the abbreviation in the computer industry.) More likely, your allocation units are a multiple of a single sector... let's say 8 sectors... so any file you write must take up space being a multiple of 4096 bytes (or 4KB)
As you can see from the articles that is wrong. They used to have entire computers using base-10 as well as the storage. Apart from that there is a difference in how things are stored on a SSD or a HDD (hdd's and ssd's also differ from each other in the way they store data) and the way you present it to the system/user. That last thing is what is causing all the miseries we have. Take a look at Finder...it uses base-10 and reports in base-10, Terminal uses base-2 and reports in base-2, Activity Monitor uses base-2 and reports in base-10 (WTF?! why?!), iTunes 9 uses base-2 and reports in base-10 (WTF?! why?!), etc. It's not about using base-10 or base-2 it's about using whatever you want properly. If you use base-2 than report it as base-2 and stop reporting it as base-10! It's like showing a bicycle and telling it is a motorcycle, that's just ridiculous.

Take a look at CPU's for example. When talking about speed we use base-10 but when talking about the bits being processed it's base-2 we use.

All this... so the HDD companies can put bigger drive size numbers on their marketing materials...
Nope, it's been that way since the beginning and there is technical reason why base-10 is being used instead of base-2. That same thing goes for memory being base-2 and not base-10 and an awful lot of other stuff.
 
You did a poor job at searching at Wikipedia:
Do you want to have a civil discussion or just insult each other? Other than providing the reference for HDD storage technologies, I didn't use wikipedia as a source for my post. Rather, I used my own experience as someone who's been programming machines for over 20 years.

As you can see from the above articles it's quite clear that computing has been some mess regarding the use of what system they used to represent data. They used different systems in the past but are now using just 2 (base-10 and base-2).
Yep. However, as you managed to reinforce with your wikipedia links, storage mediums (RAM, CPU Registers, and Persistent Storage) have tended towards using base 2 type systems, as they are all physically simple "on/off" switches (hence, base 2) at the core.

Base-2 is unnatural from a programming point of view in some cases. There are systems where base-10 (read: BCD) is the natural way of doing things.
Yes, floating point systems are better handled as decimal systems. No argument from me there. Then again, BCD is a system of representing floating point numbers in a binary system. Yet, for many years, programmers did all they could to try to avoid using floating point numbers as they tended to be less efficient. I've never seen a general purpose processor that was faster manipulating BCD (or any other floating point system) as compared to simple integers...

Take a look at microcontrollers, might clear some stuff up.
Microcontrollers aren't storage devices, but control storage devices (among other things.)

They used to have entire computers using base-10 as well as the storage.
Okay, so? I've also seen machines that use 7-bit bytes. For that matter, there is also an abacus which could also be considered a computer. That would be a base-5 machine, I suppose. (Sorry for the sarcasm... I tried to resist.. really! ;))

Apart from that there is a difference in how things are stored on a SSD or a HDD (hdd's and ssd's also differ from each other in the way they store data)...
The point, however, is both HDD's and SSD's ultimately store the data using a series of "on/off" switches. Two states. Binary.

Take a look at CPU's for example. When talking about speed we use base-10 but when talking about the bits being processed it's base-2 we use.
I won't argue that, from a user point of view, the systems can be confusing. Note that we aren't changing anything whatsoever just by using the same prefix to mean something different. However, to lesson confusion, the same prefix should mean the same thing within the same conceptual system. STORAGE is a conceptual system - regardless of if its volatile or persistent.
 
Do you want to have a civil discussion or just insult each other? Other than providing the reference for HDD storage technologies, I didn't use wikipedia as a source for my post. Rather, I used my own experience as someone who's been programming machines for over 20 years.
If you want a civil discussion than be civil in your own post in the first place. Not very polite to use a sentence like "Please feel free to look up "Hard Disk Drive" on wikipedia for a decent explanation on the technology and how it actually stores data.", especially if you did not even use Wikipedia yourself. I used the Wikipedia links merely because of that sentence (not that I don't have any experience/knowledge myself).

Yep. However, as you managed to reinforce with your wikipedia links, storage mediums (RAM, CPU Registers, and Persistent Storage) have tended towards using base 2 type systems, as they are all physically simple "on/off" switches (hence, base 2) at the core.
Yep, but not all of them and not all of the time. I wanted to make the point that it's not just a marketing decision of the disk companies out there. Some parts of what makes a computersystem actually use base-10.

Microcontrollers aren't storage devices, but control storage devices (among other things.)
Never stated it otherwise. The point with that example was to make people see that sometimes base-10 is being used instead of base-2.

Okay, so? I've also seen machines that use 7-bit bytes. For that matter, there is also an abacus which could also be considered a computer. That would be a base-5 machine, I suppose. (Sorry for the sarcasm... I tried to resist.. really! ;))
I don't mind the sarcasm as it implies that you agree that "All this... so the HDD companies can put bigger drive size numbers on their marketing materials... " is indeed untrue and just plain idiotic to say ;) Things haven't been base-2 all of the time, that is something from the last couple of years. Also, not every part of a computer uses base-2. Things like clock speed and bus speed use base-10. Base-10 is also common in networking.

The point, however, is both HDD's and SSD's ultimately store the data using a series of "on/off" switches. Two states. Binary.
A bit is 1 value: either a 1 or a 0 and not both (the reason why it's binary: there are 2 values to choose from, no more, no less). There is a difference between a hdd and ssd in the way it stores those 1's and 0's since a hdd uses things like heads, cylinders, etc. which ssd's mostly do not as well as the way it stores those 1's and 0's on the magnetised platter or in the memory cell. If you're talking ultimately that is :) The point is that there differences between with what they working with and how they are representing it. The entire computer uses 1's and 0's to do its magic but because it is using 1's and 0's does not guarantee that it'll use base-2 and/or that it should use base-2.

I won't argue that, from a user point of view, the systems can be confusing. Note that we aren't changing anything whatsoever just by using the same prefix to mean something different. However, to lesson confusion, the same prefix should mean the same thing within the same conceptual system. STORAGE is a conceptual system - regardless of if its volatile or persistent.
I think that there should be proper use of the standards we have. If you mean base-2 than report it as such and stop using base-10. Same goes for base-10. From the user point of view they sometimes work with files but mostly they work with software and content. They don't care whether base-2 or base-10 is the right one, it simple needs to be consistent so it is correct all the time.

However, my main point is that a computer is not necessarily a base-2 only world.
 
The change itself doesn't exactly bother me.

The fact that programs such as iTunes (9!) still report the library size in base-2 and iPod size/used/free in base-2 is just an utter shambles.

If anything is a "bag of hurt" it's Apple's decision to change JUST Finder to base-10. Probably so that idiot Mac users shout out "Snow Leopard gave me 14GB of space back!" without considering the stupidity of such a claim.

Congrats Apple :rolleyes:
 
This should hopefully be the beginning of eliminating all the confusion surrounding disk space. Finally, a non-technical user will be able to buy a computer with a "320 GB hard drive" and actually see it on the desktop as basically a 320 GB hard drive.

In my case, the 250 GB hard drive in my MacBook went from being calculated as 232.57 GB in Leopard (10.5.8) to 249.72 GB in Snow Leopard (10.6). What happened to the other 0.28 GB???

Ha! I guess it's not the beginning of eliminating all confusion!
:p
 
If you want a civil discussion than be civil in your own post in the first place. Not very polite to use a sentence like "Please feel free to look up "Hard Disk Drive" on wikipedia for a decent explanation on the technology and how it actually stores data.",
If that came off the wrong way, please pardon me. My intent was that I was too lazy to type out the details of how/why HDD's store data, and figured if someone really cared about that level of detail, they could reference that link. I had actually considered explaining that magnetic medium stored by directional magnetic charges, etc,etc... but figured that most casual readers would get annoyed by the extreme details needed for that to make much sense.

Yep, but not all of them and not all of the time. I wanted to make the point that it's not just a marketing decision of the disk companies out there.
You know, since I started reading this thread, I've been going nuts trying to remember how the old reel-to-reel tape systems used to advertise storage capacities, and can't seem to remember.

I can't remember the actual size of the first "hard drive" I used either, so I decided to see what wikipedia had on it, and found this:

http://en.wikipedia.org/wiki/Early_IBM_disk_storage

I'm not using that article as any type of reference, btw... I just found it really interesting reading. From what I've been able to tell, the 350 was the first "hard drive" system... and only stored 7bit characters. Actually, several of the first drives listed only stored "characters" or "digits", but not "bytes." The first one I see there in that list that stores "bytes" is the 2311. I have no idea how it was marketed, though, so don't know if they claimed 7,250,000 bytes, 7.25 MB, or 7MB (7MiB.)

Anyway, back to the actual thread... :) I _do_ remember that floppy disk sizes were abbreviated as base-2 (1 KB == 1024 bytes.) I can't speak directly to the original marketing of HDD's. I seem to remember the original IBM XT having a 10MB 5 1/4" full size HDD that had a formatted capacity a bit over 10,000,000 bytes. (Bill Gates: Who would ever need more than 10 million bytes?) However, without one in hand (and an old RLL controller) I wouldn't care to say if it was closer to 10,000,000 or 10,485,760.

Never stated it otherwise. The point with that example was to make people see that sometimes base-10 is being used instead of base-2.
Used or presented as? Even the old BCD-based math processors used binary (base 2) number systems under the covers. There was a certain predictability of rounding errors as a result. Then again, there are many examples of computer parts that aren't binary based themselves, but were made to be binary based in order to be compatible with the "rest of the system."

I don't mind the sarcasm as it implies that you agree that "All this... so the HDD companies can put bigger drive size numbers on their marketing materials... " is indeed untrue and just plain idiotic to say ;)
Oh, I think it IS true (even if the statement is idiotic.)


Things haven't been base-2 all of the time, that is something from the last couple of years. Also, not every part of a computer uses base-2. Things like clock speed and bus speed use base-10. Base-10 is also common in networking.
I can't speak for the "tube era" of computing devices, but ever since the concept of transistor based processors took hold, they've been based on 2 state (on/off) logic. There are many technical limitations/efficiencies that result in items being based on 2^x and many measurements have been the victim of that. Decimal 100 is inefficient as a max value... it required the use of 7 on/off states (7 binary digits.) Those 7 bits could actually hold up to 128 unique combinations.

All of this, however, relates to storage (both persistent and volatile) limitations/efficiencies, and is due to the logical/binary nature of transistors.

Other systems/measurements have their own oddities and quirks. Processor speeds... actually oscillators are based on resonant frequencies, data TRANSFER speeds are usually represented in BITS per second instead of bytes per second (exception being parallel transfers which are limited to the width of the transfer mechanism.)

I'll be the first to agree that it's confusing - which is (this will sound backwards) why I don't want it changed... half-way. If we change storage to be described with proper metric abbreviations, then ALL storage should be described with proper metric abbreviations throughout the entire system. Anything less results in MORE confusion. 2 "megabytes" of memory that's volatile should be the same as 2 "megabytes" of memory thats persistent on a memory card. As Apple has done things with SL, 2 MB volatile is 2097152 bytes while 2 MB persistent is 2000000 bytes. Both numbers are describing the amount of space something takes...

I won't say they are "fixing" the system. They are changing the meaning of a prefix from one technology accepted "standard" (which also happens to be inaccurate) to a different and more "people friendly" accepted standard (that is more technically accurate given the meanings of the prefixes.) However, if the meaning is only changed for part of a single concept, they've done nothing but make the mess even messier.

Oh, and thanks for the conversation. :) I doubt either one of us will change the other's mind, but it's still fun talking about it.
 
I seem to remember the original IBM XT having a 10MB 5 1/4" full size HDD that had a formatted capacity a bit over 10,000,000 bytes. However, without one in hand (and an old RLL controller) I wouldn't care to say if it was closer to 10,000,000 or 10,485,760.

Found it: http://www.bitsavers.org/pdf/seagate/ST412_OEMmanual_Apr82.pdf

"Storage capacity of 6.38/12.76 megabytes unformatted, 5.0/10.0 megabytes formatted as shipped."

For the ST-412, formatted capacities:

8192 bytes per track, and 1224 tracks total, for an ACTUAL byte count formatted) of 10027008 bytes. This is closer to 10,000,000 bytes, so I'd find it reasonable that seagate, at least as early as 1982, used "mega" as a base 10 prefix.

On the other hand, however, I know for a fact that floppy disk media used "KB" to mean 1024 bytes. I wish I could find some old marketing materials from when HD's first started using the term "megabyte" (instead of millions of bytes.)

Not that me being wrong on if HDD companies used 10base or 2base originally changes my mind about how things should be presented by the OS. (I prefer binary based, but will accept decimal based iff it's done for all like-measurements.)
 
Still waiting for someone to stand up and yell, "Nerd Fight!" and watch the jocks pummel each other by throwing nerds back and forth.
 
You guys are still missing the point as to why Apple made this change. Since the mac user base in general is so non-technical, they felt the need to "dumb down" the way OSX calculates free space because we're stupid.

It's that simple.

Remember, we're the same people that need protection from the Finder so they keep that simple enough for us morons to use - never quite making it as useful as it could be lest we nose around and delete our entire home folder. I'd even bet that alarms go off in Cupertino anytime somebody runs Disk Utility or does a spotlight search on the word, "Terminal".
 
You guys are still missing the point as to why Apple made this change. Since the mac user base in general is so non-technical, they felt the need to "dumb down" the way OSX calculates free space because we're stupid.

It's that simple.

Remember, we're the same people that need protection from the Finder so they keep that simple enough for us morons to use - never quite making it as useful as it could be lest we nose around and delete our entire home folder. I'd even bet that alarms go off in Cupertino anytime somebody runs Disk Utility or does a spotlight search on the word, "Terminal".

Yes, I'm sure you're right this is why they did it. I still think it will cause *more* confusion, since things will be different on windows, linux, etc, and confusion with thumb drives, etc. However, if they really think this is best, fine, but that doesn't explain why there's no option to disable this.
 
Finally reading that "Binary_Prefix" wikipedia article...

It seems to indicate that HDD companies have, in fact, been using decimal prefixes (when stating byte counts) since at least the 70's. Before then, it appears they'd only reference block counts, or "numbers of characters" without a prefix. For example: "5 million characters."

It also mentions that flash memory tends to use "decimal megabytes" (and later decimal gigabytes.)

On the other hand... according to this article, floppy drives use decimal prefixes for UNFORMATTED capacities and binary prefixes for FORMATTED capacities. (Having fun yet?)

OS reported file sizes were always reported in bytes up until 1984 when some company called "Apple" in their "Mac OS" decided to use prefixes. Note, the article doesn't specify which type of prefix that fruity company used. ;) Likely, it was binary prefixes considering that unix-like OS's as well as Windows used binary prefixes.

Computer memory is and probably always has been, referenced with binary prefixes.

Now it gets more annoying: Optical devices... CD's are always represented with binary prefixes (700MB CD has approx 730,000,000 bytes available.) However, DVD's (and BD) uses decimal prefixes.

Now, Apple will get its own notation on that page on how they've added to the confusion by changing the previously used prefix system in some areas but not others. All this on a point release, too!
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.