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.

  • @[email protected]
    link
    fedilink
    English
    5
    edit-2
    1 year ago
    • Kilobyte is 2^10 bytes or about a thousand bytes within a few reasonably significant digits.
    • Megabyte is 2^20 bytes or about a thousand megabytes within a few reasonably significant digits.
    • Terabyte is 2^30 bytes or about a a thousand megabytes within a few reasonably significant digits.

    The binary storage is always going to be a translation from a binary base to a decimal equivalent. So the shorthand terms used to refer to a specific and long integer number should comes as absolutely no surprise. And that’s just it; they’re just a shorthand, slang jargon that caught on because it made sense to anyone that was using it.

    Your whole article just makes it sound like you don’t actually understand the math, the way computers actually work, linguistics, or etymology very well. But you’re not really here for feedback are you. The whole rant sounds like a reaction to a bad grade in a computer science 101 course.

    • @[email protected]
      link
      fedilink
      English
      21 year ago

      But on packaging of a disc it’s misleading when they say gigabytes but mean gibibytes. These are technical terms with specific meaning. Kilo— means a factor of 1000, not “1000 within a couple of sig figs”

      • @[email protected]
        link
        fedilink
        English
        11 year ago

        They don’t advertise gigabytes or terabytes on the packaging though. They advertise gigabits and terabits, a made up marketing term that sounds technical and means almost nothing. If you want to rant against something, get angry with marketers using intentionally misleading terminology like this.

        • @[email protected]
          link
          fedilink
          English
          11 year ago

          I don’t think I have seen anything advertised with bits other than network speed.

          Though some mistakenly use “b” to mean bytes where the correct symbol is “B”

          GB, TB, PB are in millions of-, thousands of millions of-, and millions of millions of- bytes respectively

          If you buy ram though, you’ll buy a package that says 32GB but it will not have 32 million bytes.

    • TheMurphy
      link
      fedilink
      English
      51 year ago

      I believe it’s because you always use bytes in pairs in a computer. If you always pair the pairs, you would eventually get the number 1024, which is the closest number to a 1000.

      The logic is like this:

      2+2 = 4

      4+4 = 8

      8+8 = 16

      16+16 = 32

      32+32 = 64

      64+64 = 128

      128+128 = 256

      256+256 = 512

      512+512 = 1024

      • PupBiru
        link
        fedilink
        5
        edit-2
        1 year ago

        not exactly because of pairs unless you’re talking about 1 and 0 being a pair… it’s because the maximum number you can count in binary doubles with each additional bit you add:

        with 1 bit, you can either have 0 or 1… which is, unsurprisingly perhaps, 0 and 1 respectively - 2 numbers

        with 2 bits you can have 00, 01, 10, 11… which is 0, 1, 2, 3 - 4 numbers

        with 3 bits you can have 000, 001, 010, 011, 100, 101, 110, 111… which is 0 to 7- 8 numbers

        so you see the pattern: add a bit, double the number you can count to… this is the “2 to the power of” that you might see: with 8 bits (a byte) you can count from 0 to 255 - that’s 2 (because binary has 2 possible states per digit) to the power of 8 (because 8 digits); 8^2

        the same is true of decimal, but instead of to the 2 to the power, it’s 10 to the power: with each additional digit, you can count 10 x as many numbers - 0-9 for 1 digit, 00-99 for 2 digits, 000-999 for 3 digits - 10^1, 10^2, 10^3 respectively

        and that’s the reason we use hexadecimal sometimes too! we group bits into groups of 8 and call it a byte… hexadecimal is base 16, so nicely lets us represent a byte with just 2 characters - 16^2 = 256 = 2^8

    • Kalkaline
      link
      fedilink
      English
      21 year ago

      Harvard’s CS50 has a great explanation on it. Makes a ton of sense. In fact CS50 should be required for high school, people would have a much better understanding of how software works in general.

        • Kalkaline
          link
          fedilink
          English
          41 year ago

          Exploring concepts that aren’t familiar to you can help you with other issues in your daily life. It helps you problem solve from a new perspective.

    • Humanius
      link
      fedilink
      English
      26
      edit-2
      1 year ago

      Short answer: It’s because of binary.
      Computers are very good at calculating with powers of two, and because of that a lot of computer concepts use powers of two to make calculations easier.

      1024 = 210

      Edit: Oops… It’s 210, not 27
      Sorry y’all… 😅

        • enkers
          link
          fedilink
          English
          3
          edit-2
          1 year ago

          Or seximal!

          Not that 1024 would be any better, as it’s 4424 in base 6.

      • insomniac_lemon
        link
        fedilink
        4
        edit-2
        1 year ago

        Just to add, I would argue that by definition of prefixes it is 1000.

        However there are other terms to use, in this case Kibibyte (kilo binary byte, KiB instead of just KB) that way you are being clear on what you actually mean (particularly a big difference with modern storage/file sizes)

        EDIT: Of course the link in the post goes over this, I admit my brain initially glossed over that and I thought it was a question thread

      • @[email protected]
        link
        fedilink
        English
        1
        edit-2
        1 year ago

        To add to that, computers are great with powers of 2 because they work with bits. Each bit represents 2 values (0 or 1). That’s why computers have an easier time represting 1024, which is 2^10 (10 bits) instead of 1000, which isn’t a power of 2

    • @[email protected]
      link
      fedilink
      English
      4
      edit-2
      1 year ago

      “Kilo” means 1000 under the official International System of Units.

      With some computer hardware, it’s more convenient to use 1024 for a kilobyte and in the early days nobody really cared that it was slightly wrong. It has to do with the way memory is physically laid out in a memory chip.

      These days, people do care and the correct term for 1024 is “Kibi” (kilo-binary). For example Kibibyte. There’s also Gibi, Tebi, Exbi, etc.

      It’s mostly CPUs that use 1024 - and also RAM because it’t tightly coupled to the CPU. The internet, hard drives, etc, usually use 1000 because they don’t have any reason to use a weird numbering system.

      • @[email protected]
        link
        fedilink
        English
        11 year ago

        Weird numbering system? Things are still stored in blocks of 8 bits at the end, it doesn’t matter.

        When it gets down to what matter on hard drives, every byte still uses 8 bits, and all other numbers for people actually working with computer science that matter are multiples of 8, not 10.

        And because all internal systems use base 8, base 10 is “slower” (not that it matters any longer.

      • Hyperreality
        link
        fedilink
        4
        edit-2
        1 year ago

        As the article mentions, windows also uses KB/MB/GB to refer to powers of 2 when calculating disk space. AFAIK Linux somes does too, although the article says otherwise. Apparently OSX uses the KB=1000 definition.

        It may be outdated, but it’s still incredibly common for people to use KB/MB/GB to refer to powers of 2 in computing. Best not to assume KB is always 1000.

        • @[email protected]
          link
          fedilink
          English
          1
          edit-2
          1 year ago

          Windows and Mac both use KB = 1000. With Linux I think it depends on the distro.

          You’re thinking of very old versions of Windows… old versions of MacOS were also 1024.

          It’s honestly irrelevant anyway - if you want to actually know how much space a file is using on disk, you should look up how many pages / sectors are being used.

          A page (on an SSD) or sector (on a HDD) is 32768 bits on most modern drives. They can’t store a file smaller than that and all of your files take up a multiple of that. A lot of modern filesystems quietly use zip compression though. Also they have snapshots and files that exist in multiple locations other shit going on which will really mess with your actual usage.

          I’m not going to run du -h / on my laptop, because it’d take forever, but I’m pretty sure it would be a number significantly larger than my actual disk. Wouldn’t surprise me if it’s 10x the size of my disk. Macs do some particularly interesting stuff in the filesystem layer - to the point where it’s hard to even figure out how much free space you have… my Home directory has 50 GB of available space on my laptop. Open the Desktop directory (which is in the Home directory…) and the file browser shows 1.9 TB of available space.

  • Australis13
    link
    fedilink
    111 year 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?

      • @[email protected]OP
        link
        fedilink
        English
        41 year 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.

        • @[email protected]
          link
          fedilink
          English
          10
          edit-2
          1 year 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.

          • @[email protected]
            link
            fedilink
            English
            41 year 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.

            • @[email protected]
              link
              fedilink
              English
              1
              edit-2
              1 year ago

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

      • Australis13
        link
        fedilink
        71 year 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”).

        • @[email protected]
          link
          fedilink
          English
          41 year 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.

    • @[email protected]
      link
      fedilink
      English
      11 year ago

      You know what else is frustrating? Time units. It’s like we’re back in the pre-SI days again. Try to compare the flow rates of two pumps when one is 123 m^3/h and the other is 1800 l/min. The French tried to fix this mess too while they were at it, but somehow we’re still stuck with this archaic mess.

    • @[email protected]
      link
      fedilink
      English
      11 year 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.

    • @[email protected]
      link
      fedilink
      English
      101 year 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
        link
        fedilink
        2
        edit-2
        1 year 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.

        • @[email protected]
          link
          fedilink
          English
          11 year 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.

  • @[email protected]
    link
    fedilink
    English
    221 year ago

    I suggest considering this from a linguistic perspective rather than a technical perspective.

    For years (decades, even), KB, MB, GB, etc. were broadly used to mean 2^10, 2^20, 2^30, etc. Throughout the 80s and 90s, the only place you would likely see base-10 units was in marketing materials, such as those for storage media and modems. Mac OS exclusively used base-2 definitions well into the 21st century. Windows, as noted in the article, still does. Many Unix/POSIX tools do, as well, and this is unlikely to change.

    I will spare you my full rant on the evils of linguistic prescriptivism. Suffice it to say that I am a born-again descriptivist, fully recovered from my past affliction.

    From a descriptivist perspective, the only accurate way to define kilobyte, megabyte, etc. is to say that there are two common usages. This is what you will see if you look up the words in any decent dictionary. e.g.:

    I don’t recall ever seeing KiB/MiB/etc. in the 90s, although Wikipedia tells me they “were defined in 1999 by the International Electrotechnical Commission (IEC), in the IEC 60027-2 standard”.

    While I wholeheartedly agree with the goal of eliminating ambiguity, I am frustrated with the half-measure of introducing unambiguous terms on one side (KiB, MiB, etc.) while failing to do the same on the other. The introduction of new terms has no bearing on the common usage of old terms. The correct thing to have done would have been to introduce two new unambiguous terms, with the goal of retiring KB/MB/etc. from common usage entirely. If we had KiB and KeB, there’d be no ambiguity. KB will always have ambiguity because that’s language, baby! regardless of any prescriptivist’s opinion on the matter.

    Sadly, even that would do nothing to solve the use of common single-letter abbreviations. For example, Linux’s ls -l -h command will return sizes like 1K, 1M, 1G, referring to the base-2 definitions. Only if you specify the non-default --si flag will you receive base-10 values (again with just the first letter!). Many other standard tools have no such options and will exclusively use base-2 numbers.

    • @[email protected]B
      link
      fedilink
      English
      51 year ago

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

      In the study of language, description or descriptive linguistics is the work of objectively analyzing and describing how language is actually used (or how it was used in the past) by a speech community.All academic research in linguistics is descriptive; like all other scientific disciplines, it seeks to describe reality, without the bias of preconceived ideas about how it ought to be. Modern descriptive linguistics is based on a structural approach to language, as exemplified in the work of Leonard Bloomfield and others. This type of linguistics utilizes different methods in order to describe a language such as basic data collection, and different types of elicitation methods.

      article | about

  • TigrisMorte
    link
    fedilink
    91 year ago

    It is only a mistake from a Human PoV. It is more efficient for the chip since 1000 bytes and 1024 bytes take up the same space. But Humans find anything not base 10 difficult.

  • @[email protected]
    link
    fedilink
    English
    161 year ago

    I was taught 1024 in my tech school. So I won’t ever refer to it as 1000 instead 1024. Not that it seems even remotely relevant though.

    • PupBiru
      link
      fedilink
      15
      edit-2
      1 year ago

      kilobyte (KB) is 1000, kibibyte (KiB) is 1024

      at least according the the IEC, and id tend to go with them… SI units say that kilo means 1000

      • @[email protected]
        link
        fedilink
        English
        251 year ago

        That was a retcon, though. Initially the SI prefixes were used and used 1024 instead of 1000. I feel like people started getting more fussy about it as hard drives started hitting hundreds of gb.

        • @[email protected]
          link
          fedilink
          English
          5
          edit-2
          1 year ago

          How do you define a recon? Were kilograms 1024 grams, too? When did that change? It seems it’s meant 1000 since metric was created in the 1700s, along with a binary prefix.

          From the looks of it, software vendors were trying to recon the definition of “kilo” to be 1024.

          • @[email protected]
            link
            fedilink
            English
            81 year ago

            Kilo was used outside of decimal power rules for data storage/memory because it could only use binary powers at smaller scales. Well, that’s the standard we went with anyway.

            They didn’t ‘retcon’ the use of kilo as applicable to other units, they went with the closest power of two. When hard drive manufacturers decided to use power of tens it confused people and eventually got standardized by making kb power of ten and kib power of two.

            From the looks of it you aren’t familiar with the situation.

            • @[email protected]
              link
              fedilink
              English
              4
              edit-2
              1 year ago

              This is all explained in the post we’re commenting on. The standard “kilo” prefix, from the metric system, predates modern computing and even the definition of a byte: 1700s vs 1900s. It seems very odd to argue that the older definition is the one trying to retcon.

              The binary usage in software was/is common, but it’s definitely more recent, and causes a lot of confusion because it doesn’t match the older and bigger standard. Computers are very good at numbers, they never should have tried the hijack the existing prefix, especially when it was already defined by existing International standards. One might be able to argue that the US hadn’t really adopted the metric system at the point of development, but the usage of 1000 to define the kilo is clearly older than the usage of 1024 to define the kilobyte. The main new (last 100 years) thing here is 1024 bytes is a kibibyte.

              Kibi is the recon. Not kilo.

              • @[email protected]
                link
                fedilink
                English
                61 year ago

                Kilo meaning 1,000 inside computer science is the retcon.

                Tell me, how much RAM do you have in your PC. 16 gig? 32 gig?

                Surely you mean 17.18 gig? 34.36 gig?

                • @[email protected]
                  link
                  fedilink
                  English
                  11 year ago

                  abhibeckert in this thread had a good point. Floppies used the power of ten prefixes, so it wasn’t particularly consistent.

                • @[email protected]
                  link
                  fedilink
                  English
                  21 year ago

                  209GB? That probably doesn’t include all of the RAM: like in the SSD, GPU, NIC, and similar. Ironically, I’d probably approximate it to 200GB if that was the standard, but it isn’t. It wouldn’t be that much of a downgrade to go to 200GB from 192GiB. Is 192 and 209 that different? It’s not much different from remembering the numbers for a 1.44MiB floppy, 1.5436Mbps T1 lines, or ~3.14159 pi approximation. Numbers generally end up getting weird: trying to keep it in binary prefixes doesn’t really change that.

                  The definition of kilo being “1000” was standard before computer science existed. If they used it in a non-standard way: it may have been common or a decent approximation at the time, but not standard. Does that justify the situation today, where many vendors show both definitions on the same page, like buying a computer or a server? Does that justify the development time/confusion from people still not understanding the difference? Was it worth the PR reaction from Samsung, to: yet again, point out the difference?

                  It’d be one thing if this confusion had stopped years ago, and everyone understood the difference today, but we’re not: and we’re probably not going to get there. We have binary prefixes, it’s long past time to use them when appropriate-- but even appropriate uses are far fewer than they appear: it’s not like you have a practical 640KiB/2GiB limit per program anymore. Even in the cases you do: is it worth confusing millions/billions on consumer spec sheets?

              • @[email protected]
                link
                fedilink
                English
                4
                edit-2
                1 year ago

                I’m not sure if you just didn’t read or what. It seems like you understand the history but are insistent on awkward characterizations of the situation.

                Kibi is the recon. Not kilo.

                I mean kibi is the retcon because it made all previous software wrong.

                They didn’t modify the use of kilo for other units - they used it as an awkward approximation with bytes. No other units were harmed in the making of these units.

                And they didn’t hijack it - they used the closest approximation and it stuck. Nobody gave a fuck until they bought a 300gb hd with 277gb of free space.

                • @[email protected]
                  link
                  fedilink
                  English
                  21 year ago

                  To me, your attempt at defending it or calling it a retcon is an awkward characterization. Even in your last reply: now you’re calling it an approximation. Dividing by 1024 is an approximation? Did computers have trouble dividing by 1000? Did it lead to a benefit of the 640KB/320KB memory split in the conventional memory model? Does it lead to a benefit today?

                  Somehow, every other computer measurement avoids this binary prefix problem. Some, like you, seem to try to defend it as the more practical choice compared to the “standard” choice every other unit uses (e.g: 1.536 Mbps T1 or “54” Mbps 802.11g).

                  The confusion this continues to cause does waste quite a bit of time and money today. Vendors continue to show both units on the same specs sheets (open up a page to buy a computer/server). News still reports differences as bloat. Customers still complain to customer support, which goes up to management, and down to project management and development. It’d be one thing if this didn’t waste time or cause confusion, but we’re still doing it today. It’s long past time to move on.

                  The standard for “kilo” was 1000 centuries before computer science existed. Things that need binary units have an option to use, but its probably not needed: even in computer science. Trying to call kilo/kibi a retcon just seems to be trying to defend the use of the 1024 usage today: despite the fact that nearly nothing else (even in computers) uses the binary prefixes.

                • @[email protected]
                  link
                  fedilink
                  English
                  2
                  edit-2
                  1 year ago

                  Nobody gave a fuck until they bought a 300gb hd with 277gb of free space

                  The difference was a lot smaller when you were dealing with 700 byte files - it was often a rounding error. Also - you needed two sectors (1024 bytes at the time) two store your 700 byte file, so what did it matter anyway? If you want to get really specific, you actually needed three sectors - because there’s metadata on the file… however the metadata will share space with other files so does that count?

                  Filesystems are incredibly complex and there’s no way they can be explained to a lay person. Storage is and always has been an approximation.

                  It’s even worse with RAM these days - my Mac has 298TB of memory address space currently allocated… but only between 6GB and 7GB of “app memory” in use (literally fluctuating between those two from one second to the next when I’m not even doing anything but watching the memory usage).

        • @[email protected]
          link
          fedilink
          English
          2
          edit-2
          1 year ago

          Initially the SI prefixes were used and used 1024 instead of 1000

          Only CPUs and RAM use 1024. Floppy disks and hard drives going way back to the 1970’s used 1000. In software, both are used depending on the context (and also obviously depending on the software). Most modern operating systems use 1024 for RAM and 1000 for file sizes (in the early days of computing, that agreed upon approach didn’t exist, and it varied from one computer to the next).

          @smokin_shinoby’s tech school was shit. There has never been consistency on this issue and it’s really sad that they failed to teach both numbering systems as they are (and always were) widely used.

      • Hyperreality
        link
        fedilink
        15
        edit-2
        1 year ago

        That’s a relatively recent change though. AFAIK KB=1024 and MB=1024^2 was more common. As the article mentions, it’s still commonly used in some sectors:

        https://www.jedec.org/standards-documents/dictionary/terms/mega-m-prefix-units-semiconductor-storage-capacity

        If you ask someone in their twenties, they’re going to say 1000. If you ask someone who’s older, or someone who knows a lot about disk storage they’re likely to say 1024. Hell, as the article mentions windows uses the 1024 definition, which is one of the rasons why drives always seem smaller than their advertised size. The box says 250 GB, but when you install it windows says it’ll say it’s less than that. It’s not actually less than 250 GB. It’s just that windows is using GiB/Gibibytes but calling them GB/Gigabytes.

        TLDR: no wonder people are confused.

        • @[email protected]
          link
          fedilink
          English
          1
          edit-2
          1 year ago

          Only recent in some computers: which used a non-standard definition. The kilo prefix has meant 1000 since at least 1795-- which predates just about any kilobyte.

      • @[email protected]
        link
        fedilink
        English
        121 year ago

        I went to school before that took effect. But go ahead and downvote me for chiming in I guess.

        • PupBiru
          link
          fedilink
          71 year ago

          i didn’t downvote you, and i went to school before a bunch of things but technology evolves and either we evolve with it or we end up being just straight up wrong in a modern context

    • @[email protected]
      link
      fedilink
      English
      21 year ago

      Yes. When the standards were changed, and they where, the old world should have no longer been used. Setting the definition to something only makes things more confusing.

  • Melllvar
    link
    fedilink
    English
    191 year 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
        link
        fedilink
        English
        71 year 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.

  • @[email protected]
    link
    fedilink
    English
    31 year ago

    The only place where kilobyte is 1000 bytes has been Google and everywhere else it’s 1024 so even if it’s precise I don’t see the advantage of changing usage. It would just cause more confusion at my work than make anything clearer.

  • @[email protected]
    link
    fedilink
    English
    11 year ago

    Based on your other replies, no, I absolutely will not waste my time reading your opinion piece.

    And, a blog post is just another way of saying this is your opinion. That’s all it is.

        • @[email protected]
          link
          fedilink
          English
          101 year 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)

        • @[email protected]OP
          link
          fedilink
          English
          5
          edit-2
          1 year 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 😉

          • @[email protected]
            link
            fedilink
            English
            181 year 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.

            • @[email protected]OP
              link
              fedilink
              English
              21 year 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.

          • silly goose meekah
            link
            fedilink
            English
            251 year ago

            there is nothing intrinsically base 2 about hard drives

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

            • @[email protected]OP
              link
              fedilink
              English
              71 year 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
                link
                fedilink
                English
                101 year 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.

                • @[email protected]
                  link
                  fedilink
                  English
                  4
                  edit-2
                  1 year 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.

                • @[email protected]OP
                  link
                  fedilink
                  English
                  21 year 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?

                • @[email protected]OP
                  link
                  fedilink
                  English
                  21 year ago

                  Not even SSDs are. Do you have an SSD? You should lookup the exact drive size in bytes, it’s very likely not an exact power of two.

        • @[email protected]B
          link
          fedilink
          English
          21 year 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

          • @[email protected]
            link
            fedilink
            English
            21 year ago

            I’ve honestly just come to the conclusion that being an asshole about the fact that other countries exist is just the continental past time of Europe.

            Like, Americans get the most of it but they’re like this toward people from other European countries too.

    • Hyperreality
      link
      fedilink
      6
      edit-2
      1 year ago

      It wasn’t/isn’t. It’s nothing to do with Americans. It was (and often still is) because of binary, as the article mentions.

      2 8 16 32 64 128 256 512 1024.

      So no, kilo is not always a thousand when dealing with computers.

  • @[email protected]
    link
    fedilink
    English
    67
    edit-2
    1 year 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.

    • @[email protected]OP
      link
      fedilink
      English
      171 year 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”.

      • @[email protected]
        link
        fedilink
        English
        34
        edit-2
        1 year 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.

        • @[email protected]
          link
          fedilink
          English
          10
          edit-2
          1 year 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.

    • @[email protected]
      link
      fedilink
      English
      61 year ago

      TLDR: the problem isn’t using base 2 multipliers. The problem is doing so then saying it’s a base 10 number

      In 1998 when the problem was solved it wasn’t a big deal, but now the difference between a gigabyte and a gibibyte is large enough to cause problems

      • @[email protected]
        link
        fedilink
        English
        51 year ago

        Using kilo- in base 2 for something that calculates in base 2 simply makes sense to me. However, like I said to OP, ultimately this debate amounts to rage bait for nerds. All I ask is that I’m not pedantically corrected if the conversation isn’t directly related to kibi- vs kilo-