Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Bug

Journal Ashtead's Journal: Year 2380? 6

Stupid abbreviations again: 2k38 for 2038 ? Why the k instead of the zero? From component values, the unit or power of 1000 is occasionally used to substitute the decimal point, thus 2k7 is 2700 and 2k38 therefore becomes 2380; which year is too far into the future to even start worrying about....

2k038 or more usefully spelt: 2038, is of course when the 32-bit integer number of seconds since January 1 1970 goes from positive to negative in the early hours of January 19 (at 03.14.08), and that may or may not be any problem by then. Easy enough to test. On this machine, the time_t is 64 bits, so it will be OK (of course, the hardware will probably have died sometime in the intervening 30 years, but that's nothing to do with this.)

The Picotuxes however, have sizeof(time_t) equal to 4, so they will not make it past 2038/01/19, I just discovered. Consider this:

# date 011903102038
Tue Jan 19 03:10:00 UTC 2038
# date
Tue Jan 19 03:10:06 UTC 2038
# date
Tue Jan 19 03:13:59 UTC 2038
# date
Tue Jan 19 03:14:06 UTC 2038
# date
Fri Dec 13 20:45:56 UTC 1901
# date
Fri Dec 13 20:46:02 UTC 1901
#

Friday the 13. oh well, just adds to the scariness. Just goes to show that using Julian Day numbers and 1/86400 fractions of them makes sense. These will remain good a lot longer than me or anyone reading this will be able to care about it personally.

This discussion has been archived. No new comments can be posted.

Year 2380?

Comments Filter:
  • Some dolt thought it was cool to abbreviate "Year 2000" with "Y2k". The media picked it up and didn't really understand the meaning of Y2k (but they like buzzwords and abbreviations) and as such thought every date was representable that way. It's stupid, I fully agree. I was born in 1.9k76, if you follow that logic, which pretty much demonstrates it's stupidity.
    • Oh, besides, the k doesn't substitute the decimal point. 2k means 2 * 1000 (Prefix SI [wikipedia.org]), and as such 2k7 mean 2 * 1000 + 7. Just that you understand the origin.
      • by Ashtead ( 654610 )

        Agree on the stupid marketing part.

        For the component markings, there seems to be a number of different ways these are done. I have some capacitors marked "1n1" meaning 1.1 nF (= 1100 pF) and zener diodes marked 6V8 meaning 6.8 Volts. Circuit diagrams frequently show values of components in a similar style, with R, k, and M used for resistors, and p, n, and mu for capacitors. 24k9 would be 24.9 kOhm for example, though there are usually two and hardly ever more than three significant digits given for these

        • Well, I'm an computer programmer. You know what they say about computer programmers and soldering irons, eh? I had no idea this notation existed on capacitors/resistors. Since it was a software problem, I thought in my world and 2k, means 2000 in my world too ;-)
  • Or at least that's how I refer to it. Stupid, but at least it's the right date.

    I initially thought it would be a big problem, as there's an awful lot of C and C++ compiled code out there using time_t and its functions. But when I think 30 years back from now, is anyone still running 8-bit programs from 1978 for anything societally crucial? We'll be on the cusp of transitioning from 128-bit to 256-bit computing by then, and old 32-bit software, esp. single- or only modestly multi-threaded, will probably have
    • by Ashtead ( 654610 )

      Yes, chances are that most present-day hardware has been replaced within 30 years, and even if there are still 32-bit systems extant, that they have managed to change the definition of time_t to use a 64-bit signed quantity, perhaps by back-porting 64-bit code, and recompile.

      Looking at 30 year old equipment, seems the electrolytic capacitors are the first to go, in the absense of semiconductor failure or just plain obsolescence.

You knew the job was dangerous when you took it, Fred. -- Superchicken

Working...