Another 'in the near future your computer'll f*** itself' read… Article says if you have a 64 bit computer you are fine… does this apply to Macintoshes also ?
Hyderabad, Dec. 11: Computer experts say the wired world will turn upside down in January 2038, a date that seems far away but is already being accessed by computers to log in land leases and commercial agreements. The problem is akin to that of Y2K, only this time it is for real, warn experts. Experts have set the disaster time for computers at 03:14:07 GMT, January 19, 2038, a Tuesday. At that moment, many computers will “run out of time.” The next second, they will begin showing the time as 8:45:52 PM GMT, December 13, 1901.
If you are willing to take a risk and crash your computer, you could try the following exercise: change your computer system date to January 19, 2038, and time to 03:14:07 or beyond, and send a message on Yahoo Messenger. The messenger crashes. Chances are that if you are using Internet Explorer, it could get corrupted. All network-based applications could stop functioning.
The 2038 problem affects programs that use the Posix time representation, which represents time as the number of seconds since January 1, 1970. This representation is standard in Unix-like operating systems and also affects software written for most operating systems because of the broad deployment of C.
“In case you think we can sit on this issue for another three decades before addressing it, consider that reports of temporal echoes of the 2038 problem are already starting to appear in future date calculations for mortgages and vital statistics,” said M.H. Noble, managing director of Zoom Technologies (India) Ltd. What actually is the 2038 problem and how does it strike? Be prepared for a little lesson in programming.
Time_t is a data type used by C and C++ programs to represent time. Time_t is a count of the number of seconds since 1200 GMT on January 1, 1970. Time_t 0 would be midnight of January 1, 1970, time_t value of 1 would be 12:00:01 am of January 1, 1970. By the time the world moves to 2038, the time_t value will be over 2,140,000,000.
And therein lies the problem. A modern 32-bit computer stores a “signed integer” data type, such as time_t, in 32 bits. The first of these bits is used for the positive/negative sign of the integer, while the remaining 31 bits are used to store the number itself. The highest number that 32-bit computers can store in C and C++ based programs is 2,147,483,647. In time_t terms, it translates to 3:14:07 GMT, January 19, 2038. At that moment, time_t in a 32-bit C or C++ program will reach its upper limit. Or the computer will run out of time. One second later, on January 19, 2038, at 3:14:08 GMT, disaster strikes, explains Murali Krishna of Hutch. Every time the calculation goes haywire.
The next second is represented as minus-2,147,483,648, and the computer does not understand this. Thrown in a tizzy, it “thinks” that the time is 8:45:52 PM GMT, December 13, 1901. So, according to the soothsayers, January 19, 2038, will turn into December 13, 1901. Every date calculation 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.
But some experts say there is nothing to worry about. Says senior mathematician B. Moinuddin: “The problem is only with 32-bit computers. Anyhow 64-bit computers are going to be the norm in just a few years, let alone 34 years. We need not go into the panic mode. There is time to resolve this issue in a calm, cool and collected manner. Y2K was definitely blown way out of proportion. This too is going to be that way.”