We are running out of time

Jonas Hultenius

2023-02-14

As we move further into the digital age, it’s important to consider the potential impact of technology on our lives. Technology evolves and systems change over time yet much remains. A legacy codebase written under the assumptions that it will evolve and change over time and that the solution that it is part of will be replaced in the next coming years. An assumption that often is correct but almost as often, is not.

I’m talking about the legacy systems that our whole society runs on and most of us rely on everyday without knowing it. The living dead of the cyber world.

One issue that has been gaining attention recently is the Year 2038 problem. This may sound like a sci-fi apocalypse, but in reality it’s a very real issue that has the potential to cause major disruptions to computer systems around the world.

The Year 2038 problem is related to the way that computers store time. In most computer systems, time is represented as a 32-bit integer, which is the number of seconds since January 1, 1970. This system is known as Unix time, and it is used in a wide range of computer systems and applications.

The problem arises on January 19, 2038 when the 32-bit integer used to represent Unix time will overflow. When this happens, the time value will reset to zero, which could cause serious issues in any system that relies on accurate timekeeping. As well as trowing us backwards in time to a world of suede pants and groovy music.

The potential impact of the Year 2038 problem is significant. Any system that relies on accurate timekeeping could be affected, including financial systems, transportation systems, and utilities. For example, if a financial system is unable to accurately track time, it could lead to issues with transaction processing and accounting. Similarly, if transportation systems are unable to track time accurately, it could lead to issues with scheduling and coordination.

There are a number of potential solutions to the Year 2038 problem, including updating computer systems to use a 64-bit integer for time representation, or using alternative timekeeping systems. However, many legacy systems may be difficult or expensive to update, and some may not be updated at all.

The Year 2038 problem is just one example of the potential impact of technology on our lives. As we become more reliant on technology, it’s important to consider the potential risks and take steps to mitigate them. This includes not just updating computer systems, but also investing in research and development to create new technologies that are more resilient and less susceptible to bugs and other issues. Maintainability should always be a key factor in any project.

In addition to technical solutions, it’s important for governments and other organizations to take steps to prepare for potential disruptions caused by the Year 2038 problem and other technological issues. This could include contingency planning, regulatory oversight, and public awareness campaigns. We all survived the millennium bug mostly due to people taking the issue seriously.

The Year 2038 problem is a reminder that technology is not infallible, and that we must be vigilant in our efforts to ensure the safety and security of our digital systems. By investing in updating and replacing legacy systems, and taking proactive steps to prepare for potential disruptions, we can help to mitigate the risks and ensure a more secure digital future.