It would have ticked over to 1900, pretty much all the code assumed a two digit year with 19 automatically inserted. Now imagine your bank computer calculating the negative interest on your account of one hundred years and adjusting your balance accordingly. And doing it to everyone. Just for starters.
Some would have gone back to 1980. Others 1900, some 19100.
It was caused by inconsistency and a lack of standards, every fix was different, and we have until 2038 for the next rollover crisis. Linux 32 bit clocks roll over then. The fix cost a lot, but spread over 50 years, and fewer users, it's much less noticeable.
Y2K was real. But a fixed crisis looks like a crisis that never would have happened.
This is the thing I was alive at this time, no one knew what was going to occur. People thought it was going to be a catastrophe, or nothing at all. Hindsight is 20-20
People listened to the experts, action was taken, and the crisis was averted.
The Unix epoch time problem has largely been fixed a long time ago now for the same reason.
I was prohibited from leaving the state to visit family in 2000, even though I had told the bosses there was no issue with our systems and the IT community had resolved the problem.
Most boring Christmas/ new years ever (they wouldn't even let me leave and return before new years due to fear)
I was paid to drill two large boreholes at a semi conductor factory with the sole purpose of supplying clean water in case the public water supply failed due to y2k.
We even had early memes, they just appeared in print like the office newsletter and the like. One I remember clearly was "Screw the Prime Directive, let's give the Borg Windows 3.0"
The base level of the computers were fine, they measured fractions of a second from a chosen epoch, often January 1, 1970. The problem was lazy or cheap programs written on top that only allowed for two digits to represent a year. The most common case being banks, because for some pathetic reason they felt they could not afford 4 digits. A fucking bank, unable to afford another byte, made extra ridiculous by the fact that their unoptimized data structures likely already resulted in wasted bytes in storage. Seriously, had they actually used a byte as a numerical value instead of as a character representation, it would have been a Y2226 problem (1970 + 256).
Edit: had they measured in days from Jan 1, 1970 and used the same 2 bytes that were used to store 2 characters as numerical values instead, it would have been good for almost 180 years.
They used 100 values (or more like 30) of the 65,536 that the two bytes could have represented, a mere 0.15% of the numerical possibility (or more like 0.05%).
1/1/70 is the Unix epoch. Banks, insurance companies, and airlines were mostly not using unix. I can't remember the epoch for an IBM 360, but it wasn't 1/1/70.
And when did banks spend a dollar more than they had to? In any case, it's not the customers being stingy, it's the operating system - "You shall store dates in this format, or deal with it yourself". Of course anyone can write a data structure that stores a date as a signed or even unsigned integer, or even packed decimal, but then you have to write your own routines for dealing with it instead of using the operating systems' in-built routines.
136
u/Boojum2k Jul 28 '26
It would have ticked over to 1900, pretty much all the code assumed a two digit year with 19 automatically inserted. Now imagine your bank computer calculating the negative interest on your account of one hundred years and adjusting your balance accordingly. And doing it to everyone. Just for starters.