Research:
Applications:
Projects:
|
KibioctetsThe Sensible Way Of Measuring Binary DataA proposal by Lyle ZapatoThe ProblemIn 1884, the Lord Kelvin had the following to say about inadequate measurement systems:
120 years later, America (and, sadly, much of Cascadia,) still hasn't heeded His words. To the contrary, we have shackled ourselves with an additional modern form of measuremental bondage that is even more brain-destroying than anything the most wicked Brit could have devised -- one that even perverts the system that Kelvin advocated. I am speaking of the units we use to measure data on computers; the bytes, kilobytes, megabytes, etc. that we have all become so familiar with, and yet can be so confused by. Let's start with the basic units. The bit, in case you didn't know, is the smallest unit of information in a binary system. There are no fractional bits, and the term is unambiguous. This is an acceptable unit. The byte is a little more convoluted. In present-day usage, 1 byte = 8 bits. However, the term originally referred to the number of bits needed to encode a character. Consequently, there were computer systems where bytes were different numbers of bits. This system-specific functional term only later became a general unit of information when the 8-bit character size became a standard, resulting in one term having two incompatible meanings (albeit one now considered obsolete) in the same field. But the real confusion comes when bit and byte are used together. The abbreviation or symbol for byte is uppercase B, whereas the symbol for bit is lowercase b. In theory this seems simple and even eloquent, but in practice people often use B/b indiscriminately, usually out of ignorance of the difference (not to mention problems caused by caps lock scofflaws and e. e. cummings wannabes.) Oddly, the original "bite" was given a "y" so that it wouldn't be misspelled "bit," but this rather obvious abbreviation problem was overlooked (even more odd considering the widespread use at the time of text based computer systems with no lower case letters). The next level of trouble comes from the prefixes used with these two terms. How many bytes are in a kilobyte? The answer depends on whom you ask. Computer science people would say 1 kilobyte = 1,024 bytes (1,024 is a round number in binary notation: 10000000000.) But this ignores the accepted meanings of the SI prefixes (kilo = 1,000, mega = 1,000,000, etc.) which means proponents of the Metric System correctly reject this usage as improper.
Now if it was just people in an unrelated field being persnickety then maybe this wouldn't really be a practical problem for computer users; However, the proper Metric meaning of the prefixes are used by some in the computing industry, although often out of ulterior motives. For instance, if a harddrive manufacturer says a drive has 10 gigabytes, then it actually has 10,000,000,000 bytes, not 10,737,418,240 bytes as your operating system would measure 10 gigabytes -- you may be getting less than you think you're getting. The result of this mix of proper and improper use of Metric prefixes is ambiguity and the potential for errors (or dishonest pricing). When we combine the two problems above, things get even worse:
There's also the possibility that various mixes of these different interpretations could all end up being fed into a single calculation, resulting in errors even greater than above and potentially leading to disaster (much like when the mixing of metric and imperial measurments resulted in NASA's Mars Orbitor being lost in space.) The SolutionSo how should we solve these problems? For starters, we need to replace the term byte with one that has a more obvious abbreviated distinction from bit. Just as Kelvin urged Americans to follow the lead of the French, I am urging everyone to use the French term for 8-bits: octet. This term -- born out of anglophobia -- is both unambiguous and descriptive. Octet literally means a group of eight. In the context of informational measurement, it means 8 bits. Octet is abbreviated o, so there's no confusing it for bits. Plus, the French have already been using it for years, with no problems. Thus:
Next, we need to consistently stop misusing the Metric prefixes. A kilo is defined as 1,000 and it should never be used for something else. Instead, we should widely adopt the binary prefixes that were approved as a standard in 1998 by the International Electrotechnical Commission (IEC -- whose first president, incidentally, was Lord Kelvin). These prefixes are as follows:
(For more on these prefixes, see the official standard in IEC 60027-2, the IEC article "When is a kilobyte a kibibyte?", and the NIST reference page on prefixes for binary multiples.) Combining these prefixes with the base unit bit, we get the following binary exponential units:
And combining the prefixes with the base unit octet, we get:
(For brevity, I have referred to the system above and the two sets of binary exponential units derivied from it as the "kibioctet standard" -- or informally just "kibioctets", as in "promote kibioctets" below -- since the unit kibioctet concisely shows the two differences separating the standard from the depreciated nonstandard standard currently in use.) Promote KibioctetsFeel free to use these badges to show your site's compliance with the kibioctet standard and to promote kibioctet usage and understanding:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||