ForumTechnical Corner ► Y2K
Y2K:

1: It's the 70s

2: Computers are expensive and strange beasts

3: Programmers are clever and realize you can make better use of storage by only recording the two-digit year
3.1: because the century is the same each time the program runs
3.2: and we'll have better computers with gobs more RAM in the distant future when the century is ending
3.3: and code for this machine can't run on anything else.
3.4: So this code is only going to be used for, like, six years, tops.

4: Software is actually harder than we thought, and more expensive.

5: Management runs the numbers and it's too expensive to upgrade the computers this year,
5.1: and the next
5.2: ...I think you see where this is going.

6: VAX assembly programmers are classified "Critically Endangered" by the IUCN.

7: Management runs the numbers and decides it's cheaper to have some Clever Bois write a program to make the old programs run on the new computer that it would be to rewrite the old program.
7.1: We can still hire Ancient Bois to edit the code, a little bit.

8: It's the 90s and we're running in them running out of century, and there's no time or budget (are you kidding me) to rewrite the mainframe software.

9: Media hears that the old mainframe that the sky runs on is falling.

10: Ancient and Clever combine to form Team Expensive Bois, patching and hacking to save the world at the last minute.

11: Media forgets all about Y2K because success is boring. General public goes back to not thinking about software.
  
lmao this reads like a greentext
  
> be in le seventies
  
The media didn't just forget it, they roasted computer science for an entire year for being melodramatic idiots.
  
The correct amount of reaction usually seems like an overreaction. Hence the 'why do we all have to wear masks, we don't have that many Covid cases!' arguments. It could have really screwed things up.
  
A fun related problem that's coming up is that it's been a long time since we've had a leap second: https://berthub.eu/articles/posts/leapseconds-expose-bugs-even-when-they-dont-happen/.

It's got the fun bug title GPSD time will jump back 1024 weeks at after week=2180 (23-October-2021).

Basically, leap seconds are issued pretty regularly, as the Earth day lasts sliiiightly longer than (24*60*60)=86,400 seconds, and this helps keep "noon" as the time when the sun is right overhead. If we didn't issue them, the day would eventually get out of sync with the clocks.

But we're overdue for the next leap second, because the Earth's rotation has sped up very slightly in the last few years (possibly due to climate change, but afaik small variations are common and difficult to attribute precisely). Unfortunately, the code in at least some of our GPS time-keeping software assumes that a leap second will occur at least every 256 weeks, and if it doesn't, it'll suddenly assume that it's suddenly 19 years ago.

Now this software isn't used in many places, and if it were isolated to only GPS, the scope of the problem might be more limited. However - because GPS has such accurate time-keeping, we also use it for things called "time servers" - computers where their only job is to respond to inquiries about the current time, so that your computer, phone, television, etc can all automatically keep their clocks in sync. Patching all of those time servers might be very tricky to pull off by the end of this year.

Now, it's not all doom-and-gloom - as far as I can tell, the current plan is to issue a "0-length" leap second, basically saying "The old offset was 18 seconds, and now the new offset is 18 seconds." This should keep even the buggy code working fine, so we probably won't see all the clocks thinking it's 2002 again come October.

A more fun problem comes if this speedup-of-the-Earth continues for long enough, we may have to issue a negative leap second, which hasn't happened before. It's possible that code written previously will work fine, but I'm sure there are at least some implementations where the coder only ever thought about positive leap seconds.
  
Oh dear
  
Time and date handling code is the worst. To be fair there's like a nineteen-way tie for last place but it still objectively does suck.
  
This describes it best I think
  
or here if you want to hear the words he's saying over the music (also has more detail and stuff)
  
I'd prefer the shortened version where he goes insane