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.

  • wischi@programming.devOP
    link
    fedilink
    English
    arrow-up
    10
    arrow-down
    7
    ·
    11 months ago

    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.

    • Tatters@lemmy.world
      link
      fedilink
      English
      arrow-up
      9
      arrow-down
      2
      ·
      11 months ago

      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.

      • tychosmoose@lemm.ee
        link
        fedilink
        English
        arrow-up
        1
        ·
        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.

      • wischi@programming.devOP
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        5
        ·
        11 months ago

        But the first part is called prefix even in the standard itself. I wanted to make that distinction because it’s not important what the base unit is. By speaking about prefixes instead of the unit as a whole I wanted to make it clear that you can (at least in theory) use any base unit. So everything I said about KiB and kB is also true for Kib and kb and even for kK (kilokelvin) and KiB (kibikelvin) 🤣

    • Deconceptualist@lemm.ee
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      11 months ago

      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- ©, 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.

      • wischi@programming.devOP
        link
        fedilink
        English
        arrow-up
        2
        ·
        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.