End of the world in 25 years

After we survived the Mayan apocalypse it appears that the prophets at Byte magazine are worried about another date of doom.

Apparently in 25 years, on January 19, 2038, at 03:14:08 UTC, another bug will cause Unix machines to go tits up [is that a technical term? Ed] It all comes down to a problem with a 32-bit signed integer used to store a time value, as a number of seconds since 00:00:00 UTC on Thursday, 1 January 1970.

It has been used in early UNIX systems with the standard C library data structure time_t. So, on January 19, 2038, at 03:14:08 UTC that integer will overflow. It seemed a good idea the time, just like the decision that 32 bits was certainly enough for all the IP addresses in the world.

Unfortunately it will not mean the total heat death of all things Apple. iOS programs must use the NSDate class for dates and that uses January 1, 2001 as a reference date and intervals before or since that point are stored as doubles. iOS might break for a lot of reasons but the UNIX overflow is not one of them. Apparently they will melt down on January 19, 2038 but if there is a working iPhone in 25 years time I will be surprised.

What will be interesting is how many machines this will hurt in 25 years. But the issues might appear sooner than that. Some software predicts future patterns and dates and if they end up looking at things too far in the future they might pack a sad.