I think the biggest mistake there is using SI prefixes (such as kilo, mega, giga, tera) with bytes (or bits) to refer to the power of two near a power of ten in the first place. Had computer people had used other names for 1024 bytes and the like, this confusion between kibibytes and kilobytes could have been avoided. Computer people back then could have come up with a set of base·16 prefixes and used that for measuring data.
Maybe something like 65,536 bytes = 1,0000 (base 16) = 1 myri·byte; 4,294,967,296 bytes = 1,0000,0000 (base 16) = dyri·byte; and so on in groups of four hex digits instead of three decimal digits (16¹² = tryri·byte, 16¹⁶ = tesri·byte, etc). That’s just one system I pulled out of my ass (based on the myriad, and using Greek numbers to count groups of digits), and surely one can come up with a better system.
Anyways, while it’d take me a while to recognize one kilobyte as 1000 bytes and not as 1024 bytes, I think it’s better that ‘kilo’ always means 1000 times something in as many situations as possible.
Everybody knew exactly what kilo mega and giga ment. when drive vendors deliberatly lied on there pdf’s about their drive sizes. Warnings were issued: this drive will not work in a raid as a replacement for same size!!. And everybody was throwing fumes on mailinglists about the bullshit situation.
Not too sure if they outright lied, but I suppose we can say that they used the change to make their drives seem larger!
That’s why I wished computer people had used a prefix system distinct from the SI ones. If we’re measuring our storage devices in yeetibytes rather than gigabytes, for example, then I suppose there’s less chance that we’ve ended up in this situation.
There is no reason whatsoever to use base 16 for computer storage it is both unconnected to technology and common usage it is worse than either base 2 or 10
I guess? I just pulled that example out of my ass earlier, thinking well, hexadecimal is used heavily in computing, so maybe something with powers of 16 would do just fine.
At any rate, my point is that using a prefix system that is different and easily distinguishable from the metric SI prefixes would have been way better.
I realized why I didn’t think of base 2 in my previous reply. For one, hexadecimal (base 16) often used in really low-level programming, as a shorthand for working in base 2 because base 2 is unwieldy. Octal (base 8) was also used, but not so much nowadays. Furthermore, even when working in base 2, they’re often grouped into four bits: a nibble. A nibble corresponds to one hexadecimal digit.
Now, I suppose that we’re just going to use powers of two, not base-2, so maybe it’d help if we do a comparison. Below is a table that compares some powers of two, the binary prefixes, and the system I described earlier:
Each row of the table (except for the rows for 210 and 250) would be requiring a new prefix if we’re to be working with powers of 2 (four apart, and more if it’d be three apart instead). Meanwhile, using powers of 16 would require less prefixes, but would require larger numerals before changing over to the next prefix (a maximum of 164 - 1 = 216 - 1 = 65 535)
One thing that works to your argument’s favor is the fact that 1024 = 210. But I think that’s what caused this entire MiB vs. MB confusion in the first place.
However, having said all that, I would have been happy with just using an entirely different set of prefixes, and kept the values based on 210.
I think the biggest mistake there is using SI prefixes (such as kilo, mega, giga, tera) with bytes (or bits) to refer to the power of two near a power of ten in the first place. Had computer people had used other names for 1024 bytes and the like, this confusion between kibibytes and kilobytes could have been avoided. Computer people back then could have come up with a set of base·16 prefixes and used that for measuring data.
Maybe something like 65,536 bytes = 1,0000 (base 16) = 1 myri·byte; 4,294,967,296 bytes = 1,0000,0000 (base 16) = dyri·byte; and so on in groups of four hex digits instead of three decimal digits (16¹² = tryri·byte, 16¹⁶ = tesri·byte, etc). That’s just one system I pulled out of my ass (based on the myriad, and using Greek numbers to count groups of digits), and surely one can come up with a better system.
Anyways, while it’d take me a while to recognize one kilobyte as 1000 bytes and not as 1024 bytes, I think it’s better that ‘kilo’ always means 1000 times something in as many situations as possible.
Everybody knew exactly what kilo mega and giga ment. when drive vendors deliberatly lied on there pdf’s about their drive sizes. Warnings were issued: this drive will not work in a raid as a replacement for same size!!. And everybody was throwing fumes on mailinglists about the bullshit situation.
But money won, as usual.
Source: threw fumes!
Not too sure if they outright lied, but I suppose we can say that they used the change to make their drives seem larger!
That’s why I wished computer people had used a prefix system distinct from the SI ones. If we’re measuring our storage devices in yeetibytes rather than gigabytes, for example, then I suppose there’s less chance that we’ve ended up in this situation.
There is no reason whatsoever to use base 16 for computer storage it is both unconnected to technology and common usage it is worse than either base 2 or 10
I guess? I just pulled that example out of my ass earlier, thinking well, hexadecimal is used heavily in computing, so maybe something with powers of 16 would do just fine.
At any rate, my point is that using a prefix system that is different and easily distinguishable from the metric SI prefixes would have been way better.
They could have easily used base 2 which is actually connected to how the hardware works and just called it something else
I realized why I didn’t think of base 2 in my previous reply. For one, hexadecimal (base 16) often used in really low-level programming, as a shorthand for working in base 2 because base 2 is unwieldy. Octal (base 8) was also used, but not so much nowadays. Furthermore, even when working in base 2, they’re often grouped into four bits: a nibble. A nibble corresponds to one hexadecimal digit.
Now, I suppose that we’re just going to use powers of two, not base-2, so maybe it’d help if we do a comparison. Below is a table that compares some powers of two, the binary prefixes, and the system I described earlier:
Each row of the table (except for the rows for 210 and 250) would be requiring a new prefix if we’re to be working with powers of 2 (four apart, and more if it’d be three apart instead). Meanwhile, using powers of 16 would require less prefixes, but would require larger numerals before changing over to the next prefix (a maximum of 164 - 1 = 216 - 1 = 65 535)
One thing that works to your argument’s favor is the fact that 1024 = 210. But I think that’s what caused this entire MiB vs. MB confusion in the first place.
However, having said all that, I would have been happy with just using an entirely different set of prefixes, and kept the values based on 210.