Meme transcription:

Panel 1: Bilbo Baggins ponders, “After all… why should I care about the difference between int and String?

Panel 2: Bilbo Baggins is revealed to be an API developer. He continues, “JSON is always String, anyways…”

  • bleistift2@sopuli.xyzOP
    link
    fedilink
    English
    arrow-up
    11
    ·
    5 months ago

    Or even funnier: It gets parsed in octal, which does yield a valid zip code. Good luck finding that.

      • bleistift2@sopuli.xyzOP
        link
        fedilink
        English
        arrow-up
        3
        ·
        5 months ago

        I’m not sure if you’re getting it, so I’ll explain just in case.

        In computer science a few conventions have emerged on how numbers should be interpreted, depending on how they start:

        • decimal (the usual system with digits from 0 to 9): no prefix
        • binary (digits 0 and 1): prefix 0b, so 0b1001110
        • octal (digits 0 through 7): prefix 0, so 0116
        • hexadecimal (digits 0 through 9 and then A through E): prefix 0x, so 0x8E

        If your zip code starts with 9, it won’t be interpreted as octal. You’re fine.

        • xthexder@l.sw0.com
          link
          fedilink
          arrow-up
          6
          ·
          edit-2
          5 months ago

          Well, you’re right. I wasn’t getting it, but I’ve also never seen any piece of software that would treat a single leading zero as octal. That’s just a recipe for disaster, and it should use 0o116 to be unambiguous

          (I am a software engineer, but was assuming you meant it was hardcoded to parse as octal, not some weird auto-detect)

            • xthexder@l.sw0.com
              link
              fedilink
              arrow-up
              4
              ·
              edit-2
              5 months ago

              Interesting that strtol in C does that. I’ve always explicitly passed in base 10 or 16, but I didn’t know it would auto-detect if you passed 0. TIL.

          • Doc Avid Mornington@midwest.social
            link
            fedilink
            English
            arrow-up
            1
            ·
            5 months ago

            It’s been a long time, but I’m pretty sure C treats a leading zero as octal in source code. PHP and Node definitely do. Yes, it’s a bad convention. It’s much worse if that’s being done by a runtime function that parses user input, though. I’m pretty sure I’ve seen that somewhere in the past, but no idea where. Doesn’t seem likely to be common.