• ChaoticNeutralCzech
    link
    fedilink
    English
    arrow-up
    98
    ·
    4 months ago

    Inaccurate. Signed 32-bit integer epoch overflows from January 2038 to December 1901.

    • saigot@lemmy.ca
      link
      fedilink
      arrow-up
      36
      ·
      4 months ago

      If the calendar was written in C++ or many of it’s derivatives then signed integer overflow is undefined behaviour and it could technically choose to do anything it damn well wants (unsigned integers actually do have defined overflow behaviour). Something tells me the runtime of a paper calendar is anything but standard :D

    • 🔍🦘🛎@lemmy.world
      link
      fedilink
      English
      arrow-up
      10
      arrow-down
      1
      ·
      3 months ago

      It’s not the overflow that’s the issue, but a calculation failure that causes the date value to be “0” and thus list the date as January 1, 1970. It’s happened to me several times with Pokemon GO.

      • ChaoticNeutralCzech
        link
        fedilink
        English
        arrow-up
        5
        ·
        edit-2
        3 months ago

        In this case, it is the overflow as 01111111...11111111+1 in binary becomes 10000000...00000000. (Yes, negative numbers in signed integer format are represented as starting with 1)

        (GIF)(Why you should trust this)

        But yes, some programs erroneously fall back to 0 in case of a null value, which corresponds to 1970-01-01. That’s why so many geotags were recorded for Null Island.

  • 👍Maximum Derek👍@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    47
    ·
    4 months ago

    Are we still calling it Y2k38? I think it needs some rebranding or we won’t be able recruit devs to put in the overtime to fix it so history can decide it was all fake.

    • HubertManne@moist.catsweat.com
      link
      fedilink
      arrow-up
      8
      ·
      4 months ago

      I was part of y2k rememdiation and we did some stuff for the next leap year as well and I had heard about work being done for future things. Im not in it anymore but im wondering if some is already done. Thing about y2k is it was a time when the backbone stuff was never upgraded. Banks using mainframes running cobol programs and such. Now it feels like every company changes their software yearly.

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

          I worked for a large chemical additives company in the late '90s and wrote an IE6 web application (using classic ASP and Visual Basic 5) that was a front end to the company’s near-useless COBOL mainframe app that contained all of their testing and production processes and dated to the 1970s. They’re still using my application today, which means they’re still using that fucking COBOL app and the mainframes as well.