19 ms·
1 kilobyte is precisely 1000 bytes?
- talles 9mo agoI refuse to say "kibibyte" out loud
- dboreham 9mo agoJust to show that disinformation exists in every field.
- jachee 9mo agoThe entire reason "storage vendors prefer" 1000-based kilobytes is so that they could misrepresent and over-market their storage capacities, getting that 24-bytes per-kb of expectation-vs-reality profit. It's the same reason—for pure marketing purposes—that screens are measured diagonally.
- dr_zoidberg 9mo agoNot sure about that, SSDs historically have followed base-2 sizes (think of it as a legacy from their memory-based origins). What does happen in SSDs is that you have overprovisioned models that hide a few % of their total size, so instead of a 128GB SSD you get a 120GB one, with 8GB "hidden" from you that the SSD uses to handle wear leveling and garbage collection algorithms to keep it performing nicely for a longer period of time.
- quotemstr 9mo agoSounds like an urban legend. How likely is it that the optimal amount over-provisioning just so happens to match the gap between power-ten and power-two size conventions?
- direwolf20 9mo agoIt doesn't, but it's convenient.
- nerdsniper 9mo agoIt doesn't, there's no singular optimal amount of over-provisioning. And that would make no sense, you'd have 28% over-provisioning for a 100/128GB drive, vs 6% over-provisioning for a 500/512GB drive, vs. 1.2% over-provisioning for a 1000/1024GB drive. It's easy to find some that are marketed as 500GB and have 500x10^9 bytes [0]. But all the NVMe's that I can find that are marketed as 512GB have 512x10^9 bytes[1], neither 500x10^9 bytes nor 2^39 bytes. I cannot find any that are labeled "1TB" and actually have 1 Tebibyte. Even "960GB" enterprise SSD's are measured in base-10 gigabytes[2]. 0: https://download.semiconductor.samsung.com/resources/data-sheet/Samsung_NVMe_SSD_970_EVO_Plus_Data_Sheet_Rev.3.0.pdf https://download.semiconductor.samsung.com/resources/data-sh... 1: https://download.semiconductor.samsung.com/resources/data-sheet/Samsung_NVMe_SSD_970_PRO_Data_Sheet_Rev.1.0.pdf https://download.semiconductor.samsung.com/resources/data-sh... 2: https://image.semiconductor.samsung.com/resources/data-sheet/samsung_ssd_pm9a3_data_sheet_rev1_0.pdf https://image.semiconductor.samsung.com/resources/data-sheet... (Why are these all Samsung? Because I couldn't find any other datasheets that explicitly call out how they define a GB/TB)
- wmf 9mo agoMore recently you'd have, say, a 512GB SSD with 512GiB of flash so for usable space they're using the same base 10 units as hard disks. And yes, the difference in units happens to be enough overprovisioning for adequate performance.
- recursive 9mo agoI'm suprised they didn't mention kibibyte. (Edit: they did) There are plenty of applications where power-of-2 alignment are useful or necessary. Not addressing that and just chastising everyone for using units wrong isn't particularly helpful. I guess we can just all switch to kibibytes, except the HDD manufacturers.
- dr_zoidberg 9mo agoIt's at the end, in the "What are the standards units?" section.
- recursive 9mo agoSo it does. I guess I skimmed a little too hard.
- AntiRush 9mo agoThe second half of the article is entirely about kibibyte and the other IEC units.
- nerdsniper 9mo agoWe can, but we won't. At least not any time soon. For the foreseeable future, kilobyte will remain an ambiguous term, and kibibyte will very often not be used when someone is referring to 1024 bytes.
- nerdsniper 9mo agoFinal edit: This ambiguity is documented at least back to 1984, by IBM, the pre-eminent computer company of the time. In 1972 IBM started selling the IBM 3333 magnetic disk drive. This product catalog [0] from 1979 shows them marketing the corresponding disks as "100 million bytes" or "200 million bytes" (3336 mdl 1 and 3336 mdl 11, respectively). By 1984, those same disks were marketed in the "IBM Input/Output Device Summary"[1] (which was intended for a customer audience) as "100MB" and "200MB" 0: (PDF page 281) "IBM 3330 DISK STORAGE" http://electronicsandbooks.com/edt/manual/Hardware/I/IBM%20www.ibm.com/Hardware/productDescriptions/IBM%20Sales%20Manual%20Machines%20Section%20Jul79%20c20111002.pdf http://electronicsandbooks.com/edt/manual/Hardware/I/IBM%20w... 1: (PDF page 38, labeled page 2-7, Fig 2-4) http://electronicsandbooks.com/edt/manual/Hardware/I/IBM%20www.ibm.com/Hardware/productDescriptions/GA32-0039-2%20Input%20Output%20Device%20Summary%20Jul84%20c20111006%20[274].pdf http://electronicsandbooks.com/edt/manual/Hardware/I/IBM%20w... Also, hats off to http://electronicsandbooks.com/ http://electronicsandbooks.com/ for keeping such incredible records available for the internet to browse. ------- Edit: The below is wrong. Older experience has corrected me - there has always been ambiguity (perhaps bifurcated between CPU/OS and storage domains). "And that with such great confidence!", indeed. ------- The article presents wishful thinking. The wish is for "kilobyte" to have one meaning. For the majority of its existence, it had only one meaning - 1024 bytes. Now it has an ambiguous meaning. People wish for an unambiguous term for 1000 bits, however that word does not exist. People also might wish that others use kibibyte any time they reference 1024 bytes, but that is also wishful thinking. The author's wishful thinking is falsely presented as fact. I think kilobyte was the wrong word to ever use for 1024 bytes, and I'd love to go back in time to tell computer scientists that they needed to invent a new prefix to mean "1,024" / "2^10" of something, which kilo- never meant before kilobit / kilobyte were invented. Kibi- is fine, the phonetics sound slightly silly to native English speakers, but the 'bi' indicates binary and I think that's reasonable. I'm just not going to fool myself with wishful thinking. If, in arrogance or self-righteousness, one simply assumes that every time they see "kilobyte" it means 1,000 bytes - then they will make many, many failures. We will always have to take care to verify whether "kilobyte" means 1,000 or 1,024 bytes before implementing something which relies on that for correctness.
- Dwedit 9mo ago
- kmm 9mo agoAnd a megabyte is depending on the context precisely 1000x1000=1,000,000 or 1024x1024=1,048,576 bytes*, except when you're talking about the classic 3.5 inch floppy disks, where "1.44 MB" stands for 1440x1024 bytes, or about 1.47 true MB or 1.41 MiB. * Yeah, I read the article. Regardless of the IEC's noble attempt, in all my years of working with people and computers I've never heard anyone actually pronounce MiB (or write it out in full) as "mebibyte".
- pif 9mo ago> I've never heard It doesn't matter. "kilo" means 1000. People are free to use it wrong if they wish.
- bloppe 9mo agoIf Bob says "kilobyte" to Alice, and Bob means 5432 bytes, and Alice perceives him to mean 5432 bytes, then in that context, "kilobyte" means 5432 bytes.
- bruce343434 9mo agoWhat are the odds of Charlie meeting Bob and Alice?
- cyanydeez 9mo agoIs charlie a marketing exec?
- kazinator 9mo agoNo, in that context, kilobyte means 1024 bytes, like in every other context. :)
- tombert 9mo agoAll words are made up. They weren’t handed down from a deity, they were made up by humans to communicate ideas to other humans. “Kilo” can mean what we want in different contexts and it’s really no more or less correct as long as both parties understand and are consistent in their usage to each other.
- quotemstr 9mo agoIt's too late. Powers-of-two won. I'm the sort of person who uses "whom" in English, but even I acknowledge that using "KB" to mean 1,000, not 1,024, can only breed confusion. The purpose of language is to communicate. I'm all for pedantry when it's compatible with clarity, but we can't reconcile the two goals here.
- digiown 9mo agoIs it? Outside of Windows, I rarely ever see KB used to mean 1024 anymore. Linux and Mac usually uses KB for 1000, and "K" or "Ki" or "KiB" for 1024.
- none_to_remain 9mo agoKiB is a an abbreviation for "kilobyte" which emphasizes that it means 1024.
- hnlmorg 9mo agoNo it’s not. KiB is an abbreviation for kibibyte Eg https://en.wikipedia.org/wiki/Kilobyte https://en.wikipedia.org/wiki/Kilobyte
- none_to_remain 9mo agoThose silly words only come up in discussions like this. I have never heard them uttered in real life. I don't think my experience is bizarre here - actual usage is what matters in my book.
- deleted 9mo ago[deleted]
- quotemstr 9mo agoTo be honest, I think the power-ten SI people might have won the war against the power-two people if they'd just chosen a prefix that sounded slightly less ridiculous than "kibibyte". What the hell is a "kibibyte"? Sounds like a brand of dog food.
- astrobe_ 9mo ago... And a hacker is precisely a cyber-criminal.
- mc32 9mo agoOne thing that annoys me is: Why don’t kilobyte continue to mean 1024 and introduce kilodebyte to mean 1000. Byte, to me implies a binary number system, and if you want to introduce a new nomenclature to reduce confusion, give the new one a new name and let the older of more prevalent one in its domain keep the old one…
- gizmo686 9mo agoBecause kilo- already has a meaning. And both usages of kilobyte were (and are) in use. If we are going to fix the problem, we might as well fix it right.
- mc32 9mo agoSure outside of computing in other science it has a meaning but in binary computing traditionally prefix + byte implied binary number quantities. Many things acquire domain specific nuanced meaning ..
- floren 9mo agoAnd yet in computing, a 1kHz clock is still 1000 cycles per second, and 1 MFLOP is still 1,000,000 floating-point operations per second.
- antonvs 9mo agoThe comment you replied to explained that: "in binary computing traditionally prefix + byte implied binary number quantities." There are no bytes involved in Hz or FLOPs.
- pdw 9mo agoEven in computing the binary definition is only used with memory sizes. E.g. storage, network speeds, clock rates use the standard definition.
- pif 9mo ago> Why don’t kilobyte continue to mean 1024 Because it never did!
- jasperry 9mo agoI agree in principle, but does anyone else feel super awkward saying "mebibyte" and "gibibyte"?
- O1111OOO 9mo agoIt honestly sounds like how a diaper-wearing baby would mispronounce kilobyte. "I will not sacrifice my dignity. We've made too many compromises already; too many retreats. They invade our space and we fall back. They assimilate entire worlds with awkward pronunciations. Not again. The line must be drawn here! This far, no further! And I will make them pay for what they've done to the kilobyte!"
- nacozarina 9mo agoJibbybyte!
- cmovq 9mo agoThe mistake was using the "Kibi" prefix. "Kibibyte" just sounds a bit silly when said out loud.
- robobro 9mo agoDoes it really matter if it sounds silly?
- Blackthorn 9mo agoConsidering it meant people didn't use it, yes.
- Symbiote 9mo ago"Giga" was considered to sound silly until it became common and we no longer care. "Yotta" sounds silly (to me) now.
- sippeangelo 9mo ago"Tera" always sounded cool though.
- bombcar 9mo agoSurely you mean Gibi ;)
- deleted 9mo ago[deleted]
- aidenn0 9mo ago1.21 Gigawatts doesn't sound silly at all!
- NetMageSCW 9mo agoDid you mean jigawatts?
- bloppe 9mo ago
- none_to_remain 9mo agoI like how the GNU coreutils seem to have done. They use real, 1024-byte kilobytes by default, but print only the abbreviation of the prefix so it's just 10K or 200M and people can pretend it stands for some other silly word if they want. You can use `--si` for fake, 1000-byte kilobytes - trying it it seems weird that these are reported with a lowercase 'k' but 'M' and so on remain uppercase.
- goodcanadian 9mo ago. . . it seems weird that these are reported with a lowercase 'k' but 'M' and so on remain uppercase. For SI units, the abbreviations are defined, so a lowercase k for kilo and uppercase M for mega is correct. Lower case m is milli, c is centi, d is deci. Uppercase G is giga, T is tera and so on. https://en.wikipedia.org/wiki/International_System_of_Units#Prefixes https://en.wikipedia.org/wiki/International_System_of_Units#...
- none_to_remain 9mo agoOf course! I was being silly and just thinking of "k" for the smaller one and "K" for the bigger one.
- EuanReid 9mo agoUpper-K is for Kelvin, so can't be mixed in as a prefix in case someone decides to commit physics crimes and talk about temperature-mass (Kkg).
- adiabatichottub 9mo agoJust throw some Joules on top there and it'll be alright
- nayuki 9mo agoNot true. Several SI prefixes already overlap with units. m is both metre and milli-. T is tesla and tera-. c is a prefix of candela (cd) but also centi-. (G is gauss (cgs unit, not mks/SI) and giga-.)
- encomiast 9mo agoI've tried this approach with Lowes when I buy 2x4s. About as effective.
- mrb 9mo agoWhenever this discussion comes up I liked to point out that even in the computer industry, prefixes like kilo/mega/etc more often mean a power of 10 than a power of 2: I gave some examples in my post https://blog.zorinaq.com/decimal-prefixes-are-more-common-than-binary-prefixes-in-the-com/ https://blog.zorinaq.com/decimal-prefixes-are-more-common-th...
- nayuki 9mo agoNice page, and nice link to Colin Percival's page too! Let me toss you one example: CDs are marketed in mebibytes. A "650 MB" burnable CD is actually 650 MiB ≈ 682 MB, and likewise for "700 MB" being actually 700 MiB ≈ 734 MB. DVD and BD do use metric prefixes correctly, like you pointed out. Back in the day, I archived my data on CD/DVD/BD, and I planned out my disc burns to have only about 1 to 10 MB of wasted space, so I had to be very aware of the true definition and exactly how much capacity was available for me to use.
- soneil 9mo agoThey almost always mean power of 10, unless you're discussing RAM, RAM addressing, or RAM pages. (or flash, which has inherited most of the same for most of the same reasons)
- deleted 9mo ago[deleted]
- thaumasiotes 9mo ago> The only few places where binary prefixes are used are to refer to RAM capacity and file sizes, whereas decimal prefixes apply to all other areas and all units (not "only bitrates"): storage capacity, clock frequency, stream bandwidth, baud, pixel numbers, data throughput, processing power Storage capacity also uses binary prefixes. The distinction here isn't that file sizes are reported in binary numbers and storage capacity is reported in decimal numbers. It's that software uses binary numbers and hard drive manufacturers use decimal numbers. You don't see df reporting files in binary units and capacities in decimal units. Of that large list of measurements, only bandwidth is measured in bytes, making the argument mostly an exercise in sophistry. You can't convince anyone that KB means 1000 bytes by arguing that kHz means 1000 Hz.
- nayuki 9mo ago> 1 kilobyte is precisely 1000 bytes Agreed. For the naysayers out there, consider these problems: * You have 1 "MB" of RAM on a 1 MHz system bus which can transfer 1 byte per clock cycle. How many seconds does it take to read the entire memory? * You have 128 "GB" of RAM and you have an empty 128 GB SSD. Can you successfully hibernate the computer system by storing all of RAM on the SSD? * My camera shoots 6000×4000 pixels = exactly 24 megapixels. If you assume RGB24 color (3 bytes per pixel), how many MB of RAM or disk space does it take to store one raw bitmap image matrix without headers? The SI definitions are correct: kilo- always means a thousand, mega- always means a million, et cetera. The computer industry abused these definitions because 1000 is close to 1024, creating endless confusion. It is a idiotic act of self-harm when one "megahertz" of clock speed is not the same mega- as one "megabyte" of RAM. IEC 60027 prefixes are correct: there is no ambiguity when kibi- (Ki) is defined as 1024, and it can coexist beside kilo- meaning 1000. The whole point of the metric system is to create universal units whose meanings don't change depending on context. Having kilo- be overloaded (like method overloading) to mean 1000 and 1024 violates this principle. If you want to wade in the bad old world of context-dependent units, look no further than traditional measures. International mile or nautical mile? Pound avoirdupois or Troy pound? Pound-force or pound-mass? US gallon or UK gallon? US shoe size for children, women, or men? Short ton or long ton? Did you know that just a few centuries ago, every town had a different definition of a foot and pound, making trade needlessly complicated and inviting open scams and frauds?
- ValdikSS 9mo agoWell, you're joking, but the entire RAM industry still lists their chips in Gb (gigaBITS) to avoid confusion. 32 Gb ram chip = 4 GiB of RAM.
- nayuki 9mo agoThat's still wrong and you've solved nothing. 32 Gb = 32 000 000 000 bits = 4 000 000 000 bytes = 4 GB (real SI gigabytes). If you think 32 Gb are binary gibibits, then you've disagreed with Ethernet (e.g. 2.5 Gb/s), Thunderbolt (e.g. 40 Gb/s), and other communication standards. That's why I keep hammering on the same point: Creating context-dependent prefixes sows endless confusion. The only way to stop the confusion is to respect the real definitions.
- pif 9mo agoFor all the people commenting as if the meaning of "kilo" was open to discussion... you are all from the United States of America, and you call your country "America", right?
- sebtron 9mo agoA metric kilobyte is 1000 bytes. An imperial kilobyte, on the other hand, is 5280 bytes.
- nayuki 9mo agoNah, an imperial kilobyte is 5280 bits. That's way more plausible.
- lr1970 9mo ago<joke> How to tell a software engineer from a real one? A real engineer thinks that 1 kilobyte is 1000 bytes while software engineer believes that there are 1024 meters in a kilometer :-) </joke>
- IsTom 9mo agoI wonder if some day people will use {"joke": ...} instead of <joke>
- NetMageSCW 9mo agoWhy?
- pjdesno 9mo agoI had a computer architecture prof (a reasonably accomplished one, too) who thought that all CS units should be binary, e.g. Gigabit Ethernet should be 931Mbit/s, not 1000MBit/s. I disagreed strongly - I think X-per-second should be decimal, to correspond to Hertz. But for quantity, binary seems better. (modern CS papers tend to use MiB, GiB etc. as abbreviations for the binary units) Fun fact - for a long time consumer SSDs had roughly 7.37% over-provisioning, because that's what you get when you put X GB (binary) of raw flash into a box, and advertise it as X GB (decimal) of usable storage. (probably a bit less, as a few blocks of the X binary GB of flash would probably be DOA) With TLC, QLC, and SLC-mode caching in modern drives the numbers aren't as simple anymore, though.
- waffletower 9mo agoI can see a precision argument for binary represented frequencies. A systems programmer would value this. A musician would not.
- fsckboy 9mo agomusicians use numbering systems that are actually far more confused than anything discussed here. how many notes in an OCTave? "do re mi fa so la ti do" is eight, but that last do is part of the next octave, so an OCTave is 7 notes. (if we count transitions, same thing, starting at the first zero do, re is 1, ... again 7. the same and even more confusion is engendered when talking about "fifths" etc.
- jltsiren 9mo agoYou can blame the Romans for that, as they practiced inclusive counting. Their market days occurring once every 8 days were called nundinae, because the next market day was the ninth day from the previous one. (And by the same logic, Jesus rose from the dead on the third day.)
- waffletower 9mo agoThe 7 note scale you suggest (do re mi fa so la ti do) is comprised of different intervals (2 2 1 2 2 2 1) in the 12-fold equal tempered scale. There are infinite ways of exploring an octave in music, but unfortunately listener demand for such exploration is near infinitesimal.
- zephen 9mo agoNope. It would be nice to have a different standard for decimal vs. binary kilobytes. But if Don Knuth thinks that the "international standard" naming for binary kilobytes is dead on arrival, who am I to argue? https://www-cs-faculty.stanford.edu/~knuth/news99.html https://www-cs-faculty.stanford.edu/~knuth/news99.html
- ValdikSS 9mo ago>Why do we often say 1 kilobyte = 1024 bytes? Because Windows, and only Windows, shows it this way. It is official and documented: https://devblogs.microsoft.com/oldnewthing/20090611-00/?p=17933 https://devblogs.microsoft.com/oldnewthing/20090611-00/?p=17... > Explorer is just following existing practice. Everybody (to within experimental error) refers to 1024 bytes as a kilobyte, not a kibibyte. If Explorer were to switch to the term kibibyte, it would merely be showing users information in a form they cannot understand, and for what purpose? So you can feel superior because you know what that term means and other people don’t.
- ValdikSS 9mo agoI know the only other software with this kind of error: https://github.com/lsd-rs/lsd/issues/807 https://github.com/lsd-rs/lsd/issues/807
- SkiFire13 9mo agoWindows also uses KB as measure unit which does not make sense (it's either kB or KiB)
- nitwit005 9mo agoRaymond Chen's blog isn't exactly official documentation, even if it's frequently better than the documentation.
- 1718627440 9mo ago> Because Windows, and only Windows ls does unless you pass --si.
- ineedasername 9mo ago> Why does 1000 still make more sense? The author doesn’t actually answer their question, unless I missed something? They go on to make a few more observations, and say finally only that the current different definitions are sometimes confusing, to non experts. I don’t see much of an argument here for changing anything. Some non experts experience minor confusion about two things that are different, did I miss something bigger in this?
- quanwinn 9mo agoWas reading this and thought the same thing.
- lukan 9mo agoBecause it would be literally correct. Kilo means 1000, not 1024.
- int_19h 9mo ago"kilo" means what people take it to mean in any particular context. In computing, it is overwhelmingly power of two even today, and if you don't use it in this manner you have to clarify to be understood properly.
- lukan 9mo agoSure. I assume the ship has sailed already and I certainly won't die on that hill to change the meaning again, but still the word "kilo" literally means 1000 and it would have been more consistent to use it like this and for 1024 use a (slightly) different word.
- fc417fc802 9mo agoIn this context it's a unit prefix, not a standalone word. SI specifies a widely adopted system that defines and then uses a set of prefixes in a consistent manner. But we aren't forced to use SI everywhere without reason.
- 9mo ago
- stalfosknight 9mo agoNo, it's not. A kilobyte is 1,024 bytes.
- jijijijij 9mo agoMetric prefixing should only be used with the unit bit. There is no confusion there. I mean, if you would equate a bit with a certain voltage threshold, you could even argue about fractional bits. Approximating metric prefixing with kibi, Mibi, Gibi... is confusing because it doesn't make sense semantically. There is nothing base-10-ish about it. I propose some naming based on shift distance, derived from the latin iterativum. https://en.wikipedia.org/wiki/Latin_numerals#Adverbial_numerals https://en.wikipedia.org/wiki/Latin_numerals#Adverbial_numer... * 2^10, the kibibyte, is a deci (shifted) byte, or just a 'deci' * 2^20, the mibibyte, is a vici (shifted) byte, or a 'vici' * 2^30, the gibibyte, is a trici (shifted) byte, or a 'trici' I mean, we really only need to think in bytes for memory addressing, right? The base doesn't matter much, if we were talking exabytes, does it?
- zetanor 9mo agoTo clear up any confusion, let's compromise at a 1012-byte kilobyte.
- noosphr 9mo agoI like the binch better, it's like an inch, but its 25.6 mm instead.
- deleted 9mo ago[deleted]
- account42 9mo agoSo should a megabyte be 1012 * 1012 = 1024144 bytes or (1000 * 1000 + 1024 * 1024) / 2 = 1024288 bytes? Perhaps we can simplify this compromise and have a kilobyte as 1024 bytes, a megabyte as 1024000 bytes, a gigabyte as 1048576000 bytes and a terabyte as 1048576000000 bytes.
- waffletower 9mo agoThe author decidedly has expert syndrome -- they deny both the history and rational behind memory units nomenclature. Memory measurements evolved utilizing binary organizational patterns used in computing architectures. While a proud French pedant might agree with the decimal normalization of memory units discussed, it aligns more closely to the metric system, and it may have benefits for laypeople, it fails to account for how memory is partitioned in historic and modern computing.
- crazygringo 9mo agoWhat are you talking about? The article literally fully explains the rationale, as well as the history. It's not "denying" anything. Seems entirely reasonable and balanced to me.
- waffletower 9mo agoThey are definitely denying the importance of 2-fold partitioning in computing architectures. VM_PAGE_SIZE is not defined with the value of '10000' for good reason (in many operating systems it is set to '16384').
- senfiaj 9mo agoThat's why I said "usually acceptable depending on the context". In spoken language I also don't like the awkward and unusual pronunciation of "kibi". But I'll still prefer to write in KiB, especially if I document something. Also If you open major Linux distro task managers, you'll be surprised to see that they often show in decimal units when "i" is missing from the prefix. Many utilities often avoid the confusing prefixes "KB", "MB"... and use "KiB", "MiB"...
- crazygringo 9mo agoNo they're not? They very specifically address it. Why do you keep insisting the author is denying something when the author clearly acknowledges every single thing you're complaining about?
- Cold_Miserable 9mo agoIts 1024. Hard drive manufacturers should be forced to use the correct metric.
- self_awareness 9mo agoI propose we use footbyte, milebyte, inchbyte.
- jwlake 9mo agoI remember when they invented kibibytes and mibibytes and shaking my head and being like they have forever destroyed the meaning of words and things will be off by 2% forever. And is has been.
- NooneAtAll3 9mo agoI automatically assume that people that use KB=1000B want to sell me something (and provide less than promised), so should be aggressively ignored or removed from vicinities KB is 1024 bytes, and don't you dare try stealing those 24 bytes from me
- kalleboo 9mo agoYou think the people selling RAM are somehow more virtuous than the people selling hard disks? https://en.wikipedia.org/wiki/DRAM_price_fixing_scandal https://en.wikipedia.org/wiki/DRAM_price_fixing_scandal
- account42 9mo agoNo but at lease they are honest about the unit prices they are charging you, even if they prefer you didn't have any other options.
- HungryYeti 9mo ago[dead]
- Taniwha 9mo agoOh sure, and next you'll say a byte is 10 bits ....
- deathanatos 9mo agoThe word "octet" is absolutely the kibibyte of "bits in a byte".
- layer8 9mo agoFrom https://archive.org/details/byte-magazine-1977-02/page/n145/mode/1up https://archive.org/details/byte-magazine-1977-02/page/n145/...: “A byte was described as consisting of any number of parallel bits from one to six. Thus a byte was assumed to have a length appropriate for the occasion. Its first use was in the context of the input-output equipment of the 1950s, which handled six bits at a time.”
- senfiaj 9mo ago"byte" doesn't even remotely resemble any decimal prefix, so it's okay. The problem is that prefixes "kilo", "mega", etc. are supposed to be decimal prefixes, but are used as binary. And what's worse, they aren't used consistently, sometimes they really mean decimal magnitudes, sometimes they don't.
- deleted 9mo ago[deleted]
- kstrauser 9mo agoI'm sticking with power-of-2 sizes. Invent a new word for decimal, metric units where appropriate. I proposed[0] "kitribytes", "metribytes", "gitribytes", etc. Just because "kilo" has a meaning in one context doesn't mean we're stuck with it in others. It's not as though the ancient Greeks originally meant "kilo" to mean "exactly 1,000". "Giga" just meant "giant". "Tera" is just "monster". SI doesn't have sole ownership for words meaning "much bigger than we can possibly count at a glance". Donald Knuth himself said[1]: > The members of those committees deserve credit for raising an important issue, but when I heard their proposal it seemed dead on arrival --- who would voluntarily want to use MiB for a maybe-byte?! So I came up with the suggestion above, and mentioned it on page 94 of my Introduction to MMIX. Now to my astonishment, I learn that the committee proposals have actually become an international standard. Still, I am extremely reluctant to adopt such funny-sounding terms; Jeffrey Harrow says "we're going to have to learn to love (and pronounce)" the new coinages, but he seems to assume that standards are automatically adopted just because they are there. If Gordon Bell and Gene Amdahl used binary sizes -- and they did -- and Knuth thinks the new terms from the pre-existing units sound funny -- and they do -- then I feel like I'm in good company on this one. 0: https://honeypot.net/2017/06/11/introducing-metric-quantity.html https://honeypot.net/2017/06/11/introducing-metric-quantity.... 1: https://www-cs-faculty.stanford.edu/~knuth/news99.html https://www-cs-faculty.stanford.edu/~knuth/news99.html
- crazygringo 9mo ago> Invent a new word for decimal, metric units where appropriate. No, they already did the opposite with KiB, MiB. Because most metric decimal units are used for non-computing things. Kilometers, etc. Are you seriously proposing that kilometers should be renamed kitrimeters because you think computing prefixes should take priority over every other domain of science and life?
- kstrauser 9mo agoDo you often convert between inherently binary units like RAM sizes and more appropriately decimal units like distances? It would be annoying of one frequently found themselves calculating gigabytes per hectare. I don't think I've ever done that. The closest I've seen is measure magnetic tape density where you get weird units like "characters per inch", where neither "character" nor "inch" are the common units for their respective metrics.
- arjie 9mo agoIt is good that the old ways have not been forgotten. We used to argue about tabs vs. spaces, GPL vs. BSD, Linux vs. BSD, FreeBSD vs. NetBSD, BSD 2 clause vs BSD 3 clause. It's important to complain about things pointlessly. Builds character. Anyway, here's my contribution to help make everything worse. I think we should use Kylobyte, etc. when we don't care whether it's 1000 or 1024. KyB. See! Works great.
- layer8 9mo agoSince 1000 is 3e8, I’ll argue that it should be 300000000 bytes.
- Out_of_Characte 9mo agoThe author doesn't go far enough into the problems with trying to convert information theory to SI Units. SI units are attempting to fix standard measurements with perceived constants in nature. A meter(Distance) is the distance light travels in a vacuum, back and forth, within a certain amount of ossilations of a cesium atom(Time). This doesn't mean we tweak the meter to conform to observational results as we'd all be happier if light really was 300 000KM/s instead of ~299 792km/s. Then there's the problem of not mixing different measurement units. SI was designed to conform all measurements to the same base 10 exponents (cm, m, km versus feet inches and yards) But the authors attempt to resolve this matter doesn't even conform to standardised SI units as we would expect them to. What is a byte? Well, 8 bits, sometimes. What is a kilobit? 1000 Bits What is a kilobyte? 1000 Bytes, or 1024 Bytes. Now we've already mixed units based on what a bit or a byte even is and the addition of the 8 multiplier in addition to the exponent of 1000 or 1024. And if you think, hey, at least the bit is the least divisible unit of information, That's not even correct. If there Should* be a reformalisation of information units, you would agree that the amount of "0"'s is the least divisible unit of information. A kilo of zero's, would be 1000. A 'byte' would be defined as containing up to 256 zero's. A Megazero would contain up to a million zero's. It wouldn't make any intuitive sense for anyone to count 0's, which would automatically convert your information back to base 10, but it does prove that the most sensible unit of information is already what we've had before, that is, you're not mixing bytes (powers of 2) with SI-defined units of 1000
- xboxnolifes 9mo agoITT: People who will vehemently talk about how everyone should convert to SI metric, except when it pertains to their personal favorite unit.
- the_net 9mo agoAh, if only I had a dollar for every time I've had to point someone to the a tool like the following when trying to explain the difference between how much "bandwidth" their server has per month (an IEC unit) vs how fast the server connection is (a SI unit): https://null.53bits.co.uk/uploads/programming/javascript/data-calcs.html https://null.53bits.co.uk/uploads/programming/javascript/dat...
- TZubiri 9mo agoIt's not clear whether you are asking a question, proposing a new standard, or affirming an existing convention.
- nacozarina 9mo agoKey elements of a successful blog post !
- f33d5173 9mo agoA mile is exactly 1000 paces, or 4000 feet. You may disagree, but consider: the word mile come from latin for "one thousand". Therefore a mile must be 1000 of something, namely paces. I hope you find this argument convincing.
- quietsegfault 9mo agoWebster’s dictionary defines a mile as …
- kazinator 9mo agoThere is a "metric mile" which is 1500 m. This is something in the context of track and field athletics.
- userbinator 9mo agoThere is also a "metric gallon", or 4L.
- meatmanek 9mo agoNot to be confused with the 1600 meter or "1 mile" race which is commonly run in US track and field events (i.e. 4 times around a 400 meter track). At least that's within 1% of an actual mile.
- AdamN 9mo agoSame with a Metric ton (a "tonne") which is one thousand kilograms (pretty close to an imperial ton).
- flexagoon 9mo agoI think your comment is supposed to be sarcastic, but I'm not sure what the sarcasmcis about? Yes, a mile is 1000 paces. That is why it's called a mile. It's not an "argument", it's just what a mile is.
- fc417fc802 9mo agoMaybe after society has collapsed and been rebuilt we'll end up with km and cm having a weird ratio to the meter. Same for kg. At least celsius is just about impossible to screw up.
- cornonthecobra 9mo agoThe meaning of kilo, mega, giga, tera, etc. are unambiguous: SI prefixes defined as powers of 10, not 2. 1 TB is 10*12 bytes, not 2*40 bytes. The misuse of those prefixes as powers of 1024, while useful as shorthand for computer memory where binary addressing means, is still exactly that: a misuse of SI prefixes. There's now a separate set of base-2 prefixes to solve this, and people need to update their language accordingly.
- wat10000 9mo agoJust because an official body gives a single definition doesn't mean it's unambiguous. Real communication isn't bound by official bodies. When I say my computer has 16GB of RAM, that does not mean exactly 16 billion bytes. I need to update my language accordingly? No thanks. I'll keep saying what I say and nothing will happen.
- breezykoi 9mo agoReal communication isn't bound by official bodies, but it also doesn't work by everyone "just saying what they say" and hoping for the best...
- wat10000 9mo agoRight, it works by a bunch of different people all using the words in the same way to communicate. Like, say, various SI prefixes being used to mean powers of two in computing contexts by large numbers of people for longer than most of us have been alive.
- NetMageSCW 9mo agoThe use of kilo for 1024 in computers precedes the formalization of kilo as an SI prefix. SI should have used a different prefix instead /s
- yencabulator 9mo agoKilo (chili-/chilo-/*kʰehliyoi) is an Ancient Greek/Proto-Hellenic word literally translated as "one thousand". The word can be traced back to Proto-Indo-European, which means it's as old as any language we're aware of, though Proto-Hellenic is when the meaning was fixed to 1000.
- HungryYeti 9mo ago[dead]
- HungryYeti 9mo ago[dead]
- kazinator 9mo agokibi can be apocryphally reinterpreted as being from kibishii, Japanese for stricct. E.g. kibishii sensei: strict teacher. People who say things like kibibyte usually have no sense of humor, and no tolerance for inconsistencies. ketchi means stingy in Japanese (careful with that word because it is informal and negative). I propose we rename kibibyte to ketchibaito. ketchibaito could also take on a double meaning as denoting badly paid part-time work. (One word having two meanings: don't that just make the kibibyte people's puny heads explode ...)
- drob518 9mo agoA KB is 1024, forever and always. And Pluto is a damn planet. All you kids get off my lawn!
- jiveturkey 9mo agoLooking around their website, they appear to be an enthusiastic novice. I looked around because isn't a hardware architecture course part of any first year syllabus? The author clearly hasn't a clue about hardware, how memory is implemented.
- senfiaj 9mo ago> "The author clearly hasn't a clue about hardware, how memory is implemented." I'm the author. Actually I'm quite familiar how memory addressing works, including concepts related to virtual memory / memory paging. Yes, I'm not a "low-level nerd" with deep knowledge in OS, hardware or machine code / assembly, but I know enough basics. And yes, I already mentioned that binary addressing makes more sense in RAM (and most of the hardware), and yes, I would not expect 4000-byte memory pages or disk clusters. My main points are: 1) Kilo, mega, etc. prefixes are supposed to be base 10 instead of base 2, but in tech industry they are often base 2. 2) But this isn't the worst part. While we could agree on 1024 magnitude for memory, the problem is that it's still used inconsistently. Sometimes kilobyte is 1024 bytes, sometimes it's 1000. And this causes a confusion. In some contexts, such as RAM stick or disk cluster, you can assume base 2, but in some other contexts, such as file size, it's ambiguous. For example, would it be good if Celsius meant different things? I don't think so, it would certainly complicate things.
- PostOnce 9mo agoThere is a counterproductive obsession with powers of 10. Sometimes, other systems just make more sense. For example, for time, or angles, or bytes. There are properties of certain numbers (or bases) that make everything descending from them easier to deal with. for angles and time (and feet): https://en.wikipedia.org/wiki/Superior_highly_composite_number https://en.wikipedia.org/wiki/Superior_highly_composite_numb... For other problems we use base 2, 3, 8, 16, or 10. Must we treat metric as a hammer, and every possible problem as a nail?
- fc417fc802 9mo agoNow that I think about it, I see KiB and kb all the time but I don't know that I've ever encountered Kib or kB in the wild. Maybe I'm in a bubble? Or maybe we should accept that kb is power of 10 but kB is power of two? Well I guess we already basically have this in practice since Ki can be shortened to K seeing as metric prefixes are always lower case and we clearly aren't talking about kelvin bytes.
- its_magic 9mo agoAgreed. Metric is stupid. The ancient Sumerians used multiples of 60, as we continue to do for time and angles (which are related) today. It makes perfect sense. 60 is divisible by 2, 3, 4, 5, and 6, which makes it easy to use in calculations. Even the metric people are not so crazy as to propose replacing these with powers of 10. Same with pounds, for example. A pound is 16 ounces, which can be divided 4 times without involving any fractions. Try that with metric. Then there's temperature. Fahrenheit just works more naturally over the human-scale temperature range without involving fractions. Celsius kind of sucks by comparison.
- osigurdson 9mo agoHonestly, when working with computers, KiB, MiB, GiB, etc. just makes more sense usually. It is easier to reason about address space and page sizes are often delineated in 4KiB chunks. It does come off like "inside baseball" a little but there are practical reasons for it. If you really want to come at it from an information theory perspective, even the "byte" is rather arbitrary - the only thing that matters is the number of bits.
- Panzerschrek 9mo agoAs I know 1000-based units are used only by hard-drive manufactures to sell hard drives with 930GB capacity as 1TB capactiy-drives.
- Thrymr 9mo agoHow many bits per second does 10 Gb ethernet represent?
- dmitrygr 9mo agothe solution is, of course geometric mean. 1KB = sqrt(1000 * 1024) B
- notorandit 9mo agoAgain? 1 kB is 1024 B. It's measurement unit thing. Not logics. 8 bits in a byte. Not 10, neither 6 nor 5. Just 8. Like feet in yards, inches in feet, meters in kilometers and ounces in pounds. It's 1024. Period. Then of course you are free to count as many bytes as you want and call that bunch a kB. Pretending anyone else will agree on that is a different thing.
- breezykoi 9mo agoThen of course you are free to count 1024 bytes and call that a kB. Pretending everyone else will agree on that is a different thing.
- NetMageSCW 9mo agoEveryone else has already agreed.
- notorandit 9mo agoNot everyone else. Just you and your friends. Otherwise this discussion had ended since long.
- letier 9mo agoIt is my impression that topics like this one trend up more often today, then they used to a couple of years ago. I guess hacker news is changing over time.
- tunderscored 9mo agoI suggest the other way around Let's change si units to play nice with powers of two Let me introduce the kibimeter
- nottorp 9mo agoNow if you ask a LLM, a kilobyte is usually 1000 bytes, but can be anything between 970 and 1030...
- assimpleaspossi 9mo agoThis is dumbing down of the science and I know I will be downvoted for stating that fact.
- lkuty 9mo agoYes. Go check https://en.wikipedia.org/wiki/Metric_prefix https://en.wikipedia.org/wiki/Metric_prefix and also https://en.wikipedia.org/wiki/Binary_prefix https://en.wikipedia.org/wiki/Binary_prefix if you want 1024 bytes.
- nacozarina 9mo agoas a former storage & network sales engineer, debating this was once my life nice to see the battlefield again, just as I remembered it
- fallingfrog 9mo agoYeah so I realize that at some point manufacturers of hard drives started to cheat and claim 10gb hard drives that were actually a bit less, using a 1000kb megabyte as their rationale, but that's just the marketing team engaging in false advertising. There's no reason to dignify such deception by inventing new words. They just lied. A mb is 1024 kbytes and a gb is 1024 mb. Sorry thats just how the math works out. A 16 kb address space can access 64kb or 65536 unique memory locations.
- wduquette 9mo agoMemory has always been measured in binary units. Storage vendors have always measured capacity in decimal units, going back at least to the 80 MB (!) hard drive I paid about $800 for back in the late '80s. It was the first time I ran into a megabyte of storage as 1 million bytes, and gosh I felt cheated. As a programmer, I think in the binary units.
- breakage 9mo ago> This "kilobyte = 1024 bytes" rule is actually an old (often confusing) convention. In the tech industry there is still huge inertia, this old convention is still used by RAM manufacturers (JEDEC), tons of software and some operating systems (such as Windows). So, let’s all pretend that’s not the case and say how things REALLY are? Umm- I don’t think life works that way. If a large part of the world and recorded history works a particular way, it will in-part stay that way. For example, many people believed we’d basically overcome racism and measles, and we see how that turned out in the U.S.
- megggan 9mo agoI can perhaps accept that 1kb != 1024 bytes. Maybe. But then these fing idiots went on to define ”mibi bytes” and ”gibi bytes”, when there already existed perfectly valid and used nomenclature: meg and gig! I read their reasoning, still hate it. I bet they did it just in spite, just to show who’s the boss.