Ubuntu Will Switch To Base-10 File Size Units In Future Release
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."
First, screwing with GUI buttons, now this? Mark Shuttleworth, I'm calling you out on your BS
;)
moox. for a new generation.
Anyone who's too stupid to understand the difference, isn't going to care. Someone, somewhere, has too much time on their hands...
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? =(
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.
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.
I thought the reputable mfgs had already jumped on the bandwagon where they use kibi-/mebi-/etc prefixes to denotes powers of 2? See IEEE 1541. Following this standard, the change makes sense. Either that or they should have switched to the binary prefixes.
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.
Instant Karma's gonna get you, Gonna knock you right on the head (John Lennon, 1970)
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.
Oh this makes me sooooo grumpy. FFS, who does the International System of Units think they are. 1024 does equal 1 kilobyte ... always has been. That's what I was taught in school. If I had answered 1000 bytes = 1 kilobyte, it would of been zero marks.
.... 1 kilobyte = 1024 bytes. Finished.
According to the Oxford Dictionary: noun Computing a unit of memory or data equal to 1,024 bytes.
According to Websters Dictionary: A unit of information equal to 1024 bytes.
According to Cambridge Dictionary: a unit of measurement of computer memory consisting of 1024 bytes
According to http://dictionary.reference.com/browse/kilobyte:
–noun Computers.
1.1024 (2^10) bytes.
2.(loosely) 1000 bytes. Symbol: K, KB
So until the guardians of the English language change
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: https://wiki.ubuntu.com/UnitsPolicy
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).
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
Why?
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 misperception, the only large physical quantity in a computer that is usually fixed to a power of 2 is RAM (and virtual memory makes the exact size of RAM totally irrelevant to users). Disk drive sizes, substructures on disk drives, network bandwidth, optical media, filesystems, individual file sizes, bus bandwidth, clock speeds, network packets, etc have no physical relationship to the number 2. (Some filesystems use 512-byte block sizes. So what? That implementation detail is well hiddenfrom end users, and notice that 512 does not match any of the binary prefix sizes either.) Why would you invent an entire new confusing, hard to use pseudo number system (whose "base" idiotically varies depending on the order of magnitude) when the quantities you're measuring don't even have any relationship to it?
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!
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
The only people who lie about this have been the HDD manufacturers. Wasn't there a class action about that some time back? I expect the court didn't understand the problem of my 120GB drive actually being under 112!
It seems the court understood the matter very well and decided that when a hard drive contains 120 billion bytes, and the prefix "G" means "1 billion" as all international standards say, then calling it a "120 GB" hard drive is absolutely justified and correct, and it is not the hard drive manufacturer's fault if some idiot programmer displays it incorrectly as 112 GB.
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.
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.
The
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.
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.
In computers, there are critically important reasons why base2 is used (transistors act as electronic switches which have two states: on and off). Wiring buses in computers (address lines, data lines) are base2, with the electricity being on or off. When data is read and written on the hard disk, its done in a binary format. When searching for data on a disk, its either a binary search, or the equivalent of a binary search (divide and conquer) algorithm used to find data, with O(log n) search time. Please don't dumb it down. We don't need to dumb it down. Its not that the computer is to compl-cated, its that the user is too dumb. Users have been suing drive manufacturers who have been lying to people like this. I expect data to be stored this way. Two wrongs don't make a right (it takes three lefts for that), but I digress, don't change it. DON'T!
FIrst off, young sprat, I've used decimal hardware. So are you going to force me to say 1KB is 1024 even though it makes no sense on that system?
Second, I've used disk drives for other purposes than computers - data logging using dedicated hardware. Why should I be tied to your computer idiosyncrasies? Mass storage was around before computers settled on binary. It has always used decimal units. You are making a common mistake - assuming that because something is some way now, that it was always that way.
Third, if base two is so critical to computers, then how many Hertz are in 1 MHz?
And finally, I'm now working on ternary logic. Storing information as 3^N is already inside some devices you're using, so maybe binary is not so critical after all.
Harddrives and floppy disks aren't bound by base-2 in the slightest.
A floppy disk is a great example, a track can have any number of bits stored on it. The OS cuts that track into sectors of whichever size it wants, this is *arbitrary*. Because of sector encoding on floppies, it's impossible to read only part of a sector... you have to read the entire sector. Early computers made sectors the same size as a page of RAM in order to load an entire sector into a single page of RAM.
These are all decisions made by programmers, nothing inherent in the computer relies on sector sizes to be base-2. Nothing inherent in the media requires anything to be base-2.
1kB was never defined as 1024 bytes. People just started calling 1024 bytes as 1kB because it was close enough, and on one cared about being 2.4% off. Unfortunately as everytime we leap another 10^3 we're off by another 2.4%, and by the time we get to 10^12 we're off by 10%.
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.
Please read my Canon EOS tech blog at http://www.everyothershot.com
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 base 2, 8 or 16, and a very hard to remember number in base 10.
I think anyone who uses a computer (as in, uses it for what it is there: to automate things), will continue to use base-2-based number systems. And base 10 will be for the appliance fiddlers who only play with colorful clickables, and should in fact not called users at all.
Any sufficiently advanced intelligence is indistinguishable from stupidity.
Yeah, I really hate when the tools are use daily are made more standardized and sensible. I mean really, I know how you feel. I was RAGING the day I worked on my first motherboard that didn't require me to fiddle with jumpers and man, oh man, I about blew a gasket when I didn't have manually configure my autoexec.bat file anymore so I could play games.
What the fuck is wrong with people trying to make computers accessible? Fucking pussies and their keyboards and their mice. Gimme my damn punch cards!
Well, when I was in university, studying computer science (who'd've guessed that a /. contributor studied comp sci?), KB was defined as 2^10 bytes, MB was 2^20, and GB was a pipe dream (hey, I graduated from uni in 1986). So, for us, kB WAS defined as 1024 bytes. That's how ALL of my textbooks, which I still have btw, defined kB.
Perhaps it was not defined as 1024 bytes everywhere (comp sci types are notorious for having multiple standards), but it was defined as 1024 bytes in a fair number of places.
linquendum tondere
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 valid justification for breaking the math used and making it more difficult. Your pedantic correctness will decrease the efficiency of IT as a whole.
Sorry if you want to pretend people are somehow clinging to old ways. I guess some of us fuddy duddies don't want to get behind the idea of breaking the existing functionality with zero functional gain.