Slashdot Mirror


February 13th, UNIX Time Will Reach 1234567890

mikesd81 writes "Over at Linux Magazine Online, Jon maddog Hall writes that on Friday the 13th, 2009 at 11:31:30pm UTC UNIX time will reach 1,234,567,890. This will be Friday, February 13th at 1831 and 30 seconds EST. Matias Palomec has a perl script you an use to see what time that will be for you: perl -e 'print scalar localtime(1234567890),"\n";' Now, while this is not the UNIX epoch, Alan Cox does assure us that Linux is now working on 64-bit time, and the UNIX epoch 'roll-over' would happen about the time that the sun burnt out."

376 comments

  1. Leap Seconds? by John+Hasler · · Score: 5, Funny

    Is that with or without leap seconds?

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
    1. Re:Leap Seconds? by dotancohen · · Score: 5, Funny

      On Friday the 13th, every second is a leap second. BOO!

      --
      It is dangerous to be right when the government is wrong.
    2. Re:Leap Seconds? by Yvan256 · · Score: 4, Funny

      What do you mean? An African or European leap second?

    3. Re:Leap Seconds? by Anonymous Coward · · Score: 0

      1234567890 GET

    4. Re:Leap Seconds? by Anonymous Coward · · Score: 0

      What do you mean? An African or European leap second?

      ....I don't know that!

      +++ CARRIER DISCONNECTED +++

    5. Re:Leap Seconds? by yezu · · Score: 2, Funny

      In Soviet Russia the seconds leap You!

    6. Re:Leap Seconds? by nevillethedevil · · Score: 1

      Laden or unladen?

      --
      Be gone from my sight or prepare to feel my flaming wraith!
    7. Re:Leap Seconds? by Daimanta · · Score: 0, Offtopic

      I don't know!

      WAARRRGGHHHH!

      --
      Knowledge is power. Knowledge shared is power lost.
    8. Re:Leap Seconds? by Anonymous Coward · · Score: 1, Funny

      NOBODY expects the Monty Python quotes!

    9. Re:Leap Seconds? by Anonymous Coward · · Score: 0

      Ask the knigts who say "KNEEEEEEEEEEEEEEEEEEEEEEEEEEE"
      (Look up monty python and african swallow)

    10. Re:Leap Seconds? by Anonymous Coward · · Score: 0

      Huh? I... I don't know that.

      Auuuuuuuuuuugh!

    11. Re:Leap Seconds? by fractalspace · · Score: 1

      Doesn't matter. UTC 1234567890 will still remain within Fri the 13th.

    12. Re:Leap Seconds? by fractalspace · · Score: 1

      Dunno. If Canadian, its about .78 US.

    13. Re:Leap Seconds? by Z00L00K · · Score: 2, Insightful

      But here it won't happen until Saturday.

      "Sat Feb 14 00:31:30 2009 CET"

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    14. Re:Leap Seconds? by Chruisan · · Score: 1

      Had to look at it in a different document. Funny!

      Why did this get modded down? Oh yeah, the linux part...

    15. Re:Leap Seconds? by AragornSonOfArathorn · · Score: 1

      I don't know, but I do know that the fourth one STAYED UP!

      --
      sudo eat my shorts
    16. Re:Leap Seconds? by Sunnz · · Score: 1

      Man that looked like a pair of boobs... sigh...

  2. So... by Anonymous Coward · · Score: 0

    Slow news day, as fark would put it?

  3. perl golf!!! by Anonymous Coward · · Score: 0

    perl -e 'print ~~ localtime(1234567890),"\n"'

    1. Re:perl golf!!! by Anonymous Coward · · Score: 1, Informative

      perl -le 'print ~~localtime 1234567890'

  4. scalar() unnecessary by A+nonymous+Coward · · Score: 4, Informative

    perl -e 'print localtime(1234567890) ."\n";'

    Let the "." concatenate operator do it for you.

    1. Re:scalar() unnecessary by rfuilrez · · Score: 5, Interesting

      TIZZLE:~ ben$ perl -e 'print localtime(1234554321) ."\n";'
      Fri Feb 13 13:45:21 2009

      Apparently a palindrome is one the same day!

    2. Re:scalar() unnecessary by jlarocco · · Score: 4, Informative

      Perl is unnecessary:

      date -d@1234567890

    3. Re:scalar() unnecessary by osu-neko · · Score: 1

      Perl is unnecessary:

      date -d@1234567890

      Thus proving TMTOWTDI. ;)

      --
      "Convictions are more dangerous enemies of truth than lies."
    4. Re:scalar() unnecessary by Anonymous Coward · · Score: 0

      TIZZLE:~ ben$ perl -e 'print localtime(1234554321) ."\n";'

      Fri Feb 13 13:45:21 2009

      Apparently a palindrome is one the same day!

      Not for me:

      $ perl -e 'print scalar localtime(1234567890),"\n"'
      Sat Feb 14 00:31:30 2009
      $ perl -e 'print scalar localtime(1234554321),"\n"'
      Fri Feb 13 20:45:21 2009

    5. Re:scalar() unnecessary by Anonymous Coward · · Score: 5, Funny

      Thus proving TMTOWTDI. ;)

      Teenage mutant turtle on wild turtle date...? What the hell does I stand for?!

    6. Re:scalar() unnecessary by zippthorne · · Score: 1

      Obviously, since the leading five digits are the same, and each day uses up roughly the trailing five. (86,400 is aaaaaaaalmost 100,000)

      --
      Can you be Even More Awesome?!
    7. Re:scalar() unnecessary by adavies42 · · Score: 1

      $ perl -le 'print scalar localtime 1234554321'
      Sat Feb 14 03:45:21 2009

      --
      Media that can be recorded and distributed can be recorded and distributed.
      -kfg
    8. Re:scalar() unnecessary by mollymoo · · Score: 1

      To me that logic makes it obvious there is a close(ish) to 50/50 chance, as you don't know where in the day the boundary will fall.

      --
      Chernobyl 'not a wildlife haven' - BBC News
    9. Re:scalar() unnecessary by Chickenlip · · Score: 1

      the whole concatenation is unnecessary: perl -le 'print localtime(1234567890)'

  5. It's also a notable day because... by A+beautiful+mind · · Score: 5, Funny

    ...it's my birthday. I've been telling people for years that my birthday is at 1234567890.

    --
    It takes a man to suffer ignorance and smile
    Be yourself no matter what they say
    1. Re:It's also a notable day because... by jellomizer · · Score: 5, Funny

      Then they look at you like you are an idiot and never talk to you again. enjoy you birthday alone.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    2. Re:It's also a notable day because... by LiENUS · · Score: 1

      Hah I got you beat. mines 0123, now all i gotta do is live to 2045.

    3. Re:It's also a notable day because... by Anonymous Coward · · Score: 0

      You are a dick.

    4. Re:It's also a notable day because... by kohaku · · Score: 5, Funny

      WRONG. I'll bet his birthday party is going to be EPOCH.

    5. Re:It's also a notable day because... by Anonymous Coward · · Score: 0

      So on 1234567890 you get 1 year old?

    6. Re:It's also a notable day because... by rwwyatt · · Score: 2, Funny

      And this is different from the normal slashdotter's day how? Most slashdotter's would be happy to enjoy only their birthday alone.

    7. Re:It's also a notable day because... by beav007 · · Score: 4, Funny

      Don't forget to party like it's 915148769

    8. Re:It's also a notable day because... by Anonymous Coward · · Score: 0

      I think you forgot around 22 leap seconds

    9. Re:It's also a notable day because... by ahankinson · · Score: 4, Funny

      Party like it's 7pm on Dec. 31, 1998? Geez... at least wait until 915166800

    10. Re:It's also a notable day because... by beav007 · · Score: 1

      Now you know why we Australians are often called "ahead of the times"...

    11. Re:It's also a notable day because... by Marillion · · Score: 1

      It's my birthday too. Happy Birthday!

      --
      This is a boring sig
    12. Re:It's also a notable day because... by lxs · · Score: 1

      You get WiFi in the womb or are you posting this from your iPhone?

    13. Re:It's also a notable day because... by Anonymous Coward · · Score: 0

      $ date -d@915148769
      Fri Jan 1 01:59:29 EET 1999

      I don't get it. What was it? Bed time?

    14. Re:It's also a notable day because... by Anonymous Coward · · Score: 0

      EPOCH FAIL, that is.

    15. Re:It's also a notable day because... by Anonymous Coward · · Score: 0

      Oh dear. Timezones strike again.

    16. Re:It's also a notable day because... by WaZiX · · Score: 1

      What was it? Bed time?

      Exactly!

  6. Actually, the date... by dotancohen · · Score: 3, Funny

    ...that I really feel I missed:

    $ perl -e 'print scalar localtime(8675309),"\n";'
    Sat Apr 11 11:48:29 1970

    --
    It is dangerous to be right when the government is wrong.
    1. Re:Actually, the date... by $RANDOMLUSER · · Score: 1

      Mmmmmmm Jenny.

      --
      No folly is more costly than the folly of intolerant idealism. - Winston Churchill
    2. Re:Actually, the date... by paul248 · · Score: 1

      I doubt anyone cared much about 8675309 in 1970, considering the song was about -12 years old.

    3. Re:Actually, the date... by Anonymous Coward · · Score: 0

      I suspect everybody missed that one. The number wasn't made famous until the 1980s.

  7. Why perl? by Anonymous Coward · · Score: 1, Insightful

    Perl, because `watch date +"%s"` is too easy?

    1. Re:Why perl? by enFi · · Score: 1

      Or for the Pythonically inclined:

      import time
      time.asctime(time.localtime(1234567890))
      'Fri Feb 13 15:31:30 2009'

    2. Re:Why perl? by RiotingPacifist · · Score: 1

      it is, you need watch --interval=1 date +"%s" or the interval could be anything

      --
      IranAir Flight 655 never forget!
    3. Re:Why perl? by eddy · · Score: 2, Interesting

      Or if you want the countdown, something like while true; do let a=1234567890-`date +"%s"`; echo $a; sleep 1; done"

      --
      Belief is the currency of delusion.
    4. Re:Why perl? by anonymous+donor · · Score: 1

      Because you don't get what it does? Hint: `date -d 1234567890` doesn't work.

      --
      fortune favors the lucky
    5. Re:Why perl? by Anonymous Coward · · Score: 0

      That's because you don't know the proper syntax. "date -d @1234567890" works just fine. I just thought a count-up was more interesting.

    6. Re:Why perl? by cibyr · · Score: 1

      Or if we're still playing golf:
      watch -n 1 date +"%s"

      --
      It's not exactly rocket surgery.
    7. Re:Why perl? by Anonymous Coward · · Score: 0

      Or for the Ruby inclined:

      $ ruby -e 'puts Time.at(1234567890)'

    8. Re:Why perl? by multipartmixed · · Score: 1

      You know, being snide just because you don't know how to do something leaves a poor impression.

      Hint: date -d 'jan 1 1970 00:00:00 UTC 1234567890 seconds' works just fine on a GNU machine.

      --

      Do daemons dream of electric sleep()?
    9. Re:Why perl? by zobier · · Score: 1

      While we're finding other WTDIs:

          php -r "echo strftime('%Y-%m-%d %H:%M:%S', 1234567890);"

      --
      Me lost me cookie at the disco.
    10. Re:Why perl? by CrtxReavr · · Score: 1

      perl, watch, or python because 'date -r 1234567890' is too easy?

      -CR

      --
      "So is the BSD licence even more 'free' (than GPLv2)? Yes. Unquestionably." --Linus Torvalds (TinyURL.com/2vugzl)
    11. Re:Why perl? by Phoe6 · · Score: 1

      Or if you want it in Python, where readability counts.

      python -c "import time;print time.asctime(time.localtime(1234567890))"

      --
      Senthil
    12. Re:Why perl? by FunkyELF · · Score: 1

      The original example worked from the command line. Your's is on multiple lines and doesn't.
      echo "import time; print time.asctime(time.localtime(1234567890))" | python

    13. Re:Why perl? by nneonneo · · Score: 1

      You know, sticking everything on one line is sort of the antithesis to readability, especially in Python...
       
      python -c "print __import__('time').ctime(1234567890)"

    14. Re:Why perl? by DavidSev · · Score: 1

      as does date -d @1234567890

  8. What kind of stupid time is that? by John.P.Jones · · Score: 4, Funny

    So the time is 123456789? That's the stupidest time I've ever heard in my life... It sounds like something an idiot would have on his luggage.

    1. Re:What kind of stupid time is that? by Anonymous Coward · · Score: 2, Funny

      Hey! That's my luggage combination!

    2. Re:What kind of stupid time is that? by mochan_s · · Score: 1

      That's amazing! I've got the same combination on my luggage!

      And change the combination on my luggage!

    3. Re:What kind of stupid time is that? by Waffle+Iron · · Score: 2, Insightful

      So the time is 123456789? That's the stupidest time I've ever heard in my life... It sounds like something an idiot would have on his luggage.

      Indeed, it would be hard to find a more stupid era than Nov 1973. It was the height of the Watergate scandal, a time of inflation, energy crisis, bad haircuts, ugly suits, and the quality of pop music spiraling downward. Truly a nadir in modern history.

    4. Re:What kind of stupid time is that? by $RANDOMLUSER · · Score: 1

      Hey! That's my root password!

      --
      No folly is more costly than the folly of intolerant idealism. - Winston Churchill
    5. Re:What kind of stupid time is that? by Runaway1956 · · Score: 1

      Damned good thing that I graduated from high school, and started setting things right, huh? Just think where we would be had I been born 20 years later.......

      --
      "Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
    6. Re:What kind of stupid time is that? by DiegoBravo · · Score: 2, Funny

      > and the quality of pop music spiraling downward. Truly a nadir in modern history.

      I'd call that an inflection point. The nadir is TODAY.

    7. Re:What kind of stupid time is that? by supernova_hq · · Score: 1

      and the quality of pop music spiraling downward.

      Well, it sure as hell didn't go up!

    8. Re:What kind of stupid time is that? by Anonymous Coward · · Score: 0

      No, it isn't.

    9. Re:What kind of stupid time is that? by Anonymous Coward · · Score: 0

      Oh yes, without the zero it's a very stupid
      Thu Nov 29 22:33:09 1973
      But with the zero it's

      St VALENTINE'S DAY ... about midnight ...

      here in Europe and Africa, aren't we lovely,

      Kisses.

  9. Re:so what? by Bozzio · · Score: 4, Funny

    Wow, you must have a hard time finding joy in anything.

    --
    I just pooped your party.
  10. Re:so what? by SwabTheDeck · · Score: 1

    1234567890 is some arbitrary decimal string, if you wished to note a notable number, why not one which is 2^N, for something so entirely based within computers, it seems much more sensible to think in binary than some decimal number which happens to look a little pretty

    Longest sentence ever.

  11. Perl script is unnecessary by Chris+Pimlott · · Score: 5, Informative

    The standard unix date command will suffice:

    date -d @1234567890

    1. Re:Perl script is unnecessary by Anonymous Coward · · Score: 1, Informative

      The standard unix date command will suffice:

      date -d @1234567890

      That doesn't work on Linux or FreeBSD. On there, you need to do this:

      date +%s

    2. Re:Perl script is unnecessary by Anonymous Coward · · Score: 5, Funny
      Leave it to a Slashdot story to make my terminal window look like this:

      dave@tomservo:~$ perl -e 'print scalar localtime(1234567890),"\n";'
      Fri Feb 13 18:31:30 2009
      dave@tomservo:~$ perl -e 'print ~~ localtime(1234567890),"\n"'
      Fri Feb 13 18:31:30 2009
      dave@tomservo:~$ perl -e 'print localtime(1234567890) ."\n";'
      Fri Feb 13 18:31:30 2009
      dave@tomservo:~$ `watch date +"%s"`

      dave@tomservo:~$ perl -le 'print ~~localtime 1234567890'
      Fri Feb 13 18:31:30 2009
      dave@tomservo:~$ date -d @1234567890
      Fri Feb 13 18:31:30 EST 2009
      dave@tomservo:~$

      I've wasted my life.

    3. Re:Perl script is unnecessary by Chris+Pimlott · · Score: 0

      That doesn't work on Linux or FreeBSD. On there, you need to do this:

      date +%s

      That's if you want to output the epoch, this is to convert the epoch to human-readable time.

    4. Re:Perl script is unnecessary by Anonymous Coward · · Score: 0

      Under FreeBSD (and maybe the other BSD's too):

      $ date -r 1234567890
      Sat Feb 14 10:31:30 EST 2009

      (That is Australian EST, not the US EST)

    5. Re:Perl script is unnecessary by Anonymous Coward · · Score: 1, Informative

      Works for me (Ubunutu):
      $ date -d @1234567890
      Sat Feb 14 00:31:30 CET 2009

    6. Re:Perl script is unnecessary by RiotingPacifist · · Score: 1

      you think thats bad, i have three terminals open now, but the most interesting was.
      >>> def edate(n):

      ... i=0

      ... while i != n :

      ... d = "date -d@" + str(2**i)

      ... print n, " ->", os.popen(d).readline(),

      ... i+=1

      produced an interesting bug at 56 because the year is bigger than 2^32

      I think it is infact ME thats wated my life

      --
      IranAir Flight 655 never forget!
    7. Re:Perl script is unnecessary by dronkert · · Score: 1

      date -r 1234567890 does it for me.

    8. Re:Perl script is unnecessary by Anonymous Coward · · Score: 0

      I think it is infact ME thats wated my life

      How can Windows ME waste your life if you're running unix?

    9. Re:Perl script is unnecessary by Runaway1956 · · Score: 1

      "I've wasted my life." No, Grasshopper. You have, instead, provided amusement for those watching. ;)

      --
      "Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
    10. Re:Perl script is unnecessary by slashnik · · Score: 1

      How about
      while true ; do date +%s; sleep 1; done

    11. Re:Perl script is unnecessary by Anonymous Coward · · Score: 0

      yup. plan 9 makes this easy.

      chula# date 1234567890
      Fri Feb 13 18:31:30 EST 2009

    12. Re:Perl script is unnecessary by Anonymous Coward · · Score: 0

      No, I'm pretty sure the AC wasted your life... or something.

    13. Re:Perl script is unnecessary by dfn_deux · · Score: 1

      That is a gnu'ism. It isn't "standard unix".

      --
      -*The above statement is printed entirely on recycled electrons*-
    14. Re:Perl script is unnecessary by 14erCleaner · · Score: 1

      Good think you posted this anonymously, dave@tomservo.

      --
      Have you read my blog lately?
    15. Re:Perl script is unnecessary by toppromulan · · Score: 1

      Go the full shebang and use my handy utility for observing, especially with bash -x mode: http://github.com/topromulan/12345/tree/master

    16. Re:Perl script is unnecessary by mcgrew · · Score: 1

      I've wasted my life

      Life? Don't talk to me about life!

    17. Re:Perl script is unnecessary by silent_artichoke · · Score: 1

      Sadly, you have just summed up my entire existence...

  12. Re:so what? by rebel13 · · Score: 1

    2^30 already passed us by (Sat Jan 10, 2004 at 08:37:04 EST) and few of us will be alive for 2^32 (Sun Feb 7 2106 at 01:28:16 EST), but 2^31 is right around the corner! (Mon Jan 18, 22:14:08 EST).

  13. Re:so what? by Anonymous Coward · · Score: 0

    1234567890 GET!

    Oh I love a good GET. Hope it's not a furget again though.

  14. Re:so what? by product+byproduct · · Score: 2, Interesting

    11.23 seconds later UNIX time will reach 10^11/3^4. You can celebrate that instead.

  15. Can't wait for... by Anonymous Coward · · Score: 0

    Fri Nov 7 01:00:10 5451

  16. Must be a slow news day.. by mysidia · · Score: 1, Flamebait

    I mean seriously... why is 1234567890 such a special timestamp? Where was the article when we crossed 123456789 ? :)

    As for Linux using 64-bit time, that's great, but many applications still were compiled with a 32-bit time_t

    Or use 32-bit integers to represent the time saved in binary DB structures, where it's not so trivial to convert.

    The OS itself may live past the 2038 32-bit time_t rollover, but the same cannot be said about all mission-critical apps that may be running on top of the Linux OS.

    An OS is nothing without database apps, business apps, etc, some of which source code may not be available for, some of which may be unsupported abandonware by the time 2038 rolls around.

    For example, do MySQL and postgreSQL use 64-bit date values exclusively now?

    What about apps that were already written and use ordinary ints to hold time_t values? They'll have issues just like the Year 2000 issues that were a problem 10 years ago.

    1. Re:Must be a slow news day.. by sakdoctor · · Score: 2, Informative

      I'm going to quit work before 2147483647 because I don't want to update all my code.

    2. Re:Must be a slow news day.. by Jamamala · · Score: 1

      Where was the article when we crossed 123456789 ? :)

      I don't think Slashdot existed in 1973.

      perl -e 'print scalar localtime(123456789),"\n";'
      Thu Nov 29 21:33:09 1973

    3. Re:Must be a slow news day.. by u38cg · · Score: 1

      I mean seriously... why is 1234567890 such a special timestamp? Where was the article when we crossed 123456789 ? :)

      I'm not quite sure or not whether you've noticed that 123456789 would be 1973? This is a couple of years before Taco got around to starting this heap of junk.

      --
      [FUCK BETA]
    4. Re:Must be a slow news day.. by FooAtWFU · · Score: 5, Funny

      The OS itself may live past the 2038 32-bit time_t rollover, but the same cannot be said about all mission-critical apps that may be running on top of the Linux OS.

      Or any OS, for that matter.

      And now a bit of topical humor so this post isn't purely an exercise in pointing out the obvious: "Every day is a long day, because 86400 seconds won't fit in a short."

      --
      The World Wide Web is dying. Soon, we shall have only the Internet.
    5. Re:Must be a slow news day.. by mysidia · · Score: 1

      Ok, yeah, I suppose that's valid. The news orgs around at the time didn't say anything, that I knew of.

      Still, other gems have come and past with not so much as a heads up, like 987654321, 1123456789, 1122334455, 1123581321, 1231231231, 12341234123, 123412345, 12345123451, 1020304050, 1111100000, 1010101010, 1098765432,

    6. Re:Must be a slow news day.. by ogdenk · · Score: 1

      Quit whining, that means there were be guaranteed work for a bunch of coders in 2038 that would probably otherwise be unemployed or going nuts in retirement.

      Then a bunch of whiny MS fanboys will all be saying OMG we fixed that back in 2000, Linux iz teh suXX0rz.

      Though I'm hoping that by 2038 MS would have already received the flaming death it deserves, Bill Gates will have died from some horrible disease he picked up while exploiting third world children, Linux will have dwindled down to 3 or 4 fairly unified distros, BSD finally gets the attention it deserved, the second armed US revolution will have happened with the citizens being the victors and the space program finally received more funding than some BS foreign war.....

      one can dream can't he?

    7. Re:Must be a slow news day.. by Anonymous Coward · · Score: 0

      check archive.org

    8. Re:Must be a slow news day.. by mysidia · · Score: 1

      Y2038 compatibility will be a feature of Windows 2037, to expand dates to a 128-bit field..

      The real issue will be the old iExchange 2030 installations that have some sort of leap year calculation bug, and for some reason haven't upgraded to MicroAppleSoft iPostfix 2038, possibly out of a distaste to the UI problems and bugginess in the enhancements to the iAIX kernel introduced in iWindows Server 2035.

      Or the lose-all-your-data bug in iSQL Server 2033.

    9. Re:Must be a slow news day.. by RiotingPacifist · · Score: 1

      As for Linux using 64-bit time, that's great, but many applications still were compiled with a 32-bit time_t

      Some time near 2025 redhat or whoever is putting out business distros will announce there entire repo is compiled with 64bit time_t with all databases will use 64bit integers for dates by default.

      They'll have issues just like the Year 2000 issues that were a problem 10 years ago.

      Erm where there any Y2k issues? most of the world ignored them and got by fine

      --
      IranAir Flight 655 never forget!
    10. Re:Must be a slow news day.. by mysidia · · Score: 1

      Some time near 2025 redhat or whoever is putting out business distros will announce there entire repo is compiled with 64bit time_t with all databases will use 64bit integers for dates by default.

      This doesn't effect programs that are already compiled.

      It breaks binary compatibility, doesn't match the POSIX.1 standard, and programs wind up corrupting databases, structures containing your data already saved to disk in 32-bit form, so it won't happen.

      Binary structures saved to your disk by various apps (esp. third-party closed-source apps that provide business-critical functions) cannot be correctly changed with a simple library types update.

      Most apps that store binary structures to a file are smart enough to use 'u_int32_t' anyways, but not smart enough to anticipate future needs after the year 2037 has passed.

      I'd like to think POSIX.1 and ANSIC would have an updated version by then that allows for 64-bit assured time values, but it seems unlikely to come any time soon.

    11. Re:Must be a slow news day.. by Anonymous Coward · · Score: 0

      Erm where there any Y2k issues? most of the world ignored them and got by fine

      Where the fuck were you? There were no major problems because the affected institutions were smart enough to hire people to fix their software in advance. Read Wikipedia if you were a munchkin or living in a cave in 1999.

      Though I do remember checking an Ultima Online forum in the first few days of January 2000, and seeing the year listed as 19100.

    12. Re:Must be a slow news day.. by Anonymous Coward · · Score: 1, Interesting

      MS didn't fix it back in 2000. MS never got it wrong in the first place. Time in Windows has always been been defined as a 64-bit count of 100ns increments since 1900, with negative numbers representing time before 1900, well into pre-history.

      The Windows clock range is a 58,455 year range, from ~ 29K B.C. to +29K A.D.

      This 2038 issue is and always has been a Unix bug.

      Even the original Mac OS used January 1901 for its epoch, so again, this has /always/ been a Unix/Linux bug.

    13. Re:Must be a slow news day.. by RiotingPacifist · · Score: 1

      from your own link:

      Others have claimed that there were no, or very few, critical problems to begin with, and that correcting the few minor mistakes as they occurred (the 'fix on failure' approach) would have been the most efficient and cost effective way to solve the problem. Editorial writing in the Wall Street Journal called Y2K an end-of-the-world cult and the hoax of the century.[27] The opposing view was bolstered by a number of observations.

              * The lack of Y2K-related problems in schools, many of which undertook little or no remediation effort. By September 1, 1999 only 28 percent of US schools had achieved compliance for mission critical systems, and a government report predicted that "Y2K failures could very well plague the computers used by schools to manage payrolls, student records, online curricula, and building safety systems".[28]
              * The lack of Y2K-related problems in an estimated 1.5 million small businesses that undertook no remediation effort. On 3 January 2000 (the first weekday of the year) the Small Business Administration received an estimated 40 calls from businesses with computer problems, similar to the average. None of the problems were critical.[29]
              * The lack of Y2K-related problems in countries such as Italy, which undertook a far more limited remediation effort than the United States. In an October 22, 1999, report, a US Senate Committee expressed concern about safe travel outside of the United States. The report stated that overseas public transit systems were considered vulnerable because many did not have an aggressive response plan in place for any problems. Internationally, the report singled out Italy, China and Russia as poorly prepared. The Australian government evacuated all but three embassy staff from Russia.[30] None of these countries experienced any Y2K problems regarded as worth reporting.[31]
              * The absence of Y2K-related problems occurring before January 1, 2000, even though the 2000 financial year commenced in 1999 in many jurisdictions, and a wide range of forward-looking calculations involved dates in 2000 and later years. Estimates undertaken in the leadup to 2000 suggested that around 25% of all problems should have occurred before 2000.[32] Critics of large-scale remediation argued, during 1999, that the absence of significant problems, even in systems that had not been rendered compliant, suggested that the scale of the problem had been overestimated.[33]

      a few sites displaying an incorrect date is hardly a major problem.

      --
      IranAir Flight 655 never forget!
    14. Re:Must be a slow news day.. by FlyingBishop · · Score: 1

      Well that doesn't mean you need a long...

    15. Re:Must be a slow news day.. by Lumpy · · Score: 1

      Tell that to the Voyager space craft or many of our older communication and weather sattelites.

      The software and OS they run are older than you are are still running and still mission critical.

      Any system that works and has the power to run 60 years or more will do just fine running 60 year old software and OS.

      --
      Do not look at laser with remaining good eye.
    16. Re:Must be a slow news day.. by rubycodez · · Score: 1

      even my shell can't do it:

      ziggy@nemes:~$ date --date '1970-01-01 UTC + 2147483647 seconds'
      Mon Jan 18 21:14:07 CST 2038

      ziggy@nemes:~$ date --date '1970-01-01 UTC + 2147483648 seconds'
      date: invalid date `1970-01-01 UTC + 2147483648 seconds'

    17. Re:Must be a slow news day.. by toppromulan · · Score: 1
      > why is 1234567890 such a special timestamp?

      I would tender that because 1234567890 is ten times 0123456789. We're surrounded by decimal representations of number. Fascinating.

    18. Re:Must be a slow news day.. by mollymoo · · Score: 1

      MS may not have got it wrong in Windows, but their dates in Excel are wrong. IIRC that was for compatibility with Lotus 1-2-3. That anomaly may even have made it into OOXML. Old bugs never die in MS land.

      --
      Chernobyl 'not a wildlife haven' - BBC News
    19. Re:Must be a slow news day.. by jsoderba · · Score: 1

      Wiki says the meaning and epoch of the Unix clock change several times in the early 70s. In fact the clock originally counted time in sixtieths of a second (because the first Unix machine's processor ran at 60Hz), so the wall clock time that 123456789 appeared is ambiguous.

    20. Re:Must be a slow news day.. by petermgreen · · Score: 1

      The OS itself may live past the 2038 32-bit time_t rollover, but the same cannot be said about all mission-critical apps that may be running on top of the Linux OS.
      Note that this issue isn't linux specific, it applies to most 32 bit unix-like systems and some apps on other systems too. While windows doesn't natively use unix time that doesn't mean windows apps don't.

      An OS is nothing without database apps, business apps, etc, some of which source code may not be available for, some of which may be unsupported abandonware by the time 2038 rolls around.
      Indeed I predict that like y2k there will be a flurry of activity in the last few years to identify and fix such problems and that some of them will be VERY difficult and expensive to fix due to lack of source code etc.

      Should be a pretty profitable time for most of us slashdotters who will most likely be the old guys (i'm going to guess that most /.ers are between 20 and 40, that would put us between 50 and 70 in 2038) who know C when this rolls arround.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    21. Re:Must be a slow news day.. by kaehler · · Score: 1

      I mean seriously... why is 1234567890 such a special timestamp?
      Where was the article when we crossed 123456789 ? :)

      Because it is also friday the 13th

    22. Re:Must be a slow news day.. by Anonymous Coward · · Score: 0

      Coming up next: 1248163264 (1 2 4 8 16 32 64)
      Tue Jul 21 03:01:04 CDT 2009

  17. 1234567890 by Anonymous Coward · · Score: 0

    Aaaaargh, the end of the world!!!!

  18. Oh, well... by __aaclcg7560 · · Score: 1

    I guess I'll have to wait until 2012 for the end of the world.

  19. Geeks in Time by A+Dafa+Disciple · · Score: 0, Redundant

    What is it with geeks and time?

    It always surprises me when this sort of "news" makes the front page.

    I mean, I'm a geek, but even I think this is lame.

    1. Re:Geeks in Time by Anonymous Coward · · Score: 0
  20. don't miss it by NightFears · · Score: 1

    Sounds like an epic get.

  21. With by Vellmont · · Score: 3, Informative

    Good question:
    http://en.wikipedia.org/wiki/Unix_time

    the times it represents are UTC but it has no way of representing UTC leap seconds (e.g. 1998-12-31 23:59:60).

    I don't think there's any defined way for a POSIX machine to deal with leap seconds. The usual solution is to slew the clock a bit after they occur.

    --
    AccountKiller
    1. Re:With by TheRaven64 · · Score: 1

      Can we just not use them? I mean, who really cares if the sun is at its highest point a minute after midday on the summer solstice? Maybe in a hundred years or so we can schedule a leap minute, and by then we'll probably have worked out sensible standards for dealing with them.

      --
      I am TheRaven on Soylent News
    2. Re:With by shaitand · · Score: 1

      maybe we could just move to a calendar and time system that gives finer resolution and is based on 10's like the metric system.

    3. Re:With by Anonymous Coward · · Score: 1, Insightful

      That is a reasonable, well thought out idea with overall little recourse.
      It will never happen.

    4. Re:With by ultranova · · Score: 4, Informative

      maybe we could just move to a calendar and time system that gives finer resolution and is based on 10's like the metric system.

      Unix clock is using the metric system. "Second", after all, is the metric unit for time, and Unix clock simply counts the seconds after a certain point in time. It's only the human representation of that value which deals with minutes and such.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    5. Re:With by FST777 · · Score: 2, Insightful

      The resolution is not the problem. Due to the fact that we are measuring nature, small changes do happen. This is the reason that leap seconds aren't scheduled decades in advance.

      See here.

      I'd like the metric system to take over our measurement of time, but, disregarding other problems, it won't solve the leap second issue all by itself.

      --
      Free beer is never free as in speech. Free speech is always free as in beer.
    6. Re:With by shaitand · · Score: 0

      My proposal wasn't the metric time system per say but to use an easy to calculate and measure unit of time and to decouple our calendars and clocks from the natural events you speak of.

      You agree upon a unit of time first, and then measure natural events in that unit. You don't base your unit on the variable natural events. The length of time it takes for our planet to orbit the sun is something that fits better into an almanac and is recorded for scientific purposes. It really shouldn't impact my calendar and alarm clock.

    7. Re:With by Daimanta · · Score: 4, Informative

      The french tried it. It failed.

      The days(fixed) in a year(fixed) are not divisible by 10 so there were days without a month. Furthermore it increases the number of days in each week and it changed the definition of the hour(10 each day) the minute(100 each hour) and the second(100 each minute).

      All in all, it was a mess. Not designed with nature as a guideline(like pretty much all other calendars) but with the number 10, a number based on the fingers on our hands.

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

      --
      Knowledge is power. Knowledge shared is power lost.
    8. Re:With by theeddie55 · · Score: 0

      in what way is the "second" metric? that's like saying the inch is metric as long as we just measure in inches and ignore things like feet and yards.

    9. Re:With by schon · · Score: 4, Informative

      in what way is the "second" metric?

      How about this way?

    10. Re:With by Anonymous Coward · · Score: 5, Funny

      The french tried it. It failed.

      If any post should be marked redundant...

    11. Re:With by ixidor · · Score: 1

      and yet, with water, thats the same thing they did.\ metric freeze, 0, boil 100... seems the standard is set from observing natural phenomenon, not arbitrarily picking a unit then arbitrarily measuring temp in it.

    12. Re:With by shaitand · · Score: 1

      That's the problem, they kept this days, years, months, nonsense. There is no particular reason we should be basing a fixed unit of time measurement on natural events of varying length. We should use a fixed unit of time, and a fixed system of measurement and time accounting, and leave the measures of time associated with particular natural events to reference books and the obscure people who need them.

      Tying our clocks and calendars made sense when our lives revolved around visibility provided by the sun and harvests dictated by the seasons but they don't make sense in the modern age. Today we have lighting that assures you can rise at 6pm and do anything you could have done having risen at 6am and we have air conditioning and heating.

      Bottom line is that we simply don't need clocks based around sunlight and calendars centered around seasons anymore.

    13. Re:With by shaitand · · Score: 1

      Go back, re-read my post. At no point did I suggest using the metric system. The choice of the reference points you mention was indeed largely arbitrary, the point is not what is used for the unit (natural or unnatural) the point is that there is a fixed and unchanging unit that is constant and all other reference units are derived from that unit. Natural phenomenon is fine as long as it is constant. The length of time it takes light to travel one meter in a vacuum would be fine and dandy for a time unit. But all clocks, calendars, etc should be derived in multiples of 10 from that fixed unit instead of the other way around.

      We aren't tied to sun cycles or seasons anymore. We have artificial lighting and climate controlled buildings these days. I'm all for measuring the time it takes the earth to circle the sun, it'd make for a fine bit of trivia but we measure that in our fixed and unchanging unit of time, we don't build our lives around a bit of information that should be relegated to reference books.

    14. Re:With by gullevek · · Score: 1

      This is as likely to happen, as the US moves away from miles, farenheit and other not more used things.

      The costs, the problems, etc would be so big, just not doable.

      Plus, do you really want to relearn the clock stuff? No thanks.

      --
      "Freiheit ist immer auch die Freiheit des Andersdenkenden" - Rosa Luxemburg, 1871 - 1919
    15. Re:With by amorsen · · Score: 1

      and yet, with water, thats the same thing they did.\ metric freeze, 0, boil 100... seems the standard is set from observing natural phenomenon, not arbitrarily picking a unit then arbitrarily measuring temp in it.

      Degrees C isn't an SI unit. It is just as obsolete as inches.

      --
      Finally! A year of moderation! Ready for 2019?
    16. Re:With by wwwald · · Score: 1

      Sorry, but you're wrong.

      Celsius temperature is an SI derived unit, so it is nowhere near obsolete. The inch, on the other hand, is indeed as obsolete as Margaret Thatcher.

      See here, for instance.

    17. Re:With by Anonymous Coward · · Score: 0

      uh... miliseconds? microseconds?

    18. Re:With by Anonymous Coward · · Score: 0

      My proposal wasn't the metric time system per say

      I here what your saying.

    19. Re:With by Hognoxious · · Score: 1

      It's also quite convenient that trains etc go at the same time every day, and that on Wednesday the 9 o;clock news isn't on at 5:43.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    20. Re:With by Anonymous Coward · · Score: 0

      Bottom line is that we simply don't need clocks based around sunlight and calendars centered around seasons anymore.

      s/we/I/

      Don't pretend to speak for all of us collectively. Some of us 'leave the basement' quite frequently, and natural light (and 'when' it occurs in relation to when we are required to work) is important to us.
      Also, from an energy efficiency point of view, it makes sense to be asleep with lights off and heating low at night, and make maximum use of natural light and higher temperatures in the day, even if they have to be topped up artificially.

    21. Re:With by Anonymous Coward · · Score: 0

      As several people have pointed out your comment is completely misleading, so is that Wikipedia entry.

      In that axiom of reference we (humans as a whole) have defined, the number of seconds elapsed since the epoch is not only known but it's also an unarguable fact.

      This is because in our axiom of reference a second last for an exactly defined (impossible to argue about) amount of time.

      A second last a second, a leap second last also a second. And it's the same amount.

      Leap seconds have nothing to do with how many seconds have elapsed since the epoch. A second is a fixed unit of time, contrary to minute, hour, days, etc. that can have a varying amount of seconds (give or take one).

      That Wikipedia entry is obviously misleading people (like your were mislead) and should be cleaned up.

    22. Re:With by jeremyp · · Score: 2, Informative

      The second is the official SI unit of time.

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

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    23. Re:With by Anonymous Coward · · Score: 0

      in what way is the "second" metric? that's like saying the inch is metric as long as we just measure in inches and ignore things like feet and yards.

      Never thought about that. In what units do you Americans measure time?

    24. Re:With by Anonymous Coward · · Score: 0

      Unfortunately that Wikipedia entry is correct. You were mislead by the term "seconds since the epoch" because you thought it means a count of seconds. That is not the case. "Seconds since the epoch" is a defined term in the POSIX standard and effectively means "seconds since the epoch, excluding leap seconds". The actual definition is a conversion formula which calculates the time_t value of a UTC date and does not take leap seconds into account.

    25. Re:With by Anonymous Coward · · Score: 0, Troll

      The french tried it. It failed.

      If any post should be marked redundant...

      If any post should be marked troll...

    26. Re:With by DrgnDancer · · Score: 1

      Thankfully we have not decided to go OFF the second standard just because the metric system adopted it. (Sometimes it wouldn't surprise me)

      --
      I don't need a million points of light, just two points of multi-mode fiber and a 10 Gig-E router.
    27. Re:With by DrgnDancer · · Score: 1

      It's still arbitrary. Why water? Why not alcohol, or oxygen, or iron? We chose water for obvious reasons: it's a substance we all use, its freeze point is noticeable in nature and boiling point observable with minimal effort, etc, but we could have chosen to measure based on anything and we chose water. Similarly the gram and the meter are arbitrary amounts that became standards. You have to start somewhere.

      --
      I don't need a million points of light, just two points of multi-mode fiber and a 10 Gig-E router.
    28. Re:With by silent_artichoke · · Score: 1

      I hereby bequeath all future mod points that I receive to the above post.

    29. Re:With by legirons · · Score: 1

      The french tried it. It failed.

      The days(fixed) in a year(fixed) are not divisible by 10 so there were days without a month.

      The days in a month aren't divisible by 29.53, but that doesn't stop our current calendar from ignoring all that complexity and doing its own thing, unconcerned about correlation with actual months. Why should it be the same for years?

      It might seem convenient to think that june will 'always' be summer in the north, but remember we already accept that June 21, 4000BC wasn't a solstice so actually we don't really have a correlated (calendar vs nature) year anyway.

    30. Re:With by e4g4 · · Score: 1

      I agree - from this point on, the year should be referred to as a kiloday. Who cares if the earth takes 365.25 days to travel around the sun, it should be mathematically convenient, the location of the stars be damned.

      And while we're at it, lets define pi to be 3.

      --
      The secret to creativity is knowing how to hide your sources. - Albert Einstein
    31. Re:With by uberjack · · Score: 1

      The metric system is the tool of the devil! I get forty rods to a hog's head, and that's the way I likes it!

    32. Re:With by jaavaaguru · · Score: 1

      that's like saying the inch is metric

      Yeah, because we hear about milliinches, microinches and nanoinches all the time ;-)

    33. Re:With by roguetrick · · Score: 1

      The second is the duration of 9 192 631 770 periods of the radiation corresponding to the transition between the two hyperfine levels of the ground state of the cesium 133 atom.

      Using the meter of course would be retarded, as the meter is dependent on the second.

      --
      -The world would be a better place if everyone had a hoverboard
    34. Re:With by roguetrick · · Score: 1

      Your ideas are intriguing to me and I wish to subscribe to your newsletter.

      --
      -The world would be a better place if everyone had a hoverboard
    35. Re:With by theeddie55 · · Score: 1

      SI and metric units are not exactly the same thing, the biggest difference being the inclusion of seconds in SI units

    36. Re:With by fava · · Score: 1

      Can we just not use them? I mean, who really cares if the sun is at its highest point a minute after midday on the summer solstice? Maybe in a hundred years or so we can schedule a leap minute, and by then we'll probably have worked out sensible standards for dealing with them.

      It been tried. A gradual error over hundreds of years led to a 10 DAY correction in the 1500's, it caused a lot of problems. In the modern era of tightly coordinated and scheduled computers we should not allow the error to build up more than it needs to.

    37. Re:With by Mr.+Slippery · · Score: 1

      Today we have lighting that assures you can rise at 6pm and do anything you could have done having risen at 6am and we have air conditioning and heating. Bottom line is that we simply don't need clocks based around sunlight and calendars centered around seasons anymore.

      If you want to live a life that's completely out of touch with the natural world, feel free to give it a shot.

      However, most humans who actually pay attention to their bodies - rather than to technofetish fantasies of "dominating" nature - find that their stress levels decrease and their satisfaction with their lives increases, the more attention they give to natural cycles.

      Measurements of time are made for human beings, not human beings for units of time. Human beings live in a world that rotates and revolves, experiences day and night and seasons; and those cycles are built into our biology well below the conscious level.

      --
      Tom Swiss | the infamous tms | my blog
      You cannot wash away blood with blood
    38. Re:With by StikyPad · · Score: 1

      The reason we generally use base-10, as opposed to base-2 or base-7 or anything else, is the same reason we don't express time as seconds_since_arbitrary_epoch: they're not useful units for humans to use.

      We aren't tied to sun cycles or seasons anymore. We have artificial lighting and climate controlled buildings these days.

      Nonsense. Regardless of indoor plumbing or stadium lighting, most of us still live our lives based on days and years. We like to perform outdoor activities when it's light outside (or not), and we celebrate events annually. Farmers need to plant and harvest crops based on the earth's position around the sun -- the time of year. We have work weeks based on days. We have workdays based on hours. And none of these cycles are 10^n ratios of each other. It's all fine and dandy to say we should have a base-10 system of time, but units of measurement need to be appropriate to the systems they describe, and using some other units of time would be less appropriate for describing those things.

    39. Re:With by TheRaven64 · · Score: 1
      Nonsense. The correction in the 1500s was due to the Gregorian calendar. Think about it. We have leap seconds less than once a year, but imagine that we had them every year. Over 100 years, they would have adjusted the time by 100 seconds, or just over a minute and a half. Over 1000 years, they would have adjusted the time by under 17 minutes. The only effect would be that, after a millennium, noon would happen quarter of an hour before the sun reached its highest point.

      Leap seconds and leap years (which are really leap days, in the same terminology) solve different problems. Leap years solve the problem that the number of days in the year is wrong. Leap seconds solve the problem that the number of seconds in a day is wrong.

      --
      I am TheRaven on Soylent News
    40. Re:With by Random832 · · Score: 1

      The french tried it. It failed.

      If any post should be marked redundant...

      If any post should be marked troll...

      If any post should be marked flamebait...

      --
      We've secretly replaced Slashdot with new Folgers Crystals - let's see if it notices.
  22. Re:so what? by Anonymous Coward · · Score: 0

    Go back to 4chan, faggot.

  23. come 2012 can I have your car? by Anonymous Coward · · Score: 0

    you wont need it after all

    1. Re:come 2012 can I have your car? by __aaclcg7560 · · Score: 1

      Sure. I doubt it will pass the smog test in 2012. If everything goes up in smoke, then you don't have to worry about it. :P

  24. Re:so what? by enFi · · Score: 1

    > Mon Jan 18, 22:14:08 EST

    I disagree: Tue, 19 Jan _2038_ 03:14:08 GMT

    See also, the 2038 problem.

  25. why command-line? by FooAtWFU · · Score: 5, Interesting
    --
    The World Wide Web is dying. Soon, we shall have only the Internet.
    1. Re:why command-line? by Locklin · · Score: 2, Funny

      You are talking about the countdown to a "cool" number in UNIX time, and you don't want to use the command line???

      --
      "Knowledge is the only instrument of production that is not subject to diminishing returns" -Journal of Political Econom
    2. Re:why command-line? by Anonymous Coward · · Score: 0

      It doesn't do anything after it reaches that time. Just goes beyond and gives a negative time left.

  26. Re:so what? by arogier · · Score: 2, Funny

    Just wait till Unix time reaches 3141592654 (sorry I rounded up the last digit on the holy number, if its that bad you can celebrate a second earlier) If you think people get crazy about pi day wait till you mix pi and unix.

  27. heh by Anonymous Coward · · Score: 0

    where is the typo in tags tag??

  28. Re:so what? by i.of.the.storm · · Score: 1

    It's also a run-on, that first comma should be a period or at least a semicolon, and then the one before for should also be a period.

    --
    All your base are belong to Wii.
  29. Friday the 13th eh? by Anonymous Coward · · Score: 1, Funny

    1234567890 + 13 = ?????

    This could easily be numberwang. Fetch my broom.

  30. Re:so what? by Anonymous Coward · · Score: 0

    No, you didn't get it, it's not arbitrary. The digits are all in order! Look at the numbers above the letters on your keyboard, they're in the exact same order from 1 to 0. Cool, huh!?!

  31. Prickle-Prickle, Chaos 44, 3174 YOLD by yossarianuk · · Score: 1

    I believe thats the correct date
    Prickle-Prickle, Chaos 44, 3174 YOLD

  32. For about half the world .... by taniwha · · Score: 3, Interesting

    this of course will be happening on Sat Feb 14th .... at about lunch time here in NZ .... earlier that day (at breakfast) it will be 1234554321

    1. Re:For about half the world .... by yossarianuk · · Score: 1

      or Setting Orange, Chaos 45, 3174 YOLD

    2. Re:For about half the world .... by spandex_panda · · Score: 1

      insensitive clods...

      --
      like phosphorescent desert buttons singing one familiar song
    3. Re:For about half the world .... by Anonymous Coward · · Score: 0

      Yet another reason to be late for Valentines.

    4. Re:For about half the world .... by Maelwryth · · Score: 1

      Offtopic, but there is a penumbral eclipse down here tonight if you are interested. Damn pity the weather has just closed in though. :)

      --
      I reserve the write to mangle english.
    5. Re:For about half the world .... by mjwx · · Score: 1

      this of course will be happening on Sat Feb 14th

      from +10GMT and eastwards? that's a small half? I'll be on a plane somewhere about 400KM's from bumfuck, Western Australia when this happens at 23:31:30 local time (+8 GMT with +1h Daylight Savings). for everyone west of Adelaide this will happen on the 13th, which I dare say is a little bit more then half the world.

      --
      Calling someone a "hater" only means you can not rationally rebut their argument.
    6. Re:For about half the world .... by mjwx · · Score: 1

      Never mind, misread the site in question. 23:31:30 +8 GMT +1 WADST = 08:31:30.

      --
      Calling someone a "hater" only means you can not rationally rebut their argument.
  33. Re:so what? by anonymous+donor · · Score: 1
    --
    fortune favors the lucky
  34. Y2^40K by DRJlaw · · Score: 5, Funny

    Alan Cox does assure us that Linux is now working on 64-bit time, and the UNIX epoch 'roll-over' would happen about the time that the sun burnt out."

    This is just the sort of short-sighted thinking that lead to our recent Y2K hysteria, except this time our poor beleaguered descendents will be in the middle of an exodus from the solar system when all their legacy systems throw simultaneous exceptions. This will of course cause their engine and guidance systems to fail, so that the last dying gasps of humanity will consist of:

    [Captain]Captain's log, stardate 1704.4. Ship out of control, spiraling down towards Sol; we have 19 minutes of life left, without engine power or helm control.
    [Engineer interrupting] I'll be damned. The clocks on every piece of technology in existence have failed because that damned Brit used a 64 bit counter...
    [Captain]COOOOOOOOOOOOOX!!!"

    1. Re:Y2^40K by Anonymous Coward · · Score: 1, Funny

      I like that, in your fiction, mankind's last breath is used to scream "Cocks". "Oh cock" is also quite a british expression :)

    2. Re:Y2^40K by Simetrical · · Score: 2, Funny

      Alan Cox does assure us that Linux is now working on 64-bit time, and the UNIX epoch 'roll-over' would happen about the time that the sun burnt out."

      This is just the sort of short-sighted thinking that lead to our recent Y2K hysteria, except this time our poor beleaguered descendents will be in the middle of an exodus from the solar system when all their legacy systems throw simultaneous exceptions. This will of course cause their engine and guidance systems to fail, so that the last dying gasps of humanity will consist of:

      [Captain]Captain's log, stardate 1704.4. Ship out of control, spiraling down towards Sol; we have 19 minutes of life left, without engine power or helm control. [Engineer interrupting] I'll be damned. The clocks on every piece of technology in existence have failed because that damned Brit used a 64 bit counter... [Captain]COOOOOOOOOOOOOX!!!"

      If only they had followed RFC2550, that would never have happened!

      --
      MediaWiki developer, Total War Center sysadmin
    3. Re:Y2^40K by Stevenovitch · · Score: 1

      You're assuming they'll attempt to leave the solar system on the .0001% chance that they'll find another planet suitable for human habitation. It's far more likely they'll attempt to travel back in time to a point when the sun was still operational, in which case they'll either fail and the rollover will make them think it was a success providing them with a few hours of hope before their inevitable demise, or they'll succeed and all of their clocks will be conveniently set to match their new place in time. Cox is aware of all possibilities. He's engineered a spectacular win/win.

    4. Re:Y2^40K by nemesisrocks · · Score: 0

      128-bit time sounds a little impractical at present.

    5. Re:Y2^40K by profplump · · Score: 1

      At least it buys us some time.

    6. Re:Y2^40K by Anonymous Coward · · Score: 0

      Alan Cox does assure us that Linux is now working on 64-bit time, and the UNIX epoch 'roll-over' would happen about the time that the sun burnt out."

      No, I think he meant "when Sun burns out."

      I'm sure that all spaceships will be using Linux, and not Solaris.

      And "Windows That Was" will be a distant memory.

    7. Re:Y2^40K by FatdogHaiku · · Score: 1

      If they are still running *NIX of any flavor when the sun dies then they should be forced to stay put... Lazy Bastards!

      And I'm STILL waiting for my flying car, dammit!!

      --
      You have the right to remain sentient. If you give up the right to remain sentient, you will be elected to public office
    8. Re:Y2^40K by Anonymous Coward · · Score: 0

      I doubt they would wait until the very last minute to start looking for another planet. More likely they would have already found or terraformed several of them. Terrestrial planets with liquid water are most likely quite ubiquitous. Space colonies are another possibility.

      Oh and the captcha has done it again: habitat.

    9. Re:Y2^40K by Anonymous Coward · · Score: 0

      Pfffft. 290 billion years ought to be enough for any universe.

    10. Re:Y2^40K by Anonymous Coward · · Score: 0

      Mod this funny !

    11. Re:Y2^40K by HTH+NE1 · · Score: 1

      Alan Cox does assure us that Linux is now working on 64-bit time, and the UNIX epoch 'roll-over' would happen about the time that the sun burnt out."

      No, I think he meant "when Sun burns out."

      Either that or he knows something we don't about the nature of time. (Or is that "knew something we won't"?)

      --
      Oh, say does that Star-Spangled Banner entwine / The myrtle of Venus with Bacchus's vine?
  35. Re:so what? by Anonymous Coward · · Score: 0

    Sun 21 Jul 2069 00:37:34 UTC

    That's if we survive that long. I'll bring the geritol, you fetch the liquidised boiled fish and mashed potatoes ;o)

    It seems I must include a meme when posting AC, so at least we'll be able to use e-mail in Korea...

  36. While this goes on for Slashdotters.. by Anonymous Coward · · Score: 0

    The rest of the world is enjoying Valentine's Day with people important to them. Damn :)

    1. Re:While this goes on for Slashdotters.. by Qzukk · · Score: 1

      The rest of the world is enjoying Valentine's Day with people important to them. Damn :)

      That's OK, we'll enjoy Valentine's Day on the 14th where it belongs.

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
  37. re by JohnVanVliet · · Score: 1

    and by 2038 NOBODY should still be using a 32 bit Linux , for that to even matter. But 1234567890 == fri 13 is a bit of fun

    --
    "I don't pitch OpenSUSE Linux to my friends, i let Microsoft do it for me
  38. GET by scrwvwls · · Score: 1

    First pandigital number with the digits in order GET http://en.wikipedia.org/wiki/Pandigital_number

  39. UNIX epoch 'roll-over' by Anonymous Coward · · Score: 2, Funny

    >UNIX epoch 'roll-over' would happen about the time that the sun burnt out."

    Yes, that will be a nice little surprise for whatever cyborg/singularity we've evolved into as they try to flee to a habitable star system in their linux controlled vessels.

    Linux will doom us all.
    BG

    1. Re:UNIX epoch 'roll-over' by DuChamp+Fitz · · Score: 1

      This will all be settled by the Great Windo-Linux War of 2089. Or so my future self told me, during his last visit.

    2. Re:UNIX epoch 'roll-over' by Voyager529 · · Score: 2, Funny

      This will all be settled by the Great Windo-Linux War of 2089. Or so my future self told me, during his last visit.

      ...So 2089 will be the year of the Linux desktop?

  40. a request by circletimessquare · · Score: 0, Offtopic

    even though this is the wrong forum, i wouldn't know where else to put the put the request, so here goes:

    time measurements usually work from sometime in the 1970s, or maybe back to the 1800s, and peter out in the 2000s, or perhaps go to something like the year 9999

    completely dismissed in all of these schemes is historical time, over which there is valid reason to take measurements and establish dates

    why not, instead of going to some absurd future date in milliseconds, pinpoint the start date in the distant past? say around the time the pyramids were built. you could still go to some absurd future date in milliseconds

    of course, then there is the issue of exactness. however, even without all of the changes in time measurements over history, we ever could firmly establish certain dates and times

    no one is promising that the precise millisecond king canute was born or zheng he left port can be pinpointed

    but it would be very useful for genealogists, or climate researchers, as well as just plain history software

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
    1. Re:a request by techno-vampire · · Score: 1
      why not, instead of going to some absurd future date in milliseconds, pinpoint the start date in the distant past?

      Astronomers have long been doing this by using the Julian day in their records. It's convenient because not only does it ignore things like years (avoiding any issues caused by the change from the Julian to the Gregorian Calendar) it makes it easy to calculate intervals because it's just the number of days since an arbitrary starting point. And, because it counts the days since Jan 1, 4713 BCE at Greenwich noon, it's unlikely that anybody will ever really need a negative date. Of course, this probably isn't appropriate for computers, which is why they've picked a more recent date for their epoch.

      --
      Good, inexpensive web hosting
    2. Re:a request by mangu · · Score: 1

      because it counts the days since Jan 1, 4713 BCE at Greenwich noon, it's unlikely that anybody will ever really need a negative date

      I'm a Neanderthal, you insensitive clod!

    3. Re:a request by mollymoo · · Score: 1

      The UNIX date is a signed integer - you can have negative values and go back to 1901 with it. The reason it only covers 130 years or so is that when it was invented memory was scarce. The 64-bit version of UNIX time with the same 00:00 1st Jan 1970 epoch goes back around 20 times the age of the universe and forward to a couple of hundred billions years after the Sun has died. Is that good enough for you?

      Anyway, the fact that the operating system's internal time representation has a limited range doesn't mean you can't compute using dates outside the range, you just have to write a little more code (and I really do mean a little - probably well under 100 lines, even with all the changing calendar crap).

      --
      Chernobyl 'not a wildlife haven' - BBC News
  41. date -d Does not work by linuxguy · · Score: 1

    date -d @1234567890

    does not work on my Fedora Core 5 machine. Which is not that old.

    The perl script works more reliably.

    1. Re:date -d Does not work by Anonymous Coward · · Score: 0

      It's four major versions out of support. Enjoying your unpatched security holes?

    2. Re:date -d Does not work by multipartmixed · · Score: 1

      date -d 'jan 1 1970 00:00:00 UTC 1234567890 seconds'

      --

      Do daemons dream of electric sleep()?
  42. Not If... by Nom+du+Keyboard · · Score: 1

    working on 64-bit time, and the UNIX epoch 'roll-over' would happen about the time that the sun burnt out.

    Not if we start counting at a much finer resolution. I mean, after all, seconds are so...Last Century.

    --
    "It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
  43. what base? by hydromike2 · · Score: 0

    this is pretty insignificant, if we used base 13 math we'd get 168a0865a ,only special in base 10 which doesnt mean much, just silly human standards

    1. Re:what base? by rqg · · Score: 1

      But it looks kinda nice, don't you think?

    2. Re:what base? by hydromike2 · · Score: 1

      eh, i guess, im just trying to make the point that people when people come across patterns or sequences that they make a big deal about them, and especially in cases like this the only reason the sequence is significant is because we choose to use base 10 math and say if we had chosen base 8 then 12345670 would have occurred a while ago, and even at that the '0' is just notation, idk where this sequence would occur but -1-2-3-4-5-6-7-8-90 wouldn't be right, im pretty sure we dont use negative zero so it just seems to me that we should leave the '0' off or at the very least wait until 9876543210

  44. Re:so what? by Anonymous Coward · · Score: 0

    "arbitrary decimal string" ... aren't we celebrating a common password?

  45. Re:so what? by techno-vampire · · Score: 5, Funny
    If you think people get crazy about pi day wait till you mix pi and unix.

    However, considering that OSX is based on BSD, you can also get Apple pi.

    --
    Good, inexpensive web hosting
  46. dammit! by tbj61898 · · Score: 4, Funny

    it's my password... now everyone know it, thanks SLASHDOT! :-)

    --
    nop, nop, nop #VBLANK
  47. Why all the hatin'? by altek · · Score: 4, Insightful

    Yes, it's a slow news day and that's why this is on the front page! It's Sunday afternoon (for most of us), ferchrissakes.

    So just enjoy it, it's geeky and novel. I don't think anybody meant for it to be considered a big deal, and if you don't find any fleeting moment of joy from it, just move along.

    --
    THE MAGIC WORDS ARE SQUEAMISH OSSIFRAGE
    1. Re:Why all the hatin'? by NonUniqueNickname · · Score: 1

      I don't think anybody meant for it to be considered a big deal

      You're right, of course. Though technically it's as big a deal as new year's eve, the turn of a decade, century, millenium, anyone's birthday.

      You pick an arbitrary point in time (someone's birthday, maybe Jesus, or Jan 1st 1970). You pick an arbitrary unit of time (earth's trip around the sun, or the time it takes light to travel 299,792 meters). You pick an arbitrary number which seems "nice" (100, 2,000, or 1,234,567,890). You Sit next to the most precise timepiece you can afford and wait. When the moment arrives you celebrate by getting drunk and optionally having sex you'd regret later.

      Sure, it seem silly. Most humans enjoy it. Let us have our fun.

  48. Re:Stop the presses! by paimin · · Score: 1

    Children are starving in Japan? I don't get it.

    --
    Facebook is the new AOL
  49. Leap seconds by CustomDesigned · · Score: 5, Insightful

    Raw unix time is simply a count of seconds since a defined point in time - and has nothing to do with leap seconds. Leap seconds only come into play when converting to human readable display format (along with timezones and DST). Leap seconds have been handled for some time by the zoneinfo library used by most unix and linux distros. Even Java handles leap seconds with my port of zoneinfo to a Java TimeZone implementation.

    The tzdata package included in most Linux distros includes leapsecond data in the "right" directory. You can find out the time including leapseconds by setting your TZ environment variable to "right/...". For instance:


    $ TZ="right/US/Eastern" date; TZ="US/Eastern" date
    Sun Feb 8 17:52:42 EST 2009
    Sun Feb 8 17:53:06 EST 2009

    1. Re:Leap seconds by Anonymous Coward · · Score: 2, Informative

      Unfortunately you're wrong. "Unfortunately" because that would have made sense. Unix time counts the (milli-)seconds since the Unix epoch excluding leap seconds. As far as Unix time is concerned, these seconds don't exist. What's worse, the behavior near a leap second is not defined. Some slew the clock, some stop it for a second, some even repeat the second. As it stands, Unix (POSIX) does not have a way to reliably count the seconds between two points in time. If you're not thinking "WTF?" now, read that again.

    2. Re:Leap seconds by TeXMaster · · Score: 2, Informative

      Fortunately, the one who's wrong is you. Unix time counts the (milli)seconds elapsed since the Unix epoch, full stop. When leap seconds are introduced, they elapse just as well as normal seconds, although every minute, hour, day, week, month, year etc containing will be one second longer (e.g. the minute will be 61 seconds long instead of 60 seconds long). So you only care about leap seconds and Unix time only when you have to convert from Unix time to human-readable form, or conversely, because instead of simple divisions and multiplication by the usual 60 seconds you'll have to interspread some division/multiplication by 61.

      --
      "I'm never quite so stupid as when I'm being smart" (Linus van Pelt)
    3. Re:Leap seconds by Anonymous Coward · · Score: 1, Informative

      So you only care about leap seconds and Unix time only when you have to convert from Unix time to human-readable form

      I never knew Unix could see into the future. But how else could a 1995 version of Irix (for example) correctly convert Unix time to human readable time taking all the subsequent (and unpredictable) leap seconds into account.

      Oh, that's right, it doesn't. And neither does it take pre-1995 leap seconds into account.

      If Unix time worked as you suggest it would be impossible to unambiguously represent times in the future (because you wouldn't know how many leap seconds were going to elapse). Consequently, Unix doesn't work like this. Or, to be completely anal, POSIX doesn't work like this. You may be aware of some Unix variant that does.

      Read this for enlightenment.

    4. Re:Leap seconds by hamster_nz · · Score: 3, Informative

      Sorry, UNIX time is exactly 86400 seconds per day.

      If you read this history of POSIX time it becomes apparent that POSIX time is a mashup of UTC and GMT that is different to either.

      The standard does not require your system clock to be accurate. When a leap second occurs, unless your POSIX system makes the effort to adjust its clock (say via the adjtimex(2) call), your POSIX system's clock will ignore the leap second.

      To make matters worse, people are now syncing their systems to a UTC or TIA time source, or perhaps even GPS time which are all defined on different foundations.

      You can not assume that POSIX time actually means anything better than the time on your watch does, unless you are fully aware the whole chain.

    5. Re:Leap seconds by Qzukk · · Score: 2, Informative

      Oh, that's right, it doesn't.

      Exactly. That's why all programs should store and communicate future date/times in local time format (with the local timezone) and use GMT only for the current time or past events, because nobody knows when the government is going to come along and redefine time. Your 3PM appointment at the dentist is at 3PM regardless of how many leap seconds get inserted or if its decided that this year, daylight saving time will only shift by 30 minutes, or whatever other crisis may come.

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    6. Re:Leap seconds by JackHoffman · · Score: 3, Informative

      Total moderation failure...

      Here's how the standard defines the meaning of "seconds since the epoch" in relation to UTC dates: http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap04.html#tag_04_14
      As you can see, the meaning is actually "seconds since the epoch, excluding leap seconds." Always read the definitions.

      According to that definition, the time_t value of "Friday the 13th, 2009 at 11:31:30pm UTC" is:
      30 + 31*60 + 23*3600 + 43*86400 + (109-70)*31536000 + ((109-69)/4)*86400 - ((109-1)/100)*86400 + ((109+299)/400)*86400
      = 30 + 1860 + 39600 + 3715200 + 1229904000 + 864000 - 86400 + 86400
      = 1234567890

      So, to answer the question which started this: Not including leap seconds.

      Besides, it should be "Friday the 13th, 2009 at 23:31:30 UTC." The am/pm notation is not without ambiguities.

    7. Re:Leap seconds by Tony+Hoyle · · Score: 1

      Not true. On a leap second unix boxes count the extra second.

      Nobody sticks that strictly to POSIX because it's basically broken.

    8. Re:Leap seconds by Tony+Hoyle · · Score: 1

      In fact the opposite is true. You can't determine when events happened with any accuracy if you store in local time *precisely* because it's subject to the whims of local laws. You should always store in GMT so you can determine exactly the time that two events happened wherever they are in the world and not caring whether it's summer or winter. Only Humans care for local time.. and converting to it is a solved problem.

      Windows gets itself into such a mess because it tries to use local time, hence stupid things like adjusting the BIOS clock when DST changes, and all files on the system getting their creation dates shifted by an hour twice a year (a bug introduced in NT4 still not fixed in Vista)... the OS should never try to handle human dates except for display.

    9. Re:Leap seconds by Anonymous Coward · · Score: 1, Interesting

      I love how on slashdot people who are COMPLETELY wrong can get mod'ed +5.

      POSIX defines time_t to be leap second ignorant. Therefore leap seconds like last 12/31's 23:59:60UTC do NOT have a time_t associated with them.

      Now sure, if you have a disconnected machine it will count it -- the kernel has no idea when leap seconds are going to be declared in the future so it just keeps counting up ticks. However, if you have a machine synchronized via NTP (or anything else) it will slow the clock down to "paper over" the fact that an extra second arrived.

      That's why you DON'T EVER have to do a multiply or divide by 61 since every minute in POSIX is defined as having exactly 60 seconds. Notice how this story is about time_t==1234567890 and it's happening at 30 seconds past the minute? It's not a coincidence that both of those numbers are divisible by 10.

    10. Re:Leap seconds by sshock · · Score: 4, Informative

      Sorry, UNIX time is exactly 86400 seconds per day.

      Exactly. Mod parent up. Mod gparent down.

      date -u -d @1230767999
      Wed Dec 31 23:59:59 UTC 2008

      date -u -d @1230768000
      Thu Jan 1 00:00:00 UTC 2009

      What happened to the leap second? It was completely ignored, yep.

    11. Re:Leap seconds by Annymouse+Cowherd · · Score: 1

      To clarify, the UTC leap second Wed Dec 31 23:59:60 2008 was ignored, meaning that the Unix second 1230767999 lasted exactly two real seconds.

    12. Re:Leap seconds by omnichad · · Score: 3, Insightful

      Pedantically.... You should always store in UTC. GMT is just a more important local time, but still subject to local laws and whims.

    13. Re:Leap seconds by dacut · · Score: 1

      POSIX got this horribly wrong, making your perfectly logical argument incorrect. Wikipedia has a good illustration of what actually happens: Unix time hiccups and loops back on itself for that second.

      TAI time is a count since an epoch, but Unix time is aligned with UTC, not TAI.

      Even worse: According to POSIX, 2100 is a leap year.

    14. Re:Leap seconds by fractalspace · · Score: 1
      I concur. By definition, "The second is the duration of 9 192 631 770 periods of the radiation corresponding to the transition between the two hyperfine levels of the ground state of the cesium 133 atom." SI standards, nist.gov.

      This duration remains constant (within measurable accuracy) regardless of the leapness of any given year.

      Consequently, the definition of the UNIX time, being simply a count of elapses of this duration, remains leapfree. If Unix time were to be converted to 'Solar Time' (ie. 1 sec = 1/86400 of mean solar day), then we need to factor in the leap business, which exists simply because the rotation of earth and sun is too complex to be broken down into a consistently constant unit of time.

    15. Re:Leap seconds by sshock · · Score: 1

      Exactly. Couldn't have said it better myself.

    16. Re:Leap seconds by Alain+Williams · · Score: 2, Informative
      Try again with the 'right' timezone -- note the seconds of '60':

      TZ="right/GB" date -d @1230768022
      Wed Dec 31 23:59:59 GMT 2008

      TZ="right/GB" date -d @1230768023
      Wed Dec 31 23:59:60 GMT 2008

      TZ="right/GB" date -d @1230768024
      Thu Jan 1 00:00:00 GMT 2009

    17. Re:Leap seconds by bytesex · · Score: 1

      I was blinking there for a second too, but my guess is that the person who claims that UNIX does leap seconds is actually confused with NTP - which /does/ do leap seconds (and is what most desktop clocks would use).

      --
      Religion is what happens when nature strikes and groupthink goes wrong.
    18. Re:Leap seconds by Anonymous Coward · · Score: 0

      No, he's right. If you let the user enter a future date and convert it into an accurate seconds-since representation, then a future change to the conversion between the seconds-since representation and the local time will result in a different local time than the user entered. Applications should therefore store future dates in the format in which they were entered or at least in a format which is susceptible to exactly the same changes as the entered format. The offset of local time to UTC is usually fixed, so storing dates in UTC is OK. The conversion between seconds since the epoch, including leap seconds, to a UTC date is *not* known for future dates, so storing future dates as s.s.t.e.i.l.s. when you mean a UTC date is unwise.

    19. Re:Leap seconds by mgiuca · · Score: 1

      How is it "horribly wrong"? How can POSIX account for all the leap seconds the government decides to make up? Is every program expected to change its algorithm whenever a new leap second is introduced? (For converting the date in Unix time to human time).

      That's not how it works. When a leap second occurs, all clocks are moved forwards or backwards by a second, and it's a one-off fix. We don't modify the algorithm every time a leap second occurs. That would be crazy.

    20. Re:Leap seconds by Anonymous Coward · · Score: 0

      That is incorrect. The Unix second 1230767999 lasted one second. The following leap second and the second after that both have the time_t value 1230768000, so that was the Unix second which lasted two real seconds.

    21. Re:Leap seconds by Anonymous Coward · · Score: 0

      Well yes, if you want to do it right, your time conversion algorithm needs a data file that specifies all past government-mandated changes in time and all known future changes. Preferably that data file should be automatically updated through the operating system update mechanism. Since POSIX does not define a library that can do such time conversions, people who want accurate time conversions end up having to get their time library elsewhere. On the other hand, if you don't care being a few seconds off, you can use the POSIX time library and store user-entered future dates as time_t values. To borrow an old slogan, worse is better.

    22. Re:Leap seconds by Anonymous Coward · · Score: 0

      But it doesn't do that with my timezone:

      TZ="US/Mountain" date -d @1230793199
      Wed Dec 31 23:59:59 MST 2008

      TZ="US/Mountain" date -d @1230793200
      Thu Jan 1 00:00:00 MST 2009

      What's the deal?

    23. Re:Leap seconds by sshock · · Score: 1

      But it doesn't do that with my timezone:

      TZ="US/Mountain" date -d @1230793199
      Wed Dec 31 23:59:59 MST 2008

      TZ="US/Mountain" date -d @1230793200
      Thu Jan 1 00:00:00 MST 2009

      What's the deal?

      This was me. Posted anonymous by accident.

    24. Re:Leap seconds by Chris+Burke · · Score: 1

      Your 3PM appointment at the dentist is at 3PM regardless of how many leap seconds get inserted or if its decided that this year, daylight saving time will only shift by 30 minutes, or whatever other crisis may come.

      Um, if your 3PM appointment occurs after the daylight savings switch, then it's at 3PM only after taking into account the daylight savings time adjustment. I.e. the opposite of "regardless".

      If your software doesn't understand the local convention so as to make the correct adjustment, then it doesn't matter if you store "local" or "global" time, it's still wrong.
      If it does understand these conventions, then it doesn't matter if you store "local" or "global" time, because either way it can make the correct calculation. Except with global time you have an easy globally comparable time which makes it easier to convert into other local formats.

      Either way, you have no method to account for future leap seconds.

      I mean if all you want is a clock, where it's not expected to tell you anything more than the current time within some level of accuracy, and when it's wrong due to a change you just go change it yourself, then you can do that. Dates in an operating system are used for a lot more than this. They're used to answer questions like "was this file modified before that one?", and the your-alarm-clock view of time where all that matters is that it's midnight now, but oh it's daylight savings so we set the clock back and now it's 11pm, doesn't serve that purpose.

      UNIX time gives a monotonically increasing measure of time in a well-defined unit not subject to politics or calendar adjustments. From this you can make a notion of local time that's as good as your software would know how to in any case, and it is useful for everything else that requires comparing or performing math on time.

      --

      The enemies of Democracy are
    25. Re:Leap seconds by sshock · · Score: 1

      Oh, I understand now. After reading some other posts, I now understand that "right" is a special prefix you can use to force it to use an "alternative timescale where time_t includes leap seconds."

      But that is not the default behavior for POSIX. And as mentioned below, "I've never seen a linux distro that enabled this by default."

    26. Re:Leap seconds by Anonymous Coward · · Score: 0

      The argument he's making is that points in time have a reference frame and it is unwise to convert between different frames of reference if the relation between the different frames of reference is not (yet) known. "Local" and "global" aren't the right words. It's a matter of having a predictable relation between frames of reference. A timer which counts all seconds since a well-defined point in time gives each future point in time a clearly defined value. UTC on the other hand depends on the chaotic motion of this planet, so while you can name a point in the future in UTC notation, it is unclear how long from now that point in time is. Conversely, if you know how long from now a point in the future is, you can't know it's UTC representation. Therefore, if a user enters an appointment in UTC or a time format similarly dependent on future decisions, don't store it as a time_t value if you're not sure that your system is POSIX compliant. The user is not specifying a time x seconds in the future. He's specifying a time of day.

      UNIX time gives a monotonically increasing measure of time in a well-defined unit not subject to politics or calendar adjustments.

      No, it very clearly does not. Extensions to the old POSIX standard time do, but not time() itself. The differences are subtle, but they're there and keep tripping up unsuspecting programmers.

    27. Re:Leap seconds by Chris+Burke · · Score: 1

      The user is not specifying a time x seconds in the future. He's specifying a time of day.

      My point is that if your computer software is incapable of determining what x is, then it will not be at the correct time when that time of day comes around. It doesn't make a difference if you're storing local time or seconds since the epoch, as time moves forward the computer will calculate the local date/time incorrectly.

      No, it very clearly does not. Extensions to the old POSIX standard time do, but not time() itself. The differences are subtle, but they're there and keep tripping up unsuspecting programmers.

      Yes there are many subtle problems. It is still superior for doing what OSes need to do with their notions of time.

      --

      The enemies of Democracy are
    28. Re:Leap seconds by Qzukk · · Score: 1

      when events happened

      That's what I said, past events and the current time should be stored in GMT (or GPS or whatever the hell standard you want to use).

      But future events... if I store an appointment in GMT, and the government declares that the conversion factor will be different by 30 minutes, then I've got to go back through every stored appointment and revise them, before I allow anyone to add any new ones to the system. Especially on a Unix system, where timezone data is usually centrally administered and was automatically apt-got weeks ago before anyone thought about running the script that changes all the appointment times by 30 minutes.

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    29. Re:Leap seconds by Anonymous Coward · · Score: 0

      Suppose you enter an appointment into a calendar application. The scheduled date is 2010-02-03, 15:00:00 UTC. The calendar software, which happens to run on a Unix which isn't POSIX compliant and does count leap seconds, doesn't know yet if there will be a leap second at the end of 2009, so it calculates the time_t value of the event assuming that there won't be a leap second. As chance would have it, scientists make the necessary measurements and determine that 2009 needs to be 1 second longer to keep UTC in sync with the sun, so there is going to be a leap second. This decision is announced and computer systems are updated with the new leap second tables sometime in 2009. Sometime after that update, the user looks at his appointments for 2010-02-03 and notices that his 15:00:00 appointment moved to 14:59:59. How did that happen? The error may seem insignificant in the case of leap seconds, but it can have "interesting" consequences even in this case, for example when there are additional constraints on dates which are violated by this one-second shift. If you have your timezone set to a local time standard and the government decides to move daylight saving dates around, similar effects can cause events to move one hour back or forth. If you store the time as it was entered, the computer will know how to convert correctly by the time the event is supposed to occur, and start the action at the right time of day.

    30. Re:Leap seconds by Qzukk · · Score: 1

      If your software doesn't understand the local convention so as to make the correct adjustment, then it doesn't matter if you store "local" or "global" time, it's still wrong.

      The point is that you don't "adjust" the time at all when you're dealing with the "local convention". If the daylight saving time boundary moves, the dentist will not go through all of their appointments and tell them that they've been rescheduled by an hour because DST started earlier/later than they had expected. Your appointment is still at 3PM, no adjustment is needed.

      Furthermore, if you use an external library for conversion (for instance, libc) then there is a serious risk that the library is updated to the new conversion factor before your users have a chance to run your script to "re-adjust" all of the appointments made under the old conversion factor, leading to some appointments being right and some being wrong, with no clear indication of which.

      In fact, when communicating across time zones, using the originator's local time and timezone for future dates is preferable: if part of the world revises their DST and another part does not, then a conversion under the old rules between the two time zones might be wrong but there's no way for the receiving computer to know that.

      For dates on disk or in log files, then a standard date such as UTC is perfectly fine, after all, it's not like the government is going to go back and retroactively change the start/end of DST... right?

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    31. Re:Leap seconds by Chris+Burke · · Score: 1

      So we're strictly talking about how your calendar software decides to send you a meeting notice, and not at all about how the OS and other applications measure and denote time.

      I can get behind that.

      --

      The enemies of Democracy are
    32. Re:Leap seconds by Chris+Burke · · Score: 1

      Your appointment is still at 3PM, no adjustment is needed.

      Outside of your clock/computer not knowing that it's 3PM, they still think it's 2PM, and thus you're late for your appointment. That's the adjustment I'm talking about.

      For dates on disk or in log files, then a standard date such as UTC is perfectly fine, after all, it's not like the government is going to go back and retroactively change the start/end of DST... right?

      Retroactively or otherwise, "seconds since the epoch" is the best format for OS time stamps, since it is a monotonically increasing number that can be compared across all reference frames, barring relativistic effects. It is still not without problems, but far better than something that strictly depends upon local/temporary rules of time conversion and where at certain points time appears to go backwards.

      But since you're talking strictly about what time to put down for appointments in your calendar application, that's fine. Since we can at least hope that your computer has the latest updates regarding local time rules, and they aren't changing between when your calendar sends you the alarm and the actual appointment, then that should work. As you say, all that matters is that you show up when both you and your dentist agree it is 3pm. For most other things, counting seconds works better.

      --

      The enemies of Democracy are
    33. Re:Leap seconds by dacut · · Score: 1

      You should be using localtime()/gmtime()/strftime() to convert, as it is the only POSIX API guaranteed to implement the correct algorithm. If a program implements its own algorithm, it's broken. (See the US shift in DST rules a couple years back...)

      And, yes, you are expected to change your system every time the rules change. Fortunately, it's just a matter of applying an updated set of tzinfo files (again, unless you've gone and reinvented the wheel).

      I would agree that if POSIX just ignored leap seconds and let time_t increase monotonically through them, life would be ok. But that's not what it does! It actually goes through some hoops to implement the repeating time_t hiccup and sort through a few edge cases which result.

    34. Re:Leap seconds by Mr.+Slippery · · Score: 1

      How can POSIX account for all the leap seconds the government decides to make up?

      How can DNS account for all the top-level domains that the government decides to make up?

      POSIX could account for leap seconds the same way NTP does: it gets a copy of the leap seconds file and knows ahead of time to count it off. Yes, the algorithm needs a look-up table. Deal with it. :-)

      When a leap second occurs, all clocks are moved forwards or backwards by a second

      No, when a leap second occurs, all clocks (in theory) count an extra second for that minute. 18:59:58, 18:59:59, 18:59:60, 19:00:01 (depending on your time zone). Of course our cheap wall clocks and wrist watches don't do that, but that's they way "real" clocks count off a leap second.

      --
      Tom Swiss | the infamous tms | my blog
      You cannot wash away blood with blood
  50. Re:so what? by KDR_11k · · Score: 1

    So you've never read Kant or Hegel then?

    --
    Justice is the sheep getting arrested while an impartial judge declares the vote void.
  51. S^64 and Solar burnout by sprior · · Score: 4, Funny

    Alan Cox does assure us that Linux is now working on 64-bit time, and the UNIX epoch 'roll-over' would happen about the time that the sun burnt out."

    So great, we're going to be dealing with the 64bit time roll over in the dark? What kinda planning is that! Do we have candles?

    1. Re:S^64 and Solar burnout by Gazzonyx · · Score: 1

      Candles! Candles?!

      You spoiled kids! back in my day, I had to crawl under my desk and use a lighter to see while plugging in a USB stick. We didn't need fancy lights or front-of-box USB ports; we had our raw muscle and... oh, wait. You said candles, not flashlight.

      Could you rephrase the question but with the word 'flashlights' in place of 'candles'?

      Also, feel free to get off my lawn after that.

      --

      If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

    2. Re:S^64 and Solar burnout by sprior · · Score: 1

      USB sticks! What's this about USB sticks! In my day (before Win98 with your little USB support) we had floppies (the real floppy ones, not the little dinky things the older kids stopped playing with recently) and we liked it!

    3. Re:S^64 and Solar burnout by adolf · · Score: 1

      Before Win98, we had Windows 95 OSR2 with USB support. And before that, we had strange kernel options about OHCI controllers that seemed somehow related to a motherboard pin grid header which nobody knew what to do with, and which no hardware was available to work with, but which Intel was pushing along with their chipsets for some seemingly-benign reason . . .

  52. Re:so what? by ptx0 · · Score: 1

    What about 6.03x10^23? :D

  53. Y2k issues... nine years later by mangu · · Score: 1

    Erm where there any Y2k issues? most of the world ignored them and got by fine

    And you can google for some who didn't get by Y2k...

  54. Re:so what? by jsiren · · Score: 1

    If you think people get crazy about pi day wait till you mix pi and unix.

    Mmmm... pi...

    --
    Usage: km/h for speed (kilometers per hour); kph for very slow impulses (kilopond hours).
  55. Re:so what? by MobileTatsu-NJG · · Score: 3, Funny

    1234567890 is some arbitrary decimal string, if you wished to note a notable number, why not one which is 2^N, for something so entirely based within computers, it seems much more sensible to think in binary than some decimal number which happens to look a little pretty

    Why do we have gaydar but not virgindar?

    --

    "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

  56. 64-bit time EXCEPT... by jimicus · · Score: 4, Interesting

    ... for any application that assumes sizeof(time_t) is 32 bits.

    Not that I'd expect that to be the case with any half-decent intelligently written application. But we all know how common applications which are neither half-decent nor intelligently written are...

    1. Re:64-bit time EXCEPT... by Anonymous Coward · · Score: 0

      And you still need to recompile the app, since sizeof is evaluated at compile-time..

      It's not going to be a problem for most apps, but stuff like embedded systems may be at risk.

  57. Re:so what? by ultranova · · Score: 1

    Why do we have gaydar but not virgindar?

    Protip: the women who bother reading this story are probably at least somewhat interested in the subject, and thus won't be impressed by you showing how uninterested you are.

    --

    Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

  58. End of The World by Anonymous Coward · · Score: 0

    start looting & rioting or get in your bunkers.

  59. Re:so what? by shogun · · Score: 1

    Actually thats too big to be stored using a 32 bit number, so the localtime function wraps it around to: Wed Jun 14 11:09:18 1933

  60. What about 1431655765 ??? it'll be even cooler! by tbj61898 · · Score: 0

    Ok, with GMT+1 I got:
    $ perl -e 'print scalar localtime(1431655765),"\n";'
    Fri May 15 04:09:25 2015

    doesn't ring a bell.. (even considering both dates are FRIDAY in italy, which was already a cool day). But moving on:

    $ echo 'obase=2;1431655765'| bc
    1010101010101010101010101010101

    cool!

    --
    nop, nop, nop #VBLANK
  61. Friday, February 13th at 1831 by Arancaytar · · Score: 1

    First thought: "Wait, wasn't that almost 180 years ago?"

  62. Enjoy this historic event on your iPhone/iTouch! by dos · · Score: 1

    A rather geeky friend of mine has already released an app named UnixTime to let you enjoy this historic event on your iPhone/iTouch:

    http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=303467372&mt=8

    http://markdamonhughes.com/UnixTime/

    (no, I have no sponsorship deal, just thought if it was geeky enough to be worth writing, it might be geeky enough for some of you to be worth buying)

  63. Well since they said UNIX time and not Linux time by DigitalReverend · · Score: 1

    who the hell cares?

    --
    I read Slashdot for the headlines, because the headlines, unlike the articles, are usually original and never duplicated
  64. Oh crap by midicase · · Score: 1

    And it's a Friday.

  65. OMG I'm waiting for this to happen since by Anonymous Coward · · Score: 0

    987%$/#$& [no carrier]

  66. MY BIRTHDAY IS ON 1234567890!!! by candreacchio · · Score: 1

    I'm in Australia, so it will happen on the 14th.. my birthday is on the 14th as well... SHAZAM!

  67. Re:so what? by MobileTatsu-NJG · · Score: 1

    Protip: the women who bother reading this story are probably at least somewhat interested in the subject, and thus won't be impressed by you showing how uninterested you are.

    Yeah because if one thing from my post is clear, it's that I'd totally go for a chick that'd find his comment interesting. Maybe I could flirt with her by tugging on her third ponytail.

    --

    "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

  68. Re:so what? by MobileTatsu-NJG · · Score: 1

    Hmm. I don't know what posessed me to make that post, but I wish I hadn't. That was shitheaded and patently undeserved. I'm sorry.

    --

    "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

  69. Sat Feb 14 10:31:30 2009 by Twide · · Score: 1

    My girlfriend JUST told me about this article!!!

    BEST valentines day ever..

  70. Re:so what? by arogier · · Score: 1

    Do you really think that won't be patched 20 years from now?

  71. UNIX time vs TAI by Phong · · Score: 1

    Not so. UNIX time is strictly defined in POSIX, as are the arithmetic relationships between it and human time, e.g. a time_t % 60 gives you the elapsed seconds in the current minute, which would not be true if unix time included leap seconds.

    What you are describing is TAI, or International Atomic Time. If you were to choose to run your system on TAI, you would need some conversion routines if you wanted your system to remain POSIX compatible (which is what modern unix/linux apps expect) -- e.g. time() and stat() would need to continue to report unix-time values, and you'd need TAI-compliant library functions to request the equivalent items with their raw TAI values.

    For more details, see the Wikipedia entry on Unix time.

    --
    ..wayne..
    1. Re:UNIX time vs TAI by CustomDesigned · · Score: 1

      Technically, you are right. But that has got to be the stupidest thing I've ever seen (not you - the decision by the POSIX committee). POSIX destroys the simple second count just because some braindead application expects time()%60 to be the offset within a minute, instead of using localtime? Because some bozo thinks he can divide seconds by a constant to get days instead of using localtime() (or properly designed substitute), the POSIX committe "makes it so"?

      A posix timestamp isn't even an unambiguous time reference. I can deal with discontinuities (just convert to linear time), but the end result of POSIX is utterly and totally useless (can't be unambiguously converted to linear time). For crying out loud, keeping system time as a well defined MDYHMS would be more usable than posix time - at least you can convert to something more manageable.

      IMO, everyone should just ignore POSIX time. A Unix timestamp is a plain second count - regardless of the humped monstrosity decreed by POSIX. This can be easily converted to posix time , UTC, GMT, localtime, or any other desired scheme. Posix time can't. It is a non-starter.

    2. Re:UNIX time vs TAI by corsec67 · · Score: 1

      For crying out loud, keeping system time as a well defined MDYHMS would be more usable than posix time

      YYYYMMDDHHMMSS is better (big-endian, not WTF-endian that you used), and adding on an time zone offset from UTC ends up looking like ISO 8601, and ISO is a bigger standards group than IEEE.

      --
      If I have nothing to hide, don't search me
  72. Safe for now.. by Anonymous Coward · · Score: 0

    We're lucky we have LHC broken. Friday 13th, this magick sequence on UNIX.. bring in the running collider - and we might have a surprise waiting just around the.. wait, where did that corner go??

  73. Coincidence by GayBliss · · Score: 1

    the UNIX epoch 'roll-over' would happen about the time that the sun burnt out.

    Perhaps the roll-over will be the cause of the sun burning out.

  74. non sequitur series by woverly · · Score: 1

    Since we are logically zero based, a meaningful series would be 0123456789, not 1234567890 which just seems wrong here in computer land.

    To perl the number 0123456789 is merely bogus. "Illegal octal digit..."

    --
    Woverly Harris Gooch, IV CTO American Fire and Bomb, LLC
    1. Re:non sequitur series by sorcerykid · · Score: 1

      Well technically it is 01234567890, but the leading zero is always there just not shown because that's not a significant digit. Also to be proper in computer land, we should be recognizing Unix times that have noteworthy hexadecimal or binary patterns rather than the base 10 interpretations ;P

      --Randall

  75. Yeah... by Anonymous Coward · · Score: 0

    stupid wanker.

  76. what about outside US by spandex_panda · · Score: 1

    I get:
    alex@quadruped:~$ perl -e 'printlocaltime(1234554321) ."\n";'
    Sat Feb 14 06:45:21 2009

    So I call insensitive clods.

    --
    like phosphorescent desert buttons singing one familiar song
  77. So technically you can't be 14 ! ;) by freaker_TuC · · Score: 1

    Since you are just born ...
    You would be born around 792639715 if I'm not wrong in my math ..

    --
    --- I am known for the ones who want to find me on the net. Is that a privacy risk or a privilege? One might wonder..
  78. Re:so what? by Nethead · · Score: 1

    flashy:/home/joe>perl -e 'print scalar localtime(3151592653),"\n"'
    Sun Oct 8 03:55:57 1933

    --
    -- I have a private email server in my basement.
  79. We need more details! by freaker_TuC · · Score: 1

    Login information, eventually credit cards and some extra information like past telephone numbers of past girlfriends etc.. would do!
    Just to ste^H^H^Hprotect your identity now you've exposed yourself!

    --
    --- I am known for the ones who want to find me on the net. Is that a privacy risk or a privilege? One might wonder..
    1. Re:We need more details! by tbj61898 · · Score: 0

      Now that You mention it.. most website warn You with something like:
      "don't give credit card numbers, passwords (and hopefully girlfriend phone number) to anyone, we will never ask You such things directly (but only via phishers)"

      I didn't read such things on slashdot.org so it must be OK: my CC is 5465... huh.. mmh.. let me send it via private message!

      --
      nop, nop, nop #VBLANK
  80. Linux interpretation of Posix by CustomDesigned · · Score: 4, Informative

    I am gratified to see that time() in gnu/linux returns seconds since the epoch. They mention the contradictory requirements of Posix, but opine that it was a technical error, and seconds since the epoch is what they really meant (or should have meant).

    NOTES POSIX.1 defines seconds since the Epoch as a value to be interpreted as
                  the number of seconds between a specified time and the Epoch, according
                  to a formula for conversion from UTC equivalent to conversion on the
                  naive basis that leap seconds are ignored and all years divisible by 4
                  are leap years. This value is not the same as the actual number of
                  seconds between the time and the Epoch, because of leap seconds and
                  because clocks are not required to be synchronised to a standard refer-
                  ence. The intention is that the interpretation of seconds since the
                  Epoch values be consistent; see POSIX.1 Annex B 2.2.2 for further
                  rationale.

    1. Re:Linux interpretation of Posix by John+Hasler · · Score: 1

      Except that many systems run Ntp, which jams in the leap seconds.

      --
      Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
    2. Re:Linux interpretation of Posix by Anonymous Coward · · Score: 0

      Well, then Linux time() is broken even more than POSIX time(). At least POSIX time() is reliably and predictably broken most of the time and not always broken in different ways depending on the system. The latest incarnation of the POSIX standard is younger than the Linux implementation, and it still defines the time_t value of a UTC date such that it excludes leap seconds. To postulate that this is by mistake is the same kind of arrogance that Microsoft exhibits when it implements W3C standards "as they were meant to be implemented, not as they are specified". Newer versions of the POSIX standard solve the problem by introducing separate timers for accurate timing, instead of further ambiguating time().

      I should also note that the article gives the time of the 1234567890 time_t value for the POSIX compliant version, i.e. seconds since the epoch, excluding leap seconds. It is 24 seconds late if you count leap seconds.

    3. Re:Linux interpretation of Posix by Paul+Rose · · Score: 1

      I read the same words in "man 2 time" but interpret them differently.

      Despite saying in the heading that "time() returns the time since the Epoch" it really follows POSIX

      See the source code for functions like gmtime() and mktime() and you will see that there is nothing to deal with leap seconds.

      Consider the "C" snippet

      time_t x;
      x = time(NULL);
      printf("hours since midnight: %ld\n", (long)(x % 86400)/3600);
      printf("minutes since hour: %ld\n", (long)((x % 86400)/60)%60);
      printf("seconds since minute: %ld\n", (long)(x % 86400)%60);

      The fact that this gives seconds values compatible with the system (and not off by a second) shows this to be true.

      time_t has been around since before UNIX people cared about things like leap seconds, and too much legacy code depends on simple integer math with time_t (like above snippet) to allow anything else. If an OS wants to "properly" deal with things like leap seconds it needs an internal representation other than time_t which has too much legacy baggage to be changable. Or it can use time_t and slew the clock for leap seconds which works fine for a rather large subset of systems.

    4. Re:Linux interpretation of Posix by Paul+Rose · · Score: 1

      In particular see /usr/src/linux/kernel/time.c:
      unsigned long mktime()

    5. Re:Linux interpretation of Posix by CustomDesigned · · Score: 1

      To be posix compatible, you have to remove the leap seconds, creating aliased timestamps where the same value of time() refers to different seconds. By not having all that crap in there, and just counting seconds since the epoch, it is sane, simple, and non posix compatible.

      However, it is easy to convert the sane result of time() to a posix result with a leap second table. And if I were delivering a posix compatible system, I would do that conditionally so that posix apps (assuming there are any that actually rely on time()%60 == seconds_in_minute) would work.

      It is impossible to go the other direction, since the posix time is ambiguous.

      Another interpretation could be that posix actually expects time() to be a simple count of seconds, but that the output of *localtime* should guarantee that time()%60 == seconds_in_minute. This would be a constraint on what timezones are allowed in a posix system. In fact, the more I think about it, I think this is what POSIX people really mean. You must use timezone files that do not handle leapseconds. So by not including leap seconds in the default timezones, linux is posix compatible. Only by using the timezone in the "right" directory do you get leapseconds, and are no longer compatible with posix - but time() still returns the same value. It is just the interpretation by localtime() that changes.

      This is what I said at first, and what the linux man page implies.

    6. Re:Linux interpretation of Posix by CustomDesigned · · Score: 1

      Yes, but we are not talking about mktime (kernel or libc) or localtime. We are talking about time(). If the intent of Posix is that particular time() values convert to particular localtimes() when using posix timezones, then linux is compliant. If you want the correct time of day, you use the "right" timezones - assuming you want the "correct" time of day to include leapseconds. Some systems apparently keep the correct time of day by slowing the time() clock for leapseconds. Doing this means time() is *not* the number of seconds since the epoch, but a smaller number.

    7. Re:Linux interpretation of Posix by Paul+Rose · · Score: 1

      OK -- I'm losing track -- maybe we're in agreement.
      time() returns time_t which is stated as "seconds since the epoch"
      However, tons and tons of legacy unix code takes the return value of time() and takes it mod 86400 to get the number of seconds since 00:00 of the current UTC day.
      This legacy code works.
      If time() were to include leap seconds, then the return value of time() would be N larger (where N is the number of leap seconds since the epoch) and time()%86400 would would give a value that was too large if interpreted as seconds since midnight of the current UTC day.
      Regardless of the implementation of mktime (kernel or libc) the legacy code would break on linux.
      The code does *not* break on linux, therfore time() on linux does *not* include leap seconds.
      Linux time() matches POSIX and is *not* the true number of seconds elapsed since the epoch. Therefore linux must slew the clock to during leap seconds.
      The definition of time() is (for better or worse) wed to legacy implementations of mktime / gmtime that don't understand leap seconds.

    8. Re:Linux interpretation of Posix by Paul+Rose · · Score: 1

      >>And if I were delivering a posix compatible system, I would do that conditionally so that posix apps (assuming there are any that actually rely on time()%60 == seconds_in_minute) would work.
      Sounds sensible

      >>This is what I said at first,
      Yes

      >> and what the linux man page implies.
      Yes

      I'm with you 100%, except that it's not what linux *does*.

  81. 64 bits is excessive ... by Skapare · · Score: 1

    ... for the number of seconds since the epoch (1 Jan 1970). Instead, what we should be doing with 64 bits is the number of nanoseconds . Keeping the same epoch and using a signed 2's complement 64 bit value with a resolution of 1 nanosecond, it will not overflow until the year 2262, on Friday, 11 April, at 23:47:16 plus 854775807 nanoseconds. Who thinks we won't be using 128 bit (or greater) machines (if bits will even matter) by then?

    Of course this means we have to create a new function call and type name, since programs already using time() and time_t expect a number of seconds. I propose the names timens() and timens_t for nanoseconds, timeus() and timeus_t for microseconds, and timems() and timems_t for milliseconds. All these can be library implementations that use a kernel specific syscall to get the actual time at the best suitable resolution and convert as needed.

    --
    now we need to go OSS in diesel cars
  82. Thanks for the demo by Anonymous Coward · · Score: 0

    Thanks for the demonstration. I always gets to me when some nut pulls something out of their ass, when they could have easily checked and found out they were wrong, just by taking the insignificant trouble of googling or entering a simple, short console command.

  83. NTP time representation by CustomDesigned · · Score: 1

    It doesn't matter how NTP protocol represents time - as long as it can be unambiguously converted to system time (i.e. just about anything except posix time could be used). The leap second flag *is* a little weird, but is just a wrinkle when converting to system time.

  84. As long as it doesn't by Master+of+Transhuman · · Score: 1

    crash my Linux box or otherwise disturb my downloading of the return of "Terminator" and the premiere of "Dollhouse" that night, I'm sure I'll survive.

    --
    Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
  85. Posix != unix by CustomDesigned · · Score: 1

    You are right about the posix definition. But the posix definition is stupid and useless, because it can't unambiguously represent a timestamp - so it is ignored or reinterpreted by sane unix implementations. You can convert a sane clock (like the traditional second count) to posix time (or even most insane localtime based clocks), but not vice versa. So if anyone actually has to run a posix compatible application that is actually braindead enough to rely on time()%60 == seconds_in_minute, then they can set an environment to convert the output of time().

    The linux man page for time() mentions the posix definition, and then says they made a mistake - and they really meant seconds since the epoch.

    1. Re:Posix != unix by Anonymous Coward · · Score: 2, Informative

      Well I guess you're running a very weird version of linux then. I've done a LOT of time related on UNIX over the years (including dealing with the leap second question) and I can assure you that the following UNIXes all follow the Posix definition: Linux, Solaris, FreeBSD, OS/X, AIX, HP/UX, OpenBSD. I'm not aware of a single UNIX that operates differently.

      On systems that have timezone support based on the reference zoneinfo implementation you can use a $TZ prefixed with "right/" (i.e. "right/US/Eastern", etc...) to use an alternative timescale where time_t includes leap seconds. I've never seen a linux distro that enabled this by default. Some zoneinfo-using OSes (like OS/X) don't even bother to ship these files.

      Also ntpd only supports the POSIX definition. So if you're using a UNIX with ntpd support, guess what... you have POSIX time_t.

      But if you STILL don't believe me, here's a one-liner you can try running at your shell prompt (assuming you have GNU date, like on a linux box):

          $ date -d@1230767999; date -d@1230768000
          Wed Dec 31 15:59:59 PST 2008
          Wed Dec 31 16:00:00 PST 2008

      Note that those two times were NOT consecutive (there was a leap second @23:59:60 GMT) but, as you can see, they had consecutive time_t's. Also note how the beginning of every hour has a time_t that is divisible by 100 (since posix assumes that all hours are 3600 seconds)

    2. Re:Posix != unix by CustomDesigned · · Score: 1

      Your example illustrates localtime() behavior, *not* time() behavior. If you use a timezone that includes leapseconds, then:

      $ export TZ=right/US/Eastern; date -d@1230768022; date -d@1230768023; date -d@1230768024
      Wed Dec 31 18:59:59 EST 2008
      Wed Dec 31 18:59:60 EST 2008
      Wed Dec 31 19:00:00 EST 2008

      Ya'll keep talking about localtime/mktime, when *I'm* talking 'bout time().

    3. Re:Posix != unix by Anonymous Coward · · Score: 1, Interesting

      Your example illustrates localtime() behavior, *not* time() behavior.

      ...and you're still wrong. You can't divorce them like that. Follow along, please:

      1. POSIX defines the meaning of the time_t timescale
      2. As already illustrated, leap seconds DO NOT HAVE a POSIX time_t value associated with them
      3. POSIX defines time() as returning the current time as a time_t
      4. POSIX defines functions like localtime() as taking a time_t argument
      5. Contrary to your ridiculous point that "Posix != unix", every UNIX you've ever heard of follows this convention.

      Now what happens when a leap second occurs and your machine isn't synchronized via ntp (or whatever)? Well, the kernel increments the value of time() just like any other second. That doesn't mean that time() is defined to include leap seconds, it means THAT COMPUTER'S CLOCK IS NOW WRONG and is returning an inaccurate value for time(). Of course, since you're not running NTP you probably don't know or care that your clock is now one more second off. Since most undisciplined computer clocks will drift more than a second every few years the error from unaccounted leap seconds isn't your primary source of time() inaccuracy anyway.

      The fact that time_t is a POSIX-standardized timescale is not some minor detail here -- it means that they can be (and are) shared by network protocols, etc and have an agreed-to meaning across machines.

      If you are regularly synchronizing your kernel's clock via NTP, rdate, or anything else you WILL see time() change (either by skewing the rate, or jolting the time backwards) So, yes, time() is following the POSIX convention for leap seconds, albeit in an ugly fashion.

      The fact that on some OSes you can change this behavior by setting TZ=right/* does NOT change this. What you're saying when you do that is "I am using a non-POSIX timescale for time_t with my kernel, and I want libc to use that" This isn't something that you do lightly because:
          1. You break any (POSIX-compliant!) application that does its own manipulations on time_t values. Just because localtime() knows what's going on doesn't mean everybody else does.
          2. You also break anything that relies on tv_sec<60... and there can be all kinds of subtle dependencies on that. (Are you sure nothing on your system parses a logfile with a regex that includes ":[0-5]\d"?)
          3. Since your time_t timescale is now non-standard anything that communicates a time_t over the net to another machine is potentially busted. (Think modtimes of files in NFS)

      Just because you CAN (with some effort) convince your machine to behave in a manner that deviates from the standards does not mean the standard does not exist. Further, TZ=right/* is not normal practice on any UNIX I've ever seen (and, believe me, I've seen a lot of them over the last 20 years) -- it's purely for people who have very special needs wrt timekeeping and are running a very well-defined set of programs that they know are safe to use with a non-standard time(). I doubt one in 100,000 UNIX machines are configured to use TZ=right/* (and it certainly is not described in POSIX) so it's only relevant to this discussion as a footnote.

  86. Re:so what? by FlyingBishop · · Score: 2, Informative

    I think you're having some trouble with overflow. Try 64 bit:
    [bishop@cluster ~]$ perl -e 'print scalar localtime(3151592653),"\n"'
    Wed Nov 13 12:24:13 2069

    32 bit:
    bishop@home $ perl -e 'print scalar localtime(3141592653),"\n"'
    Wed Jun 14 13:09:17 1933

  87. Re:so what? by mooreti1 · · Score: 1

    Dude, I think you need a hug.

    --
    Oh, for the days when sig's didn't have to be cute...hey, wait a sec.
  88. There are more interesting numbers by ross.w · · Score: 1

    Wake me when they get to 5318008618

    --
    If my call is important, why am I talking to a recording?
  89. posix vs internal time by CustomDesigned · · Score: 1

    Civil time is "baroque" but usable - every instant has a name, however complex the naming convention. Posix time is "broke" - it can't name every instant. Sane unix systems use a simple second count, which is both simple and usable, and can be converted to posix time when needed (hopefully never).

    Civil time represents positive leap seconds as second 60:

    23:59:59
    23:59:60
    00:00:00
    00:00:01

    DST is disambiguated by the Timezone name:
    November 2, 2008 1:00:01 AM EST is an hour later than November 2, 2008 1:00:01 AM EDT.

  90. The end of the world will hit USA first then... by Anonymous Coward · · Score: 0

    Actually in Australia will avoid the end the world as it will fall on Sat Feb 14 09:31:30 2009 - Just in time for Valentines day

  91. Re:so what? by Anonymous Coward · · Score: 0

    That's only useful if it's an old MacBook Pro, then you have hot apple pi

  92. PHP? by rHBa · · Score: 1

    php -r 'echo date('r',1234567890)."\n";'

  93. Yes, I'm a geek. by sootman · · Score: 1

    I've got screenshots of my Terminal window when it was 1111111111. Happened during the middle of a LUG meeting, by chance.

    Also, this gives me a new default timestamp for when I manually tweak a database. I used to enter '1111111111' when I needed a timestamp in the past and it didn't matter what it was... now I can use 1234567890! :-)

    In other news, I can't believe they're remaking 1234567890.

    --
    Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
  94. 32 bit vs. 64 bit Linux by trigggl · · Score: 1

    I tested this out on a 32 bit Linux box and a 64 bit Linux box. My 32 bit box only went up to year 2038. My PPC64 went up to 2 million or so.

    --
    Ops, I shuld have usd the prevuwe but in.
  95. oo by nomadic · · Score: 1

    Now, while this is not the UNIX epoch, Alan Cox does assure us that Linux is now working on 64-bit time, and the UNIX epoch 'roll-over' would happen about the time that the sun burnt out

    Linux marketshare by the 64-bit roll-over will probably have risen to 5%, so a lot more people will be affected by that rollover...

  96. Can you imagine by Hertne · · Score: 1

    Can you imagine my disappointment:

    coffee:/home/fire# perl -e 'print scalar localtime(1123581321),"\n";'
    Tue Aug 9 05:55:21 2005

    :-(

  97. So how do we celebrate this? by jopsen · · Score: 1

    Any suggestions?

  98. And yet, in our part of the world, not so scary by DavidApi · · Score: 1

    This date is actually on Saturday, the 14th of February 2009:

        perl -e 'print scalar localtime(1234567890),"\n";'
        Sat Feb 14 12:31:30 2009

    So therefore, rather than being a scary day to avoid mishaps, it's actually the Day of Love for millions (Valentine's Day). Better yet, because it occurs over lunchtime, the fact can be idly mentioned to one's lunch date (for those of a nerdy disposition).

    1. Re:And yet, in our part of the world, not so scary by gwbennett · · Score: 0

      Thank you Slashdot for way #1211 not to get laid!

      --
      Where is this free beer everyone on Slashdot keeps talking about?
  99. Re:so what? by mollymoo · · Score: 1

    Did you write COBOL in the 70s?

    --
    Chernobyl 'not a wildlife haven' - BBC News
  100. let's see... by Anonymous Coward · · Score: 2, Funny
  101. Unix time? by Anonymous Coward · · Score: 0

    I think I have an erection...

  102. RFC2550 considered harmful by jvonk · · Score: 2, Informative

    Hm. I read the RFC, and it seems patently insufficient when discussing necessary granularity. Clearly, time should be represented in Planck units, as this is the (currently theorized) maximum necessary resolution to describe a timepoint.

    Current estimates on the age of the universe indicate that approximately 10^61 planck times have elapsed. This puts us at a present need beyond 128-bit time.

    Assuming the ultimate fate of the universe is heat death with proton decay, then 256-bit time should cover the span of the life of the universe to beyond the presence of matter (~10^100 years).

    For the truly pedantic, Planck-resolution time structs could be coupled with meta-size header concept from the I-TAG described in RFC2795, which would yield arbitrary representation in the case of future needs, such as if the universe does not die on schedule.

    It is left as an open question to decide where the zero-point of the calendar should be fixed, given the imprecise knowledge of the birth of the universe.

    1. Re:RFC2550 considered harmful by jvonk · · Score: 1

      I wantonly disregarded the units in my assessment of requisite fixed time structures. 512-bit time would be necessary.

      I should stop posting while sober.

  103. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  104. Handling the transition to 64bit time by abs0 · · Score: 1

    NetBSD recently cut across to 64-bit time_t and its shaken out quite a few 32 bit assumptions.

    http://mail-index.netbsd.org/current-users/2009/01/05/msg007024.html

    The interesting part is not converting across to 64-bit time_t, its providing compatibility so all the previously 32-bit time_t compiled binaries and library keep working (at least until 2038 :)

    dev_t was converted to 64-bits at the same time (two flag days for the price of one)

    It involved versioning every function/system call that uses time_t, struct timeval, struct timespec, struct itimerval, struct itimerspec, struct rusage, struct stat, dev_t, struct ppasswd, struct utmp, struct utmpx, and ensuring the system can read both old and new versions of utmpx etc...

    Certain bits of code which were using time_t to hold time offsets rather than absolute values were converted to using a normal 32 bit value (a good example might be anything in space constrained boot blocks)

    I expect we'll be seeing a *lot* of patches in pkgsrc as the 64bit time_t application issues are fixed...

  105. just in time by Anonymous Coward · · Score: 0

    for my birthday!

  106. Epoch Clock Display by mgiuca · · Score: 1

    For your amusement, I put up a bit of Python code which displays the epoch time in realtime on the command-line.

    Useful for counting to things! Get it at Launchpad (branch).

  107. Short-sighted by Jason1729 · · Score: 1

    Alan Cox does assure us that Linux is now working on 64-bit time, and the UNIX epoch 'roll-over' would happen about the time that the sun burnt out

    That's fine for the people who believed 640k ought to be enough for anyone.

  108. Re:so what? by Anonymous Coward · · Score: 0

    Troll's remorse. The cure is to troll harder.

  109. Shameless self promotion :) by Anonymous Coward · · Score: 0

    I made some design to celebrate 1234567890. Check out http://www.cafepress.com/1234567890m

  110. countdown... by FunkyELF · · Score: 1

    watch -n 0.1 'python -c "from datetime import datetime; print datetime.fromtimestamp(1234567890) - datetime.now()" '

  111. My girl's birthday :) by citro · · Score: 1

    On Feb 13th it's my girl's birthday :) I don't think she cares about UNIX time. Bummer...

  112. Re:Perl script is unnecessary, Mac is -r by Anonymous Coward · · Score: 0

    osx:~ me$ date -r 1234567890
    Fri Feb 13 18:31:30 EST 2009

    osx:~ me$ date -r 2147483647
    Mon Jan 18 22:14:07 EST 2038

    osx:~ me$ date -r 2147483648
    Fri Dec 13 15:45:52 EST 1901

    64-bit??? really?

  113. perl for trivial tasks?! by peater · · Score: 1

    We're expected to use perl for such trivial tasks? I think we need a better man date.

  114. Why not float? by thethibs · · Score: 1

    Is there a reason no one has the intellect to go to floating point time?

    When I first started playing with Java, one of the things I found appallingly silly was its handling of time. If you are going to set a new standard, it should at least be useful. The thing is too coarse to time internal events, but you can describe the age of the universe with millisecond precision.

    Am I the only one who finds the fingerprints of an amateur all over this?

    --
    I'm a Programmer. That's one level above Software Engineer and one level below Engineer.
  115. Re:so what? by Anonymous Coward · · Score: 0

    Fucking wikipedia!

  116. St. Valentine's Day by mattr · · Score: 1

    Oh you sweet geeky slashdot!

    Has nobody noticed that it will be Valentine's Day? (At least here in Tokyo).

  117. Religious dateline solution by Anonymous Coward · · Score: 0

    There's a lot of religious controversy over the use of 'BC' and 'BCE', 'AD' and 'CE'. In these modern times, perhaps we should state all dates relative to the PE - the Posix-epoch. All the religious debates will be moot. Conservapedia will be remerged with Wikipedia, and worldwide peace will break out.

  118. Re:so what? by Chris+Burke · · Score: 1

    Why do we have gaydar but not virgindar?

    For the same reason we have radar to detect planes and ships, sonar to detect submarines, but don't have earthdar to detect the planet earth.

    Some things are too easy to find to warrant looking for.

    --

    The enemies of Democracy are
  119. Turn in your geek creds... by ivan256 · · Score: 1

    Everybody knows that a 64-bit time_t overflows in stardate year 584942000 (Using the TNG stardate system). Sheesh.

  120. and with qore.... by barnacle · · Score: 1

    to see the local time with qore, type:

      qore -X 'localtime(1234567890)'

    (requires qore 0.7.0 or better) :-)

  121. Useless Use of Semicolon by tqk · · Score: 1

    perl -e 'print localtime(1234567890) ."\n";'

    Let the "." concatenate operator do it for you.

    (0) kiak /home/keeling_ perl -e 'print scalar localtime(1234567890) . "\n"'
    Fri Feb 13 16:31:30 2009

    Once you start down the road to pedantry, ...

    --
    "Tongue tied and twisted, just an Earth bound misfit ..." -- Pink Floyd.
  122. Re:so what? by Anonymous Coward · · Score: 0

    because reading /. would cause it to explode

  123. Why only estimated? by Anonymous Coward · · Score: 0

    Quote:
    This will be Friday, February 13th at 1831 and 30 seconds EST.

    Why is it only estimated? I would think this would be known exactly.

  124. Throwing grease into the fire by sidb · · Score: 1

    So just when the whole world is plunged into chaos from the sun burning out, these guys want to compound the problems by causing widescale UNIX clock failure, too? How incredibly thoughtless.

  125. Go figure... by Anonymous Coward · · Score: 0

    On my 64bit system...

    $ perl -e 'print scalar localtime(67767976233550799),"\n";'
    Tue Dec 31 23:59:59 2147483647
    $ perl -e 'print scalar localtime(67767976233550800),"\n";'
    Wed Jan 1 00:00:00 -2147483648
    $ perl -e 'print scalar localtime(67767976233550801),"\n";'
    Wed Jan 1 00:00:01 -2147483648

    $ perl -e 'print scalar localtime(67768036191694798),"\n";'
    Wed Dec 31 23:59:58 -2147481749
    $ perl -e 'print scalar localtime(67768036191694799),"\n";'
    Wed Dec 31 23:59:59 -2147481749
    $ perl -e 'print scalar localtime(67768036191694800),"\n";'
    [NOTHING]

    Weeeeeeee!

  126. St VALENTINE'S DAY by Anonymous Coward · · Score: 0

    Not February 13th but ...

    $ date -d @1234567890
    Sat Feb 14 00:31:30 CET 2009

    St VALENTINE'S DAY ... at about midnight ...

    Kisses to you too, from Europe, Africa, Asia and Australia.

  127. Re:so what? by Anonymous Coward · · Score: 0

    Do mean the Apple Pi from MACdonald's

  128. Re:so what? by slygrayling · · Score: 1

    Bah, i think its pretty funny anyway. But i dont know if its worth "celebrating" in the IRC-channels.. But yeah..

  129. Re:Enjoy this historic event on your iPhone/iTouch by sorcerykid · · Score: 1

    But the big question: Does this app use client-server synchronization to ensure it is accurate? So far all of the online countdown timers I've seen merely rely solely on the end-user's computer clock which is prone to signficant deviations from Coordinated Universal Time.

    --Randall

  130. Planned obsolescence by sorcerykid · · Score: 1

    You're right, who needs silly human standards when soon Skynet will take over and render base-10 as well as all human beings obsolescent anyway :P

    --Randall

  131. I've already marked my calendar by sorcerykid · · Score: 1

    It's interesting that it took so long for the wave of interest to catch on about this date. I remember blogging about the rollover to 1,111,111,111 back in March of 2005. And I've been looking forward to February 13, 2009 ever since.

    Unix Time's 1111111111 Second Countdown

    It's actually quite exhilarating -- esp. for us hardcore tech geeks -- to think that we will soon witness the last significant numerological date in computer history during our lifetime (using decimal notation at least, so long as the standard for Unix time maintains signed 32-bit integers).

    --Randall

  132. Re:so what? by teknopagan · · Score: 1

    You're right! I can't wait for 14 June 1933!

    --
    The Russian Mafia will mod you down just to see if the Moderate button works.
  133. Re:Perl unnecessary by Anonymous Coward · · Score: 0

    Let Ruby do it for you.

    ruby -e 'puts Time.at(1234567890)'

  134. Re:so what? by Anonymous Coward · · Score: 0

    This is Slashdot. You want to DOS your detector?

  135. LOL by Anonymous Coward · · Score: 0

    I don't understand, are we going to REALLY die or what?

  136. Jan 18, 2038? by Anonymous Coward · · Score: 0

    I've gone through the posts (yeh, slow day), and maybe I've missed it, but has someone pondered what's so special about Jan 18, 2038?

    $
    $ date -d @2147483647
    Mon Jan 18 19:14:07 PST 2038
    $
    $ date -d @2147483648
    date: invalid date `@2147483648'
    $

  137. We made it by Anonymous Coward · · Score: 0

    That was a close one.