I read somewhere recently that there is potentially another Y2K (Millennium) bug coming up.
The original problem was caused by the old fashioned data storage methods that meant that many older systems stored dates as two-digit numbers instead of the four digits needed to display years as four digits. e.g. 99 instead of 1999. This meant that when the year 2000 approached it would show as '00' (which could be 1900 or 2000) and humanity would end or so it was claimed.
So vast amounts of money were spent to prevent this catastrophe and many mainframe systems were upgraded (I was involved in this exercise) however this fixing didn't address the fact that many Unix systems (including the Linux Kernel), continue to count time as starting from midnight on 1 January 1970, which means other analogous situations can arise in the future.
For instance, the article stated that on January 19, 2038, at 3:14:08 am UTC (Coordinated Universal Time - based on
International Atomic Time), the number of seconds since 1/1/1970 will be too great to be stored in the
32-bit number used by these older Unix systems. In other words instead of computers thinking it could be 1900 instead of 2000, the computers could think its 1970 again instead of 2038 and the world will end (again).
Fortunately the more modern Unix systems mostly use 64 bits to represent integers, so the problem is not likely to be major, but in some ways that means there may be more surprises than we would wish, simply because no one will investigate the possible impact. Old 'legacy' systems are usually disregarded simply because they will never be upgraded, and only one member of staff (who is due to retire soon) understands what they are doing.
So be warned ......... the
19/01/2038 bug is coming our way!