Y2K (Millennium bug)
In short: Y2K stands for “Year 2000”. Many old systems stored years with only two digits. When “99” changed to “00”, computers risked reading the year as 1900 instead of 2000.
In more detail: The problem arose because memory used to be expensive and two digits were enough. Feared were wrong calculations, crashes and outages in banks, energy, transport and administration.
In Depth
- Which systems to check and change? Everything with date logic: mainframes and old programs (e.g. COBOL), embedded controllers, databases, software for interest, pensions, contracts and expiry dates.
- Measures: inventory, extend years to four digits or introduce windowing rules, test with sample data, emergency plans.
- Outcome: there were only a few minor disruptions. That was also because a lot of money and work were put into preparation worldwide.
- What we take away: assumptions (“the year has two digits”) can cause problems decades later. Model data cleanly, document systems and check them regularly. Similar case: the year-2038 problem with 32-bit Unix time (date and time).