Snow Leopard ditches real math for fake

posted Sep 1st 2009 11:42am by
filed under: macs hacks, news

snow_leopard_fake_math

We’ve always felt that hard drive manufacturers were dirty crooks because of their use of fake math to make drives sound bigger than they actually are. Here’s a quick refresher for those who need it: Because digital information consists of 1′s and 0′s (two possible settings), digital architecture revolves around powers of 2. Long ago, when nomenclature was setup for measuring data the term kilobyte was adopted to represent 2 to the 10th power bytes (base 2, aka real math). The problem here is that 2^10= 1024 and when laymen hear the root “kilo” they think 1000 which is 24 byes less (base 10, aka fake math). So, if you have a 500,000,000 byte drive, base 10 math would call that a 500GB drive, but base 2 math would call that 476.8GB.

We understand why hard drive manufacturers use the base 10 system; larger sounding drives sell better. Now we find out that OSX 10.6 Snow Leopard is using base 10 math to calculate storage space. While base 2 math is the standard storage measurement for operating systems it may at first be difficult to understand why Apple would change to a base 10 system. But think about it once more, doesn’t Apple have a lot to gain if all the storage-containing-hardware they sell sounds bigger than it actually is?

[via Gizmodo]

Update: Force Snow Leopard to calculate storage in base 2 [via Gizmodo]



165 Responses to Snow Leopard ditches real math for fake

  • asd says:

    1kb _is_ 1000 bytes

  • echo says:

    Agreed. kilo means 1000. Never should have misused it in the first place. This correction is long overdue. Same with ditching our backwards measurements system. (i’m in the US)

  • Dave says:

    Uhh, no…. 1KB is 1024 bytes in the real world

  • Will says:

    Base 10 is fake math? Count your fingers or toes and get back to me.

  • Will says:

    The vaunted metric system (or SI) says kilo is 1000. there’s no getting around it. Use kibibytes if you want to split hairs.

  • Ryan says:

    By calculating the drive size this way it will help remove the confusion end users have with drive sizing. Albeit the better idea would be for drive manufactures to count the correct way.

  • It’s the difference between kilobytes and kibibytes. It sucks, it industry shit, but – its correct.

  • Legrandin says:

    This is a total bogus argument. The “k” prefix means 1000 according to the International System (SI). If in the past computer scientists used it as shortcut to approxymate 2^10 is just a historical issue, and should only keep on living within the boundaries of such community, the normal computer user is not supposed to belong to.

    Using “k” was also fine because the approximation error was limited (2.4%), but increases with larger units (4.8% with “M”, 7.3% with “G”, 10% with “T”) that were seen as astronomical in the past.

    2^10 is not even a base 2 notation, 1000000000b is, so even that argument is not logical.

    On top of that, multi-level FLASH stores 4 states per cell, should we use “base 4″ for measuring its capacity?

  • CalcProgrammer1 says:

    OSX isn’t the first. Ubuntu has used 1000-byte naming for a while too, my Seagate 1.5tb shows up as 1500gb in linux and 1.36tb in windows.

  • Geoff says:

    Yeah, 1kb IS 1000 bytes. 1kib is 1024 bytes. Apple is actually correcting a mistake. Operating Systems have been using the units kb, mb, and gb incorrectly for years. They should have actually been using kib, mib, and gib.

    But instead of changes the units, Apple kept the same units and just put the correct values.

    For consistency, they probably should’ve just changed the units so the numbers would be the same, but Apple isn’t doing anything wrong.

  • CPX says:

    Sorry, bull.

    To quote: “when laymen hear the root “kilo” they think 1000″

    That’s because that’s CORRECT. The Metric prefixes are base-10 prefixes. Period. Computer Science used these prefixes because they were close enough, when we first started using them. Error didn’t accumulate that fast when you were talking about 80 meg hard drives. However, the gigabyte/terabyte/petabyte age is here, and those discrepencies are HUGE. Metric prefixes just don’t work to approximate these higher powers of 2.

    However, saying that 1 kilobyte = 1024 bytes is, in point of fact, incorrect. The metric prefix “mega” means 1000. The correct term is kibibyte – KiB. 1 KiB = 1024 bytes. The fault here is not on Apple – they’re simply calculating a kilobyte as it SHOULD be calculated. The fault lies with the computer science folks for using metric prefixes incorrectly for so long.

    As for the argument that the meaning of the prefixes has changed and we should keep the status quo – what if ever field did that? What if you had to remember that 1 kilogram was really 1001 grams or 1 micromole was really .000000101? Start using metric prefixes incorrectly and you set a dangerous precedent. Why should a computer be special? Why should 1 kilobyte be 1024 bytes, but one kilo-anything-else be 1000?

    So good for Apple – call things what they ARE. Use standards (and that’s exactly what they are) correctly. Use KB for 1000 bytes, and KiB for 1024. (you can control-click to get file info if you REALLY want to, just like a Windows box that tells “space on disk”)

    Now, are they doing this to sell “larger capacity hard drives?” Nope. Go to ANY website that sells hard drives and look at the calculation for GB. Go ahead, I’ll wait. See where it says “1 GB = 1000000 bytes”? Hard drive manufacturers have been doing this for a LONG time now. This is SOP in hard-drive land. All this update in Snow Leopard means is that when you buy a 500 gig drive, it’ll show up in Finder as 500 gigs (OK, a little less because of formatting, but you get the picture). This in no way affects ONLY Apple HDDs – ANY hard drive will be counted in base 10. How is that a competitive advantage to their hardware sales? The only think that will happen is the “actual formatted capacity may vary” footnote will refer to the fact that the disk formatting takes some space, not the fact that disks are sold in base 10 sizes then treated in the computer as base 2.

    Also, what’s up with this “Real Math” crap? What is that, other than FUD? Yes, computers operate in base 2. So? That doesn’t mean all other bases are incorrect. I guess, since base 2 is the REAL math, I’ll have to go tell all the mathematicians in the world that their work is irrelevant.

    To sum up:
    “the term kilobyte was adopted to represent 2 to the 10th power bytes”
    This was a bad move, ignored what “kilo” meant, and should never have been done.

    “doesn’t Apple have a lot to gain if all the storage-containing-hardware they sell sounds bigger than it actually is?”
    HDD manufacturers already do this, as stated earlier in the summary. This point is irrelavent.

    “(base 2, aka real math) … (base 10, aka fake math)”
    WTF?

    This article is FUD, plain and simple.

  • Taylor Alexander says:

    I think Apple is doing this to make their customers feel better. If you buy a 500GB drive and it shows up as 476GB, you feel a bit cheated if you don’t know much about computers, like most mac owners. Apple didn’t want their customers feeling cheated, so they lied to them.

    I don’t care what you guys say – yes, kilo means 1000, but as with all language things, someone called 1024 bytes a kilobyte and damnit if thats how they defined it, thats what it is. Yes, it conflicts with the metric system, but then fine, no one said it was an official metric unit (as far as I know) so the metric system has nothing to do with it.
    -Taylor

  • Tom101 says:

    Just thought I’d wade in and say kb is not a thousand bytes, its actually a thousand bits. Sadly we are reduced to using the KiB for our real measurement and let the hard drive manufacturers have the kB for a thousand bytes.
    Remember:
    kb = 1000 bits
    kB = 1000 bytes = 8000 bits
    Kib = 1024 bits
    KiB = 1024 bytes = 8192 bits
    And so on multiplying by 1024 for the Mebi, Gibi, etc and a 1000 for the mega, giga, etc.

  • john says:

    It seems like Apple (or any other OS maker) could make both math geeks and marketing hucksters happy by simply offering the user the option to use the system they prefer, or even show both side by side whenever memory is displayed… or would this just make things more confusing?

    Come to think of it, this sounds like exactly the kind of pref that apple would bury, and make only accessible via command line. If they haven’t already done this, they should since the command line seems to be an effective deterrent against users who shouldn’t be mucking around with such things anyway.

  • Robert Hume says:

    Fake math is trying to use the term Kilo to represent 1024. Real math is using 1000 for kilo as that is how it is defined. Just because the computer uses base 2 does not change that.

    And lets face the facts, when the numbers get so large, we all round them anyway, then look at the left 1,2 or 3 numbers and add the word megs, or Gigs, or Terabytes, or Petabytes, etc. etc. Do you really think people are going to divide it all up using base 2 to come up with some obscure number?

    Kilo means 1000. It always has.

  • Tom101 says:

    ah of course comment de-capitalisation…
    silly me
    kb = 1000 bits
    kB(u) = 1000 bytes = 8000 bits
    Kib = 1024 bits
    KiB(u) = 1024 bytes = 8192 bits

  • Wolf says:

    Both arguments have merit, but either way the units really to be disambiguated. OP has a point though, if not for lobbying by drive manufacturers and resellers who benefit from the confusion, we’d probably have just changed the binary unit to KiB and been done with it.

  • CPX says:

    @john:

    Windows has “Size on Disk”
    OS X has a “Get Info” dropdown option
    Linuxes have this as well, but I can’t remember it off the top of my head and I’m not sitting at a Linux box

  • daryl says:

    Who cares how an OS reports drive size? a 500GB drive is still only going to hold 476GB of real data, so regardless of how you report it to a user, the storage size is still the actual size. No Macs do not magically add 24GB to a drive, so either each file will now have a larger computed size (and people will think Macs are bad at storing files to disk by comparison to other OSes showing true bit size) or their 500GB drive will still be full with 476GB of real data meaning the drive is still only capable of holding 476GB of actual data regardless. I don’t care how it’s calculated, just try to come up with an industry wide standard that everyone uses. Don’t play numbers games to sell stuff.

  • Steve says:

    The US measurement system really is in need of change. Thankfully we’re making progress, most commercial product measurements are now given in both imperial and metric. I can’t wait to see the day when imperial is obsolete. It seems like every year more and more metric measurements are being favored (450 ml/15.2 fl oz vs 16 fl oz/473 ml). Like many others I spend the majority of my time working in the metric system and hate having to deal with imperial.

    This is the first I’ve heard of operating systems switching to base 10 for displaying file size. It makes things easier for most end users and does not change the back-end. The only problem I see is in numbers being mislabeled, but as long as kB and KiB are used properly thing should work out fine. There will be some confusion at first but people will adjust

  • PerryA says:

    im just writing on my Apparent 80GB external drive 74.6GB :P

    took along time for this stupidity to be corrected but i knew apple would be the ones to do it if it did (which it has) YAY!

  • john says:

    @cpx

    right you are. Still, I think some of apple’s power users (not me, I pretty much ignore the size of files until my hd is full, and then go delete some old star trek episodes, starting with Voyager) would appreciate the ability to choose which numerical system to use as primary ie. to display at the bottom of finder windows

  • jbot says:

    “if you have a 500,000,000 byte drive, base 10 math would call that a 500GB drive”

    Uhh…am I missing something? I thought that ~1000 bytes was 1 kb, ~1000 kb was 1 mb, and ~1000 mb was 1 gb. Meaning that a 500,000,000,000 byte drive would be a 500GB drive. Right?

  • CPX says:

    @john

    Valid point – file sizes during things like FTP transfers and such would be confusing – how big was the file? It looks smaller… did it upload? that kind of thing.

    Although I don’t thing applications will be affected much – all the FTP apps I use calculate filesize by looking at the # of bits in a file and doing base 2 math. I don’t think this behavior has changed (can’t say yet, my copy of Snow Leopard doesn’t ship till tomorrow). To applications and such, x bits is x bits.

    The only real problem I can see is if there’s very little HDD space left and you want to download a 2 gig file, and it turns out it’s MORE than 2 gigs (assuming the server works filesizes in base 2) and won’t fit. Seems like a rare thing to me, though, and I’d gladly make that tradeoff to kill the 1 KB = 1024 B issue.

  • BoxOfSnoo says:

    Yeah this claim is ridiculous. If you buy a drive marked “500GB” and plug it in to your computer, why shouldn’t your computer report it as “500GB”?

    By now the HD specifications are well-established, why not remove the confusion at the OS level, instead of always having to have that stupid footnote on every retail hard drive sold…

  • So Say We All says:

    I can’t fault Apple as long as it stays consistent. According to SI, the prefix kilo denotes 10^3 so if they use that definition, they’re not in the wrong. However, I would have much preferred KiB, MiB, etc. since the actual number of bits on the drive is calculated and defined in base 2 so the resulting figure is more accurate to the numerical value it is purported to represent. It also cuts down on binary confusion when used alongside things like bitrate, which are base 10 by default.

    What I mean to say is that, though their definition isn’t wrong (as in actually being a kilobyte), it is slightly ill-fitting since that term in itself is the result of poor historical precedence.

  • nope says:

    kinda like the metric debate huh. it it just me or does everybody measure things in imperial decimals before going to the store to find those damned fraction rated parts? ie I measured a gasket in my bathroom to be exactly .040 inches and went to the store to find the closest fraction unit.

  • heh says:

    What does this Apple advertisement have to do with hacking?

  • sellout says:

    Since all of the argumentative folks that maintain kilo means 1000 have all assumed that a byte means an octet, I am forced to conclude that they are new — and while vehemently enforcing a standard on an assumed quantity (though generally agreed upon, but assumed never the less) that they are also wrong.

    Can the metric system even be applied to quantized units?

  • eric says:

    Ok, I’m going to set aside the 1000 vs 1024 argument for a moment and ask: Why the hell are people bringing up “size on disk”? It has nothing to do with this. The size on disk value is the amount of physical bits it takes up on the drive, given the filesystem and the way the file is stored.
    For example, the file may be extremely fragmented, and since each fragment needs to be located when reading it, there is extra data for the OS to find the next fragment — this would give the file a larger “size on disk” than the actual contents of the file. Think of a “linked list” if you’re familiar. Similarly, extremely small files (less than the allocation unit size of the filesystem) will show up as the allocation unit size, since that is the smallest chunk of data the fs can allocate.

  • Vavo says:

    But hard drives are not the only devices that are measured in bytes. What about RAM? They are all by design power of 2. So you want to see “1.something GB” of RAM when you install it?

  • gyro_john says:

    @dans: lol, tnx a lot for the xkcd. Good one.

    Since we have two committed and opposing sides, I propose a vote.

    a: A kb = a kilobyte = 1024 bytes.
    b: A kb = 1000 bytes.

    As someone educated in computer science, I vote a. A kb is 1024 bytes. This convention trumps the (admittedly standard and well-reasoned) arguement that a kiloanything is a thousand of ‘em.

  • andrew says:

    hahaha whoever made the image screwed up bad. lowercase b indicates *bits*, not *bytes*.

  • Vavo says:

    Oh and yea imperial system is SOOOO confusing for the rest of the world….15.4” monitor..how big is that?… 03/04/2009? Is the guy from USA..maybe it is March not April…

    It is so stupid how we can not agree on some very simple things in the beginning before they become BIG!!…standards save money, time and headache..lot of it.

  • Diarrg says:

    Regardless of how big the OS says the drive is, it will still only hold a set amount. So unless software manufacturers start calculating their own filesizes in base ten, and the OS itself starts calculating all sizes (not just HDD size) in base 10, this causes more confusion than anything else. Because all of a sudden, your 6 gig program won’t install when you’ve only got 472 gigs filled on a “500″ gig drive. What happens if the OS responds to an available space query in base 10, but the program interprets it as base 2?

  • Thobie says:

    1 kilo = 1000
    1 kB = 1000 B
    1 kiB = 1024 B

    http://en.wikipedia.org/wiki/kibibyte
    http://en.wikipedia.org/wiki/ieee_1541

    It’s not Apples fault you all use it wrong!

  • Crazypill says:

    Just tell me when I’m out of disk space and I’m happy.

  • Mat says:

    The real problem is that nobody can agree on ONE standard unit for this mess… so we have a 1000 bytes to a kB in storage selling/reporting in some OSes, but what is a kB when the software writers tell you it will take this much space to install a program? Yeah, this is going to be messy in so many ways.

  • ben says:

    everyone needs to remember that extra file space is used for hidden file streams that use up more of the files space

    but i agree that everyone should use the standard 1024 b=1 kb

  • raged says:

    So are we going to just have 478 gb drives now? As long as we pick with one and stay with it.

    1.024 kb = 1024 bytes

  • urza9814 says:

    “it it just me or does everybody measure things in imperial decimals before going to the store to find those damned fraction rated parts? ie I measured a gasket in my bathroom to be exactly .040 inches and went to the store to find the closest fraction unit.”

    Huh. How the hell do you measure to .040 inches? What ruler do you use that has such decimals? Is it a laser ruler or something?

    The one and only benefit I will say to using fractions is that even if your ruler is improvised, fractions are easy. It’s a lot easier for me to see a half or a quarter than 0.3. I can fold an 8 1/2″ sheet of paper in half and say ‘that’s 4 and a quarter inches’…fold that in half and it’s 2 and an eigth. fold that in half and it’s 1 and a sixteenth. Or 1.0625″. Or 2.69875 cm.

    Oh, and getting back on topic – a kilobyte is 1024 bytes. Otherwise you end up with things like 62.5 quad precision values per kilobyte. The computer stores things in groups based on powers of 2, so when discussing that storage you have to use powers of 2.

  • Tim says:

    No-one has mentioned the real problem with kibibyte et al. They sound *really* stupid. They will never catch on with anyone but pedants because no-one wants to say or hear them. It just makes people cringe.

    I hereby propose that we create new binary prefixes that don’t sound so stupid. Hackaday, you should clearly run a contest.

    Here’s my entry:

    1024: k2B, pronounced kilo2-byte
    1024^2: M2B, pronounced mega2-byte
    etc.

  • Tim says:

    PS: Stupid hackaday capitalisation. Obviously the M and B’s should be capitalised. Also the 2s are subscripts where possible.

  • timos says:

    It hurts to see that not even on a site that is made for geeks people know about SI perfixes.
    k = kilo = 10^3 just because it was done wrong in the past means that it is wrong to correct the mistakes know. The IEEE/ISO standard for KiB is quite old already. Nevertheless, peoople are still stupid – I have seen papers written by computer scientists that confuse the two…

  • John says:

    Thaaat’s why snow leopard users seem to think it’s freed up space. It’s just reduced the value of a gigabyte.

    “Oh! When I installed snow leopard it freed up 15GB of space! That’s amazing, windows doesn’t do that!”

    I apple’s their marketing division. When they stop criticizing the competition in their ads and start promoting themselves (truthfully) then maybe I won’t view the company as a room full of douchebags

  • j_at_chaperon says:

    At least, users will stop speaking about “formatted disk size”, which is absolute nonsense. Formatting a 500gb drive never took away 24gb, that’s ridiculous : at most a few 100′s mb for directory structure and all that stuff.

    Displaying the “real” disk size will help debunking the formatted capacity myth.

  • qrunchmonkey says:

    @john
    The default install of Snow Leopard is about 7 actual GB smaller then a Leopard install. However, due to the magical shrinking gigabyte™ it appears to the user that it has freed much more space on their disk.

  • Dave says:

    In regular windows pc terms a kilobyte is 1024 bytes and a gigabyte is 1024 megabytes PERIOD!

  • Jac says:

    10^3 bytes = 1 keb (1 kiddingbyte)
    10^6 bytes = 1 meb (1 meddlingbyte)
    10^9 bytes = 1 geb (1 giddybyte)
    10^12 bytes = 1 teb (1 teddybyte)

    In the real world where it matters that memory is on chips that have a square array of cells (which always results in capacities that are powers of two), it’s called kilobytes, megabytes, gigabytes and terabytes. The abbreviations for the base-2 quantities are normally written in upper case for a reason: in the SI system the k, g and t are in lower case and the upper case k, g and t were meant to mean “slightly more” (in si, the m is already in upper case, oh well).

    I can understand that storage manufacturers want to sell you some bridges but why not use the lower case abbreviations for clarity? Also, why are (were) smaller media such as cf and sd/mmc cards sold in base-2 multiples of base-10 amounts? I’ve never seen a 10 meb, 100 meb, or 10 geb cf card, they’re always 16, 32, 64, 128, 256 or 512 etc. “mb” but the “mb” really means meb.

    Apple probably just made the chance to reduce support calls from stupid users that don’t know the difference between decimal and binary (I bet Microsoft gets a lot less calls like that — maybe they should bring THAT up in a Mac vs. PC ad some day)

    Bottom line: Operating systems should really give users a choice to decide for themselves what’s real.

  • Ethan says:

    Problem… 500,000,000 is 500 mega whatevers, not giga whatevers
    5,000,000,000 is giga whatevers…

  • delicious bacon says:

    as a computer science graduate, kilobyte = 2^10 = 1024. this is NOT open to discussion, I am sooooo sick of these companies fudging the math particularly hard drive manufacturers.

  • So Say We All says:

    @delicious bacon

    But 2^10 != 10^3. As a computer science graduate, you should know that everyone is wrong. What we call a kilobyte (2^10) isn’t a kilo (10^3) byte. It was carelessly named, and, IMO, Apple took the wrong technical stance to take the right semantic stance. We know that 2^10 is the number that matters, so to me at least, it would have made more sense to change the language than change the numerical value of the operative unit to that of one less apt. But such is Apple’s way. Binary be damned.

  • Wwhat says:

    I’m sure it’s just because apple users don’t understand computers and all those computer terms are too much for them.

  • Wwhat says:

    Here’s another thing to consider even outside of apple and HD’s: Why byte? we moved away from 8 bit computing so damn long ago, why not words or longwords? Even the cheapest low spec CPU you can get now is at least 16 bit right?
    And RAM isn’t addressed in bytes or accessed in bytes and the data on HD’s isn’t written in bytes either, it’s always at least words, and mostly at least 32bit longwords.

  • Low Pro says:

    Come on now. Who cares about this stuff besides the people with the tools to find out for themselves? I can find the correct drive size as well as file size as can everyone else in the comments section.

    Friendly GUIs are made to be easy to use without being overbearing. As for the 1000 vs. 1024 thing, leave it alone. If I have to start remembering exact file sizes in everyday conversation, I’ll hold you all accountable.

  • Terc says:

    Ok, I’m not getting involved in the argument over what math is correct.

    Apple has removed a source of confusion for users. Does anyone care if their picture is 1.23MB or 1.25? No. But if they buy an 80GB hard drive and it shows up as 73.8GB, then they are confused. So, since hard drive manufacturers have refused to go to base 2 math, Apple has simplified it from their end. Result: files report slightly larger sizes, but when you plug in a 500GB hard drive, you see 500GB, not some smaller number. End user does not care about slightly larger files, just that their drive reports the same size as what they thought they were getting.

  • Mic says:

    I was so disappointed by the comments. You are all beyond rehabilitation. Sry guys. 1024, in the real world as Dave already said. Fact the rated capacity of a drive is larger than the real capacity. which is Why hackaday called it fake math on behalf of manufacturers….Heha, a 2 mb floppy is 1.77 mb real world =) 500 is 476.8 Aight. way she goes.

  • urza9814 says:

    Yea, and when Gmail or Hotmail or whatever says ‘your attachment is too big, the max size is 20MB’, the mac users will be sitting there going ‘But it’s only 19.9! There must be a bug in [mail client]! Fix it!’

    But hey, what can you expect. I guess they’re just like Microsoft – they do things their way, who cares about the users or the standards.

  • gm says:

    Hey, it could be worse. Vista 32-bit was changed so that it reports that you have 4GB of RAM if you install it – but you can only use 3GB of it, possibly less. How’s that?

  • eric says:

    @wwhat – what? Most low-end microcontrollers (take the oh-so-popular Arudino for example, using the AVR micro) are 8bit. Also, 8bits is a byte. Period. Using anything else would be confusing, also addressing *IS* still done bytewise, man.. Yes, even on 32 and 64bit machines. Hence why 32bit machines can only directly address 4 gigabytes of memory (as in 4,294,967,296 bytes, as in 2^32, hence 32 bits).
    Hard drives, too.
    The strict definition of “word” is generally architecture-specific, too. Maybe there’s some strict definition floating around somewhere, but I’ve certainly seen varying size “words” out there.

  • mike says:

    good thing all the software guys are switching to base 10 when the hardware guys are switching to base 2 with nand-based storage.

  • cantido says:

    >Hey, it could be worse. Vista 32-bit
    >was changed so that it reports that
    >you have 4GB of RAM if you install it

    Because it’s reporting what the roms on the modules tell it.

    > – but you can only use 3GB of it,
    > possibly less. How’s that?

    Because without bank switching, paging etc you can’t address more than 4GB of “memory” with 32bits worth of address. That’s not to say a “32bit” processor couldn’t have a bigger/smaller address bus, but that’s a different story. Lots of older amd64 machines have memory controllers that are only able to address 4GB of “memory” too.

    So why can you only access 3GB or less.. notice that i put speech marks around “memory”, your address space contains lots of memory mapped things as well, like your expansion buses. So basically the total accessible memory is going to be 4GB – address space allocated to memory mapped peripherals. Not that any of this matters on 32bit windows though, because of the wonky memory setup for processes you’d be lucky if a single process can use more than 1.5GB of actual RAM.

  • Brian Danger Hicks says:

    Dude, complaining that they’re using 1000 bytes to mean one kilobyte is like complaining when people use pi in their calculations instead of the number three.

  • cantido says:

    @eric
    >Also, 8bits is a byte. Period.

    A byte is generally 8 bits. But not “Period”.. some places a byte isn’t 8 bits.

    >Hence why 32bit machines can only
    >directly address 4 gigabytes of
    >memory (as in 4,294,967,296 bytes,
    >as in 2^32, hence 32 bits).

    Lots of people confuse what makes an architecture n bit. I.e. the Z80 is 8 bit… but it has 16bit addressing, so by a lot of people’s misunderstanding that addressing ability == bit’age, that would make it 16bit and most current amd64 machines 48bit.

    >The strict definition of “word”
    >is generally architecture-specific,

    Yes, less common but bytes are the same.

    >Maybe there’s some strict definition
    >floating around somewhere

    Word sizes are confusing because they can be sensible, the unit size the machine likes to work with, or based on what the machine has developed from.

    basically, assumption is the mother of all fook ups, read your manuals.

  • Tom says:

    Better would have been Apple switching to kib. Now I get to hear users arguing about file sizes when submitting papers.
    They took the standard out of an accepted, if possibly wrong, STANDARD and in the process made everyone else look like the dick.

  • eric says:

    @cantido
    > Lots of people confuse what makes an architecture
    > n bit. I.e. the Z80 is 8 bit… but it has 16bit
    > addressing, so by a lot of people’s
    > misunderstanding that addressing ability ==
    > bit’age, that would make it 16bit and most
    > current amd64 machines 48bit.

    Absolutely right, sorry, I didn’t mean to imply that an n-bit CPU necessarily has n-bit addressing :)
    I haven’t seen any alternate definitions for byte, but it wouldn’t surprise me if 8bits isn’t *always* the case!
    And I agree wholeheartedly: always always always rtfm. When your code doesn’t work on the fancy new mega ultra hyper micro, it’s probably because you missed something in the datasheet (that or, in the worst of cases, the manufacturer neglected to MENTION it in the datasheet.. I hate when that happens).
    Reminds me of this time with the at90usb1286, Ateml conveniently mistyped the register settings for the clock prescaler, and my code just _would_not_ run and it took me at least a month to figure out it was the prescaler.. even then it was only when I found someone else’s code containing the correct register definitions that I realized my error!

  • Bob says:

    Its a shame we were born with 5 fingers on each hand. If we just had 8 fingers per hand, 16 total, then everyone would have learned to count in base 16 and the transition to base 2 would be much easier for the general public.

    Okay, Ill call call 1000 bits a kilobit. But then then the rest of the world has to replace the 12′s on their clocks with zeros. We start counting at zero so should our clocks. People already accept switching between am/pm at 12, why no reset the whole clock and go to zero, heck even the military does it at midnight.

  • Tux-fan says:

    if we are just going to correct a historical error can someone quickly rewrite all these textbooks

    yes, electrons are negatively charged and thus, the current goes from minus to plus

    how many billions of student do we like to confuse with the differences between electrical and physical current direction ?

  • nave.notnilc says:

    so yeah, when are we going to start measuring ram in base 10? do you have 4gb of ram? nope, you now have 4.2949673! :D

  • Brett says:

    Yes, the way Apple is doing it with Snow Leopard is technically correct. However, I’d like to see them include a toggle so that if we liked measuring things in base 2 we could still do that.

  • robocat says:

    Interesting that on an international site, most comments seem to prefer kilo to be a standard that means the same multiplier of 1000 in all situations. American-centric geek sites seem to argue k = 1024. I have always had a stereotype that the 1024 supporters are american non-engineer types: “yawl hokey euro-metrics messin wit stuff dat dona be wanted messin wit”.

  • Stuee says:

    for goodness’ sake…

    we all know that technically the terms we use to describe our base 2 units are base 10 descriptors, but we all also know that these base 10 terms such as kb, mb, gb, tb, etc., have been used since the 1960′s to indicate multiples of 1024, probably because these terms were already in our language and easier for people to grasp. yes it’s technically incorrect, but it’s accepted, common practice. there are plenty of misused terms in our language, but we let it slide because we all know what we mean.

    if only the powers that be had had the foresight to start out using the proper terms (mib, gib, etc.) from day one this would never have been an issue, but they didn’t so here we are.
    it’s far too late to be introducing ‘new’ terms for tens of millions of computer users to get used to (i.e. mib, gib, etc.), and it’s also far too late to decide to change/correct the value of the universally used terms, mb, gb, etc.

    imagine telling the world, “hey guys, you know the unit of measurement we call the ‘foot’ is made up of 12 inches? well actually it isn’t, it’s 10. all that time ago, when we told you that 1 foot = 12 inches, err, well, we lied. 1 ‘foote’ is 12 inches; 1 ‘foot’ is actually only 10 inches, so now you’re all going to have to get used to the 10 inch foot… so when you order curtains or timber or clothes or windows (anything!) it will still be measured, constructed and labelled using the 12 inch ‘foot’, but when you get it home you’ll most likely find that none of it fits because you measured up using the new improved 10″ foot. ok?” err… wtf? no!!
    [sorry, i know it's not the best analogy in the world, but hopefully it conveys my point]

    anyway, as we’ve all agreed to ignore the misrepresentation of mibibytes as megabytes, etc., for the last 40-odd years, let’s just carry on shall we, and get the blasted storage device manufacturers to conform to the way it’s been since modern computing began so we can have some consistency back in our wonderfully binary lives!

    to illustrate why this won’t work and how it will confuse people: if i download a 200mb file, i expect my os to report that it is taking up 200mb of my storage medium, but snow leopard will tell me that it’s about 204.8mb. not confusing?

    similarly, when i upload a 200mb file that i’ve created to, say, rapidshare, i want it to arrive on their servers and see a 200mb file sitting in my account, but of course a ’200mb’ file created in snow leopard will only be a 195.xmb file on the server so i’ll think the upload broke and try again, with exactly the same confusing result.

    in snow leopard, every file i ever upload will appear online to be smaller than it appeared on my computer.
    have apple lost the plot?!!

  • louis ii says:

    ram would be measured in base 2 still.
    ram would have to follow the kib, mib, gib, tib system, lest it make little to no sense… though this may help users understand the inherent difference between “memory” and “storage space”.

  • louis ii says:

    I suppose the implied question becomes:
    “is ram measured in base 2 or base 10?”

  • Stuee says:

    What’s with this site not allowing capital letters? Sucks.

  • Stuee says:

    What’s with this site not allowing capital letters? It makes me look like a lazy school kid :-/

  • Simon says:

    This is a change for the better and all the luddites posting on the anti-change side of the argument are just going to have to try to keep up, or be left behind.

    Perhaps you could form into some sort of closed-up Amish community where you can cling to the ancient ways forever? This is a technology forum – and technology is moving forward.

  • Marr says:

    Everything you say is true, Stuee, but you miss the point. *Apple* are doing this, so it’s automatically awesome. The entire rest of the industry just have to step into line.

  • Sanity Check says:

    I find all these pro GiB comments funny. I mean the base unit is already 8 which is not a multiple of 10 to begin with. So, while they borrowed the si units the new terms were not created till recently and going back to the 1.44MB floppy you are all falling for Advertisement BS over technical reality. From the way your file system is formatted to the way your ram is calculated. Computers min and max ranges are in powers of two so you should likely keep the calculations to that.

    What I don’t understand here is why Apple didn’t just make the push to switch everything in to iBs instead of Bs but oh well

    Simply put Kilo means one thing in SI and another in base 2. Get over it. Other forms of non plater based memory are already in base 2 like flash which comes in powers of 2 because of the way its manufactured.

    Finally who wants to start buying ram in really odd decimal values when we define a gb of ram to be less then 1024 mbs I would love to by 1.024 kbs of ram. Tech people get touchy over IEEE comming in and saying after 40 years you need to put a i between then the K and the B but I guess its going to happen one day.

  • moontear says:

    Read up on your math…

    Since 2004, 1kB = 1000 bytes according to the IEEE (SI Units).

    I don’t like it either, but this is the way it is. Now just wait until they invalidate non-metric units like Inch and Foot… :-)

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

  • Gert says:

    What will be next? A help menu based on the Bible?

    This kind of stuff is what crazy conservatives and small minded people do. This is more of a habit for Microsoft.

  • Gert says:

    @moontear: Yeah we actually should dump the non-metric system and we also should dump Fahrenheit and Celcius and adopt Kelvin instead.

    I hate having to convert every °F into K or °C.

    Just switch everything to the SI systems. Much easier.

    Kilogram however is very hard to standardize because gravity isn’t equal across the entire earth. Slugs perhaps?

  • i can't believe this says:

    Simon, it isn’t about progress. It’s about faulty definitions. There are many good comments about this here. To put it simply, those opposed to the change are voicing up because Apple is ignoring the numerical basis for the the value in favor of the idealized form derived from how it sounds to people. Apple isn’t necessarily in the wrong, a kilo being exactly 1000 of some SI unit, but the switch makes as much sense as using a yardstick to measure out a meter; that is, it can be done, but as close as the values may seem, they’re not 1:1. It wouldn’t matter so much if the native numeral system of the computer and its hardware weren’t binary, but in our case they are, and as such the units naturally graduate in base 2, not base 10. Redefining the units as base 10 isn’t going to change the fact that, by nature of the binary digits they contain, the drives are going to have a capacity more accurately described in base 2.

  • Nando says:

    In computer world KB comes from the JEDEC memory standards and means 1024 B.
    Apple has decided to go SI and convince us that that damn 1GB RAM module is 1000 MB, but it’s not!

  • T1MT1M says:

    OK well i have my 500gb drive here. your math is wrong. Ethan already pointed it out

    5,000,000,000/1024*1024*1024 = 4.6566

    Windows says my hard drive is 465gb.

  • T1MT1M says:

    stupid site cant edit shit lol. theres supposed to be an extra 2 zeros on that 500,000,000,000 which then makes it right.

  • mrlizard123 says:

    Ah, it’s SO confusing when a commonly used (for many years) label for a measurement is actually different to the SI units.

    It makes me think of all the times I’ve nearly swerved violently off the motorway at the signs telling me it is 1m to my junction – I recommend we get all the signs changed to say either “1 609.344 m” or “1 mile”…

    Alternatively I could accept that miles are a more sensible measure than metres in this instance and it makes more sense to use abbreviations (saves printing all those extra letters).

    1024 as a kilobyte may not be “technically” correct using SI units, but since it’s not a scientific paper I don’t think we need to be too anal about it, as long as it’s an understood and accepted usage appropriate to the task. Storage is actually in base-2 so numbers pertaining to data storage in decimal form should really be consistent.

    As others have suggested; changing the name is the more sensible option if being SI accurate is the goal but turning the values on their head to match the name is insane – clearly recalculating all values to match the current units is more confusing than changing the constant value of unit to the correct one isn’t it??

  • Tomas says:

    @Will, you wrote “Base 10 is fake math? Count your fingers or toes and get back to me.”

    This emphasises the problem. I have 8 fingers and 2 thumbs. If you have 10 fingers then you my friend, are a freak.

    Much like people say they have 10 fingers when they have 8 fingers, people say kilobyte to mean 1024 bytes when kilo-anything-else means 1000.

  • markyb86 says:

    Wanna get comments? Pick on math on a nerd website.

  • Motoma says:

    Well this has been a hotly contested article, for sure.

    The argument seems to be the canonical definition of Kilobyte for computer types vs. the literal definition for everyone else.

    I can understand why a software developer–especially one targeting the “it just works” crowd–would like make a decision like this and go with the representation that is more generally understood. I have certainly seen files that are just over 1000 bytes before show up as over 1000 bytes instead of a 1kB, and I can understand how that may be confusing.

    Why not change the labels to kiB? Perhaps it is just that base ten makes sense to most people–and we as computer types are more likely to understand the change than the rest of the population.

    On the other hand, I do not see many non-computer types checking file sizes very frequently; aside from the occasional look at the iPod, I doubt there is more survey of disk space than a simple “Is it full?”.

    I am curious however: Will itunes report a base 10 value now? Has Apple changed to base 10 on all products?

  • anon says:

    “2^10 is not even a base 2 notation”

    what the fuck am i reading?

  • Stuee says:

    @motoma – no, it is only in the finder that apple have chosen to make this change. All other applications such as itunes, terminal, etc., still report in base 2 making this even more confusing to the average joe.

    If you’ll indulge me, i’d love to hear some responses to the last part of my previous post, which points out how this will affect people’s real world experience on a day to day basis:

    “if i download a 200mb file, i expect my os to report that it is taking up 200mb of my storage medium, but snow leopard will tell me that it’s about 204.8mb. not confusing?

    similarly, when i upload a 200mb file that i’ve created to, say, rapidshare, i want it to arrive on their servers and see a 200mb file sitting in my account, but of course a ‘200mb’ file created in snow leopard will only be a 195.?mb file on the server so i’ll think the upload broke and try again, with exactly the same confusing result.

    so in snow leopard, every file i ever upload will appear, online, to be smaller than it appeared on my computer.”

  • 3rix says:

    However, if you set all eight(base ten)bits it’d be 1024(Base ten).
    #11111111 is 1024

  • 3rix says:

    Wait that’s 10 bit’s. WTF?
    Shows how much I know.

    I’m stupid I guess…

  • 3rix says:

    BTW: That was 256.
    So I’d better stop flaming the comments.

  • 3rix says:

    I mean two-hundredfiftyseven.
    I forgot the last bit. Okay, I shouldn’t post any comments in the morning anymore.

  • Stuee says:

    3rix you’re spamming the hell out of this discussion mate, please stop! ;-)

    And hackaday, please please give us a delete or edit button!!!

  • Leave a Reply

    XHTML: You can use these tags: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

    Hack a Day serves up fresh hacks each day, every day from around the web as well as hacking related news.

    Send us your hacks






         




    Hacks

    Resources