At the start of the 21st Century, lazy programmers created a bug by only using the last two digits of the year in calculations. However, after 1999 this would cause problems to crash or report incorrect data. Here we are twenty years later and the same bug is still causing problems 🙁
To give you an idea of the impact, in 1999 15 nuclear reactors shut down; the oil pumping station in Yumurtalik failed, cutting off supplies to Istanbul; there were power cuts in Hawaii and government computers failed in China and Hong Kong. Someone had a bill for $91,250, the cost of renting the film The General’s Daughter for 100 years.
A common fix for Y2K was “windowing”, which would treat all dates from 00 to 20 as from the 2000s, rather than the 1900s; but this simply kicked the problem down the road. This fix was expected to work for a couple of decades but here we are today.
- A few months back Splunk had to fix their code because after the turn-over of the date from 2019 to 2020 their program would produce incorrect results.
- The New York Department of Transportation announced on 3rd January that all their parking meters had stopped accepting credit cards and electronic payments because there was a “bug“. Imagine starting your year by sending a field technician to update the software at 14,000 individual meters.
- WWE 2K20 is having a rough New Year’s Day because people are unable to play the game now that it’s 2020
So why is the technique, referred to as “windowing”, used at all?
It saves money because it’s quicker and easier, even if it only works for a certain window of time. The permanent fix requires a line-by-line change of all the dates expressed in two-digit years rather than four digits.
As John Wooden said – “If your don’t have the time to do it right, when will you have the time to do it over?”
If you’d like to read more about this, there’s a great NewScientist article here.