The “Effect 2038” arrives after the “Effect 2000” or “Millennium Error.” Is there a new computer apocalypse on the horizon?

The danger of a technical meltdown owing to the dreaded “Effect 2000” or “Millennium Error” sparked widespread panic in society in 1999, with computer systems going into overdrive after December 31, 1999. Because many systems stored the year in two digits, January 1, 1900 was used instead of January 1, 2000.

This “Effect 2000” which was corrected with a few billion euros, serves to explain the “Effect 2038” or “Y2K38”.

The “Effect 2038” is just another “bug” affecting us in January 2038, this time relating to the encoding of time in 32-bit computers (the clock they use).

And many teams’ clocks are based on POSIX, a simple second counter that increments with each passing second and has as its reference date 1 January 1970; thus, the time is equal to the number of seconds since that day.

However, because times in 32-bit systems are encoded with an integer and a sign, the counter will eventually reach the maximum number it can store in positive and begin counting in negative (we will return to 1901).

Systems that calculate time from (21:00 31/12/1969) will result in a calculation error at 00:14:07 on January 19, 2038, because the date will be confused with December 13, 1901.

The exact repercussions of this computer problem in a little more than 20 years are unknown at this time, but it is obvious that there is still time to address it properly and without the hysteria that Y2K or Effect 2000 caused.

The Unix operating system, on which both Android and iOS are based, as well as many Internet servers, Wi-Fi access points, and routers, will be impacted by “Effect 2038.”

UNIX is the foundation of almost all modern operating systems. In the 1970s, when engineers were developing the first operating system for UNIX machines, they arbitrarily determined that time would be represented as a 32-bit signed integer and measured in seconds starting at 12:00:00 am on January 1, 1970.

Bit systems for dates and times can only count up to 2,147,483,647, which corresponds to January 19, 2038. (3:14:08 am). Any C program that uses the standard 32-bit time t library will have problems determining the date on this day.

Negative time t values are not supported by most support functions that employ the time t data type. They fail and return an error code, resulting in a spectacular crash of the call program.

At this point in time, a progressive and proactive approach to planning for 2038 is required. Focus on the following to fix the problem:

1) software that deals with future dates and times;

2) file formats and internet messaging;

3) long-life gadgets and their interdependencies.




Gerardo Franco is a science communicator, with studies at the Georgia Institute of Technology.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Getting Started with Technical Writing

Leetcode Q178. Rank Scores (Q171)

Way to go FlashMiner Community!! ⚡⚡⚡⚡⚡⚡⚡

Dynamically create custom environments with code

My Experiments with Code: HTML at Free Code Camp

What is Better Mongo DB or MySQL?

My Andela Android Learning Story: From Novice to Basics.

How to Connect Physical Devices to Bitrise.io

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Gerardo Franco

Gerardo Franco

Gerardo Franco is a science communicator, with studies at the Georgia Institute of Technology.

More from Medium

GULU Made Motivator Backpack Review

What You Need to Know If You Want to be an Apple Authorized Service Provider.

Is America Ready To Give Us A Portable Camera Watch?

The Mini Tungsten Jig Bugger