Slashdot Mirror


Y2K38 Watch Starts Saturday

Jon Masters writes "I just wanted to remind everyone that Saturday, January 19th 2008 will mark the beginning of the 30-year countdown to the Y2K38 bug, when Unix time will overflow 32 bits. Some 30-year loan calculation software might start having problems with this over the weekend."

115 of 542 comments (clear)

  1. I can't wait! by ucblockhead · · Score: 5, Funny

    I plan on making a mint using my mad C skillz in 2036 and 2037, just like all those Cobol guys who came out of retirement in 1998.

    --
    The cake is a pie
    1. Re:I can't wait! by truthsearch · · Score: 5, Insightful

      Though I highly doubt much will be in operation in 30 years. ... said the COBOL developer in 1970...

    2. Re:I can't wait! by lawn.ninja · · Score: 2, Funny

      good luck with that. John Titor already solved the problem when he came back in his GE206 Temporal Displacement Unit to pick up that IBM 5100. Duh.

    3. Re:I can't wait! by petermgreen · · Score: 3, Insightful

      stuff has a nasty habbit of sticking arround longer than you expect. You plan a system to last say 10 years at the companies current growth rate. After say 7 years your company reaches it's growth limit and becomes an income company or worse there is a rescession in your industry and your company teeters on the edge of bankrupcy. The system keeps running with few changes until it is say 20 years old at which point the hardware is becoming difficult to obtain but noone really understandards how the system works so rather than trying to port it they put it on an emulator. Before you know it the code has been running for decades.

      File formats also have a nasty habbit of sticking arround longer than the software that works with them and file formats very often contain embedded binary date formats that were chosen simply because they were the default types for the platform in question.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    4. Re:I can't wait! by Anonymous+Conrad · · Score: 4, Informative

      If we are sill running 32 bit software in 2038 I will fully blame MSFT. But 32-bit OS can still use 64-bit numbers. And they do! In fact Windows's native time format *is* 64-bit.
  2. Now if I can find a bank open on Saturday by Actually,+I+do+RTFA · · Score: 5, Funny

    I can get a thirty-year $250,000 loan with monthly payments of -$1,200.

    --
    Your ad here. Ask me how!
    1. Re:Now if I can find a bank open on Saturday by risk+one · · Score: 4, Funny

      Just hope they're using signed ints to store that value.

    2. Re:Now if I can find a bank open on Saturday by bee-17 · · Score: 4, Funny
      Just today in the mail, I got a letter from Countrywide pitching a home loan:

      YOUR ESTIMATED EQUITY MAY BE AS MUCH AS $-48,331

      Coincidence?

    3. Re:Now if I can find a bank open on Saturday by Actually,+I+do+RTFA · · Score: 4, Funny

      Just hope they're using signed ints to store that value.

      Actually, I think they use floats. See, I wrote this program to - everytime there is a transaction where interest is computed, and there are millions a day, this program rounds it down to the nearest cent and puts the remainder in an account...

      --
      Your ad here. Ask me how!
    4. Re:Now if I can find a bank open on Saturday by rk · · Score: 4, Insightful

      Given the housing market, that could be pretty accurate. :-/

    5. Re:Now if I can find a bank open on Saturday by 3vi1 · · Score: 2, Interesting

      Did you base your program on the one In Office Space, or the one in Superman 3? If it was the one in Superman 3, you're totally screwed because the libraries are GPL instead of LGPL and now your entire project has to comply with the license.

      Oh god... I forgot this is slashdot: now someone is going to spend 30 minutes composing a reply that explains how the GPL doesn't work like that....

    6. Re:Now if I can find a bank open on Saturday by WK2 · · Score: 2, Interesting

      Just hope they're using signed ints to store that value. Actually, I think they use floats.

      Nope. They use two integers. One for the dollars, and one for the cents. Some older programs get fancy and use a special 4 (or 6, or 8)-byte number, where 7 (or 8) bits are used for the cents, and the rest for the dollar signs. These are known as "fixed-point fractions." The important thing to keep in mind is that floating point numbers are not accurate enough for banks.

      --
      Write your own Choose Your Own Adventure. http://www.freegameengines.org/gamebook-engine/
  3. Re:Hmmmmmm by nullCRC · · Score: 5, Funny

    No, that was me. Sorry.

    --
    Vescere bracis meis.
  4. What loan software uses Unix time? by corsec67 · · Score: 5, Insightful

    And, wouldn't 50 years or longer loan terms have shown this before now?

    --
    If I have nothing to hide, don't search me
  5. 30 years? by Hatta · · Score: 4, Funny

    Remind me again when it's 30 minutes.

    --
    Give me Classic Slashdot or give me death!
  6. Re:WTF are you talking about? by plague3106 · · Score: 5, Insightful

    Well, its kind of hard to compute payment dates if your date representation ends at 2038, and you have something longer than a 30 year mortgage.

  7. Re:And other things.. by Malevolent+Tester · · Score: 5, Insightful

    Apocalyptic event? Last time I checked, the world was still here. Epochal, perhaps, as I suspect it will be the defining event for my generation, much like the moon landing or JFK forgetting to duck, but in the grand scheme of things it was no more apocalyptic than the 2005 tsunami.

    --
    If you haven't made a developer cry, you've wasted a day.
  8. Re:WTF are you talking about? by zulater · · Score: 2, Interesting

    The raw calculation won't have a problem but maybe in displaying/storing the amortization table there could be a hiccup. You're not going to get out of your mortgage or anything but it's interesting none the less.

  9. Envy by argmanah · · Score: 5, Funny

    I envy the programmers who had the foresight to program their application using a 2 digit year field. They won't have to worry have to worry about this problem until 2099, and by then we won't be using the same systems we do today anyways!

    --
    Overrated Moderation: This posts sucks... because.
  10. My date of birth by nogginthenog · · Score: 4, Interesting

    Is 123456789, Unix time. No shit. 29 Nov 1973. Guess I'm a confirmed geek then?

    1. Re:My date of birth by scaverdilly · · Score: 5, Funny

      Yeah, but 1234567890 comes just short of Feb 14th in a year (Fri, 13 Feb 2009 23:31:30 UTC).
      It just goes to show that true geeks will only ever almost get close enough to women for romanitc encounters.

    2. Re:My date of birth by Compholio · · Score: 2, Funny

      [My date of birth] Is 123456789, Unix time. No shit. 29 Nov 1973. Guess I'm a confirmed geek then?
      I'm sure your mom appreciates that just as much as having you at 11:30 PM GMT.
    3. Re:My date of birth by choongiri · · Score: 2, Funny

      My birthday is January 19th. Does that mean I'm going to expire due to some kind of horrible fatal error on my 57th birthday?

    4. Re:My date of birth by cashman73 · · Score: 2, Funny

      Holy shit! That's the same combination that I have on my luggage! =)

  11. Re:WTF are you talking about? by riseoftheindividual · · Score: 2, Informative

    A lot of loan calculation software does more than just calculate interest rates. They can also produce payment schedules and amortization over the life of the loan, up till the last payment.

    --
    Patriot - A fan of expanding government power and spending while not wanting to pay higher taxes.
  12. Sounds good to me by edwardpickman · · Score: 2, Funny

    So long as it wipes out my 30 year loan I don't have a problem here. Now if we can get this to work on my five year car loan......

  13. January 19, 2038 by Malevolent+Tester · · Score: 5, Funny

    Is this going to affect the Duke Nukem Forever release?

    --
    If you haven't made a developer cry, you've wasted a day.
  14. Re:The answer is 64! by 91degrees · · Score: 3, Interesting

    They might... After all, transistor computers were up to 32 and 36 bits before the first 4-bit microprocessor was introduced. It is possible that a revolutionary new concept in processing will result in an insanely fast processor but technological limitations will force it to only be 8 bits.

  15. Not that big a problem by nog_lorp · · Score: 2, Funny

    Well, applications that use dates ~26+ years ahead may have trouble, but nothing else will, since the world is going to end on 2012!

  16. Re:And other things.. by merreborn · · Score: 4, Insightful

    I always found it interesting that 1 billion seconds happened 2 days before 9/11.


    You can come up with any number of numerological associations for any event. Seriously. Try it some time. Pick any event, and you can come up with a dozen, if you try.
  17. Re:The answer is 64! by Anonymous Coward · · Score: 2, Funny

    You mean upgrading to a 64bit cpu won't fix all the bugs in my code? The horror!

  18. Re:WTF are you talking about? by avandesande · · Score: 3, Informative

    Yeah, and most loan deals are put together weeks or months before closing. We would have already heard something by now.

    --
    love is just extroverted narcissism
  19. Re:maybe vba has a chance to live then by ari_j · · Score: 4, Funny

    The phrase "your an idiot" is one of my favorites almost in the English language.

  20. Unix is made of *FAIL* by Gordonjcp · · Score: 2, Funny

    VMS has been Y10K-compliant for over a decade.

    1. Re:Unix is made of *FAIL* by ewilts · · Score: 5, Informative

      > VMS has been Y10K-compliant for over a decade.

      It's much better than that. It's mostly DCL that has the year 9999 issue. For those of you who like history lessons and how to design real operating systems (and customer support, back when it actually existed), read this article:

        38 Why Is Wednesday November 17, 1858 The Base Time For VAX/VMS?

      COMPONENT: SYSTEM TIME OP/SYS: VMS, Version 4.n

      LAST TECHNICAL REVIEW: 06-APR-1988

      SOURCE: Customer Support Center/Colorado Springs

      QUESTION:

      Why is Wednesday, November 17, 1858 the base time for VAX/VMS?

      ANSWER:

      November 17, 1858 is the base of the Modified Julian Day system.

      The original Julian Day (JD) is used by astronomers and expressed in days
      since noon January 1, 4713 B.C. This measure of time was introduced by
      Joseph Scaliger in the 16th century. It is named in honor of his father,
      Julius Caesar Scaliger (note that this Julian Day is different from the
      Julian calendar named for the Roman Emperor Julius Caesar!).

      Why 4713 BC? Scaliger traced three time cycles and found that they were
      all in the first year of their cyle in 4713 B.C. The three cycles are 15,
      19, and 28 years long. By multiplying these three numbers (15 * 19 * 28
      = 7980), he was able to represent any date from 4713 B.C. through 3267 A.D.
      The starting year was before any historical event known to him. In fact,
      the Jewish calendar marks the start of the world as 3761 B.C. Today his
      numbering scheme is still used by astronomers to avoid the difficulties of
      converting the months of different calendars in use during different eras.

      So why 1858? The Julian Day 2,400,000 just happens to be November 17, 1858.
      The Modified Julian Day uses the following formula:

            MJD = JD - 2,400,000.5

      The .5 changed when the day starts. Astronomers had considered it more
      convenient to have their day start at noon so that nighttime observation times
      fall in the middle. But they changed to conform to the commercial day.

      The Modified Julian Day was adopted by the Smithsonian Astrophysical Obser-
      vatory (SAO) in 1957 for satellite tracking. SAO started tracking satellites
      with an 8K (non-virtual) 36-bit IBM 704 computer in 1957, when Sputnik was
      launched. The Julian day was 2,435,839 on January 1, 1957. This is
      11,225,377 in octal notation, which was too big to fit into an 18-bit field
      (half of its standard 36-bit word). And, with only 8K of memory, no one
      wanted to waste the 14 bits left over by keeping the Julian Day in its own
      36-bit word. However, they also needed to track hours and minutes, for which
      18 bits gave enough accuracy. So, they decided to keep the number of days in
      the left 18 bits and the hours and minutes in the right 18 bits of a word.

      Eighteen bits would allow the Modified Julian Day (the SAO day) to grow as
      large as 262,143 ((2 ** 18) - 1). From Nov. 17, 1858, this allowed for seven
      centuries. Using only 17 bits, the date could possibly grow only as large as
      131,071, but this still covers 3 centuries, as well as leaving the possibility
      of representing negative time. The year 1858 preceded the oldest star catalog
      in use at SAO, which also avoided having to use negative time in any of the
      satellite tracking calculations.

      This base time of Nov. 17, 1858 has since been used by TOPS-10, TOPS-20, and
      VAX/VMS. Given this base date, the 100 nanosecond granularity implemented
      within VAX/VMS, and the 63-bit absolute time representation (the sign bit must
      be clear), VMS should have no trouble with time until:

            31-JUL-31086 02:48:05.47

      At this time, all clocks and time-keeping operations within VMS will suddenly
      stop, as system time values go negative.

      Note that all time display and manipulation routines within VMS allow for
      only 4 digits within the 'YEAR' field. We expect this to be corrected in
      a future release of VAX/VMS sometime prior to 31-DEC-9999.

      --
      .../Ed
    2. Re:Unix is made of *FAIL* by WilliamSChips · · Score: 5, Funny

      As a coincidence, nobody has actually used VMS in over a decade.

      --
      Please, for the good of Humanity, vote Obama.
  21. End of the world by timmarhy · · Score: 2, Insightful

    Lots of over priced consultants will charge a fortune to fix a problem we negated years ago, then when the day comes and nothing happens they will claim it's a resounding success.

    --
    If you mod me down, I will become more powerful than you can imagine....
  22. No by Weaselmancer · · Score: 2, Funny

    Just the Linux port of it.

    --
    Weaselmancer
    rediculous.
  23. Re:WTF are you talking about? by cnettel · · Score: 2, Interesting

    Actually, it would probably be in 1901, since the overflow only takes place for signed ints. We'll have another bug for unsigned 32-bit ints in 2106 or so.

  24. Incorrect.... by gweihir · · Score: 4, Informative

    Older flavours of Unix will wrap-around on 32 bit int. More modern systems use time_t instead of int and may or may not be affected by the problem. time_t can be unsigend (which gives another 68 years) or long long int/long long unsigned (which are both 64 bit long). In any case, fixing the basis library and recompileing is enough for properly implemented software.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    1. Re:Incorrect.... by poot_rootbeer · · Score: 5, Funny

      In any case, fixing the basis library and recompileing is enough for properly implemented software.

      Whew! It's a good thing most software is properly implemented, then.

  25. Re:2038!?!! by LWATCDR · · Score: 3, Funny

    Yep it is last my retirment date as well.
    Doesn't matter since I hard code all my programs to fail on my 70th birthday anyway.
    Just kidding.

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
  26. I don't give a shit by Anonymous Coward · · Score: 5, Funny

    I don't give a shit. And I mean that in the most literal, non-idiomatic way. If I had a pile of turds in my back yard, and you were to walk up to me and say, "Excuse me, sir, if you would let me relieve you of one of these useless pieces of feces I could guarantee a resolution to the Y2K38 computer issue," I would simply reply, "I'm sorry, but those are my shits, and I'm not giving one."

    1. Re:I don't give a shit by Chris+Burke · · Score: 5, Funny

      I don't give a shit. And I mean that in the most literal, non-idiomatic way. If I had a pile of turds in my back yard, and you were to walk up to me and say, "Excuse me, sir, if you would let me relieve you of one of these useless pieces of feces I could guarantee a resolution to the Y2K38 computer issue," I would simply reply, "I'm sorry, but those are my shits, and I'm not giving one."

      You are clearly a person who has their shit together.

      --

      The enemies of Democracy are
  27. Re:2048 by Inquisitus · · Score: 5, Insightful

    Who the hell stores years as 11-bit integers?

  28. Re:The answer is 64! by KillerBob · · Score: 2, Informative

    Considering that they were making 8-bit chips in 1972, 16-bit chips in 1979, 32-bit chips in 1986 ('386 was a 32-bit chip... SX was 32-bit internally on a 16-bit bus, and DX was 32-bit bus too), and by 1991 64-bit chips (the DEC Alpha leaps to mind). Even today, most graphics processors are 128-bit chips, and I believe there's even some 256-bit processors on the horizon for NVidia/ATI if they aren't already here. I suspect that by that time 2038 rolls around nobody will still be producing lowly 64-bit chips. Probably by that time even 256-bit chips will be considered antiques.

    --
    If you believe everything you read, you'd better not read. - Japanese proverb
  29. What's the prevalence of use? by wytcld · · Score: 3, Insightful

    Most often when I've set up date fields in databases, I've used the YYYYMMDD format (e.g. 20080115, YYMMDDHHMMSS of course is also an option). The simple regex to construct it and read it is barely more code than translating in and out of Unix timestamps, and there's the great advantage that the dates are human-readable in the tables, and ad hoc queries are easily constructed. So I should be good until the year 10,000. Am I the only one? It's always seemed the obvious best way to do it.

    --
    "with their freedom lost all virtue lose" - Milton
    1. Re:What's the prevalence of use? by Shados · · Score: 4, Insightful

      Don't know about others but me I just use a DateTime field and stick a date object in it, and let the drivers handle the conversation... Now -that- to be seems the obvious best way to do it... Why convert at all, unless someone's using an archaic and incomplete RDBMS.

  30. Re:And other things.. by moderatorrater · · Score: 5, Funny

    Yeah, kind of like how Christ was born so close to the changeover from BC to AD.

  31. Re:And other things.. by Anonymous Coward · · Score: 4, Insightful

    I think your scales are off. The 2004 tsunami was a massive loss of life (225,000 people in eleven countries) compared to the 2,999 people killed in the airplane attack of 9/11/01.

    I was a little appalled at the lack of coverage and donations given to the victims of the tsunami compared to the massive outpouring given to the 9/11 victims. It must just be that fact that I am in America now, and the media / government is so stuck on only looking inside the country and not what happens in other countries (unless it involves oil).

    I am also continually amazed at how the governments of the world (mainly US and UK, but others too) are using the two events (9/11 and 7/7) to push all of these "security" measures. As a child growing up during the IRA bombings, I find it easy to compare the IRA to al-Qaeda, but the reactions of the governments are way out of proportion. Never did anyone think that a national ID should be implemented, and the background checks now-a-days are beyond what is needed.

    If 9/11 defines that generation, then I'm so happy to be an old fart. I never would let a terrorist act define me.

  32. It's a non issue. by Higaran · · Score: 2, Funny

    The mayan calendar ends in 2011 or 2012, I cant remember off the top of my head, so thats supposed to be the end of the world from what conspiary theoriests say, so that means the world will end 20+ years before this ever happens, so who cares ;)

  33. Why is this a problem? by zippthorne · · Score: 3, Insightful

    This is nothing like the two-digit date problem of Y2K. The conversion process shouldn't be anywhere near as complicated, since 32bit dates are just an arbitrary subset of a larger bit-count dates. There are really only two cases, signed and unsigned, and casting things into larger containers isn't exactly all that difficult: if unsigned, stick a bunch of zeros on the front. If signed, stick a bunch of zeros on the front, then swap the previous MSB with the new MSB.

    Furthermore, C programmers haven't exactly become a rare commodity in the intervening time like with COBOL. Y2K wasn't a problem, so why should we expect Y2K+38 to be a problem?

    --
    Can you be Even More Awesome?!
    1. Re:Why is this a problem? by serialdogma · · Score: 2, Funny

      It's not his fault, he was using an Pentium.

  34. Re:And other things.. by Bob-taro · · Score: 5, Funny

    You can come up with any number of numerological associations for any event. Seriously. Try it some time. Pick any event, and you can come up with a dozen, if you try.

    Really?! So there are always at least 12 numerological associations with every event in history?! OMG, I'm totally freaking out!!!11!1!

    --
    Prov 9:8 Do not rebuke mockers or they will hate you; rebuke the wise and they will love you.
  35. Re:2038!?!! by mwburden · · Score: 4, Funny

    At least until your pacemaker calculates that it doesn't need to beat again for 30 years....

  36. Re:2048 by Anonymous Coward · · Score: 5, Funny

    Your mom stores years as 11-bit integers.

  37. Re:The answer is 64! by thegrassyknowl · · Score: 5, Interesting

    Put simply, a lot of software is poorly written and uses int as synonymous with time_t (or somesuch). The two are often interchanged by programmers; particularly those with a Windows background who can't find CTime (or whatever it's called) on non-Windows platforms.

    Moving to 64-bit machines won't fix all the magic 32-bit binaries out there but software that's recompiled for 64-bit machines will automagically use 64-bit ints where the programmer held the time in an int.

    Of course, I've seen a lot dumber bugs than ignoring to use the operating system's time structures and methods for dealing with time so I don't doubt that there are some bugs that actually will need some serious considerations made.

    I guess it's a fault of the Unix people from way back. They made this epoch thing and used a 32-bit number to store the number of seconds since it. I guess they were assuming that all their software would have been replaced by something better on bigger machines. They shouldn't have written such reliable software and then maybe some of it would have been replaced by now ;)

    --
    I drink to make other people interesting!
  38. Re:2048 by Curien · · Score: 4, Informative

    Not "real binary"? WTF are you talking about? It's either binary or it's not. And it's binary.

    As for your poorly-made argument that computers use words with certain widths, just because you've never used a computer where CHAR_BIT != 8 doesn't mean they don't exist.

    --
    It's always a long day... 86400 doesn't fit into a short.
  39. Here we go again, year2038.pl by quarkie68 · · Score: 4, Informative

    #!/usr/bin/perl
    # (or wherever your camel lives)
    #Copyleft (just joking!) Georgie http://folk.uio.no/georgios
    use POSIX;
    use strict;

    $ENV{'TZ'} = "GMT";
    # GMT for preference
    print "And the transition will be like...\n";
    for (my $clock = 2147483646; $clock < 2147483650; $clock++)
    {
        print ctime($clock);
    }

    chomp(my $conclusion=ctime(2147483650));
    if ( $conclusion=~ /1901$/) {
            print "Which means that you are bugged by 32 bits. We have 64 bit processors and structures now you know!\n";} else {
            print "You will survive for now. Go and get a beer. \n";}

  40. Re:And other things.. by Cajun+Hell · · Score: 5, Funny

    You can come up with any number of numerological associations for any event. Seriously. Try it some time. Pick any event, and you can come up with a dozen, if you try.

    Interesting that of all the numbers you could have mentioned, you just happened to pick dozen: the number of eggs that are most often sold together. This suggests you are a chicken farmer. Your uid is another clue: 853723. 8+5+3+7+2+3=28. 28 % 12 = 4, which happens to be your comment's score at the time I type this. 853723 %12 = 7. You bring your eggs to market every week.

    Look at all I have learned about you. And you think numerology doesn't work.

    --
    "Believe me!" -- Donald Trump
  41. Re:64, 128, 256... by Sam+Douglas · · Score: 2, Informative

    You *can* work with data type sizes larger than your CPU's word size in software. For example, if you need to add/subtract 128 bit integers, it is not terribly difficult to do -- it just takes multiple instructions and using the carry-out/overflow bit on you adder. Don't think that a hardware 'improvement' will magically fix software. It is just convenient to use 32 bit numbers as they can be operated on in a single instruction on most modern architectures. Also, increasing the width of your CPU datapath is not something that can be pushed up forever. A simple 256 bit adder would require at least 768 inputs/outputs. At some point it becomes a lot more efficient to change your approach!

  42. Re:The answer is 64! by frieko · · Score: 2, Informative

    I'd like to point out that thanks to the carry bit, an 8-bit CPU can do 64-bit math. In fact, any Turing-complete device can do 64-bit math. This is strictly a software issue.

  43. ...and requires accuracy to the nearest second? by Quadraginta · · Score: 2, Insightful

    It's a dumfuk comment in the summary. If you're calculating payments on a thirty-year loan, you sure as heck don't convert all your dates to seconds since the epoch ("Unix time"). What would be the point? You don't compound your interest by the second, and if a payment is due on such-and-such a date, you don't specify the exact second it's due.

    I expect loan software converts dates and lengths of time if at all to months, that being the typical interval when you compound interest. So even on 32-bit Unix you're not going to have trouble until your loan period exceeds 4294967295 months.

  44. Re:And other things.. by Skreems · · Score: 4, Funny

    Ah, but 172800 seconds is significant. 1+7+2+8+0+0 = 18, which is (9*1)+(9*1), which is 9(1+1). 9/11!

    --
    Slashdot needs a "-1, Wrong" moderation option.
    The Urban Hippie
  45. Re:And other things.. by pak9rabid · · Score: 2, Interesting

    Yeah, kind of like how Christ was born so close to the changeover from BC to AD. Heh, or how Christmas just 'happens' to be so close to the winter solstice ?
  46. Re:Don't forget embedded! by Zadaz · · Score: 3, Insightful

    Yeah. And we all know you can't use numbers bigger than 8-bits on a 8-bit CPU.

    What. What? And this got moded "Informative"??

  47. Whew! Good thing everyone uses Windows! by davido42 · · Score: 4, Funny

    Why would anyone be using an OS written for scientists? They're all weird and stuff.

    --

    BitWorksMusic.com -- odd tunes for odd times

  48. Re:Of course they did. by KillerBob · · Score: 2, Informative

    I can remember coming across a book about the entire Y2K thing back in the late '70s, filled with both dire warnings and algorithms. And I remember thinking, "Jeez, that's over 20 years away. Nobody's going to be using any software around today that far in the future."


    My dad was actually hired by the Bank of Canada in the early 1970's to update their software to be Y2K compliant....

    So yes... they were well aware of it back then. Likewise, they've been aware of the 32-bit Unix time expiry since they introduced Unix time. I'd be surprised if they weren't already working on a solution. Actually... I'd be surprised if they hadn't already implemented a solution to it.

    Pure alarmism. Just like we had in 1999.
    --
    If you believe everything you read, you'd better not read. - Japanese proverb
  49. Re:And other things.. by hansamurai · · Score: 4, Informative

    Lack of coverage and donations? I would agree that at least coverage wise, the tsunami did not grab the nation the same way 9/11 did, but looking at the money donated is another story.

    First I would encourage you to look at this:
    http://en.wikipedia.org/wiki/Humanitarian_response_to_the_2004_Indian_Ocean_earthquake#List_of_Donors

    The United States government donated nearly one billion dollars and another 1.9 billion came from its citizens and NGOs. That's nearly 3 billion dollars total. A total of 10 billion dollars was given to relief from around the world.

    Granted, that comes to around 0.0026% of our GDP (someone correct me if I'm reading that wrong, permilles aren't my strong suit), but it's still a massive out pouring of money if you ask me.

  50. Signed 12-bit by tepples · · Score: 4, Informative

    No I'm pretty sure 11 bit computers are exceedingly rare and there wont be any problems because of them. :) Some PDP minicomputers by Digital were 12-bit. A 12-bit signed integer data type can represent whole numbers from -2048 to 2047.
  51. Re:2048 by TheThiefMaster · · Score: 4, Informative

    It's "Number of seconds since midnight (0:00:00) January 1st 1970". Which in a SIGNED 32-bit number, overflows into negative in 2038.

    If they'd used an unsigned 32-bit number, then they would have had dates up to 2106 covered. Unfortunately whoever invented these timestamps chose to make them use signed numbers, with negative numbers being allowed on some systems (representing dates before 1970) and being errors on other systems (e.g. Windows)...

    Fortunately 64-bit numbers can now be handled by pcs, and can be used as an extended timestamp to get a few billion years of time. Most operating systems have already been converted, it's just legacy programs that would have issues.

  52. Re:What about the new 40 and 50 year loans? by kcornia · · Score: 4, Interesting

    40 and 50 year loans are really 30 year loans that will be refactored (or rewritten or reset, whatever terminology they used) at 10 and 20 years left respectively. From my recollection based on work in subprime IT for a few years, it has to do with laws that limit the life of a loan to 30 years or something.

    Regardless, 40 and 50 year loans are right up there with negative amortization adjustable loans. HORRIBLE ABUSE OF TEH SYSTEM. If you have to stretch that far to get into a house, rent a fucking apartment and save up some money for cryin' out loud.

    This credit crunch is a good thing, we as consumers need to get off the endless debt teat.

  53. Re:And other things.. by halber_mensch · · Score: 3, Funny

    You can come up with any number of numerological associations for any event. Seriously. Try it some time. Pick any event, and you can come up with a dozen, if you try.

    Interesting that of all the numbers you could have mentioned, you just happened to pick dozen: the number of eggs that are most often sold together. This suggests you are a chicken farmer. Your uid is another clue: 853723. 8+5+3+7+2+3=28. 28 % 12 = 4, which happens to be your comment's score at the time I type this. 853723 %12 = 7. You bring your eggs to market every week.

    Look at all I have learned about you. And you think numerology doesn't work.

    You forgot the most obvious - 853723: 8 + 5 + 3 + 7 = 23. This chicken farmer has a name: Topsy Kretts. Watch out!

    --
    perl -e "eval pack(q{H*},join q{},qw{70 72696e74207061636b28717b482a7d2c717b343 637323635363534323533343430617d293b})"
  54. Re:And other things.. by Anonymous Coward · · Score: 2, Interesting

    I think it's race. Brown people are more scary. Nobody's scared of right wing wackos, like Timothy McVeigh, because they are white, right?

  55. Even more significant dates by spydink · · Score: 3, Informative

    2038 is just the tip of the iceberg!!!

    Significant dates

    --
    Always be sincere, whether you mean it or not.
  56. Re:2038 by dhanson865 · · Score: 3, Informative

    Nobody stores years as 11 bit integers. Would you care to share the goofy math that made you pick 11bit instead of 32bit?

    The year 2038 problem (also known as "Unix Millennium bug", "Y2K38," "Y2K+38," or "Y2.038K" by analogy to the Y2K problem) may cause some computer software to fail before or in the year 2038. The problem affects Unix-like operating systems, which represents system time as the number of seconds (ignoring leap seconds) since January 1, 1970. This representation also affects software written for most other operating systems because of the broad deployment of C. On most 32-bit systems, the time_t data type used to store this second count is a signed 32-bit integer. The latest time that can be represented in this format, following the POSIX standard, is 03:14:07 UTC on Tuesday, January 19, 2038. Times beyond this moment will "wrap around" and be represented internally as a negative number, and cause programs to fail, since they will see these times not as being in 2038 but rather in 1970. Erroneous calculations and decisions may therefore result.

  57. Re:And other things.. by Surt · · Score: 2, Informative

    Some links for the interested:

    http://en.wikipedia.org/wiki/Humanitarian_response_to_the_2004_Indian_Ocean_earthquake

    http://en.wikipedia.org/wiki/Financial_assistance_following_the_September_11%2C_2001_attacks

    The bottom line seems to be that the government response to 9/11 was substantially larger (to compensate the victim's families, who were very high earners, and which was essentially necessary to rescue the airline insurance industry from lawsuits). Whereas the public outpouring of donations to victims was quite a bit larger for the tsunami.

    --
    "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
  58. Re:64, 128, 256... by lgw · · Score: 3, Informative

    Windows uses 64-bit file times everywhere now, and has for years. Probably in reaction to the 49-day uptime limit on Win9x (where the 32-bit "ticks" counter - ms of uptime - would roll over).

    Very expensive NAS boxes still use 32-bit file time. It's odd, really.

    --
    Socialism: a lie told by totalitarians and believed by fools.
  59. Re:What about the new 40 and 50 year loans? by jandrese · · Score: 5, Informative

    That and most of the Y2K problems were just display errors, not bugs in the actual calculations going on under the scenes. 2038 is much scarier and is a lot more difficult to fix. In fact the best way to fix the problem is probably to switch to a 64 bit representation of time, but thus far not too many people have made moves in that direction. Switching to 64 bits is not as easy as it might sound either, since lots of programs use timestamps and many of them make assumptions as to the size of their time fields. I do wish APIs would start to get transition structures (time_t64 or something) in place that people could start using now. If you do it early enough you can save yourself a lot of headaches down the road.

    The big problem of course is that most people figure their code won't be in use in 2038 and don't care. I'll be right about retirement age by then. Crap, I just realized I'm going to be the grizzled old guy they call when this problem finally rolls around. One of those crusty old farts that knows C (just like the crusty COBOL farts that got a lot of jobs back in 1999 for a few months).

    --

    I read the internet for the articles.
  60. Re:And other things.. by DetJohnKimball · · Score: 2, Informative

    You are right that a National ID card in the UK was not considered. However, what was considered was an Irish ID Card. It was desired that all Irish in the UK had to show ID and sign a photo every time they wanted to rent an apartment, buy a house, or get a hotel room.

    The seller/owner would have been required to keep this information in case the Irish person bombed some place and they could begin to track them.

    Of course the politician that proposed this instantly rose to the top of the IRA assassination list. I can't remember if it was PM Edward Heath or not. Edward Heath did introduce internment in Northern Ireland where Catholics could be detained and sentenced without a trial. That did lead to a failed assassination attempt by the Balcombe Street Gang.

  61. Re:And other things.. by STrinity · · Score: 2, Funny

    I always found it interesting that 1 billion seconds happened 2 days before 9/11.
    I don't get it. What's the significance of 111011100110101100101000000000 binary seconds?
    --
    Les Miserables Volume 1 now up with my reading of
  62. You mean this crash wasn't planned? by saintory · · Score: 2, Interesting

    So the recent housing loan problems were not a test to see what would happen when loan companies crash?

  63. Re:And other things.. by gnuman99 · · Score: 2, Insightful

    9/11 was man attacking man. Heck, non-US people attacking US people. Ominous. We got 2 wars with 100,000+ people dead and millions displaced out of this.

    '04 Tsunami was nature with man in the way. Happens all the time. The number of casualties was the only thing that was ominous. No wars out of this.

    This explains the press coverage.

    The "security" stuff is kind of like the old cold war crap. You know, watch out for the "red commies" or "capitalist pigs". How many trillions were spent on that? The people making money just needed another funnel and terrorism/security is it. That's why there is so much more attention now vs. IRA days. The good old saying will probably never die - follow the money.

  64. Y2K38? by STrinity · · Score: 2, Insightful

    "Y2K" was a stupid appellation to begin with, but at least it saved one character compared to "2000." "Y2K38" on the other hand is one character longer than just 2038. You're just wasting electrons writing it the other way.

    --
    Les Miserables Volume 1 now up with my reading of
  65. IRA by Anonymous Coward · · Score: 5, Funny

    Yeah my wife contributes to the IRA through some guy called Charles Schwab. I am surprised that guy hasn't been sent to Gitmo for funding a terrorist organisation.

  66. Re:And other things.. by Gospodin · · Score: 4, Interesting

    11/9 was just big because it was in the US. Anti-US sentiment aside, the US is simply a more influential country than any of those affected by the Tsunami. US has very a powerful media and politic, so of course its going to be well covered.

    9/11 was big because it was caused by people. The tsunami was caused by nature. Comparing responses to them is like comparing responses to a murder versus a heart attack.

    --
    ...following the principles of Heisenburger's Uncertain Cat...
  67. Re:And other things.. by DigitalCrackPipe · · Score: 2, Informative
    lack of coverage and donations given to the victims of the tsunami
    Not sure what numbers you're reading. According to this article on the Tsunami,

    In all, the worldwide community donated more than $7 billion (2004 U.S. dollars) in humanitarian aid. It's not very productive to directly compare an event with such political magnitude to a natural disaster, without taking other factors into consideration. Try comparing Hurricane Katrina to the tsunami, and then adjust for scale, for a better idea of how limited the reach of media and donations are.
  68. Re:The answer is 64! by zienth · · Score: 2, Informative

    thegrassyknowl said:
    I guess it's a fault of the Unix people from way back. They made this epoch thing and used a 32-bit number to store the number of seconds since it. I guess they were assuming that all their software would have been replaced by something better on bigger machines. They shouldn't have written such reliable software and then maybe some of it would have been replaced by now ;)

    Well, the Unix people from way back were writing for a PDP-11, which was a 16 bit machine. I'd guess their early compilers didn't have an int type with more than 32 bits. Actually, since the Unix kernel was originally written in assembly, they may have used a 32-bit int because anything bigger was just a pain to write code with. I'm not sure whether a 32-bit time_t was in use before they re-wrote the kernel in C in 1973 or not. Keith

  69. Got hit by the Y2K bug - in 2008 by dbIII · · Score: 2, Interesting

    Strangely enough I got hit by a Y2K bug last week which will not get fixed for several months. Some idiot decided that 0000 would be good for a permanent licence - which means all the new permanant licences for a product my company is using expired on 1/1/2000. The work around the vendor approved is to disable the licence checking software entirely for the six to nine months before a solution is released. Don't you love expensive closed source abandonware?

  70. Re:I Emulated VM on current o/s by tengu1sd · · Score: 2, Insightful
    Older code is running on emulators now a days. The fastest VAX ever is modern Intel box emulating the older hardware. This allows older applications to continue to run, covering the loss of source code in some cases.

    The issue will be what's running in the back room. Just like Y2K, anyone who wants to be in business and avoid the lawyers is going to have to do some prep work.

  71. Re:The answer is 64! by cnettel · · Score: 3, Insightful

    Naively, though, there seems to be limited reason to store integers that are on the order of the square of the number of electrons in the observable universe. This means that we should stop at 256, if not earlier. There are pure physical reasons for why will never use up that address space for any kind of real memory. With limited use for the numbers, and limited use for the addresses, increasing the width seems quite strange. The bus width is a different thing, of course, and you can have a maximum word for SIMD operations, but by that logic all Pentium Ms are 128-bit chips already.

  72. Re:The answer is 64! by Rodyland · · Score: 2, Informative
    software that's recompiled for 64-bit machines will automagically use 64-bit ints where the programmer held the time in an int.


    Umm... no.

    Depending on your architecture (x86, sparc for two) and compiler (sunpro for one), 64bit compilers may still define an int as 32 bits, but redefine long, time_t, size_t, ptrdiff_t etc. as 64-bits (and FYI long long is also still 64bits).

    So, if an programmer has typed

    int i = time(NULL);

    then that code is still going to have the Y2K38 bug in it when recompiled in a 64 bit environment.

  73. Re:Not a significant date by Mesa+MIke · · Score: 2, Informative

    30 years is the standard length of a mortgage loan.

  74. Re:And other things.. by Tango42 · · Score: 2, Insightful

    The IRA's bombings weren't (in most cases) intended to kill people, they even gave warnings so the appropriate areas could be evacuated. I guess they just wanted publicity for their cause for the most part. Al Qaeda are very fond of indiscriminate killing, which is much more likely to cause hysteria.

  75. Re:And other things.. by Tango42 · · Score: 3, Funny

    Has your tin foil hat slipped?

  76. There, fixed that for ya... by repvik · · Score: 2, Insightful

    gniting almost 7 years of war on civil rights and liberty

  77. Re:And other things.. by JonathanR · · Score: 5, Funny

    The instruction at 0x49790053 referenced memory at 0x49790053.
    The memory could not be read.
    Click OK to terminate the program.
  78. Re:And other things.. by Carnildo · · Score: 3, Funny

    Really?! So there are always at least 12 numerological associations with every event in history?! OMG, I'm totally freaking out!!!12!12!


    There, fixed that for you.
    --
    "They redundantly repeated themselves over and over again incessantly without end ad infinitum" -- ibid.
  79. Re:And other things.. by Arthur+Grumbine · · Score: 5, Funny

    And of course "12" is composed of the digits 1 and 2.
    1+1=2
    1*2=2
    2/1=2
    1+2=1
    2^1=2
    What does this all add up to...?
    9
    But don't forgot...
    9 + 1*2 = 11
    Who has a UID with 9 as it's most common digit?! Bob-taro!!
    Whose UID without the 9s = 6+8+8 = 22, That's TWO 2s. 22 divided by 2...you guessed it... 11.
    That's right...9...11. 9/11!!!
    Who had the most to gain from 9/11?! Bob-taro!!
    Who brought down the towers?! Bob-taro!!
    Who fired a cruise missile into the Pentagon!? Bob-taro!!

    And to think, Bob-taro, you almost got away with it you sneaky sonuvabitch...

    --
    Now that I think about it, I'm pretty sure everything I just said is completely wrong.
  80. Re:maybe vba has a chance to live then by Allnighterking · · Score: 2, Funny

    Why does it always have to be my an idiot, Why can't it for once be someone else's an idiot. I keep my an idiot clean, it doesn't talk out of turn or make rude noises. But everyone just likes to pick on my an idiot.

    --

    I'm sorry, I'm to tired to be witty at the moment so this message will have to do.

  81. Re:And other things.. by Torvaun · · Score: 5, Funny

    The most subtle part of his plan was where he changed 1+2 to equal 1.

    --
    I see your informative link, and raise you a pithy comment.
  82. ah poop.. by digitalbountyhunter · · Score: 2, Funny

    Does this mean I should update the firmware of my abacus? I dont think there has been an update for a few thousand years. I once used a Egyptian Firmware Patch with a Roman Abacus, and it rendered the thing unusable. Not only that, but later that week - my dog was killed my a plague of locusts.

  83. Re:2048 by stonecypher · · Score: 3, Informative

    Unfortunately whoever invented these timestamps chose to make them use signed numbers, with negative numbers being allowed on some systems (representing dates before 1970) and being errors on other systems (e.g. Windows)...
    Whoever invented these timestamps did so before Microsoft was formed. According to The History of Computing Project, the earliest known reference to Microsoft is an announcement of the partnership as Micro-Soft in a Nov 29 1975 personal letter. The UNIX time date stamping system was in use in V1 in 1971 (though not in UNICS). I have it on suspicious authority that the mechanism may be inherited from a Multics mechanism with a different epoch date, but I cannot find proof.

    It's got less than nothing to do with Windows, and it's not about system compatibility. The choice of a signed number was simple: at the time, timespans were encoded as negative numbers. That was removed by v2 because it caused a lot of problems in naively written code. You're presenting guesswork as fact: that's a particularly pernicious form of lying, because other people start to repeat it, thinking it's true. Quit being such a kneejerk jerk. You have no idea what you're talking about.

    Fortunately 64-bit numbers can now be handled by pcs
    Mechanisms for handling 64 bit numbers have been in every edition of UNIX sold or distributed for more than 20 years, since the POSIX consortium was called in 1985 to standardize the existing differing mechanisms between Ultrix, SunOS, MIPS/BSD/Mach, V8, Xenix and so on. Stop making things up to seem smart.

    Whoever marked that informative should contact me for bill of sale in re: Brooklyn Bridge.
    --
    StoneCypher is Full of BS
  84. Re:And other things.. by Anonymous Coward · · Score: 2, Interesting

    Then compare the response to the Loma Prieta earthquake in California. His argument is still valid.

  85. Re:And other things.. by oldhack · · Score: 2, Interesting

    Ok, I'm an ignorant American (actually, an ignorant immigrant). 7/7??? What the fuck's that?

    --
    Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
  86. Re:Hmmmmmm by PReDiToR · · Score: 2, Funny

    He who denied it ... Supplied it.

    --

    Do not meddle in the affairs of geeks for they are subtle and quick to anger
  87. Re:And other things.. by Somegeek · · Score: 3, Informative
    Quote Tango42:

    The IRA's bombings weren't (in most cases) intended to kill people, they even gave warnings so the appropriate areas could be evacuated. I guess they just wanted publicity for their cause for the most part.

    What IRA are you talking about? The Provos, which is what most people refer to as the 'IRA', were responsible for somewhere around 1,800 deaths during "The Troubles", from the late '60s through the late '90s. During this same period they were responsible for approximately 20,000 wounded.
    http://en.wikipedia.org/wiki/Provisional_Irish_Republican_Army#Casualties

    Their primary strategy was "A war of attrition against enemy personnel [British Army] based on causing as many deaths as possible so as to create a demand from their [the British] people at home for their withdrawal."
    http://en.wikipedia.org/wiki/Provisional_Irish_Republican_Army#The_.22Long_War.22

    'as many deaths as possible'.

    --
    And as you tread the halls of sanity, You feel so glad to be, Unable to go beyond. I have a message, From another time..
  88. That's just postponing the inevitable. by raehl · · Score: 3, Funny

    Fortunately 64-bit numbers can now be handled by pcs, and can be used as an extended timestamp to get a few billion years of time.

    Sure, we could to that, but then even if we use an unsigned number, we're still just going to be fucked again in AD 584,542,050,060.

    And, by the way, 5+8+4+5+4+2+5+6 = 39, which is the number of weeks in a human pregnancy, which means the 2nd coming of Christ and the apocalypse.

    All because programmers were too lazy to use 128-bit numbers to represent dates.

  89. Re:And other things.. by DiscipleN2k · · Score: 2, Funny

    When I type "7/7" into Google, Google tells me it's "1"

    Then it goes on to mention something about a bombing in London.

  90. Re:And other things.. by Schemat1c · · Score: 2, Funny

    When I type "7/7" into Google, Google tells me it's "1" Strange because when I typed it I got this. Maybe you are using a different Google.
    --

    "Nobody knows the age of the human race, but everybody agrees that it is old enough to know better." - Unknown
  91. Re:And other things.. by aproposofwhat · · Score: 4, Insightful
    Groups like the IRA and ETA are generally composed of local people fighting on what is basically a local issue.

    We understand the causes of their frustration, and their targets were / are generally predictable.

    The PIRA in particular rarely bombed without telephone warnings, usually accurate enough to allow an evacuation to take place.

    Bin Laden, on the other hand, holds beliefs that are alien to our culture, and unbelievers sit next to dogs on his scale of values.

    Islamic extremist bombers are unlikely ever to give adequate telephone warnings, since they value human life far less than the Catholics of the PIRA and ETA.

    Having said that (and probably being of an age with you, having grown up in the late 60s and early 70s), the current rage for intrusive and unwarranted legislation is, I believe, more of a product of the CYA culture and the 'preventative approach' mentality than it is a reflection of any real threat.

    Intelligence and law enforcement agencies have empires to build and budgets to inflate, and politicians have no spine in the face of public (read Daily Mail) opinion, so I see little hope of this trend ending soon.

    --
    One swallow does not a fellatrix make
  92. Re:And other things.. by Bazer · · Score: 2, Interesting

    I guess he calculated in base 3 and forgot to type the 0.

  93. Re:And other things.. by 16Chapel · · Score: 2, Insightful

    The IRA didn't just plant bombs - they shot taxi drivers, grenaded army barracks, kneecapped people etc. etc.

    Yes, the IRA gave warnings before they bombed, but don't think that meant they were honorable or nice and fluffy - they sometimes gave deliberately false and confusing warnings that led to more deaths / injuries to innocent civilians (see the Omagh Bombing: http://en.wikipedia.org/wiki/Omagh_bombing)

    Don't get me wrong: the loyalist groups were just as bad. Most of the deaths in the Troubles were not bomb victims but tit-for-tat killings between Catholics and Protestants, as one side retaliated against the other in a horrible spiral of violence.

  94. Averages causing overflows by todslash · · Score: 3, Interesting

    It's not a big issue and as long as programmers are aware then hopefully it will be avoided.

    But there are pitfalls out there now which naive programming may fall into.

    I came across this one at http://www.2038bug.com/. We hit the 31st bit of POSIX time in 2004. That means that if you add together any two current times, for example when taking an average, then you will overflow a 32 bit signed integer.

    Apologies for code quality but this artificial example hopefully shows the issue:

    #include <stdlib.h>
    #include <stdio.h>
    #include <unistd.h>
    #include <time.h>
    int main ()
    {
    time_t t,t1,t2;
    struct timeval tnow;
    gettimeofday(&tnow,NULL);
    t1=tnow.tv_sec;
    printf ("Time now: %s", asctime (gmtime (&t1)));
    t2=t1+100;
    printf ("Add 100 seconds: %s", asctime (gmtime (&t2)));
    t=(t1+t2)/2;
    printf ("Average: %s", asctime (localtime (&t)));
    return 0;
    }

    gives the following on my x86 Linux system:

    Time now: Wed Jan 16 11:43:18 2008
    Add 100 seconds: Wed Jan 16 11:44:58 2008
    Average: Fri Dec 29 08:30:00 1939

    It's easy to fix by casting to 64 bit or dividing first but there may be similar examples hiding away in old code which are less easy to spot.

  95. Re:WTF are you talking about? by el_gordo101 · · Score: 2, Funny

    So the bank will be trying to foreclose on you for being 100+ years late on your last payment before you are scheduled to make your first. Awesome!

    --
    TODO: Insert witty sig