DEV Community

Valentin Nechayev
Valentin Nechayev

Posted on • Edited on

On big binaries names

Most people have, at least, heard about awful IEC/ISO "binary prefixes" like "kibi" (1024 and not 1000), "mebi", "gibi" and so forth.

The entire idea is rather good. I have no doubts about written form (KiB, etc.) But any practical linguist understands that oral prefixes were devised by people who are ignorant of basic human language principles: words with similar meaning should be different in sounding. There were already airplane catatrophes when a pilot had mistaken "third" for "first" in a noisy ether. Who, the hell, can distinguish "kibi" from "gibi" at a typical conference where microphones are ugly, and neighbors discuss kinds of cognac in the buffet?

I would select the following principles to construct the proper prefix set:

  1. They shall be as much different from each other as possible, provided other conditions are met.
  2. A binary prefix shall clearly differ from its decimal counterpart.
  3. Nevertheless, a binary prefix shall start with the same sound as its decimal counterpart.
  4. A prefix shouldnʼt be long; two syllables are well enough.
  5. There should be no intentional association with a (non-numeric) word from a language.

Proposition:

  • 1024^1 = kano-
  • 1024^2 = maro-
  • 1024^3 = gaido-
  • 1024^4 = tesko-
  • 1024^5 = pempo-
  • 1024^6 = erfo-
  • 1024^7 = zelmo-
  • 1024^8 = yorgo-

Well, but we may also discuss basic memory sizes. Well, there is the word for 8 bits - "byte"; moreover, "octet" for those who can't read it without wrong connotations; but where are the words for higher powers of 2?

Don't recall "word"; a true word is always at least 32 bits, but 8086 heretics spoiled it finally. Also, all such "octabyte" are long and ugly. Imagine "octaoctet", huh? No, the true words, I don't fear to say it again, shall sound quite different, to avoid any chance to mix them in the same context.

For 16 bits, the solution is obvious: hexa- -> a sheck [ʃek]. Yes, some like "shack", because 16 bits are, out of embedded world (I highly appreciate its peculiar) now enough mainly for an old hut of grass and branches.

For higher values, it's some harder. We need an inspiration source not tied with traditional IT languages and nevertheless usable. After some search, I've stopped on Crimean. So, 32 bits = tuke [tjuːk], from: 32 = otuz iki.

64 = amad [əˈmæd], because of: altmış + dört; OTOH the skeleton ?-m-d hints at AMD64 invention, the most popular 64-bit computing source now. Vowels were selected arbitrary (but, "umudu" is definitely the worst).

128 = yermezeck (yüzyirmi sekiz); yep, it's long, the same as the data value :)

The need for longer size names is to be reconsidered at a next turn.

So, finally,
1 yermezeck = 2 amads = 4 tukes = 8 shecks = 16 octets (a minimal useful cache line size) = 128 bits.

And, with 1024-based prefixes: 2^31 bits = 2 gaidobits = 64 marotukes.

Enjoy and use it thoroughly.

Top comments (0)