this post was submitted on 27 Dec 2023
148 points (70.0% liked)

Technology

59608 readers
3414 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
 

I often find myself explaining the same things in real life and online, so I recently started writing technical blog posts.

This one is about why it was a mistake to call 1024 bytes a kilobyte. It's about a 20min read so thank you very much in advance if you find the time to read it.

Feedback is very much welcome. Thank you.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 37 points 11 months ago (1 children)

Thanks for this article. Unfortunately, you used the word “prefix” when you really meant “unit symbol”. So, “kilo” and “mega” are prefixes, kB and MB are unit symbols. You repeatedly called the latter “prefixes”.

[–] [email protected] 1 points 11 months ago (2 children)

Thank you for the feedback. I know that only the "first" part is the prefix and I tried to be careful to not use it wrong. I just checked all 53 instances of "prefix" and I don't see a wrong one, but to be fair there are situations that could be misunderstood easily like here:

Today the only correct conversions are to either use SI prefixes (like 1 MB = 1000² bytes) or binary prefixes (1 MiB = 1024² bytes).

But with prefix I only meant the "M" and "Mi" part and they are both prefixes.

I'll try to clarify that later so the difference is clear to all readers. Thank you.

[–] [email protected] 9 points 11 months ago (2 children)

Ok, I understand what you are trying to do, but I that is not how I read it at the time. Prefix to me in this context means e.g., “kilo” in “kilobyte”, and not the “k” in “kB”. I am not sure it is helpful to split the unit symbol up like that.

[–] [email protected] 1 points 11 months ago

In terms of language you are correct. But in terms of SI usage it seems to me OP is expressing it correctly. The SI unit prefixes have a name, a symbol and a multiplier. The prefix is a concept that encompasses all three of those attributes. So "kilo" is one way of identifying the 10^3 unit prefix, but the name kilo is not the prefix itself. It's just the name we use to refer to it. And the symbol k in km is certainly the unit prefix portion of that unit of measure.

[–] [email protected] 1 points 11 months ago* (last edited 11 months ago) (1 children)

While we're nitpicking, the post says multiple times that SI prefix symbols are "all uppercase except for kilo (k)".

That's just factually wrong. More than half of them are lowercase! There's centi- (c), micro- (µ), nano- (n), etc. On the positive side there's even deca- (da) and hecto- (h), though they aren't particularly common or useful. I did at least see milli- (m) and bit (b) mentioned in a brief note though.

Obviously context matters and only the positive powers from kilo upward are relevant in computer science. But I studied chemistry and physics so I guess it irked me to see the statement repeatedly ignore all the negative powers of ten.

Overall, good rant though 😅 I'll be more careful to use KiB and MiB from here out when appropriate.

[–] [email protected] 2 points 10 months ago

❤️ Thank you for taking the time to read it. And thank you so much for pointing that out, you are completely right and I totally didn't think about that while writing the article, probably because negative exponents are pretty rare in computer science (as in milli-bytes, etc.). I'll fix that in a few days. Thanks again for pointing that out.