• gens@programming.dev
        link
        fedilink
        arrow-up
        27
        arrow-down
        1
        ·
        11 days ago

        Isn’t that like Amdahls law, where you don’t ask a question but say something wrong on the internet?

        • FlihpFlorp@piefed.zip
          link
          fedilink
          English
          arrow-up
          30
          arrow-down
          2
          ·
          11 days ago

          No you’re thinking of Murphys Law, where the number of transistors in a circuit doubles roughly every two years

          • lime!@feddit.nu
            link
            fedilink
            English
            arrow-up
            18
            arrow-down
            1
            ·
            11 days ago

            no you’re thinking of Sturgeon’s law, where you can replace all resistors and capacitors in a circuit with a big one of each of the same total value

              • djvinniev77@lemmy.ca
                link
                fedilink
                arrow-up
                5
                ·
                10 days ago

                I think you’re thinking of Cole’s Law, where you are only allowed to include up to 5 citations in your report out of Cole’s Notes. Also word salad.

                • Bytemeister@lemmy.world
                  link
                  fedilink
                  English
                  arrow-up
                  2
                  ·
                  edit-2
                  10 days ago

                  Pretty sure this is about Cole Protocol, which specifies procedures to prevent UNSC Ships from leading the Covenant to Earth. It uses a random series of slip space jumps, along with removal or complete destruction of all data sources pertaining to the location of Earth.

          • mic_check_one_two@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            3
            ·
            10 days ago

            No, you’re thinking of Moore’s Law, which is where without a clear indicator of the author’s intent, any parody or sarcastic expression of extreme views can be mistaken by some readers for a sincere expression of those views. It’s why the “\s” thing exists.

  • mogoh@lemmy.ml
    link
    fedilink
    arrow-up
    41
    arrow-down
    9
    ·
    11 days ago

    That is like 10 Years old. (I did not look it up) Can we not stomp on tiny mistakes from 10 years ago?

    • SanctimoniousApe@lemmings.world
      link
      fedilink
      arrow-up
      47
      arrow-down
      1
      ·
      11 days ago

      I’m sorry, but I disagree - sometimes things just qualify as classics, and also serve to act as warnings to future generations.

    • glimse@lemmy.world
      link
      fedilink
      arrow-up
      9
      arrow-down
      1
      ·
      11 days ago

      Any time there’s a community with the same name as a subreddit, it gets filled with Reddit’s Greatest Hits.

      I know the whole “Lucky 1 in 10,000” thing but man, the Internet nowadays is mostly just buckets full of the same old memes other people made. Original content is so goddamn rare, especially memes.

      This is not a complaint about OP, just a general observation

  • Mniot@programming.dev
    link
    fedilink
    English
    arrow-up
    22
    arrow-down
    6
    ·
    11 days ago

    But this was arbitrary. It’s not like “why are there only 16 colors on this video game” (because of space constraints). They could have made it 257 users and nothing would overflow. Given that, I think they should have made a human-comfortable number (multiple of 10) instead of a machine-comfortable number (power of 2).

    • chonglibloodsport@lemmy.world
      link
      fedilink
      arrow-up
      13
      arrow-down
      1
      ·
      11 days ago

      It’s only arbitrary if you ignore the history of computing and the eventual settling on a standard of 8-bit bytes as the smallest addressable value in most programming languages and operating system libraries (though not always addressable in hardware).

      Unless you’re making the very meta claim that it was arbitrary for us to settle on 8 bits instead of 10 or something. I think there are a lot of technical merits to 8 bit bytes (being a power of 2 is nice and 4 bits is just too small).

      • Tja@programming.dev
        link
        fedilink
        arrow-up
        11
        arrow-down
        2
        ·
        10 days ago

        Yes, but this is not a historical piece of code, it is a 21 century app. I very much doubt they are using a uint8 to represent the array size, it’s probably a 64 bit int. They might as well have used 300 or 250, or 1000.

        • chonglibloodsport@lemmy.world
          link
          fedilink
          arrow-up
          7
          ·
          10 days ago

          WhatsApp’s back-end is written in Erlang. Erlang is a very old language with weird limitations. For one thing, it doesn’t have different machine-sized (16, 32, 64 bit) integers the way C does. Arbitrary-precision integers are the only primitive integer type. This makes it quite a slow type to use for something like a group chat member ID.

          However Erlang also has a type called a binary which is used for space-efficient storage of binary data (along with primitive operations on bits). These types are stored as sequences of bytes. I’m guessing this is how WhatsApp does group chat IDs, which would make the 256 user limit perfectly understandable (keep every ID contained within a byte).

          • Tja@programming.dev
            link
            fedilink
            arrow-up
            3
            arrow-down
            1
            ·
            10 days ago

            I don’t think every user would have an ID in the chat of 1 byte, that would be a nightmare when leaving and joining the group, reusing IDs, etc… each user needs to be identified with its uuid (or whatever else they chose).

            Using a 32 at 64 bit size and limiting the value makes much more sense, any subsequent changes would be a config tweak instead of a major refactor. I would guess the limit was a fun “Easter egg” type of thing rathar than a hard technical limit.

            • chonglibloodsport@lemmy.world
              link
              fedilink
              arrow-up
              2
              ·
              edit-2
              10 days ago

              WhatsApp has billions of users. Scaling to that level and maintaining perfect real-time chatting with arbitrary user-created groups is not trivial. Storing 64 bit UUIDs for every single message and other interaction in a group chat would be inefficient, not to mention unidiomatic in Erlang (due to previously-mentioned lack of machine-sized integers).

              The use-case of a group having <256 current users but >256 historical users and the desire to scroll back and read very old messages of people who left the group is very uncommon. It makes perfect sense to put a situation like that on a slow path while optimizing for the common case of <256 chatting right now.

              • Tja@programming.dev
                link
                fedilink
                arrow-up
                1
                arrow-down
                1
                ·
                10 days ago

                I disagree for various reasons:

                It’s not very uncommon, it would be an issue as soon as it happens, without going back that far. Even if it was uncommon, it is possible and something to take care of, making for a super ugly “special case” code.

                Plus you don’t need to sort the user’s ids to deliver messages, it’s a foreach kind of operation.

                And finally, given the underlying hardware, sorting 8 bit integers wouldn’t be faster than sorting 64 bit ones (which we don’t need to do, anyway), processors move all bits in parallel. Unless WhatsApp runs on 8 bit microcontrollers.

                • chonglibloodsport@lemmy.world
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  edit-2
                  10 days ago

                  I didn’t say sorting, I said “storting” and must have corrected the typo while you were writing your reply. I meant storing. Having a 64-bit UUID attached to every single one of trillions of messages (per day) is a huge amount of wasted space (72TB per trillion messages, just to store 64-bit UUIDs without any message contents).

                  As an annoying aside, my phone now thinks “storting” is a word and helpfully autocorrects storing to that now. Good grief!

        • Flax@feddit.uk
          link
          fedilink
          English
          arrow-up
          1
          ·
          10 days ago

          Some programming languages and data storage types have 8 bit limits. You’d be surprised.

          • Tja@programming.dev
            link
            fedilink
            arrow-up
            1
            arrow-down
            1
            ·
            10 days ago

            Any language that implements and enforces a uint8, yes, but you don’t use those types because of forward compatibility.

    • chicken@lemmy.dbzer0.com
      link
      fedilink
      arrow-up
      6
      ·
      11 days ago

      They could have made it 257 users and nothing would overflow

      It might if the people writing the software are extremely old school about their approach to memory management

    • JackbyDev@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 days ago

      Dev here. Just because CPUs don’t directly use 8 bit numbers anymore doesn’t magically mean 257 wouldn’t overflow. If you’re storing the 8 bits in part of something else that’s 32 or 64 bits (or whatever), like maybe the ID of the chat, then you only have 8 bits. A lot of time this comes down to making compact data representations of things to make uploads/downloads quicker. JSON is the most popular data format to transfer data in (probably), but other more compact binary formats like Avro, Protobuf, and even application specific custom formats exist.

    • unmagical@lemmy.ml
      link
      fedilink
      arrow-up
      36
      ·
      11 days ago

      Pretty sure the “Yikes” was because the number was obviously not arbitrary and the tech reporter didn’t know that.

      If it were truly an arbitrary number it likely wouldn’t warrant a “yikes.”

      • 🔍🦘🛎@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        16
        ·
        11 days ago

        …what? Lol

        Say the chat size increased to 317. Why would the tech writer say “yikes”? Just because it’s not divisible by 5 or 10?

        • chaogomu@lemmy.world
          link
          fedilink
          arrow-up
          28
          ·
          11 days ago

          The tech writer didn’t say yikes. The first person to post it did, then someone else reposted while keeping the original poster’s reaction.

          • 🔍🦘🛎@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            arrow-down
            7
            ·
            11 days ago

            Ah yeah I see that now. Still a bizarre reaction from the randim tumblr user, but that’s just typical tumblr stuff.

            • Ajen@sh.itjust.works
              link
              fedilink
              arrow-up
              7
              ·
              11 days ago

              I had the same reaction, because someone who doesn’t understand the significance of the number 256 isn’t qualified to be a tech journalist.

              • LotrOrc@lemmy.world
                link
                fedilink
                arrow-up
                2
                ·
                11 days ago

                I think the person youre responding to completely missed the entire point of the post tbh

        • unmagical@lemmy.ml
          link
          fedilink
          arrow-up
          12
          ·
          11 days ago

          2^8 = 256

          Computers operate with base 2 calculations making 256 as “normal” a number to computers and those who work closely with them as 100 is to most humans.

          256 is not arbitrary. The author thought it was arbitrary. The commenter said “Yikes” in response to the author not knowing the thing in the field that they report in was actually completely planned and not remotely arbitrary.

          If they had increased the chat size to 317, being neither a rounded number in the base 10 or base 2 system and having no significant meaning in general communication it could safely be classified as “arbitrary” meaning the original headline would be appropriate and the commenter likely wouldn’t have said “Yikes.”

          The tech writer did not say “Yikes.”

  • xep@discuss.online
    link
    fedilink
    arrow-up
    12
    arrow-down
    4
    ·
    edit-2
    11 days ago

    256 = 200 + 56, initially they only wanted 200 people in a chatroom but decided 56 more was even better, so it’s very oddly specific indeed.

  • Carrolade@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    11 days ago

    I wonder why its so hard for journalism institutions to find someone with an appropriate background to cover certain high-volume beats.

    It’s particularly egregious with military and science stuff, where it becomes painfully obvious that whoever is doing the reporting just has no clue how any of the stuff they’re reporting on actually works. Seems to be it’d be a worthwhile investment to hire someone with at least some sort of science degree or military training to cover beats that are that high volume.

    It’s not like they go with completely ignorant randos to do their sports reporting, the sports reporters usually know some stuff about the rules of the sport and how its played.

    • SanctimoniousApe@lemmings.world
      link
      fedilink
      arrow-up
      9
      ·
      11 days ago

      Because they won’t pay what someone actually qualified for the task would require. They still get their clicks because people want to stay informed, and yet also do so for cheap. Late stage capitalism has everybody attempting to wring value out of every last penny in order just to keep afloat in a world where the absurdly wealthy see average people as just pawns in a game the one-percenters are driven to “win” no matter what.