Using standardized SI prefixes

Christof Krüger ubuntu at
Wed Jun 13 18:17:19 UTC 2007

> Let me start with a dumb example:
> For a child or uninterested commoner that flying critter is simply "a
> birdie".  For those in the know exactly the same entity is a "Falco
> peregrinus".
> Even if simply calling it "birdie" or perhaps "falcon" would be
> easier, more "user friendly" more "understandable for everyone" it
> simply would not be /correct/.
The word birdie is a generalization of quite every critter that can fly.
So it is correct, the critter "Falco peregrinus" is a birdie, too.
Calling this critter "falco peregrinus" is correct, too. The example
just doesn't apply here because KB is not a generalization of KiB and
vice versa.

> Computers deal with numbers in base two.  Humans deal with numbers in
> base 10.  When computers and humans interact (on a technical level)
> humans must adapt to the computer, because computers can not.
> Dealing with chunks of data, addresses, registers, etc. has to be done
> in base 2.  Even if 1024 is "close enough" to 10^3 for a PHB or
> marketing humanoid, that will never make those two numbers equal.
Right, and this is the reason why having the same name for different
things is not good.

> And it must never be allowed to.  Computers, computer designers, computer
> technicians and most computer programmers will always deal with the
> _real_ base 2 numbers like 1024.
Unfortunately, computer designers, technicians etc. are not living in an
isolated world (well.. maybe some of them).
No one wants to forbid the computer people to use base 2 numbers. They
are just asked to write KiB instead of KB if they mean base 2
quantities, because the rest of the world already uses kilo as 1000.
Changing the rest of the world makes no sense and having distinct names
for distinct thing does no harm.

> Another example.  Pi is an irrational number starting with 3.14....
> Sure, it would be easier to "standardize" it to 3.00.  Done deal.  It
> would be easier to remember and more marketable.  It would also be
> totally useless AND completely wrong.  AFAIK some very dumb people
> actually managed to decree by law that pi was to equal 3.  They had to
> stop doing that.
Well, another example that does not apply here. Nobody wants to change
something true to something wrong. The status quo is that KB can mean
either 1000 or 1024 bytes depending on the context (or shoe size of the
developer or whatever). So there is an ambiguity here. Introducing SI
prefixes would eliminate ambiguities if applied consistently. Pi is well
defined. There is no ambiguity.

> Computers
> have always, do, and will continue to deal with their numbers along
> the progression of 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, etc...
> So, when dealing with computers, must we.
Yup, I totally agree. But why do we call it "kilo" then, when we
actually mean 1024? Someone found it handy dozens of years ago and
everybody has adapted it. So back then, someone was redefining your pi
to 3 because it was close enough and now we should leave it this way?
Remember that until computers have been invented (or binary logic), kilo
has always meant 1000.

> A well-known and very common trait of language is that one given word
> can often have more than one specific meaning.  When this is the case
> you need a context to be sure.  This is considered normal, and never a
> real problem.  This should hold true regarding computers and counting
> as well.
This is called a homograph. An example taken from wikipedia:
        shift n. (a change)
        shift n. (a period at work)
I agree that in "normal life" you can guess the meaning from the context
because it has completely different meanings.
However, I don't agree that this should hold true in computer science.
One possible meaning of KB is "1000 bytes". The other is "1024 bytes".
Now take the sentence: "Hello John. I've got a file here and want to
send it to you. It's 25KB large." Now please extract from the context
which meaning is significant here? The problem is that the both possible
meanings depict exactly the same: a quantity of bytes.

> Finally a personal and subjective thought.  At times one has to chose
> whether to oversimplify facts and information to the point where
> "everyone" understands it, (If this happens they DO NOT understand it;
> they are given the illusion of understanding) or whether to educate
> the public.
I think that you base your argumentation on wrong assumptions. The
purpose of introducing SI prefixes is *not* to make the newbie's life
simpler, at least not as primary goal. Surely, there are situations
where it really doesn't matter (e.g. if you are interested in the order
of magnitude 10% error may be totally acceptable). However, SI prefixes
make life easier for technical stuff where it is important to be exact
without having to "guess" the context, ask every time or consider the
professional background of your communication partner.

  Christof Krüger

More information about the Ubuntu-devel-discuss mailing list