iEntry 10th Anniversary RSS Newsletter Advertising
Join the WebProWorld Forum!
Text: Decrease Font Size Increase Font Size | Print Print Article | Share: Delicious Digg StumbleUpon Post to Twitter Post to Facebook
51 commentsWednesday, January 14, 2009

The Y2K+38 Crisis

It’s coming

In 2038 we’ll likely be weaving tales for our grandkids about how we used to instant message with paper notes instead of our brainwaves and how, when we were really little, stereos were once considered nice furniture pieces. They may be especially interested because, if Richard Wilcox is right, all the really important computers just dialed back to 1901.
The Y2K+38 Crisis
Couldn’t say Wilcox didn’t give us ample warning. This link is supposed lead to a post he made in 2003, describing how our 32-bit world is destined to crash on a level a bit more catastrophic than the trumped up worries of December 1999. Unfortunately, due to an unexpected surge from Reddit users recently discovering the post themselves, Earthlink has pulled the plug for exceeding monthly traffic allotment.

Here's the cached copy.

Impending crises need at least a 30 year run-up—we knew there’d be an energy crisis for at least that long, right?—and it’s not too early to sound the alarms on this one. It may sound unlikely, we’re already Moore’s Law generations past 32-bit systems; just think what we’ll be running three decades. 

I generally preferred words to math and programming, so talk of “signed integers” and “time_t” is lost on me, but I did gather from Wilcox’s post that at eight seconds past 3:14 a.m., on January 19, 2038, most computers in the world will think it’s actually a quarter to 9 p.m. on December 13, 1901.

That’s a big, big problem, and apparently a more complicated one than what we faced in 2000.

“So, if all goes normally,” writes Wilcox, “19-January-2038 will suddenly become 13-December-1901 in every time_t across the globe, and every date calculation based on this figure will go haywire.  And it gets worse.  Most of the support functions that use the time_t data type cannot handle negative time_t values at all.  They simply fail and return an error code.  Now, most ‘good’ C and C++ programmers know that they are supposed to write their programs in such a way that each function call is checked for an error return, so that the program will still behave nicely even when things don’t go as planned.  But all too often, the simple, basic, everyday functions they call will ‘almost never’ return an error code, so an error condition simply isn’t checked for.”    
The Y2K+38 Crisis
Why won’t we beyond 32 bit by that time? Also included in the original post is an explanation about the expense of building new systems and how computer companies tend to rely on cheap, older technology for building basic new technology. In this case, some technology in use in 2038, might span all the way back to the 1970s.

Hey babe, dust off Dad’s old 8-track so we can share some Earth Wind & Fire magic with the grandkids.
 

News Tags: Technology, 2038, programming

Hi, isn't it possible to

Hi, isn't it possible to chang definition of time_t to use a 64-bit ? this could solve problem for long time ?

Weird.... does your

Weird.... does your suggestion means running part of the program on 32 bit and the rest on 64 bit. The whole program will need to be ported. But as already said..... its the legacy code.... billions and billions of lines....

Publish A Comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
5 + 8 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.
SEARCH
Popular WPN Business Resources












Subscribe to WebProNews


Send me relevant info