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.

  • onlinepersona@programming.dev
    link
    fedilink
    English
    arrow-up
    29
    arrow-down
    6
    ·
    edit-2
    11 months ago

    Hard drive manufacturers know exactly what they’re doing. It’s like selling something that’s 1 fluid ounce, but not saying “this is an imperial fluid ounce” --> ~2ml less than what a US food labeling ounce is. Sell 1k, 1M, 2G fluid ounces and you’re delivering less liquid than people would expect.

    The same goes for any other unit that can be ambiguous. See the imperial vs US measurement systems.

    Your entire argument seems to be based on kilo = 1000, kibi = 1024, which is technically correct (inb4 “best kind of correct”), but when you format a 256GB drive and find out that you don’t actually have 256GB available (even including filesystem headers etc.) it benefits the manufacturer.

    You probably don’t work for a HD manufacturer, which is why I’m jokingly calling you a shill.

    CC BY-NC-SA 4.0

    • Phrodo_00@lemmy.world
      link
      fedilink
      English
      arrow-up
      10
      arrow-down
      3
      ·
      11 months ago

      when you format a 256GB drive and find out that you don’t actually have 256GB

      Most of the time you have at least 256GB. It’s just you 256GB=238.4GiB, and windows reports GiB but calls them GB. You wouldn’t have that problem in Mac OS that counts GB properly, or gnome that counts GiB and calls them GiB.

      (This is ignoring the few MB that takes to format a drive, but that’s also space on the disk and you’re the one choosing to partition and format the drive. If you dumped a file straight into the drive you’d get that back, but it would be kind of inconvenient)

    • wikibot@lemmy.worldB
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      3
      ·
      11 months ago

      Here’s the summary for the wikipedia article you mentioned in your comment:

      Both the British imperial measurement system and United States customary systems of measurement derive from earlier English unit systems used prior to 1824 that were the result of a combination of the local Anglo-Saxon units inherited from Germanic tribes and Roman units. Having this shared heritage, the two systems are quite similar, but there are differences. The US customary system is based on English systems of the 18th century, while the imperial system was defined in 1824, almost a half-century after American independence.

      article | about

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

      So why don’t they just label drives in Terabit instead of terabyte. The number would be even bigger. Why don’t Europeans also use Fahrenheit, with the bigger numbers the temperature for sure would instantly feel warmer 🤣

      Jokes aside. Even if HDD manufacturers benefit from “the bigger numbers” using the 1000 conversation is the objectively only correct answer here, because there is nothing intrinsically base 2 about hard drives. You should give the blog post a read 😉

      • silly goose meekah@lemmy.world
        link
        fedilink
        English
        arrow-up
        22
        arrow-down
        5
        ·
        11 months ago

        there is nothing intrinsically base 2 about hard drives

        did you miss the part where those devices store binary data?

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

          Binary prefixes (the ones with 1024 conversations) are used to simplify numbers that are exact powers of two - for example RAM and similar types of memory. Hard drive sizes are never exact powers of two. Disk storing bits don’t have anything to do with the size of the disk.

          • silly goose meekah@lemmy.world
            link
            fedilink
            English
            arrow-up
            8
            arrow-down
            2
            ·
            11 months ago

            sure, but one of the intrinsic properties of binary data is that it is in binary sized chunks. you won’t find a hard drive that stores 1000 bits of data per chunk.

            • abhibeckert@lemmy.world
              link
              fedilink
              English
              arrow-up
              4
              arrow-down
              2
              ·
              edit-2
              11 months ago

              The “chunk” is often 32,768 bits these days and it never matches the actual size of the drive.

              A 120 GB drive might actually be closer to 180 GB when it’s brand new (if it’s a good drive - cheap ones might be more like 130 GB)… and will get smaller as the drive wears out with normal use. I once had a HDD go from 500 GB down to about 50 GB before I stopped using it - it was a work computer and only used for email so 50 GB was when it actually started running out of space.

              HDD / SSD sellers are often accused of being stingy - but the reality is they’re selling a bigger drive than what you’re told you’re getting.

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

              Look up the exact number of bytes and then explain to me what the benefits are of using 1024 conversations instead of 1000 for a hard drive?

      • wewbull@feddit.uk
        link
        fedilink
        English
        arrow-up
        16
        arrow-down
        1
        ·
        11 months ago

        there is nothing intrinsically base 2 about hard drives

        Yes there is. The addressing protocol. Sectors are 512 (2⁹) bytes, and there’s an integer number of them on a drive.

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

          That’s true but the entire disk size is not an exact power of two that’s why binary prefixes (1024 conversation) don’t have any benefit whatsoever when it comes to hard drives. With memory it’s a bit different because other than with storage devices RAM size is always exactly a power of two.