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.

  • AlolanYoda@mander.xyz
    link
    fedilink
    English
    arrow-up
    85
    arrow-down
    9
    ·
    edit-2
    6 months ago

    A lot of people are replying as if OP asked a question. It’s a link to a blog post explaining why a kilobyte is 1000 and not 1024 bytes (exactly as the title says!). OP knows the answer, in fact they know it so well they wrote an extensive post about it.

    Thank you for the write up! You should re-check the spelling and grammar as some sections had some troubles. I have a sentence I need to go to the post to get, so let me edit this later!

    Edit: the second half of this sentence is a mess: “The factors don’t solely consist of twos, but ten are certainly lot of them.” Otherwise nothing jumped out at me but I would reread it just in case!

    • logicbomb@lemmy.world
      link
      fedilink
      English
      arrow-up
      32
      arrow-down
      1
      ·
      6 months ago

      I also assume that people are answering that way because they thought it was a question.

      However, it’s also possible that they saw it described as a 20 minute read, and knew that the answer actually takes about 10 seconds to read, and figured that they’d save people 19 minutes and 50 seconds.

      • Hyperreality@kbin.social
        link
        fedilink
        arrow-up
        4
        arrow-down
        7
        ·
        6 months ago

        However, it’s also possible that they saw it described as a 20 minute read

        Bit of a tangent and anecdotal, but I went back in to higher education a few years ago. I’m middle-aged, I was surrounded by younger people. We’re asked to read an article, everyone starts reading. I read it through, underline the important bits, I’m done reading. I look around. Everyone’s still reading. Oh well, they’ll be done soon. Nope. I think it took most of them 15 minutes to read an article I’d read in under 5. I was a bit perplexed. This is higher education, these aren’t idiots, these are people who should be able to read articles quickly.

        There are plenty of reports of functional literacy decreasing. That children are slower at reading and are less able to understand what they’ve read. Anecdotally, it seems like younger generations really aren’t used to reading longer articles anymore. I grew up reading books as a kid. That’s what we did before phones and the internet. I wonder if younger generations simply don’t have that much experience reading, which is why it takes them so long to read, which is why they read even less.

        In the case of this article, they see 20 minutes, they’re scared off. So they simply guess what was in the article. That’s pretty worrying if that’s what people do. If you’re unable or unwilling to read longer stuff, you’re likely to make ill informed choices or be more easily influenced.

        • Ook the Librarian@lemmy.world
          link
          fedilink
          English
          arrow-up
          10
          arrow-down
          1
          ·
          6 months ago

          I read slowly. It sucks, but it’s not from lack of experience or lack of education. Reading speed seems a weird metric to start wondering if people lack intelligence.

          Being able to read quickly is a valuable skill. I don’t think I could handle jobs like editing, policy making, or lawyering simply because there are not enough hours in the day to make up for my reading deficit.

          Of course, your anecdote is about a group, and mine is about one person. But the sweeping conclusion (if even it isn’t a firm one) on generations irks me. Every generation has its outliers. There will never be a generation without hardworking geniuses in every active field. As far as I know, you are an outlier in your generation, and the comparison simply fails. Maybe peers you knew personally didn’t get the cold judgment of intelligence by reading speed that you are applying to kids you don’t have a relationship with.

          I don’t know. I will never dismiss the importance of reading. But you sound like Lucy here.

          • logicbomb@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            6 months ago

            I read relatively slowly, but I have the ability to read much faster. I simply like reading more slowly. I have this weird suspicion that people who read very quickly are getting information more quickly, but that they’re either not absorbing it fully, or they’re not enjoying it as much as I do. But that’s obviously a biased perspective.

        • The Pantser@lemmy.world
          link
          fedilink
          English
          arrow-up
          12
          arrow-down
          4
          ·
          6 months ago

          TLDR: old person went back to school and reads faster than younger people, thinks younger people don’t know how to read quickly.

        • abhibeckert@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          3
          ·
          6 months ago

          they see 20 minutes, they’re scared off

          I’m not “scared off”. I’m on Lemmy to have discussions, not to read articles. If I want to read articles I’ll get a magazine.

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

        It’s true that the actual “story” is very short. 1 kB is 1000 bytes and 1 KiB is 1024 bytes. But the post is not about this, but about why calling 1024 a kilobyte always was wrong even in a historical context and even though almost everybody did that.

        • logicbomb@lemmy.world
          link
          fedilink
          English
          arrow-up
          15
          ·
          6 months ago

          It’s true that the actual “story” is very short. 1 kB is 1000 bytes and 1 KiB is 1024 bytes. But the post is not about this, but about why calling 1024 a kilobyte always was wrong even in a historical context and even though almost everybody did that.

          Yes. But it does raise the question of why you didn’t say that in either your title:

          Why a kilobyte is 1000 and not 1024 bytes

          or your description:

          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.

          The title and description were your two chances to convince people to read your article. But what they say is that it’s a 20 minute read for 10 seconds of information. There is nothing that says there will be historical context.

          I get that you might want to make the title more clickbaitey, but why write a description out if you’re not going to tell what’s actually in the article?

          So, that’s my feedback. I hope this helps.

          One other bit of closely-related feedback, for your writing, in general. Always start with the most important part. Assume that people will stop reading unless you convince them otherwise. Your title should convince people to read the article, or at least to read the description. The very first part of your description is your chance to convince people to click through to the article, but you used it to tell an anecdote about why you wrote the article.

          I’m the kind of person who often reads articles all the way through, but I have discovered that most people lose interest quickly and will stop reading.

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

            I tried to make the title the exact opposite of clickbait. There are no unanswered questions on purpose. No “Find out if a kilobyte is 1024 bytes or 1000 bytes”. I think people are smart enough that I not just reiterate for 20min why a kilobyte is 1000 bytes but instead go into more details.

            The main problem is probably that people won’t sacrifice 20min of there time on something they are not sure if it’s a good read but the only thing I can do is trying to encourage them to read it anyway.

            There are not ads, no tracking, no cookies, no login, no newsletter, no paywall. I don’t benefit if you read it. I’d like to clear up misconceptions but I can’t force people to read it.

            • logicbomb@lemmy.world
              link
              fedilink
              English
              arrow-up
              7
              arrow-down
              1
              ·
              6 months ago

              I don’t benefit if you read it.

              You don’t benefit financially, but there are other benefits. For example, you specifically asked for feedback, and you have received some.

              • wischi@programming.devOP
                link
                fedilink
                English
                arrow-up
                1
                arrow-down
                6
                ·
                6 months ago

                I don’t get feedback just because you read it. I’m thankful for feedback but my sentence was accurate. I don’t benefit if you read it.

                • logicbomb@lemmy.world
                  link
                  fedilink
                  English
                  arrow-up
                  3
                  arrow-down
                  2
                  ·
                  6 months ago

                  Every part of your comment has something factually wrong or fallacious.

                  I don’t get feedback just because you read it.

                  My reading the part I am giving feedback on is a prerequisite for actually giving feedback. I am obviously a person who graciously responded to your request, not somebody that you somehow ordered to give feedback. I don’t know what you think you gain from viewing it this way.

                  I’m thankful for feedback but my sentence was accurate.

                  I didn’t say it was inaccurate, but that it didn’t tell people why to read the article. You didn’t ask me to tell you inaccuracies. You asked for “feedback”. You also don’t seem to be thankful, because if you were thankful, you’d simply accept the feedback instead of throwing up straw-man arguments.

                  I don’t benefit if you read it.

                  You have exactly repeated your previous statement that I already proved wrong.

                  I will offer you one last piece of feedback. Just stop arguing. You can never look gracious pursuing an argument where you ask for advice and then argue with people who took time out of their day to help you.

                  Upvotes and downvotes don’t determine whether people are factually right, but they do help you gauge what people think when they read your comments, and what I’m seeing is that you’re not ingratiating yourself to the people who you are asking to read your article. Even if you could win this argument, and you can’t, you wouldn’t want to, because you’d look bad in doing so. When you ask for feedback, and feedback is given, just graciously accept it. If it’s bad feedback, then just ignore it.

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

      Thank you very much. I’ll try to fix that sentence later. I’m not a native speaker so it’s not always obvious for me when a sentence doesn’t sound right even though I pass sentences I’m not sure about through spell checks, MS Word grammar check and chat gpt 🤣

    • Mr_Dr_Oink@lemmy.world
      link
      fedilink
      English
      arrow-up
      8
      arrow-down
      1
      ·
      6 months ago

      This is a great example of how a lot of people dont read the posts they are replying to.

      This is even more prevalent when arguments break out in the comments where people misunderstand each other or argue about things that one side said that they qualified later in the original comment but the other side didnt read the whole comment and instead hyperfocused on that one sentence that really garbled their goolies.

      I trust that none of these people would have read the article even if they had realised it was there.

      P.s. i fully agree with you. It’s a great blog post. Good write-up. Very informative. The only quibble i have is that I’ve always loved the words mebibyte, gibibyte, etc.

    • NekuSoul@lemmy.nekusoul.de
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      2
      ·
      6 months ago

      A lot of people are replying as if OP asked a question.

      I think part of that is because outgoing links without a preview image are really easy to confuse with text-only posts, particularly because Reddit didn’t allow adding both a text and a link simultaneously. Though in this case the text should’ve tipped people off that there’s a link as well.

      As for the actual topic, I agree with OP. I often forget to do it right when speaking, but I try to at least get it right when writing.

  • billwashere@lemmy.world
    link
    fedilink
    English
    arrow-up
    59
    arrow-down
    8
    ·
    6 months ago

    Well it’s because computer science has been around for 60+ years and computers are binary machines. It was natural for everything to be base 2. The most infuriating part is why drive manufacturers arbitrarily started calling 1000 bytes a kilobyte, 1000 kilobytes a megabyte, and 1000 megabytes a gigabyte, and a 1000 gigabytes a terabyte when until then a 1 TB was 1099511627776 bytes. They did this simply because it made their drives appear 10% bigger. So good ol’ shrinkflation. You could make drives 10% smaller and sell them for the same price.

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

      If a hard drive has exactly 8’269’642’989’568 bytes what’s the benefit of using binary prefixes instead of decimal prefixes?

      There is a reason for memory like caches, buffer sizes and RAM. But we don’t count printer paper with binary prefixes because the printer communication uses binary.

      There is no(!) reason to label hard drive sizes with binary prefixes.

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

      Pretty obvious that you didn’t read the article. If you find the time I’d like to encourage you to read it. I hope it clears up some misconceptions and make things clearer why even in those 60+ years it was always intellectually dishonest to call 1024 byte a kilobyte.

      You should at least read “(Un)lucky coincidence”

      • λλλ@programming.dev
        link
        fedilink
        English
        arrow-up
        12
        arrow-down
        23
        ·
        edit-2
        6 months ago

        kilobit = 1000 bits. Kilobyte = 1000 bytes.

        How is anything about that intellectually dishonest??

        The only ones being dishonest are the drive manufacturers, like the person above said. They sell storage drives by advertising them in the byte quantity but they’re actually in the bit quantity.

        • locuester@lemmy.zip
          link
          fedilink
          English
          arrow-up
          28
          arrow-down
          6
          ·
          edit-2
          6 months ago

          They sell storage drives by advertising them in the byte quantity but they’re actually in the bit quantity.

          No, they absolutely don’t. That’d be off by 8x.

          The subject at hand has nothing to do with bits. Please, read what OP posted. It’s about 1024 vs 1000

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

          Calling 1024 a kilo is intellectually dishonest. Your conversation is perfectly fine.

  • rockSlayer@lemmy.world
    link
    fedilink
    English
    arrow-up
    48
    arrow-down
    5
    ·
    edit-2
    6 months ago

    I genuinely don’t understand your disdain for using base 2 on something that calculates in base 2. Do you know how counting works in binary? Every byte is made up of 8 bits, and goes from 0000 0000 to 1111 1111, or 0-15. When converted to larger scales, 1024 bytes is a clean mathematical derivation in base 2, 1000 is a fractional number. Your pedantry seems to hinge on the use of the prefix right? I think 1024 is a better representation of kilo- in base 2, because a kilo- can be directly translated up to exabytes and down to nybbles while “1000” in base 2 is extremely difficult. The point of metric is specifically to facilitate easy measuring, right? So measuring in the units that the computer uses makes perfect sense. It’s like me saying that a kilogram should be measured in base 60, because that was the original number system.

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

      Did you read the post? The problem I have is redefining the kilo because of a mathematical fluke.

      You certainly can write a mass in base 60 and kg, there is nothing wrong about that, but calling 3600 gramm a “kilogram” because you think it’s convenient that 3600 (60^2) is “close to” 1000 so you just call it a kilogram, because that’s exactly what’s happening with binary and 1024.

      If you find the time you should read the post and if not at least the section “(Un)lucky coincidence”.

      • rockSlayer@lemmy.world
        link
        fedilink
        English
        arrow-up
        27
        arrow-down
        4
        ·
        edit-2
        6 months ago

        I started reading it, but the disdain towards measuring in base 2 turned me off. Ultimately though this is all nerd rage bait. I’m annoyed that kilobytes aren’t measured as 1024 anymore, but it’s also not a big deal because we still have standardized units in base 2. Those alternative units are also fun to say, which immediately removes any annoyance as soon as I say gibibyte. All I ask is that I’m not pedantically corrected if the discussion is about something else involving amounts of data.

        I do think there is a problem with marketing, because even the most know-nothing users are primed to know that a kilobyte is measured differently from a kilogram, so people feel a little screwed when their drive reads 931GiB instead of 1TB.

        • bigredgiraffe@lemmy.world
          link
          fedilink
          English
          arrow-up
          6
          ·
          edit-2
          6 months ago

          Yeah I’m with you, I read most of it but I just don’t know where the disdain comes from. At most scales of infrastructure anymore you can use them interchangeably because the difference is immaterial in practical applications.

          Like if I am going to provision 2TB I don’t really care if it’s 2000 or 2048GB, I’ll be resizing it when it gets to 1800 either way, and if I needed to actually store 2TB I would create a 3TB volume, storage is cheap and my time calculating the difference is not.

          Wait until you learn about how different fields use different precision levels of pi.

  • HubertManne@kbin.social
    link
    fedilink
    arrow-up
    36
    arrow-down
    4
    ·
    6 months ago

    I was confused when I just read the headline. Should be “Why I (that would be you not me) think a kilobyte should be 1000 instead of 1024”. Unpopular opinion would be a better sub for it.

      • silly goose meekah@lemmy.world
        link
        fedilink
        English
        arrow-up
        33
        arrow-down
        7
        ·
        6 months ago

        It totally is a matter of opinion. These are arbitrary rules, made up by us. We can make up whatever rules we want to.

        I agree that it’s weird that only in CS kilo means 1024. It would be logical to change that, to keep consistency across different fields of science. But that does not make it any less a matter of opinion.

      • HubertManne@kbin.social
        link
        fedilink
        arrow-up
        12
        arrow-down
        4
        ·
        6 months ago

        I know there is no option as 1024 is what the standard is now. Im not reading that anymore than someone saying how a red light really means go.

        • abhibeckert@lemmy.world
          link
          fedilink
          English
          arrow-up
          15
          arrow-down
          4
          ·
          6 months ago

          1024 is not the standard. The standard term for 1024 is “kibi” or “Ki” and the standard term for 1000 is “kilo” and has been since the year 1795.

          There was a convention to use kilo for 1024 in the early days of computing since the “kibi” term didn’t exist until 1998 (and took a while to become commonly used) — but that convention was always recognised as an incorrect use of the term. People just didn’t care much especially since kilobytes were commonly rounded anyway. A 30,424 byte file is 29.7109375 kibibytes or 30.424 kilobytes… both will likely be rounded to 30 either way, so who cares if it’s slightly wrong? Just use bytes if you need to know the exact size.

          Also - hard drives, floppy disks, etc have always referred to their size in base 1000 numbers so if you were working with 30KB in the early days of computers it was very rarely RAM. A PDP-11 computer, for example, might have only had 8196 bytes of RAM (that’s 8 kibibytes).

          There are some places where the convention is still used and it can be pretty misleading as you work with larger numbers. For example 128 gigs equals 128,000,000,000 bytes (if using the correct 1000 unit) or 137,438,953,472 bytes (if kilo/mega/giga = 1024).

          The “wrong” convention is commonly still used for RAM chips. So a 128GB RAM chip is significantly larger than a 128GB SSD.

          • Martin@feddit.nu
            link
            fedilink
            English
            arrow-up
            1
            ·
            6 months ago

            Also - hard drives, floppy disks, etc have always referred to their size in base 1000 numbers

            That is not true. For a long time everything (computer related) was in the base 2 variants. Then the HD manufacturers changed so their drives would appear larger than they actually were (according to everyone’s notions of what kn/mb/gb meant). It was a marketing shrinkflation stunt.

  • Tatters@lemmy.world
    link
    fedilink
    English
    arrow-up
    33
    arrow-down
    1
    ·
    6 months ago

    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”.

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

        • wischi@programming.devOP
          link
          fedilink
          English
          arrow-up
          3
          arrow-down
          4
          ·
          6 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) 🤣

      • onlinepersona@programming.dev
        link
        fedilink
        English
        arrow-up
        22
        arrow-down
        4
        ·
        edit-2
        6 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
          5
          arrow-down
          2
          ·
          6 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
          2
          ·
          6 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
          4
          arrow-down
          19
          ·
          edit-2
          6 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
            16
            arrow-down
            3
            ·
            6 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
              3
              arrow-down
              12
              ·
              6 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
                7
                arrow-down
                2
                ·
                6 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
                  6 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
                  4
                  ·
                  6 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
            11
            arrow-down
            1
            ·
            6 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
              10
              ·
              6 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.

  • shotgun_crab@lemmy.world
    link
    fedilink
    English
    arrow-up
    24
    arrow-down
    4
    ·
    edit-2
    6 months ago

    A kilobyte (kB) is 1000 bytes, that’s what the prefix kilo means. A kibibyte (KiB) is 1024 bytes (the “bi” in the prefix means base 2 or binary). People often confuse them, but they’re similar enough for smaller units, 10^3 ~ 2^10.

    Oh and at first, kilobyte was used for both amounts, which is why kibibytes were introduced to fix the confusion, which perhaps was a bit late anyway.

    • wischi@programming.devOP
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      30
      ·
      6 months ago

      True and that’s what the article is about. You should check out the interactive diagram in the “(Un)lucky coincidence” section.

  • DrPop@lemmy.ml
    link
    fedilink
    English
    arrow-up
    26
    arrow-down
    8
    ·
    6 months ago

    I know it’s already been explained but here is a visualization of why.

    0 2 4 8 16 32 64 128 256 512 1024

    • wischi@programming.devOP
      link
      fedilink
      English
      arrow-up
      6
      arrow-down
      40
      ·
      6 months ago

      Did you read the blog post? If you don’t find the time you should at least read “(Un)lucky coincidence” to see why it’s not (and never was) a bright idea to call 1024 “a kilo”.

      • pirrrrrrrr@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        6 months ago

        Dude you’re pretty condescending for a new author on an old topic.

        Yeah I read it and it’s very over worded.

        1024 was the closest binary approximation of 1000 so that became the standard measurement. Then drive manufacturers decided to start using decimal for capacity because it was a great way to make numbers look better.

        Then the IEC decided “enough of this confusion” and created binary naming standards (kibi gibi etc…) and enforced the standard decimal quantity values for standard names like kilo-.

        It’s not ground breaking news and your constant arguing with people in the thread paints you as quite immature. Especially when plenty of us remember the whole story BECAUSE WE LIVED IT AS IT PROFESSIONALS.

        We lacked a standard, a system was created. It was later changed to match global standard values.

        You portray it with emotive language making decisions out to be stupid, or malicious. A decision was made that was perfectly sensible at the time. It was then improved. Some people have trouble with change.

        Your writing and engagement styles scream of someone raised on clickbait news. Focus on facts, not emotion and sensationalism if you want to be taken seriously in tech writing.

        Focus on emotion and bullshit of you want to work for BuzzFeed.

        And if you just want an argument go use bloody twitter.

  • ndupont@lemmy.world
    link
    fedilink
    English
    arrow-up
    30
    arrow-down
    14
    ·
    edit-2
    6 months ago

    Because a kilo is 1000. That’s why you have kibi, mebi, gibi binary prefixes for those times where 1024 (power of 2’s) matter.

  • Melllvar@startrek.website
    link
    fedilink
    English
    arrow-up
    16
    arrow-down
    2
    ·
    6 months ago

    Because SI prefixes are always powers of the base. Base 10 is the most common, but that’s more human psychology that math.

      • Victor@lemmy.world
        link
        fedilink
        English
        arrow-up
        6
        ·
        6 months ago

        I think they mean it’s easier to refer to powers of 1000 with the SI units, rather than of 1024 as with Kibi and the lot. Especially higher up in the prefixes, because it starts to diverge more and more from the expected value.

    • ares35@kbin.social
      link
      fedilink
      arrow-up
      5
      arrow-down
      1
      ·
      6 months ago

      that’s what it was initially, reporting decimal ‘megabytes’ for hdd capacity. lawsuits and settlements followed.

      the dust settled and what we have now is disclaimers on storage products (from the legal settlements) and they continue to use ‘decimal’ measurements…

      and we also a different set of prefixes for ‘binary’ units of measurements (standards body trying to address the problem of confusion): kibi, mebi, gibi, tebi, pebi, exbi; which are not widely used yet… the ‘old’ ones are for decimal but still commonly used for binary.

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

      Did you read the blog post? It’s not a scam. HDD vendors might profit from “bigger numbers” but using the units they do is objectively the only sensible and correct option. It’s like saying that the weather report is in Fahrenheit because in Celsius the numbers would be lower and feel somehow colder 🤣

      If it would be about bigger numbers why don’t HDD manufacturers just use Terabit instead of terabyte? The “bigger number” argument is not a good one.

      • TrickDacy@lemmy.world
        link
        fedilink
        English
        arrow-up
        8
        arrow-down
        1
        ·
        6 months ago

        Because it’s much easier to mistake a number for a somewhat close number than one that is orders of magnitude different…

        I’ll try to read the article later but the reality is that HDD manufacturers could help customers disambiguate but that would hurt their bottom line so they don’t.

      • Digital Mark@lemmy.ml
        link
        fedilink
        English
        arrow-up
        2
        ·
        6 months ago

        Videogame companies literally did use “megabit” when the truth was “128KiB”, because it sounded better. Actual computer companies were still listing binary power numbers, because buyers had more to invest and care about accuracy.

        You say “sensible”, but it’s lying for profit.

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

      KiB and MiB are not SI prefixes but IEC binary prefixes but the names are derived from the SI names for simplicity.

  • ben_dover@lemmy.world
    link
    fedilink
    English
    arrow-up
    9
    ·
    6 months ago

    you can’t ask for feedback, then attack everyone who doesn’t share your opinion with “did you read it?”, that’s not cool…

  • Australis13@fedia.io
    link
    fedilink
    arrow-up
    8
    arrow-down
    1
    ·
    6 months ago

    This whole mess regularly frustrates me… why the units can’t be used consistently?!

    The other peeve of mine with this debacle is that drive capacities using SI units do not use the full available address space (since it’s binary). Is the difference between 250GB and 256GiB really used effectively for wear-levelling (which only applies to SSDs) or spare sectors?

      • Australis13@fedia.io
        link
        fedilink
        arrow-up
        5
        ·
        6 months ago

        Of course. The thing is, though, that if the units had been consistent to begin with, there wouldn’t be anywhere near as much confusion. Most people would just accept MiB, GiB, etc. as the units on their storage devices. People already accept weird values for DVDs (~4.37GiB / 4.7GB), so if we had to use SI units then a 256GiB drive could be marketed as a ~275GB drive (obviously with the non-rounded value in the fine print, e.g. “Usable space approx. 274.8GB”).

        • wewbull@feddit.uk
          link
          fedilink
          English
          arrow-up
          2
          ·
          6 months ago

          They were consistent until around 2005 (it’s an estimate) when drives got large enough where the absolute difference between the two forms became significant. Before that everyone is computing used base 2 prefixes.

          I bet OP does too when talking about RAM.

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

        It’s not as simple as that. A lot of “computer things” are not exact powers of two. A prominent example would be HDDs.

        • Lmaydev@programming.dev
          link
          fedilink
          English
          arrow-up
          9
          arrow-down
          2
          ·
          edit-2
          6 months ago

          In terms of storage 1000 and 1024 take the same amount of bytes bits to represent. So from a computer point of view 1024 makes a lot more sense.

          It’s just a binary Vs decimal thing. 1000 is not nicely represented in binary the same as 1024 isn’t in decimal.

          Edit: was talking about storing the actual number.

          • abhibeckert@lemmy.world
            link
            fedilink
            English
            arrow-up
            3
            ·
            6 months ago

            In terms of storage 1000 and 1024 take the same amount of bytes.

            What? No. A terabyte in 1024 units is 8,796,093,022,208 bits. In 1000 units it’s 8,000,000,000,000 bits.

            The difference is substantial with larger numbers.

            • Lmaydev@programming.dev
              link
              fedilink
              English
              arrow-up
              1
              arrow-down
              1
              ·
              edit-2
              6 months ago

              Both require the same amount of bits again. So the second one makes more sense for a computer.

    • nous@programming.dev
      link
      fedilink
      English
      arrow-up
      8
      ·
      6 months ago

      Huh? What does how a drive size is measured affect the available address space used at all? Drives are broken up into blocks, and each block is addressable. This is irrelevant of if you measure it in GB or GiB and does not change the address or block size. Hell, you have have a block size in binary units and the overall capacity in SI units and it does not matter - that is how it is typically done with typical block sizes being 512 bytes, or 4096 (4KiB).

      Or have anything to do with ware leveling at all? If you buy a 250GB SSD then you will be able to write 250GB to it - it will have some hidden capacity for ware-leveling, but that could be 10GB, 20GB, 50GB or any number they want. No relation to unit conversions at all.

      • Australis13@fedia.io
        link
        fedilink
        arrow-up
        2
        arrow-down
        2
        ·
        edit-2
        6 months ago

        Huh? What does how a drive size is measured affect the available address space used at all? Drives are broken up into blocks, and each block is addressable.

        Sorry, I probably wasn’t clear. You’re right that the units don’t affect how the address space is used. My peeve is that because of marketing targeting nice round numbers, you end up with (for example) a 250GB drive that does not use the full address space available (since you necessarily have to address to up 256GiB). If the units had been consistent from the get-go, then I suspect the average drive would have just a bit more usable space available by default.

        My comment re wear-levelling was more to suggest that I didn’t think the unused address space (in my example of 250GB vs 256GiB) could be excused by saying it was taken up by spare sectors.

        • nous@programming.dev
          link
          fedilink
          English
          arrow-up
          1
          ·
          6 months ago

          (for example) a 250GB drive that does not use the full address space available

          Current drives do not have different sized addressable spaces and a 256GiB drive does not use the full address space available. If it did then that would be the maximum size a drive could be. Yet we have 20TB+ drives and even those are no where near the address size limit of storage media.

          then I suspect the average drive would have just a bit more usable space available by default.

          The platter size might differ to get the same density and the costs would also likely be different. Likely resulting in a similar cost per GB, which is the number that generally matters more.

          My comment re wear-levelling was more to suggest that I didn’t think the unused address space (in my example of 250GB vs 256GiB) could be excused by saying it was taken up by spare sectors.

          There is a lot of unused address space - there is no need to come up with an excuse for it. It does not matter what size the drive is they all use the same number of bits for addressing the data.

          Address space is basically free, so not using it all does not matter. Putting in extra storage that can use the space does cost however. So there is no real relation between the address spaces and what space is on a drive and what space is accessible to the end user. So it makes no difference in what units you use to market the drives on.

          Instead the marketing has been incredibly consistent - way back to the early days. Physical storage has essentially always been labeled in SI units. There really is no marketing conspiracy here. It just that is they way it was always done. And why it was picked that way to begin with? Well, that was back in the day when binary units where not as common and physical storage never really fit the doubling pattern like other components like ram. You see all sorts of random sizes in early storage media so SI units I guess did not feel out of place.

    • abhibeckert@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      6 months ago

      The other peeve of mine with this debacle is that drive capacities using SI units do not use the full available address space (since it’s binary).

      The “full available address space” goes down as the drive gets older and bad sectors are removed.

      With a good drive, it might take ten or more years before you actually see the “size” of the drive shrink, but that’s mostly because you 500GB drive actually had something like 650GB of storage when it was brand new.