Follow Slashdot stories on Twitter


Forgot your password?
Ubuntu Data Storage Linux News

Ubuntu Will Switch To Base-10 File Size Units In Future Release 984

CyberDragon777 writes "Ubuntu's future 10.10 operating system is going to make a small, but contentious change to how file sizes are represented. Like most other operating systems using binary prefixes, Ubuntu currently represents 1 kB (kilobyte) as 1024 bytes (base-2). But starting with 10.10, a switch to SI prefixes (base-10) will denote 1 kB as 1000 bytes, 1 MB as 1000 kB, 1 GB as 1000 MB, and so on."
This discussion has been archived. No new comments can be posted.

Ubuntu Will Switch To Base-10 File Size Units In Future Release

Comments Filter:
  • by Hadlock ( 143607 ) on Saturday March 27, 2010 @11:57AM (#31639942) Homepage Journal

    First, screwing with GUI buttons, now this? Mark Shuttleworth, I'm calling you out on your BS

    • by g-to-the-o-to-the-g ( 705721 ) on Saturday March 27, 2010 @12:03PM (#31639998) Homepage Journal

      If you read closely, you'll see that the summary is kind of misleading. What canonical is actually doing is using SI prefixes for base-10 units, and IEC prefixes for base-2 units.

      In other words, they will use 1kB for 1000 bytes and 1KiB for 1024 bytes. This is a good thing, it just means the UI should be consistent and you don't need to second-guess.

    • Re: (Score:3, Insightful)

      by Mistlefoot ( 636417 )
      I have read most of the comments below I am replying to you.

      You have pretty much hit the nail on the head alluding to Mr Shuttleworth's "open source is not a democracy" comment. When something as simple as whether 1000 or 1024 should be used causes such dissension. In effect, this is meaningless. Pick one and life goes on. It becomes the norm. Simple. Done. Over. And everything works fine.

      But no. In such a technically meaningless semantic discussion there is still dissension how many years later?
  • Thing is (Score:4, Insightful)

    by davidjgraph ( 1713990 ) * on Saturday March 27, 2010 @11:57AM (#31639948)
    Anyone who's too stupid to understand the difference, isn't going to care. Someone, somewhere, has too much time on their hands...
    • Re: (Score:3, Insightful)

      by bunratty ( 545641 )
      I care because if a sector is 4096 bytes, I can easily tell how many sectors a 4 MiB file takes (1024). Let's say someone says a file is 4 MB. How many 4 KiB sectors is that?
    • Re:Thing is (Score:5, Insightful)

      by beelsebob ( 529313 ) on Saturday March 27, 2010 @02:00PM (#31641174)

      Actually, they are. This is most likely for the exact same reason as apple likely did it –reduced support costs. They don't need to deal with shit tons of people complaining that their 1000GB disk isn't 1000GB, it's only 931.3GB.

      Along with of course the most obvious reason – it's *correct* that way.

  • by the unbeliever ( 201915 ) <chris+slashdot.atlgeek@com> on Saturday March 27, 2010 @11:58AM (#31639954) Homepage

    Apple did this with Snow Leopard, which makes me a cranky geek.

    Why can't the OS manufacturers pressure the hard drive companies to market their sizes correctly? =(

    • by Shinobi ( 19308 ) on Saturday March 27, 2010 @12:02PM (#31639992)

      HD manufacturers are presenting the sizes correctly. SI prefix = hard-defined base-10, it's just computer engineering and computer sciences that broke the established standard.

    • Re: (Score:3, Insightful)

      I think you've misunderstood the issue. The problem is that the kilo, mega, giga etc. are base-10 orders of magnitude that were used incorrectly for base-2 numbers in computers. It should never have been 1 kilobyte means 1024 bytes. This is just the move to fix a long standing problem.
  • Interesting (Score:3, Interesting)

    by LBArrettAnderson ( 655246 ) on Saturday March 27, 2010 @11:59AM (#31639958)

    I find it interesting that operating systems are headed in this direction, while SSDs are becoming more and more popular, and which (for the most part) use base 2 measurements.

    It looks like both Apple and Ubuntu are trying to get consumers to think that they use less disk space.

    • by Ark42 ( 522144 )
      Really? My 80G Intel SSD is reported as 79,919,312,896 Bytes (74.4GB).
  • Why? (Score:2, Troll)

    by alexandre ( 53 ) *

    To excuse hard drive makers for using this stupid format to grown their number artificially?
    Hopefully this doesn't affect the command line... only gnome, right?

    • Re: (Score:3, Interesting)

      by Waffle Iron ( 339739 )


      Because any calculation involving a mixture of different prefixes is pointlessly difficult when using pseudo base-2. For example, your file manager reports that a memory stick has 1.20GB free space, and it reports that you have two 613MB files. Will they fit on the disk? If the apps use stupid pseudo base-2 numbers, you have to dig around for a calculator. If instead the apps use base 10 like you've been trained to use since early childhood, the answer is obvious.

      Moreover, contrary to the common misperc

  • Annoying... (Score:2, Insightful)

    by anss123 ( 985305 )
    Human language is context based; meaning the exact meaning of words depends on in which context they are used. Why should it be different for prefixes? Just so a few morons won't be confused? Pah... morons being morons will just find something else to be confused about.
    • Re:Annoying... (Score:5, Informative)

      by Kjella ( 173770 ) on Saturday March 27, 2010 @01:08PM (#31640706) Homepage

      Because the context is a problem every time you mix computers and what you're doing on a computer. Let's say you record a CD, 16 bits/sample @ 44.1kHz. That's a bitrate of 16 * 44.1 = 705.6 kbit/s second right? If I want to send it over the LAN too? What if I need to allocate a memory buffer, is it still 705.6 kbit/s? And what if I want to store it to disk, do I need to allocate 705.6 kbit per second of music? Computers aren't not remotely consistent with themselves, a 100 Mbit LAN is 100,000,000 bits/second. Hard drives too but they're hardly the only ones, floppies weren't even consistent with themselves most being 1.44*1000*1024 bytes.

      Things get confusing all the time because a 1 MB, 1 KHz (1024*1024*1000) bus is not equal to a 1 kB, 1MHz bus (1024*1000*1000) which is why everyone dealing with networks never used kilo = 1024. The 56k modem is 56,000 bits, ISDN is 64,000 bits and so on right up to SATA 6Gbit/s which is 6,000,000,000 Gbit/s (and even more confusing because it's in 8/10 bit encoding, but that's another story). So both inside and outside the machine we're switching between base 2 and base 10 all the time.

      A particularly confusing item was codecs. Should they follow the "size" standard so a 128 kbit/s MP3 would take up 128 kbit/s, or the network standard so that a 128 kbit/s would take 128 kbit/s of network bandwidth? I think now most settled on k = 1000, that is to say if you encode a one second clip at 128 kbit/s it'll only take up 125 kbit on your disk. Confusing as fuck? Hell yeah. Let's just settle this and be done with it, with the i = base 2, without it base 10. Just forget the lame names, and let the prefixes do the talking. MB = megabyte, MiB = megabyte. That's what I'm doing at least.

  • Really annoying (Score:5, Interesting)

    by Maïdjeurtam ( 101190 ) on Saturday March 27, 2010 @12:12PM (#31640084) Homepage Journal

    I work mostly on OS X and this so-called feature annoys me to no end. I do not know the size of my files anymore, I have to go to the terminal just to know the size of a file (bash hasn't been polluted by this feature).

    I've been using computers for 20+ years and I do _not_ want to change how I think file sizes, especially since I feel that base 10 is the wrong way to count. What's next? Imperial units for us Europeans?

    The most annoying? That nobody has hacked Snow Leopard to restore real units.

    • by Culture20 ( 968837 ) on Saturday March 27, 2010 @12:27PM (#31640252)

      What's next? Imperial units for us Europeans?

      Hell no. Imperial units for file sizes. A byte will be twelve bits, a kilobyte will be 3 bytes, and a megabyte will be 5280 bytes. A petabyte will be 5.87849981x10^12 megabytes. There won't really be such things as terabytes or gigabytes, which will make drive manufacturers happy because most of their drives are measured in TB or GB.

    • Re:Really annoying (Score:4, Insightful)

      by dingen ( 958134 ) on Saturday March 27, 2010 @12:28PM (#31640258)

      I've been using computers for 20+ years and I do _not_ want to change how I think file sizes, especially since I feel that base 10 is the wrong way to count.

      How is it possible you survived working in IT for over 20 years and not being able to adapt to radical changes? These sort of things happen all the time. One moment you're working from LSB upward, then you're suddenly working from MSB downward. 8 bit changed into 16, into 32 and now in 64. Filenames can't be longer than 8 characters and now they can. A file can't be larger than 4 GB and now it can. And now finally, operating systems are beginning to understand SI units (which we've been using for all sorts of applications for hundreds of years) and *THAT* is a problem?

      What's next? Imperial units for us Europeans?

      A better comparison would be using metric units in the US, because metrics are based on SI and imperial units are more like the weird way bits and bytes are counted into kilobytes, megabytes etc.

      Saying that 1024 is a kilo never made any sense to anyone. I'm really glad we're finally entering an age where computers represent datasizes in units people can understand.

      • Re: (Score:3, Insightful)

        by l3v1 ( 787564 )
        Saying that 1024 is a kilo never made any sense to anyone

        To anyone except the countless people who actually knew their way around computers and what they were doing. Flexiblity to adapt to situational changes of a field has nothing to do with idiots changing the nomenclature of a well established technical, engineering and scientific field because they can't fathom words can mean different things in different fields and contexts.
    • Re: (Score:3, Insightful)

      by Gorath99 ( 746654 )

      What's next? Imperial units for us Europeans?

      Quite the opposite. The imperial units are the base 2 ones. After all, kilo means 1000, not 1024, both in the original Greek and in the SI system that most of the world uses.

      The HDD manufacturers were right (albeit for all the wrong reasons, of course). Good for Apple and Cannonical for recognizing this. I hope the rest of the world follows suit and becomes (SI, IEEE, ISO/IEC []) standards compliant.

    • Re: (Score:3, Interesting)

      by ceoyoyo ( 59147 )

      You know, that's the same argument Americans use for not adopting metric.

    • Re: (Score:3, Insightful)

      Actually, it's more like changing from the imperial system to the metric system. Sure, the imperial system's conversions made sense in the context that they were created, but for a sense of consistency and predictability, you can't beat base 10 metric.

    • by Anonymous Coward on Saturday March 27, 2010 @12:50PM (#31640494)

      I feel that base 10 is the wrong way to count.

      You must have a horribly difficult time in this world.

    • Re: (Score:3, Informative)

      I've been ... for 20+ years and I do _not_ want to change

      People like you are best ignored.

    • by ShinmaWa ( 449201 ) on Saturday March 27, 2010 @01:39PM (#31640964)

      If you went to the terminal and saw this file

      file.big 17,179,869,184

      I suspect that you would naturally say that that file is about 17 gigs. Actually, it is 16 GiB exactly.

      However, just looking at the file, no one would ever instinctively say that file.big is 16 GiB. The reality is that base-10 is what people naturally use and so it makes sense for the user interface to reflect that.

  • by mmontour ( 2208 ) <> on Saturday March 27, 2010 @12:13PM (#31640096)

    As long as they use the correct prefix, I don't really mind whether they use base 2 or 10 to display the numbers.

    RAM sizes are naturally powers of 2 due to how the individual memory cells are addressed, so it makes sense for RAM capacity to always be listed in GiB.

    Hard drives, on the other hand, have nothing that is fundamentally based on a power of 2. They arbitrarily use a sector size of 512 (or 4096) bytes, but everything else (number of heads, number of tracks, average number of sectors per track) has no power-of-2 connection. Therefore there's nothing wrong with reporting their size in SI notation.

    The original shorthand of calling 1024 bytes a "K" was not too bad because it's only a 2.4% error. However the error gets worse as you go up each level, and by the time you're talking about a TB/TiB it's something that people actually care about.

    • by darkpixel2k ( 623900 ) <> on Saturday March 27, 2010 @12:42PM (#31640422) Homepage

      Hard drives, on the other hand, have nothing that is fundamentally based on a power of 2.

      Well--except that pesky material on the surface of a disk that can store either a '1' state or a '0' state. Most people call that a 'bit'. Strangely enough, that 'binary' state is conducive to measuring in powers of two...

    • by tuomoks ( 246421 ) <> on Saturday March 27, 2010 @12:50PM (#31640512) Homepage

      Sorry, 512 or whatever base-2 sector size is not arbitrary - the disk controlling hardware / buffers / controllers / channels / etc and especially the transfer sizes, multipliers in headers, and so on are (still) base-2. If you ever do performance / capacity calculations or estimates for storage size, etc, you very fast find base-2 very handy.

      The disk size error is not a big deal - there always is an overhead that changes by storage type, file system, fixed physical characteristics, key / data compression used, replication, whatever - so? The public (and I think many in IT) really don't know and/or have to know more than if they have enough or need more!

    • Re: (Score:3, Funny)

      by noidentity ( 188756 )

      As long as they use the correct prefix, I don't really mind whether they use base 2 or 10 to display the numbers.

      I'd prefer they not display numbers in base 2. Reading a long string of ones and zeroes is difficult.

  • by Culture20 ( 968837 ) on Saturday March 27, 2010 @12:37PM (#31640366)
    I've used Ubuntu exclusively on my desktops for several years now. It's nice to know that I can always switch to another distro when they do something BAT SHIT INSANE like this: []

    Change the GUI window buttons from right to left? Meh. Change the way file sizes are read so that User X and User Y see different file sizes using the same filesystem, even potentially the same remotely mounted disk?

    Now I have to draft a letter to our research department telling them to stay the hell away from Ubuntu because their data will potentially be wrong (unless they take pains to remember the kilo=/=kibi switch).
    • Re: (Score:3, Insightful)

      by Animaether ( 411575 )

      Now I have to draft a letter to our research department telling them to stay the hell away from Ubuntu because their data will potentially be wrong (unless they take pains to remember the kilo=/=kibi switch).

      If your research department...
      1. Doesn't work in bytes
      2. Doesn't know how to tell the difference between kB/MB/GB/TB and KiB/MiB/GiB/TiB ...then maybe you (or rather the person in charge) need to educate your research department on these matters, rather than compiling a list every month of operating sys

    • Re: (Score:3, Informative)

      by Artemis3 ( 85734 )

      I read the policy and consider it correct.

      There are two ways to fix the abuse of the SI standard for base-2:

      1. Correct the application to divide by 1,000 and keep on using SI prefixes.
      2. Correct the application to keep on dividing by 1,024 but use the IEC prefixes.

      So, use the IEC prefixes and you don't need to change much. Its just a little i.

      Furthermore, this was approved in 1998. Don't you think you had enough time to adapt by now? []

      I'm sure there are more distros and programs implementing this.

  • Good move (Score:5, Insightful)

    by the_other_chewey ( 1119125 ) on Saturday March 27, 2010 @12:40PM (#31640396)
    I'm surprised by the majority here that is against this. What kind of nerds exactly are you?
    SI prefixes are defined as base-10, period. Every other use is simply wrong.
    Being consistently wrong for a very long time doesn't make it better, it is just proof of
    an unwillingness to admit to a stupid initial mistake you didn't even make yourself.
    As nerds, you're supposed to be better than that.

    How can you be all for standards-compliance with browsers and rile against a much
    stronger, decades-old ISO standard (which is based on a centuries old definition from the
    beginning of the metric system - "kilo" has been 1000 for over 200 years)?

    On the other hand, you are the same crowd regularly writing about "mbit/s" while meaning "Mbit/s",
    thereby being off by just a tiny, unimportant, paltry factor of a billion.
    Seriously, what's wrong with you?

    -- an annoyed scientist
    • Re:Good move (Score:4, Insightful)

      by presidenteloco ( 659168 ) on Saturday March 27, 2010 @12:52PM (#31640540)

      Before, the situation was simple.

      Everything not binary-represented-information related used base-10.

      Everything binary-represented-information related (computing related, bandwidth related etc) used base 2, because the
      most important thing is how much information is being passed around or stored, and base-2 is the natural unit for
      measuring information, which comes in bits, and whose complexity is related to powers of the number of bits.

  • by gweihir ( 88907 ) on Saturday March 27, 2010 @12:46PM (#31640454)

    And even in the metrically challenged USA, SI happens to be the law. Imperial units are only allowed in addition, but prefixes must be SI. If you don;t believe me, look up your own laws before shooting off your mouths.

    The rule actually is that anything measured must use SI prefixes and units (in the US and some other backward countries some historic units may be allowable besides SI units, but prefixes are the law even there) when sold, i.e. the HDD manufacturers are prohibited by local and international law from using base 2 units as the only or main size statement. If they do, that would be fraudulent. The only thing that would save them is that it is permissible to give the customer more than stated.

    So how do RAM sizes come into this? Simple: A RAM size is not a measurement. It is membership in a size class. While a HDD can have an arbitrary size (well, modulo 512, but that is a detail with todays sizes), RAM cannot have other sizes than powers of 2 and hence a statement like 1MB for RAM is a statement of membership in a specific size class and not a measurement. (Incidentially, 1mb is 1 mili-bit, i.e. 1/1000 of a bit. Get this right or be regarded as a moron!)

    I do not understand why so many people cling to a mistake. Grow up!

  • by Theovon ( 109752 ) on Saturday March 27, 2010 @01:21PM (#31640828)

    Many computer nerds like to tout themselves as geniuses who have flexible minds. But the truth is that we're all afraid of change. And this switch from KiB to KB is change. It's not what you're used to, so it's going to confuse you.

    But as a geek myself with an obsession for clear and precise terminology, I welcome the change. No longer will I wonder if someone's talking about KB vs. KiB, because it'll be consistent and explicit, at least on the computer systems developed by flexible-enough-minded people who are both willing to change and willing to correct a long-confusing problem.

    It's true that the HD makers have taken advantage of this confusion. Back in the day when people almost always said KB when they meant KiB, HD makers used KB. But the fact is, once we adapt our terminology to be less ambiguous, we really can't be mislead by them anymore, and their deceptive marketing practices will be moot (at least when it comes to bytes of storage).

    So, to summarize, stop being a stick in the mud and learn to adapt to change. Computers are and always have been an aspect of change in our society. Get over it and get with the program.

    • Re: (Score:3, Insightful)

      by Hurricane78 ( 562437 )

      I’s not about being flexible. It’s about not being retarded.
      We are the experts on the subject. We know better. Period.
      So for someone to tell us how our computer should work, it must be someone who is even more of an expert.
      A standards committee is not someone like that.

      The simple fact is, that all computers nowadays are base 2. So for the numbers to be useful, they must also be base two. Half your ram, hard disk, cache, display resolution, data rate, etc, will always be a nice round number in ba

    • Re: (Score:3, Insightful)

      by swilver ( 617741 )

      There's no need. We can just use our own OS that will work as we want it to.

    • As a geek, I am in favor of change... for the better. Geek and pedantic troll are not synonymous. I do not care about grammar distinctions that do not add a useful and functional clarity just for their own sake. I do not support changes to existing well defined and well understood prefixes unless there is a purpose.

      Satisfying the anal few by implementing technical correctness of a prefix is NOT a fair trade for breaking every spec of existing computer literature and the majority of software. It is not a val

  • locale (Score:3, Funny)

    by bugi ( 8479 ) on Saturday March 27, 2010 @01:52PM (#31641092)

    May I humbly suggest that for locale C, we retain the base-2 prefixes. Then for POINTLESS_PEDANT locale, use SI prefixes. To specify base-2 prefixes without maintaining the rest of the C locales semantics, I recommend GET_OFF_MY_LAWN. Or maybe just an environment variable to indicate DISK_MANUFACTURERS_ARE_GREEDY_BASTARDS with 0, empty or non-existence assuming you have traveled back in time or are living in denial.

  • by rossdee ( 243626 ) on Saturday March 27, 2010 @01:59PM (#31641160)

    The number 10 is different depending upon which base you use.

    There are 10 types of people, those who understand binary, and those who don't.

  • by jolyonr ( 560227 ) on Saturday March 27, 2010 @03:34PM (#31641896) Homepage

    Finally they've seen sense and will switch to the metric ten-bit byte.

    I'm fed up of this short-changing every time I use a byte! I'm sure the memory companies will harp on about how it will increase costs by 25% but they've had an easy life for years.

    If God had meant us to program with 8 bits per byte, he'd have given us 8 fingers.

I've finally learned what "upward compatible" means. It means we get to keep all our old mistakes. -- Dennie van Tassel