Top
Best
New

Posted by surprisetalk 3 days ago

1 kilobyte is precisely 1000 bytes?(waspdev.com)
119 points | 414 comments
waffletower 3 days ago|
The 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.
PeterStuer 3 days ago||
I do agree up to a point as I still need to double take when I see MiB, but that said, I also do agree keeping SI unit prefixes standardized has great advantages.

So the "sane" options would be either not using SI for digital, or, what was chosen, change the colloquial prefixes in the digital world. The former would have been easier in the short term.

philipswood 3 days ago|||
Yes, tomato's ARE actually a fruit.

But really!?

I'll keep calling it in nice round powers of two, thank you very much.

simondotau 3 days ago|||
Even more weirdly, pumpkins are berries. But that’s a botanical definition. In the kitchen they (and tomatoes) are classified as vegetables.
KellyCriterion 2 days ago||
Same with cucumbers and a lot more "plants" :-)
assimpleaspossi 3 days ago|||
Yes. Tomatoes are a fruit because the science says so. That non-scientific people call it something else does not change facts.
TonyStr 3 days ago|||
Depends if you're using the botanical definition or the (more common) culinary definition[0].

I would argue fruit and fruit are two words, one created semasiologically and the other created onomasiologically. Had we chosen a different pronunciation for one of those words, there would be no confusion about what fruits are.

[0] - https://en.wikipedia.org/wiki/Fruit#Botanical_vs._culinary

D-Machine 2 days ago||
Yup. Though rather than say "fruit and fruit" are two words, or focusing on "definitions" (which tend to morph over time anyway), I think the more straightforward and typical approach is to just recognize that the same word can have different meanings in different contexts.

This is such a basic and universal part of language, it is a mystery to me why something so transparently clueless as "actually, tomato is a fruit" persists.

account42 3 days ago||||
Definitions that don't reflect peoples usage are not very useful definition.
worthless-trash 1 day ago||
Just because someone is wrong doesn't mean we need to reinforce their error.
whobre 2 days ago||||
Context matters…
deadwanderer 2 days ago|||
Knowledge is understanding that tomatoes are a fruit. Wisdom is understanding that they don't belong in a fruit salad.

Or...

Knowledge is understanding that ketchup is tomato jelly. Wisdom is refraining from putting it on your peanut butter and jelly sandwich.

happymellon 2 days ago||
> Knowledge is understanding that ketchup is tomato jelly

How is it a jelly? It lacks any defining feature of jelly.

D-Machine 2 days ago||
I mean, a jelly is just broadly any thickened sweet goop (doesn't even have to be fruit, and is often allowed to have some savoury/umami, e.g. mint jelly or red pepper jelly). Usually a jelly also is relatively clear and translucent, as it is made with puree / concentrate strained to remove large fibers, but this isn't really a strict requirement, and the amount of straining / translucency is generally just a matter of degree. There are opaque jellies out there, and jellies with bits and pieces.

Ketchup has essentially all the key defining features of a jelly, technically, just is more fibrous / opaque and savoury than most typical jellies.

But, of course, calling a ketchup "jelly", due to such technical arguments, is exactly as dumb as saying "ayktually, tomato is a fruit": both are utterly clueless to how these words are actually used in culinary contexts.

ozozozd 3 days ago|||
It’s not them denying it, it’s the LLM that generated this slop.

All they had to say was that the KiB et. al. were introduced in 1998, and the adoption has been slow.

And not “but a kilobyte can be 1000,” as if it’s an effort issue.

kevin_thibedeau 3 days ago|||
They are managed by different standards organizations. One doesn't like the other encroaching on its turf. "kilo" has only one official meaning as a base-10 scalar.
dietr1ch 3 days ago|||
I don't think of base 10 being meaningful in binary computers. Indexing 1k needs 10 bits regardless if you wanted 1000 or 1024, and the base 10 leaves some awkward holes.

In my mind base 10 only became relevant when disk drive manufacturers came up with disks with "weird" disk sizes (maybe they needed to reserve some space for internals, or it's just that the disk platters didn't like powers of two) and realised that a base 10 system gave them better looking marketing numbers. Who wants a 2.9TB drive when you can get a 3TB* drive for the same price?

userbinator 3 days ago|||
At the TB level, the difference is closer to 10%.

Three binary terabytes i.e. 3 * 2^40 is 3298534883328, or 298534883328 more bytes than 3 decimal terabytes. The latter is 298.5 decimal gigabytes, or 278 binary gigabytes.

Indeed, early hard drives had slightly more than even the binary size --- the famous 10MB IBM disk, for example, had 10653696 bytes, which was 167936 bytes more than 10MB --- more than an entire 160KB floppy's worth of data.

mananaysiempre 3 days ago||||
Buy an SSD, and you can get both at the same time!

That is to say, all the (high-end/“gamer”) consumer SSDs that I’ve checked use 10% overprovisioning and achieve that by exposing a given number of binary TB of physical flash (e.g. a “2TB” SSD will have 2×1024⁴ bytes’ worth of flash chips) as the same number of decimal TB of logical addresses (e.g. that same SSD will appear to the OS as 2×1000⁴ bytes of storage space). And this makes sense: you want a round number on your sticker to make the marketing people happy, you aren’t going to make non-binary-sized chips, and 10% overprovisioning is OK-ish (in reality, probably too low, but consumers don’t shop based on the endurance metrics even if they should).

jdsully 2 days ago|||
"consumers don’t shop based on the endurance metrics even if they should"

Its been well over a decade now and neither I nor anyone I know has ever had an SSD endurance issue. So it seems like the type of problem where you should just go enterprise if you have it.

userbinator 3 days ago|||
you aren’t going to make non-binary-sized chips

TLC flash actually has a total number of bits that's a multiple of 3, but it and QLC are so unreliable that there's a significant amount of extra bits used for error correction and such.

SSDs haven't been real binary sizes since the early days of SLC flash which didn't need more than basic ECC. (I have an old 16MB USB drive, which actually has a user-accessible capacity of 16,777,216 bytes. The NAND flash itself actually stores 17,301,504 bytes.)

fc417fc802 3 days ago||||
> I don't think of base 10 being meaningful in binary computers.

They communicate via the network, right? And telephony has always been in base 10 bits as opposed to base two eight bit bytes IIUC. So these two schemes have always been in tension.

So at some point the Ki, Mi, etc prefixes were introduced along with b vs B suffixes and that solved the issue 3+ decades ago so why is this on the HN front page?!

A better question might be, why do we privilege the 8 bit byte? Shouldn't KiB officially have a subscript 8 on the end?

purplehat_ 3 days ago||
To be fair, the octet as the byte has been dominant for decades. POSIX even has the definition “A byte is composed of a contiguous sequence of 8 bits.” I would wager many software engineers don't even know that a non-octet bytes were a thing, given that college CS curricula typically just teach a byte is 8 bits.

I found some search results about Texas Instruments' digital signal processors using 16-bit bytes, and came across this blogpost from 2017 talking about implementing 16-bit bytes in LLVM: https://embecosm.com/2017/04/18/non-8-bit-char-support-in-cl.... Not sure if they actually implemented it, but that was surprising to me that non octet bytes still exist, albeit in a very limited manner.

Do you know of any other uses for bytes that are not 8 bits?

zinekeller 3 days ago|||
> Do you know of any other uses for bytes that are not 8 bits?

For "bytes" as the term-of-art itself? Probably not. For "codes" or "words"? 5 bits are the standard in Baudot transmission (in teletype though). 6- and 7-bit words were the standards of the day for very old computers (ASCII is in itself a 7-bit code), especially on DEC-produced ones (https://rabbit.eng.miami.edu/info/decchars.html).

ahazred8ta 2 days ago||||
Back in the days of Octal notation, there were computers with a 12 bit word size that used sixbit characters (early DEC PDP-8, PDP-5, early CDC machines). 'Byte' was sometimes used for 6- and 9-bit halfword values.
fc417fc802 2 days ago|||
I wanted to reply with a bunch of DSP examples but on further investigation the ones I checked just now seem to very deliberately use the term "data word". That said, the C char type in these cases is one "data word" as opposed to 8 bits; I feel like that ought to count as a non-8-bit byte regardless of the terminology in the docs.

NXP makes a number of audio DSPs with a native 24 bit width.

Microchip still ships chips in the PIC family with instructions of various widths including 12 and 14 bit however I believe the data memory on those chips is either 8 or 16 bit. I have no idea how to classify a machine where the instruction and data memory widths don't match.

Unlike POSIX, C merely requires that char be at least 8 bits wide. Although I assume lots of real world code would break if challenged on that particular detail.

jibal 3 days ago||||
> I don't think of base 10 being meaningful in binary computers.

First, you implicitly assumed a decimal number base in your comment.

Second: Of course its meaningful. It's also relevant since humans use binary computers and numeric input and output in text is almost always in decimal.

thfuran 3 days ago|||
>I don't think of base 10 being meaningful in binary computers.

Okay, but what do you mean by “10”?

dietr1ch 3 days ago|||
10, not to be confused with 10 or even the weird cousin, 10
NetMageSCW 2 days ago|||
Who was appointed as arbiter of meaning for kilo? And by what right?
yencabulator 2 days ago||
The International Bureau of Weights and Measures, by an agreement between 64 countries that has been in effect for 6 and a half decades by now, and currently officially used by countries representing approximately 95% of the world's population. The work itself started in 1875 with an agreement between 17 countries.

A little late to lawyer that...

jibal 3 days ago|||
There's no evidence of an LLM being involved.
jibal 3 days ago|||
None of your criticisms--which start with an absurd and meaningless ad hominem--apply to the actual content of the article.

Elsewhere you write

> They are definitely denying the importance of 2-fold partitioning in computing architectures.

No, they definitely aren't. There are no words in the article that deny anything at all.

Syzygies 3 days ago|||
He probably uses Phillips head screws.
highhedgehog 3 days ago||
wait, what is wrong with that?
tim333 2 days ago|||
Dunno but there are two similar but slightly different cross head screw designs https://www.pbswisstools.com/en/news/detail/phillips-and-poz...
fuzzfactor 2 days ago||
Patents at work.

Before the patent on Phillips screws & tools expired, Pozidriv was launched which was different enough to be capable of a bit more torque.

Phillips was for mass-production, Posidriv for mass-production with a little more torque.

Lots of people who wanted that still waited until the Pozidriv patent expired before considering it.

The screws themselves are marked on the head with little ticks so you can tell the difference, but not necessarily the screwdrivers :\

It's good to have the right tool for the job, HP instruments used Posidriv in a number of places.

duncangh 2 days ago||
the type of screw head really doesn't make a difference when I'm hammering them into the wall, I've found xD
foobarbecue 3 days ago|||
*rationale
waffletower 2 days ago||
Thanks, noticed after edit disappeared
crazygringo 3 days ago||
What 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 3 days ago|||
They 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 3 days ago|||
That'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 3 days ago|||
No 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?

waffletower 2 days ago||
Denying the importance of...
crazygringo 2 days ago||
Which they're not...
waffletower 2 days ago||
by coming to the conclusion they did, they are
crazygringo 1 day ago||
So not denying. You just disagree is all.

So please don't mischaracterize articles in the future simply because you disagree with their conclusions. That's misrepresentation, and essentially straight-up lying.

waffletower 1 day ago||
I deny your understanding of my use of the word deny :D
nixpulvis 3 days ago|||
Yea I don't understand the issue here. SI is pretty clear, and this post explains the other standard a little bit.

It's really not all that crazy of a situation. What bothers me is when some applications call KiB KB, because they are old or lazy.

reaperducer 3 days ago|||
because they are old

I keep using "K" for kilobyte because it makes the children angry since they lack the ability to judge meaning from context.

nixpulvis 2 days ago||
You sly dog.
ZoomZoomZoom 3 days ago|||
...old lazy and wrong! Capital K is for Kelvin.
schiffern 3 days ago||
>Capital K is for Kelvin.

It should be "kelvin" here. ;)

Unit names are always lower-case[1] (watt, joule, newton, pascal, hertz), except at the start of a sentence. When referring to the scientists the names are capitalized of course, and the unit symbols are also capitalized (W, J, N, Pa, Hz).

[1] SI Brochure, Section 5.3 "Unit Names" https://www.bipm.org/documents/20126/41483022/SI-Brochure-9-...

fc417fc802 3 days ago|||
Thus there's no ambiguity. kB is power of 10 and KB is clearly not kelvin bytes therefore it's power of two. Doesn't quite fit the SI worldview but I don't see that as a problem.
schiffern 2 days ago|||
I often see it with "kB" too, so the proposed (ugly) hack doesn't really solve the problem.

I think the author had it just right. There's a lot of inertia, but the traditional way can cause confusion.

xigoi 2 days ago|||
This only works with kilobytes, not megabytes and gigabytes.
ZoomZoomZoom 3 days ago|||
I was pretty sure I'd be corrected in some manner, being two of the aforementioned three. Thanks.
kmm 3 days ago||
And 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".

superjan 3 days ago||
Well the 1.44 MB, was called that because it was 1440 KB, twice the capacity of the 720k floppy, and 4x the 360k floppy. It made perfect sense to me at that time.
okanat 3 days ago||
It may "make sense" but that's actually a false equivalence. The raw disk space for a 3.5" high-density floppy disk for IBM PCs is 512 bytes per sector * 18 sectors per track * 80 tracks per side * 2 sides = 1,474,560 bytes. It is 1.47 MB or 1.40 MiB neither of which is 1440 KB or KiB. The 1440 number comes from Microsoft's FAT12 filesystem. That was the space that's left for files outside the allocation table.

Sectors per track or tracks per side is subject to change. Moreover a different filesystem may have non-linear growth of the MFT/superblock that'll have a different overhead.

https://en.wikipedia.org/wiki/List_of_floppy_disk_formats

fuzzfactor 2 days ago||
Not my downvote, good chart actually.

It is worse of a downer when there is a complete failure to make further sense like that, but I'll try to do something.

Of course one chart does not an expert make, I don't understand half of it but at least I worked with 3.5 floppies since they first came out.

3.5 floppies are "soft sectored" media and usually the drives were capable of handling non-standard arrangements too. What made non-standard numbers of sectors uncommon was it would require software most people were not using. DOS and Windows simply prepared virgin magnetic media with 2880 sectors, or reformatted them that way and that was about it.

PC's were already popular when 3.5 size came out, and most of the time they were not virgin magnetic media, they were purchased pre-formatted with 2880 sectors (of 512 bytes per sector) already on the entire floppy, of which fewer sectors were available for user data because a number of sectors are used up by the FAT filesystem overhead.

On the chart you see the 1440kb designation since each sector is considered 1/2 "kilobyte".

512 bytes is pretty close to half a kilobyte ain't it?

(The oddball 1680kb and 1720kb were slightly higher-density sectors, with more of them squeezed into the same size media, most people couldn't easily copy them without using an alternative to DOS or Windows. Sometimes used for games or installation media.)

With Windows when partitioning your drive if you want a 64 GB volume you would likely choose 64000 MB in either the GUI or Diskpart. Each of these GB is exactly 2880000 sectors for some reason ;)

But that's the size of the whole physical partition whether it contains only zeros or a file system. Then when you format it the NTFS filesystem has its own overhead.

pif 3 days ago|||
> I've never heard

It doesn't matter. "kilo" means 1000. People are free to use it wrong if they wish.

tombert 3 days ago|||
All 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.

ablob 3 days ago|||
I find it concerning that kilo can mean both 10^3 and 2^10 depending on context. And that the context is not if you're speaking about computery stuff, but which program you use has almost certainly lead to avoidable bugs.
ralferoo 3 days ago|||
That latter part is only true since marketing people decided they knew better about computer related things than computer people.

It's also stupid because it's rare than anyone outside of programming even needs to care exactly how many bytes something else. At the scales that each of kilobyte, megabyte, gigabyte, terabyte etc are used, the smaller values are pretty much insignificant details.

If you ask for a kilogram of rice, then you probably care more about that 1kg of rice is the same as the last 1kg of rice you got, you probably wouldn't even care how many grams that is. Similarly, if you order 1 ton of rice, you do care exactly how many grams it is, or do you just care that this 1 ton is the same as that 1 ton?

This whole stupidity started because hard disk manufacturers wanted to make their drives sound bigger than they actually were. At the time, everybody buying hard disks knew about this deception and just put up with it. We'd buy their 2GB drive and think to ourselves, "OK so we have 1.86 real GB". And that was the end of it.

Can you just imagine if manufacturers started advertising computers as having 34.3GB of RAM? Everybody would know it was nonsense and call it 32GB anyway.

fc417fc802 3 days ago||||
Not as far as I can tell. There's power of 10 bits and power of 2 bytes. I've never seen the inverse of those in an actual real world scenario outside of storage manufacturers gaming the numbers but even then the context is once again perfectly clear.
kazinator 3 days ago|||
The "which program you use" confusion was instigated by the idiots insisting that we should have metric kilobytes, megabytes and gigabytes (cheered on by crooked storage manufacturers).

Before all that nonsense, it was crystal clear: a megabyte in storage was unambiguously 1024 x 1024 bytes --- with the exception of crooked mass storage manufacturers.

There was some confusion, to be sure, but the partial success of attempt to redefine the prefixes to their power-of-ten meanings has caused more confusion.

fc417fc802 3 days ago||
Now that RAM prices have spiked perhaps manufacturers should try marketing it in power of ten seven bit bytes.
account42 2 days ago||
Since DDR5 has on-chip ECC bits they could just include those in the marketing number.
nixpulvis 3 days ago||||
That's a terribly nihilistic outlook on language.

We agree to meaning to communicate and progress without endless debate and confusion.

SI is pretty clear for a reason.

tombert 3 days ago|||
> We agree to meaning to communicate and progress without endless debate and confusion.

We decidedly do not do that. There's a whole term for new terms that arbitrarily get injected or redefined by new people: "slang". I don't understand a lot of the terms teenagers say now, because there's lots of slang that I don't know because I don't use TikTok and I'm thirty-something without kids so I don't hang out with teenagers.

I'm sure it was the same when I was a teenager, and I suspect this has been going on since antiquity.

New terms are made up all the time, but there's plenty of times existing words get redefined. An easy one, I say "cool" all the time, but generally I'm not talking about temperature when I say it. If I said "cool" to refer to something that I like in 1920's America, they would say that's not the correct use of the word.

SI units are useful, but ultimately colloquialisms exist and will always exist. If I say kilobyte and mean 1024 bytes, and if the person on the other end knows that I mean 1024 bytes, that's fine and I don't think it's "nihilistic".

schoen 3 days ago|||
You could think of the SI as a form of language planning.

https://en.wikipedia.org/wiki/Language_planning

(Then you could decide what you think about language planning.)

nixpulvis 2 days ago|||
I didn't say all language is planned and agreed on. But we absolutely do plan and agree on things.
tuyiown 3 days ago|||
> That's a terribly nihilistic outlook on language.

I'm pretty sure any linguist will agree with this definition. All language normalisation is an afterthought.

xigoi 2 days ago|||
Technical terms need to be more precise about their definition than regular words.
nixpulvis 2 days ago|||
Incorrect.
AlexeyBelov 2 days ago||
Can you elaborate on what's not correct, and what's the correct way to think about it?
SturgeonsLaw 3 days ago||||
> “Kilo” can mean what we want in different contexts

Fair enough.

1000 watts is a kilowatt

1000 hertz is a kilohertz

1000 metres is a kilometre

1000 litres is a kilolitre

1000 joules is a kilojoule

1000 volts is a kilovolt

1000 newtons is a kilonewton

1000 pascals is a kilopascal

1024 bytes is a kilobyte, because that's what we're used to and we don't want to change to a new prefix

1718627440 1 day ago|||
Watt, hertz, meter, joule, volt, newton and pascal are all SI units, a byte is not.
OJFord 3 days ago|||
It's not even inconsistent if we consider kilo as meaning 10^3 in base 10 and 2^10 in base 2, rather than just '1000 times' always.
bhokbah 3 days ago||
Translation: It's not inconsistent if we consider the deviation from the rule as a second rule. Any future deviation will get their own rule. Perfectly consistent
OJFord 2 days ago||
I don't think that's fair, I'm just saying considering kilo to mean 1000x in all bases is too narrow as a definition. Is 'car' a 'petrol-powered four-wheel transportation device with human-operated left-hand control'?
throw0101c 3 days ago||||
>> It doesn't matter. "kilo" means 1000. People are free to use it wrong if they wish.

> All words are made up.

Yes, and the made up words of kilo and kibi were given specific definitions by the people who made them up:

* https://en.wikipedia.org/wiki/Metric_prefix

* https://en.wikipedia.org/wiki/Binary_prefix

> […] as long as both parties understand and are consistent in their usage to each other.

And if they don't? What happens then?

Perhaps it would be easier to use the words definitions as they are set up in standards and regulations so context is less of an issue.

* https://xkcd.com/1860/

mr_toad 3 days ago|||
> Yes, and the made up words of kilo and kibi were given specific definitions by the people who made them up

Kilo was generally understood to mean one thousand long before it was adopted by a standards committee. I know the French love to try and prescribe the use of language, but in most of the world words just mean what people generally understand them to mean; and that meaning can change.

throw0101c 21 hours ago||
> Kilo is derived from the Greek word χίλιοι (chilioi), meaning "thousand".

* https://en.wikipedia.org/wiki/Kilo-

timschmidt 3 days ago||||
> Yes, and the made up words of kilo and kibi were given specific definitions by the people who made them up

Good for them. People make up their own definitions for words all the time. Some of those people even try to get others to adopt their definition. Very few are ever successful. Because language is about communicating shared meaning. And there is a great deal of cultural inertia behind the kilo = 2^10 definition in computer science and adjacent fields.

moi2388 3 days ago||
That also makes your comment unreadable, no idea what the definition of any word in your comment means anymore.

Can’t use a dictionary, those bastards try to get us to adopt their definitions.

timschmidt 3 days ago||
This is https://en.wikipedia.org/wiki/Reductio_ad_absurdum

Inability to communicate isn't what we observe because as I already stated, meaning is shared. Dictionaries are one way shared meaning can be developed, as are textbooks, software source codes, circuits, documentation, and any other artifact which links the observable with language. All of that being collectively labeled culture. The mass of which I analogized with inertia so as to avoid oversimplifications like yours.

My point is that one person's definition does not a culture, make. And that adoption of new word definitions is inherently a group cultural activity which requires time, effort, and the willingness of the group to participate. People must be convinced the change is an improvement on some axis. Dictation of a definition from on high is as likely to result in the word meaning the exact opposite in popular usage as not. Your comment seems to miss any understanding or acknowledgement that a language is a living thing, owned by the people who speak it, and useful for speaking about the things which matter most to them. That credible dictionaries generally don't accept words or definitions until widespread use can be demonstrated.

It seems like some of us really want human language to work like rule-based computer languages. Or think they already do. But all human languages come free with a human in the loop, not a rules engine.

tombert 3 days ago|||
I don't think that the xkcd is relevant here, because I'm arguing that both parties know what the other is talking about. I haven't implicitly changed the definition because most people assume that kilobyte is 1024 bytes. Yeah, sure, it's "wrong" in some sense, but language is about communicating ideas between two people; if the communication is successful than the word is "correct".
NewJazz 3 days ago||||
Yes!

(And by that I mean "what the fuck, no...")

bigDinosaur 3 days ago|||
All you've done is created a homonym for no good reason at all.
bloppe 3 days ago||||
If 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 3 days ago|||
What are the odds of Charlie meeting Bob and Alice?
cyanydeez 3 days ago||
Is charlie a marketing exec?
kazinator 3 days ago|||
No, in that context, kilobyte means 1024 bytes, like in every other context. :)
lightedman 3 days ago||||
Man let a drug dealer give me a binary 'kilo' of some drug. That's almost a free ounce included!
AngryData 2 days ago||
In North America blackmarket drugs are often sold in pounds and ounces but measured in grams so you do see some rounding.
burnt-resistor 2 days ago||||
Such a myopic view when reality and marketing is messier than dramatic self-righteousness. This unnecessary bikeshedding nonsense has already been solved by using mebi, kibi, etc. to disambiguate sloppy abuse of SI units.
NetMageSCW 2 days ago||
Fortunately SI doesn’t get to own terms or prefixes and trying to enforce different usage by fiat fails in the real world, exactly as it should.
nixpulvis 3 days ago|||
Exactly.

If you're talking loosely, then you can get away with it.

burnt-resistor 2 days ago|||
Interestingly, HD floppies actually are 2 "MB" unformatted without the various overhead. This is how 1.68 "MB" DMF is possible. Extra-high Density (ED) 2.88 "MB" is similarly 4 "MB" unformatted.
whichquestion 3 days ago|||
I worked with networked attached storage systems at pib scale several years ago and we referred to things in gib/tib because it was significant when referring to the size of systems and we needed to be precise.

That being said, I think the difference between mib and mb is niche for most people

fc417fc802 3 days ago||
Speaking of significant Pib vs PiB is 8x. I assume you meant the latter.
pwdisswordfishy 3 days ago|||
> classic 3.5 inch floppy disks

90 mm floppy disks. https://jdebp.uk/FGA/floppy-discs-are-90mm-not-3-and-a-half-...

Which I have taken to calling 1440 KiB – accurate and pretty recognizable at the same time.

skissane 3 days ago||
> 90 mm floppy disks. https://jdebp.uk/FGA/floppy-discs-are-90mm-not-3-and-a-half-...

That page is part right and part wrong.

It is right in claiming that "3.5-inch" floppies are actually 90 mm.

It is wrong in claiming that the earlier "5.25-inch" floppies weren't metric

"5.25-inch" floppies are actually 130 mm as standardised in ECMA-78 [0]

"8-inch" floppies are actually 200 mm as standardised in ECMA-69 [1]

Actually there's a few different ECMA standards for 130 and 200 mm floppies – the physical dimensions are the same, but using different recording mechanisms (FM vs MFM–those of a certain age may remember MFM as "double density", and those even older may remember FM as "single density"), and single-sided versus double-sided.

[0] ECMA-78: Data interchange on 130 mm flexible disk cartridges using MFM recording at 7 958 ftprad on 80 tracks on each side), June 1986: https://ecma-international.org/publications-and-standards/st...

[1] ECMA-69: Data interchange on 200 mm flexible disk cartridges using MFM recording at 13 262 ftprad on both sides, January 1981: https://ecma-international.org/publications-and-standards/st...

nixpulvis 3 days ago||
They should be more precise if they are talking about KiB in a context where the difference matters... luckily those contexts are usually written down.
kstrauser 3 days ago||
I'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....

1: https://www-cs-faculty.stanford.edu/~knuth/news99.html

svat 3 days ago||
Knuth is not in favour of using kilo/mega/etc with power-of-2 meanings:

> I'm a big fan of binary numbers, but I have to admit that this convention flouts the widely accepted international standards for scientific prefixes.

He also calls it “an important issue” and had written “1000 MB = 1 gigabyte (GB), 1000 GB = 1 terabyte (TB), 1000 TB = 1 petabyte (PB), 1000 PB = 1 exabyte (EB), 1000 EB = 1 zettabyte (ZB), 1000 ZB = 1 yottabyte (YB)” in his MMIX book even before the new binary prefixes became an international standard.

He is merely complaining that the new names for the binary prefixes sound funny (and has his own proposal like “large megabyte” and notation MMB etc), but he's still using the kilo/mega/etc prefixes with decimal meanings.

fc417fc802 3 days ago||
It's odd though. Metric prefixes are always lower case, so GB isn't valid metric. Further, outside of storage manufacturers attempting to inflate their numbers when does is ever make sense to mix power of ten with 8 bit bytes? Networking is always in bits per second, not bytes.

Edit: Disregard the metric bit but I think the rest still stands.

cornstalks 3 days ago|||
> Metric prefixes are always lower case, so GB isn't valid metric.

Ummm, what? https://en.wikipedia.org/wiki/Metric_prefix

tiagod 3 days ago|||
I don't understand what you mean. kA is a perfectly valid SI unit.
fc417fc802 2 days ago||
I don't understand what you don't understand. Where did I object to kilo-amperes?
tiagod 2 days ago||
I misread. GA or GW is a perfectly valid SI unit as well, however.
crazygringo 3 days 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 3 days ago||
Do 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.

crazygringo 3 days ago||
I have no idea what that is supposed to have to do with anything.
array_key_first 3 days ago||
It means that is fine for Kilo to mean 1024 in the context of computers and 1000 in the context of distances, because you're never going to be in a situation where that is ambiguous.
crazygringo 3 days ago||
Except it's not because it's constantly ambiguous in computing.

E.g. Macs measure file sizes in powers of 10 and call them KB, MB, GB. Windows measures file sizes in powers of 2 and calls them KB, MB, GB instead of KiB, MiB, GiB. Advertised hard drives come in powers of 10. Advertised memory chips come in powers of 2.

When you've got a large amount of data or are allocating an amount of space, are you measuring its size in memory or on disk? On a Mac or on Windows?

kazinator 3 days ago|||
It's the forced revisionism of what "kilobyte", "megabyte" and "gigabyte", that has caused most of the confusion.

Especially that it was only partially successful.

Which is not to say that there had been zero confusion; but it was only made worse.

crazygringo 2 days ago||
What forced revisionism?

Things like hard drives often used decimal/metric sizing from the start. Because their capacity has always been based on physical platter size and density, not powers of two the way memory is.

So this confusion has been with computing since the beginning. The attempt to introduce units like KiB isn't revisionism, it's an attempt at clarity around something that has always been ambiguous.

And obviously, if you need two separate prefixes, you're going to change the one whose unit of measurement differs from all the rest of science and technology.

kazinator 2 days ago||
> The attempt to introduce units like KiB isn't revisionism

Yes it is; it is literally asking people who call 1024 bytes "kilobyte" to stop doing that and say "kibibyte" instead, and to revise the meaning of "kilobyte" to 1000 bytes.

Some people have not stopped doing that, so there is more confusion now. You no longer know whether a fellow engineer is using powers of 1000 or powers of 1024 when using kilobyte, megabyte or gigabyte; it depends on whether they took the red pill or the blue pill.

crazygringo 2 days ago||
It's a partial renaming but it's not revisionism.

> You no longer know whether a fellow engineer is using powers of 1000 or powers of 1024 when using kilobyte, megabyte or gigabyte

You never knew this, that's the point. You didn't know it in e.g. 1990, before KiB was introduced in 1998. People didn't only start using powers of 10 once KiB was formally introduced. They'd always used them, but conventions around powers of 10 vs 2 depended greatly on the computing context, and were frequently confusing.

There isn't more confusion now. Fortunately, places that explicitly state KiB result in less confusion because, at least in that case, you know for sure what it is.

Unfortunately, a lot of people won't get on board with it, so the confusion persists.

And frankly, I don't care what you call it when you're speaking, as long as you just use the right label in software and in tech specs.

kazinator 2 days ago||
> You didn't know it in e.g. 1990

False: source, I was there. Kilobyte and megabyte were powers of 1024, except in well-delineated circumstances (mass storage devices).

The size labeling of mass storage devices was widely reviled due to using a weasly definition of terms that everyone normally undestood to be powers of 1024.

> a lot of people won't get on board with it, so the confusion persists.

The idea that people refusing to change their behavior according to someone's wishes are causing confusion is fallacious.

Of course it's those introducing change that are introducing confusion.

The kibi-mebi people failed to predict human behavior; that they cannot just roll out a vocabulary change to all of humanity the way you roll out a new kernel throughout a machine cluster.

The irony is that you can even find people who were not born at the time, who are using kilobyte to mean 1024 bytes.

crazygringo 2 days ago||
I was there too. What you call being "widely reviled" is just another way of saying "in common usage". Maybe you "reviled" it, but it was just convention. So it's not false, and it wasn't well delineated. Just like it continues not to be.

Why don't you take a look at Wikipedia which clearly describes the many, many, many places in which powers-of-10 is used, and then also has a section on powers-of-2:

https://en.wikipedia.org/wiki/Byte#Units_based_on_powers_of_...

Remember, it wasn't just hard drives either. It's been data transfer speeds, network speeds, tape capacities, etc. There's an awful lot of stuff in computing that doesn't inherently depend on powers of 2 for its scaling.

And so as long as we have both units and will always have both units, it makes sense to give them different names. And, obviously, the one that matches the SI system should have the same name as it. Can you seriously disagree? Again, I don't care what you say in conversation. But in labels and specifications, how can you argue against it?

thayne 3 days ago||||
And that is because some people didn't like that a kilobyte was 1024 bytes instead of 1000, so they started using 1000 instead, and then that created confusion, so then they made up new term "kibibyte" that used 1024, and now it's all a mess.

And in most cases, using 1024 is more convenient because the sizes of page sizes, disk sectors, etc. are powers of 2.

fc417fc802 3 days ago|||
> Macs measure file sizes in powers of 10 and call them KB, MB, GB.

That doesn't conform to SI. It should be written as kB mB gB. Ambiguity will only arise when speaking.

> Advertised hard drives come in powers of 10.

Mass storage (kB) has its own context at this point, distinct from networking (kb/s) and general computing (KB).

> When you've got a large amount of data or are allocating an amount of space, ...

You aren't speaking but are rather working in writing. kb, kB, Kb, and KB refer to four different unit bit counts and there is absolutely zero ambiguity. The only question that might arise (depending on who you ask) is how to properly verbalize them.

cornstalks 3 days ago||
> That doesn't conform to SI. It should be written as kB mB gB

Little m is milli, big M is mega. Little g doesn’t exist, only big G.

fc417fc802 3 days ago||
Oh. Indeed you're correct. I was thinking in computer terms instead of scientific terms. Personally I see this as reinforcing that computers as a context wouldn't really benefit from using "proper" SI.

Note that no one is going to confuse mB for millibytes because what would that even mean? But also in practice MB versus Mb aren't ambiguous because except for mass storage no one mixes bytes with powers of ten AFAIK.

And let's take a minute to appreciate the inconsistency of (SI) km vs Mm. KB to GB is more consistent.

nayuki 3 days ago||
> no one is going to confuse mB for millibytes because what would that even mean?

Data compression. For example, look at http://prize.hutter1.net/ , heading "Contestants and Winners for enwik8". On 23.May'09, Alex's program achieved 1.278 bits per character. On 4.Nov'17, Alex achieved 1.225 bits per character. That is an improvement of 0.053 b/char, or 53 millibits per character. Similarly, we can talk about how many millibits per pixel JPEG-XL is better than classic JPEG for the same perceptual visual quality. (I'm using bits as the example, but you can use bytes and reach the same conclusion.)

Just because you don't see a use for mB doesn't mean it's open for use as a synonym of MB. Lowercase m means milli-, as already demonstrated in countless frequently used units - millilitre, millimetre, milliwatt, milliampere, and so on.

In case you're wondering, mHz is not a theoretical concept either. If you're generating a tone at say 440 Hz, you can talk about the frequency stability in millihertz of deviation.

fc417fc802 2 days ago||
Touche! I had no idea that term was in use. That said, I remain unconvinced that there is any danger of confusion here. Benchmarking compression algorithms is awfully specific; it's normal for fields to have their own jargon and conventions.

> Just because you don't see a use for mB doesn't mean it's open for use as a synonym of MB.

At the end of the day it's all down to convention. We've never needed approval from a standards body to do something. Standards are useful to follow when they provide a tangible benefit; following them for their own sake to the detriment of something immediately practical is generally a waste of time and effort.

I don't believe I hallucinated unit notations such as mB and gB. Unfortunately I don't immediately recall where I encountered their use.

> In case you're wondering, mHz is not a theoretical concept either.

Just to be clear, I was not meaning to suggest that non-SI prefixes be used for quantifying anything other than bits. SI standardized prefixes are great for most things.

mrb 3 days ago||
Whenever 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-th...

soneil 3 days ago||
They 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)
thaumasiotes 3 days 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 3 days ago|||
Nice 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.
f33d5173 3 days ago||
A 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.
zahlman 3 days ago||
5000, but a slightly shorter foot than the modern one.

https://en.wikipedia.org/wiki/Mile#Roman

https://en.wikipedia.org/wiki/Ancient_Roman_units_of_measure...

kazinator 3 days ago|||
There is a "metric mile" which is 1500 m. This is something in the context of track and field athletics.
userbinator 3 days ago|||
There is also a "metric gallon", or 4L.
AdamN 3 days ago||||
Same with a Metric ton (a "tonne") which is one thousand kilograms (pretty close to an imperial ton).
meatmanek 3 days ago|||
Not 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.
fc417fc802 3 days ago|||
Maybe 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.
account42 2 days ago|||
Celsius is already screwed up because it's not zero-based.
fc417fc802 2 days ago||
Celcius is eminently practical (similar to power of two prefixes). Absolute zero is completely irrelevant for day to day human life.
NetMageSCW 2 days ago||
Fahrenheit is even more practical for daily life, as it was designed to be.
account42 2 days ago||
How so? 0 = freezing water, 100 = boiling water is at least more useful than more or less arbitrary points of F.
AngryData 2 days ago|||
Celsius is just as arbitrary as farenheit so I wouldn't be so sure.
quietsegfault 3 days ago|||
Webster’s dictionary defines a mile as …
flexagoon 3 days ago||
I 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.
pjdesno 3 days ago||
I 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.

thayne 3 days ago||
It makes it inconvenient to do things like estimate how long it will take to transfer a 10GiB file. Both because of the the difference between G and Gi, and because one is in bytes and the other is in bits.

There are probably cases where corresponding to Hz, is useful, but for most users I think 119MiB/s is more useful than 1Gbit/s.

ralferoo 3 days ago|||
There's a good reason that gigabit ethernet is 1000MBit/s and that's because it was defined in decimal from the start. We had 1MBit/s, then 10MBit/s, then 100MBit/s then 1000MBit/s and now 10Gbit/s.

Interestingly, from 10GBit/s, we now also have binary divisions, so 5GBit/s and 2.5GBit/s.

Even at slower speeds, these were traditionally always decimal based - we call it 50bps, 100bps, 150bps, 300bps, 1200bps, 2400bps, 9600bps, 19200bps and then we had the odd one out - 56k (actually 57600bps) where the k means 1024 (approximately), and the first and last common speed to use base 2 kilo. Once you get into MBps it's back to decimal.

icedchai 3 days ago|||
To add further confusion, 57600 was actually a serial port speed, from the computer to the modem, which was higher than the maximum physical line (modem) speed. Many people ran higher serial port speeds to take advantage of compression (115200 was common.)

56000 BPS was the bitrate you could get out of a DS0 channel, which is the digital version of a normal phone line. A DS0 is actually 64000 BPS, but 1 bit out of 8 is "robbed" for overhead/signalling. An analog phone lined got sampled to 56000 BPS, but lines were very noisy, which was fine for voice, but not data.

7 bits per sample * 8000 samples per second = 56000, not 57600. That was theoretical maximum bandwidth! The FCC also capped modems at 53K or something, so you couldn't even get 56000, not even on a good day.

krater23 3 days ago||||
This has nothing to do with the 1024, it has todo with the 1200 and the multiples of it and the 14k and 28k modems where everyone just cut off the last some hundred bytes because you never reached that speed anyway.
jiveturkey 3 days ago|||
> that's because it was defined in decimal from the start

I mean, that's not quite it. By that logic, had memory been defined in decimal from the start (happenstance), we'd have 4000 byte pages.

Now ethernet is interesting ... the data rates are defined in decimal, but almost everything else about it is octets! Starting with the preamble. But the payload is up to an annoying 1500 (decimal) octets. The _minimum_ frame length is defined for CSMA/CD to work, but the max could have been anything.

soneil 3 days ago|||
This is the bit (sic) that drives me nuts.

RAM had binary sizing for perfectly practical reasons. Nothing else did (until SSDs inherited RAM's architecture).

We apply it to all the wrong things mostly because the first home computers had nothing but RAM, so binary sizing was the only explanation that was ever needed. And 50 years later we're sticking to that story.

gpm 3 days ago|||
RAM having binary sizing is a perfectly good reason for hard drives having binary sized sectors (more efficient swap, memory maps, etc), which in turn justifies all of hard disks being sized in binary.
wvenable 3 days ago||||
Literally every number in a computer is base-2, not just RAM addressing. Everything is ulimately bits, pins, and wires. The physical and logical interface between your oddly sized disk and your computer? Also some base-2.
fc417fc802 3 days ago|||
Even the disk sectors are in base 2. It's only the marketing that's in base 10.
hmry 3 days ago|||
Not everything is made from wires and transistors. And that's why these things are usually not measured in powers of 2:

- magnetic media

- optical media

- radio waves

- time

There's good reasons for having power-of-2 sectors (they need to get loaded into RAM), but there's really no compelling reason to have a power-of-2 number of sectors. If you can fit 397 sectors, only putting in 256 is wasteful.

wvenable 3 days ago||
Since everything ultimately ends up inside a base-2 computer across base-2 bus that even if these media aren't subject to the same considerations it still makes sense to measure them that way.

The choice would be effectively arbitrary, the number of actual bits or bytes is the same regardless of the multiplier that you use. But since it's for a computer, it makes sense to use units that are comparable (e.g. RAM and HD).

fc417fc802 3 days ago||
Buses and networking fit best with base 10 bits (not bytes) per second for reasons that are hopefully obvious. But I agree with you that everything else naturally lends itself to base 2.
krater23 3 days ago|||
Nope. The first home computers like the C64 had RAM and sectors on disc, which in case of the C64 means 256 bytes. And there it is again, the smaller base of 1024.

Just later, some marketing assholes thought they could better sell their hard drives when they lie about the size and weasel out of legal issues with redefining the units.

soneil 1 day ago||
later, like 1956? The world's first commercial HDD was 5,000,000 characters.
wtallis 3 days ago|||
NAND flash has overprovisioning even on a per-die basis, eg. Micron's 256Gbit first-generation 3D NAND had 548 blocks per plane instead of 512, and the pages were 16384+2208 bytes. That left space both for defects and ECC while still being able to provide at least the nominal capacity (in power of two units) with good yield, but meant the true number of memory cells was more than 20% higher than implied by the nominal capacity.

The decimal-vs-binary discrepancy is used more as slack space to cope with the inconvenience of having to erase whole 16MB blocks at a time while allowing the host to send write commands as small as 512 bytes. Given the limited number of program/erase cycles that any flash memory cell can withstand, and the enormous performance penalty that would result from doing 16MB read-modify-write cycles for any smaller host writes, you need way more spare area than just a small multiple of the erase block size. A small portion of the spare area is also necessary to store the logical to physical address mappings, typically on the order of 1GB per 1TB when tracking allocations at 4kB granularity.

wmf 3 days ago|||
An even bigger problem is that networks are measured in bits while RAM and storage are in bytes. I'm sure this leads to plenty of confusion when people see a 120 meg download on their 1 gig network.

(The old excuse was that networks are serial but they haven't been serial for decades.)

bombcar 3 days ago|||
Wirespeeds and bitrate and baud and all that stuff is vastly confusing when you start looking into it - because it's hard to even define what a "bit on the wire" is when everything has to be encoded in such a way that it can be decoded (specialized protocols can go FASTER than normal ones on the same wire and the same mechanism if they can guarantee certain things - like never having four zero bits in a row).
waffletower 3 days ago||
I can see a precision argument for binary represented frequencies. A systems programmer would value this. A musician would not.
fsckboy 3 days ago|||
musicians 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.

waffletower 3 days ago|||
The 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.
fsckboy 3 days ago||
don't you mean 11-fold? ... oh wait, they aren't even consistent
waffletower 3 days ago||
They sum to 12
fsckboy 3 days ago||
actually they multiply, 12th root of 2, to the 12th
waffletower 1 day ago||
12th root of 2, to the 12th = 2 :D The collection of 7 intervals I provided, 2 2 1 2 2 2 1, which are a differential representation of "(do) re mi fa so la ti do", sum to 12. Those intervals are linear within the log2 scale you identified as having a 12th root of 2 basis, or in other words, are the major diatonic (7 note) scale which are a subset of the 12-tone equal tempered scale. The laws of logarithms can help explain why these intervals are additive, whereas the semitone basis (12th root of 2) is multiplicative.
jltsiren 3 days ago|||
You 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.)
AlotOfReading 3 days ago|||
Musicians often use equal temperament, so they have their own numerical crimes to answer for.
waffletower 3 days ago||
Touché, appropriate to describe near compulsory equal temperament (ala MIDI) as a crime.
cmovq 3 days ago||
The mistake was using the "Kibi" prefix. "Kibibyte" just sounds a bit silly when said out loud.
kstrauser 3 days ago||
Yes, 2**10 times this, yes.

Call me calcitrant, reactionary, or whatever, but I will not say kibibyte out loud. It's a dumb word and I'm not using it. It was a horrible choice.

ralferoo 3 days ago|||
They should call their stupid SI power-of-10 units kisibyte instead.
nacozarina 2 days ago|||
you'll eat your kibbles & bits and like it !
mmphosis 2 days ago||
The Commdore 64 has 64 kibibytes.

https://en.wikipedia.org/wiki/Byte#Multiple-byte_units

"the C64 took its name from its 64 kilobytes (65,536 bytes) of RAM"

https://en.wikipedia.org/wiki/Commodore_64

kstrauser 2 days ago||
It has 64 kilobytes. The definition of kilobyte and megabyte (and I presume gigabyte, among people who could afford caring about them) were universally agreed to be binary.
Symbiote 3 days ago|||
"Giga" was considered to sound silly until it became common and we no longer care. "Yotta" sounds silly (to me) now.
sippeangelo 3 days ago|||
"Tera" always sounded cool though.
aidenn0 3 days ago||||
1.21 Gigawatts doesn't sound silly at all!
NetMageSCW 2 days ago||
Did you mean jigawatts?
bombcar 3 days ago|||
Surely you mean Gibi ;)
j2kun 3 days ago|||
When I read "KiB" I say "kib" and it's fine. Similar for GiB, TiB, PiB.

"I bought a two tib SSD."

"I just want to serve five pibs."

fsckboy 3 days ago||
>"I bought a two tib SSD."

no you didn't, that doesn't exist, you bought 2 trillion bytes, 99 billion bytes short

cestith 2 days ago|||
I usually just say kilobyte when speaking, and say “binary kilobyte” or “decimal kilobyte” if it’s not clear from context. I still (usually, but I forget) use the IEC symbols when I mean binary and the SI symbols when I mean decimal. The extra ‘i’ doesn’t cost that much.
jihadjihad 3 days ago|||
"mebi" and "gibi" aren't any better, last one in particular if you say it as "jibby-bytes"
robobro 3 days ago|||
Does it really matter if it sounds silly?
Blackthorn 3 days ago||
Considering it meant people didn't use it, yes.
bloppe 3 days ago||
Actually, it sounds very serious and appropriate.
bombcar 3 days ago||
Studio Kibi
zetanor 3 days ago||
To clear up any confusion, let's compromise at a 1012-byte kilobyte.
account42 2 days ago||
So 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.

noosphr 3 days ago|||
I like the binch better, it's like an inch, but its 25.6 mm instead.
PostOnce 3 days ago||
There 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_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?

its_magic 3 days ago||
Agreed. 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.

kalaksi 3 days ago|||
> Same with pounds, for example. A pound is 16 ounces, which can be divided 4 times without involving any fractions. Try that with metric.

Not sure if you're actually serious... 1 kg is 1000 g, dividing with 4 gets you 250 g, no fractions. And no need to remember arbitrary names or numbers for conversions.

> Then there's temperature. Fahrenheit just works more naturally over the human-scale temperature range without involving fractions. Celsius kind of sucks by comparison.

Again, I'm not sure I get it. With celsius, 0°C is freezing temperature of water and 100°C is boiling point of water. For fahrenheit it was something like 32 and 212? And in every day use, people don't need fractions, only full degrees. Celsius also aligns well with Kelvins without fractions (unlike fahrenheit).

_0ffh 3 days ago|||
> Celsius also aligns well with Kelvins without fractions (unlike fahrenheit).

But Fahrenheit aligns well with Rankine without fractions (unlike Celsius). [Imagine some symbol here indicating humour.]

defrost 3 days ago||
I chuckled ... and yet remain on side with Celsius.
fuzzfactor 2 days ago||
Fahrenheit has finer granularity without fractions.

IOW each Celsius degree is bigger than each Fahrenheit degree.

Even though the F numbers are so much higher and it seems unbearably hot :)

So for a thermostat that only can be set in 1 degree increments (without a decimal point), you have finer control when using F than using C.

Anybody can memorize the conversion more easily by throwing out the math, using table lookup -- made easier by throwing out most of the table too.

Just remember every 5 C equals a non-fractional F.

And every 5 C equals 9 F.

If all you are interested in is comfort level it's like this:

   C   F
  
   0  32
   5  41
  10  50
  15  59
  20  68
  25  77
  30  86
  35  95
  40 104
  
Least significant digit of F drops by 1 every time without fail.

Looks like it increases by 1 each time in the tens column, but it's only 9 so 50 & 59 are the outliers, which most people have memorized already.

If you are a Celsius native and you think in terms of 10, 15, 20, 25, 30 -- you only need to remember 5 different F numbers, 50, 59, 68, 77 & 86 and that will get you far.

Good luck using these as your lottery numbers ;)

defrost 2 days ago||
Ahhh, I mean that's all very well .. but I'm over 60 and I've literally never used or needed to use Fahrenheit - and I had a long career in geophysical and physical data aquisition, ran several kinds of furnaces and annealing ovens 24/7 for a decade, do a lot of cooking, etc.

So, I appreciate your rendition of things I have tables for already but any actual need is sadly non existant.

its_magic 11 hours ago||
The point is Fahrenheit works fine, and is arguably better than Celcius for measuring the temperatures that humans are typically exposed to, so there is no need to replace it with Celsius.
PostOnce 2 days ago||||
re: fahrenheit, it's utility is that 0 and 100 are near the extremes of human comfort. 0 = fuckin cold and 100 = fuckin hot

Whereas in C, 0 is fine and 100 means you died 50 degrees ago.

However, C is much more useful in industry, where boiling and freezing points are more important.

kalaksi 2 days ago||
Ah, I see. Though, it's still useful that the relevant range isn't 0-100 but can go below zero since it's a significant change in weather conditions when we're below freezing point, but I get your point.

In the end, it's probably what one is used to. Temperatures here are typically between -20'C and +30'C.

account42 2 days ago||||
> Not sure if you're actually serious... 1 kg is 1000 g, dividing with 4 gets you 250 g, no fractions.

Dividing by four is not the same as dividing four times.

its_magic 3 days ago|||
> I'm not sure I get it

I'm pretty sure that you don't

kalaksi 3 days ago||
Ooh, how edgy.
its_magic 3 days ago||
Succinct
bonsai_spool 3 days ago||||
> A pound is 16 ounces, which can be divided 4 times without involving any fractions. Try that with metric.

1000 g, 500 g, 250 g, 125 g

I also don't understand the fear around fractions - we deal with halves, quarters and fifths all the time in the natural world.

its_magic 3 days ago||
> I also don't understand the fear around fractions - we deal with halves, quarters and fifths all the time in the natural world.

Yes, and a certain fast food company found that their 1/3 lb burgers weren't selling well, because their idiot customers can't maff too good and thought 1/4 was bigger than 1/3.

mcmoor 3 days ago||||
> even the metric people are not so crazy

No, they were absolutely that crazy [1]. Luckily the proposal fell through.

1. https://en.wikipedia.org/wiki/Decimal_time

notorandit 3 days ago|||
And 60 can be also divided by 10, 12, 15 and 30.

And you can go with 120 or, better 210 so you get 7 in.

Pure madness.

fc417fc802 3 days ago||
Now 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.

Flimm 3 days ago||
Uppercase "B" stands for byte, and lowercase "b" stands for bit. But it's very common for people to miss the distinction, sadly, even professionals are sloppy.
Thrymr 2 days ago||
The bit/byte ambiguity annoys me in real life far more than the 1000/1024 ambiguity.
ineedasername 3 days 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?

lukan 3 days ago||
Because it would be literally correct. Kilo means 1000, not 1024.
int_19h 3 days 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 3 days ago||
Sure. 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 3 days ago||
In 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.
ratrace 3 days ago||||
It would be "literally correct" for you but obviously incorrect to everybody else who has the understanding that a kilobyte = 1024 bytes
NetMageSCW 2 days ago|||
As a (computer) expert, kilo clearly means 1024 in my domain.
quanwinn 3 days ago||
Was reading this and thought the same thing.
More comments...