Remember all the hype about 9 years ago when our clocks rolled from 1999 over to 2000, and how the worlds information systems were supposed to come to a crashing halt, and the planet as we know it would essentially self destruct? Do you remember what happened? No? Probably because nothing happened.

Sure big corporations had to spend a lot of money on programming to fix the issue, but in those few short years leading up to the new millennium, the issue was fixed, and the average person would have had no idea that there was an issue in the first place.

Well, we are at that point again, or will be, in just a few short decades. Based on current programming practices at precisely 3:14:07 on Jan 19, 2038, all of our computer systems will crash and man kind will be sent in to a world where no computer will operate correctly.

Some people are a little bit worried about this problem, but as for me, I am convinced that in the next 29 years, programmers will have this dilemma solved.

Some Details
While I have some programming experience, I am far from a programmer. The majority of readers of this blog are also not likely to be programmers, so I will try and explain this as simply as possible – in point form.

  • Time on your computer is stored as the number of seconds since Jan 1, 1970 at midnight
  • This data is stored in a “signed integer” data type typically labeled as “time_t”
  • The modern 32 bit computer (most likely what you are using right now) stores “signed integer” data types in 32 bits.
  • The MAXIMUM value a 32 bit “signed integer” can hold is 2,147,483,647
  • This represents a time of Jan 19, 2038 at 3:14:07 AM
  • Exactly 1 second after this time, the signed integer will crash, having nowhere to go, it will turn negative. (for a number of technical reasons)
  • By default it will revert to the value of “time_t” to -2,147,483,648, which represents Dec 13, 1901 at 8:45:52 PM.

Having computers suddenly jump about 120 years into the past would have catastrophic results on the majority of systems out there. To fix the problem on any 32 bit system represents a huge dilemma and programmers just don’t know how to fix this.

Why Worry
One fix to the problem is with the use of a 64 bit system. While they are not common place at the moment, 64 bit systems are out there.

My assumption is that we will see 64 bit systems as main stream well within our 29 year time span to get this problem fixed. I will be VERY surprised if there are even any 32 bit systems still operational in business in 30 years from now.

The old Commodore PET, the Tandy, and the Apple II were 8 bit systems. When was the last time you saw one of these? Last time I saw a Commodore I was in Elementary School. They were popular back in the 80’s.

If we can go from 8 bits to 32 bits in 20 years, I am sure that we can go from 32 bits to 64 bits in that same time frame or less). I suspect that we will be in a 64 bit world far sooner than that.

Want More Technical Info
I learnt of this issue at WebProNews, and they cited an article here: http://home.netcom.com/~rogermw/Y2038.html. This page is currently over quota on their hosting account, so feel free to check it out in Googles Cache here.