Re: Using standardized SI prefixes
On Fri, Jun 15, 2007 at 01:46:10PM -0400, Phillip Susi wrote:
> Because we needed a name, and Kilo is a good one to use. There is no
> rule that says you can't use the word for a different meaning in a
> different context.
Which context would this be? Computer Science? Computer Engineering?
Computer Networks? Storage Disks? Magnetic or Optical? File sizes?
Memory size? Cache size? I agree that in computer science, many (not
necessarily most of) times it would very bad sense to use a power of 10
instead of a power of 2. Like back when they used ten's complement.
However, this makes the point stronger, since 10 was a base used with
some digital computers.
> And before computers were invented the word mouse always referred to a
> small hairy rodent. I don't see you complaining that it can also refer
> to the computer pointing device on your desk. When someone says they
> caught a mouse or they clicked with their mouse, you can easily infer
> which one they mean.
Yes. But you can't infer which one (1000 or 1024) MB mean. When you buy
a disk, what do the vendor says the capacity is? 80 GB. But your
software states it is no more than 75GB. What the fuck!? If GiB is
confusing to users, so is base 2. People use base 10 and k (kilo) means
1000, M (Mega) means 10^6, G (Giga) means 10^9, etc., because they are
used to base 10.
I don't want to read some manual or source code just to know which base
is used when I read or write 10G. When I write, how can I unambiguously
tell the program that I mean 1000 or 1024? Only using G and Gi, this
would be possible.
> The context clearly indicates the meaning is 1024. When referring to
> bytes that context uses 1024. Also capitalizing the K is another
> indicator. There is no ambiguity in that sentence to anyone familiar
> with the computer science context.
When you use K, this could be true. But remember not all users are
familiar with the computer science context. So, you type 6000000 and see
5.7MB. And users not familiar with the computer science context will
think: "What the ...?". So, if reading 5.7MiB will do them no favor,
that should read 6.0MB.