Celebrating Y2K's 25th Anniversary

Parties were held, vows were broken. Promise rings were hidden away. Civilisation as you knew it would change. The world was going to end.

Celebrating Y2K's 25th Anniversary

The world was told that multiple computer systems would inevitably crash at exactly 00:00 on 1 January 2000 because of a date error made decades previously. Parties were held, vows were broken. Promise rings were hidden away. Civilisation as you knew it would change. The world was going to end.


That last part... didn't happen. At least not in the way the media (or the 1999 thriller, Entrapment) was portraying to the public, through an over-eager desire to explain the problem to the masses. Society did change as a result of Y2K, but the extent to which this single event changed the course of history and tech journalism isn't a subject for this blog. It would take considerably longer to discuss it.

The Why

When computers were beginning to ramp up in popularity with universities and businesses in the 60's and 70's, they all used the same date format for telling you what year it was. Two digits were used to represent the years '01 up to '99, with a rollover to '00 to begin the century anew. For the most part, no-one thought that there would be any issue with the date rolling over.

After all, no-one expected their computers or their code to still be working and in use 50 years later.

Programs that wanted to display the full date in the records they generated simply added "19" in front of the year. The "19" in the beginning was static and always assumed to be correct.

Any program that prepended "19" to the two digits for the year would then record anything after 1 January 2000 as if it had happened in the year 1900.

Naturally, this would cause some problems.

The Control Data Systems CDC600 Mainframe Computer, built in 1964.

The Two

Where did the error come from, then? Mainframe servers back in the day were incredibly expensive and mostly purpose-built, but surely any moron would have seen the problem from a mile away.

But the error wasn't made in the 1980s, or the 1970s. It was made in the late 40's and early 50's. Punch cards with a fixed 80-character field were used to issue instructions to computers, and the output was either recorded to another punched card or a print-out of the results. Representing the date was a lot of space on a given card, so dropping two digits was quite a saving.

After all, no-one making software on punch cards ever expected them to still be used in the year 2000.

Pictured: Robert W. Bemer, chad ASCII creator.

This problem went unnoticed for almost two decades until one hapless soul noticed the issue and spent the next twenty years of his life trying to get others to see the problem. Bob Bemer, giant nerd, software archivist, and grandfather of the COBOL programming language and ASCII, saw the problem as far back as 1958.

By that point, second and third-generation computers were already being designed to work with new storage mediums and maintain full backwards compatibility with programs developed on punch cards. The need to save on those two bits of information for storage was no longer necessary, and no-one wanted the thankless task of updating ancient software based on punchcards that businesses relied on.

But Bob Bemer was working on programs intended for use beyond the year 2000. As part of a contract to create genealogical software for clients of Honeywell, Bemer needed to test that the software would still work to record anyone born after 1 January 2000.

The problem was immediately evident to him - the software would record that the newborn's computerised birth date would be recognised as 01 January 1900.

The 'Kay

For the next 20 years, Bemer would write and speak to magazines and project maintainers, and IBM, and the United States Government. His contributions to COBOL included a mandate that four digits should be used to represent years.

He would get left on read until the beginning of the 1970s, when tech media magazines would start picking up the story again.

The first people to sit up and take notice were Wall Street brokers. In the late 1970s, wealthy investors and index and pension fund managers were buying government bonds that would mature after 1 January 2000. Owners of those bonds would, on paper and in a digital record, have "owned" them for more than 100 years. The interest calculated on those bonds would be through the roof.

The New York Stock Exchange spent $20m and thousands of programmer man-hours to fix the issue by 1987.

By 1989, email had been fixed with the adoption of the RFC 1123 specification. Systems and programs that had adopted and used UNIX time (the number of seconds that have passed since 1 January 1970) would be unaffected, although a similar problem will affect systems and software using UNIX time in 2038. Most modern operating systems at the time were also fixed, using four digits to represent the year.

New Year's Eve, 2000, in Times Square. Credit:

It Was Mostly Harmless

In the lead-up to the date, computer makers and software engineers were fixing their systems to ensure they would not be affected by the Y2K bug. Systems patched before the date still ran into issues - Social Services in one district in the UK were unable to find records of existing people over 100 years old. 10,000 credit card machines in the UK were also non-functional until the date rollover happened.

One company in 1998 managed to overbill an entire village for electricity by $7 million. Three Swedish airports couldn't generate temporary passports.

After the rollover, many more systems suffered temporary errors. Taxi meters stopped working in one Chinese city, bone marrow density equiment failed in one South Korean hospital. Babies born in South Korea and Denmark were recorded as being 100 years old. A French military satellite stopped reporting malfunctions in its onboard computer.

Mobile phones on the NTT network in Japan deleted new SMSes instead of old ones. A nuclear power plant in Japan briefly had issues monitoring radiation levels.

More seriously, in Germany, employees at Deutsche Oper Berlin had their childcare grants withheld because their children were suddenly registered as being too old. Expectant mothers in Sheffield, UK, were given incorrect risk assessments for their pregnancies, resulting in four children being born with Down's Syndrome, and two unnecessary abortions.

Wikipedia keeps a running list of reported Y2K failures, some of them funnier than others. Some issues with Y2K patches took upwards of 20 years to appear, as New York City parking officials discovered when they learned the hacks programmers used to keep the system functioning would not work past 1 January 2020.

But It Was Valuable Experience

Since Y2K, more attention has been put on looking for systems that are vulnerable to overflow errors that affect the keeping of records. These are known as Time Formatting Bugs.

Mutiple governments across the world overhauled their systems that generated identification numbers to avoid the problem happening again. Task teams from individual countries collaborated to discover and fix not just Y2K errors, but other rollover issues as well.

The attention put on looking for similar problems yielded fruit, but not always before the problem was identified. The Year 2038 problem will likely affect multiple online services using Linux or UNIX servers on 19 January 2038. The US-owned Global Positioning System (GPS) encounters a rollover error every 19.6 years, and these incidences always affect tons of products and services.

In 2024, EA Sports WRC would fail to launch because of a date formatting bug related to the leap year. In 2023, systems that stored the date and time backwards ran into an early overflow error because they reached the maximum value that could be stored to represent that date.

Even now, 2025 will see systems in Japan fail to function normally because they still use two digits to represent the current year.

After all, no-one making software in Japan at the beginning of Emperor Akihito's reign ever expected it to still be used in the year 2025.