Slashdot Mirror


Raise a Glass — Time(2) Turns 40 Tonight

ddt writes "Raise your glasses of champagne in a toast at midnight. The time(2) system call turns 40 tonight, and is now officially 'over the hill.' It's been dutifully keeping track of time for clueful operating systems since January 1, 1970." And speaking of time, if you don't have a *nix system handy, or just want a second opinion, an anonymous reader points out this handy way to check just how far it is after local midnight in Unix time. Updated 10:03 GMT by timothy: The Unix-time-in-a-browser link has been replaced by a Rick Astley video; you have been warned.

114 comments

  1. Give it 28 years by betterunixthanunix · · Score: 5, Insightful

    When time(2) turns 68, that will be newsworthy.

    --
    Palm trees and 8
    1. Re:Give it 28 years by yuhong · · Score: 2, Interesting

      Especially when the 32-bit time_t overflows. The good news is that most 64-bit OSes already uses a 64-bit time_t, but there still is the issue of truncation to 32-bit.

    2. Re:Give it 28 years by MichaelSmith · · Score: 2, Interesting

      Especially when the 32-bit time_t overflows. The good news is that most 64-bit OSes already uses a 64-bit time_t, but there still is the issue of truncation to 32-bit.

      Shouldn't the 32 bit time_t expire in 2106?

    3. Re:Give it 28 years by Anonymous Coward · · Score: 2, Informative

      time_t is signed.

    4. Re:Give it 28 years by Anonymous Coward · · Score: 0

      I believe 1 bit is reserved, possibly for a pos/neg sign? making the end 2038.

    5. Re:Give it 28 years by Abcd1234 · · Score: 2, Interesting

      'fraid not. The 32-bit time_t is signed (I'm assuming so you can expression times less than the epoch, but that's just a guess). As such, it actually overflows in 2038.

    6. Re:Give it 28 years by Dachannien · · Score: 1

      Apparently, at least some implementations define time_t as a signed integer.

    7. Re:Give it 28 years by Anonymous Coward · · Score: 0

      (I'm assuming so you can expression times less than the epoch, but that's just a guess).

      I think it's more to make comparisons involving time_t quantities signed. That way "t1 - t2 < 5" will do the sane thing if t2 > t1.

      BTW, POSIX actually doesn't specify whether time_t is signed or not. All of the common UNIX platforms seem to be signed these days. There are a few exceptions that use unsigned time_t - I seem to remember QNX being one. When writing portable code it's something to watch out for.

    8. Re:Give it 28 years by mysidia · · Score: 5, Informative

      Nope, the maximum value for 32-bit time_t is 2147483647. Increment that by 1, and the time_t value becomes -2147483648.

      Although time_t is a 32-bit value, the 1st bit is the sign bit.

      Jan 18 21:14:07, 2038

      For 64-bit time_t it should be 9223372036854775807. But I don't believe the standard time functions can handle this value...

      While it may be a perfectly valid 64-bit time_t value, if gmtime/localtime/strftime/ctime don't work with the maximum value, it's not a usable value, really

    9. Re:Give it 28 years by wizardforce · · Score: 3, Informative

      The 32-bit time_t is signed (I'm assuming so you can expression times less than the epoch, but that's just a guess)

      Indeed.
      Some binary blobs do require the use of a signed integer for calculating differences in time which is much of the apparent hesitancy to convert to a 32 bit unsigned integer time system. More here.

      --
      Sigs are too short to say anything truly profound so read the above post instead.
    10. Re:Give it 28 years by Anonymous Coward · · Score: 0

      That has nothing to do with "binary blobs" in the sense of proprietary software. It's merely a matter of maintaining compatibility with existing code, compiled and source. time_t is defined to be signed in POSIX. Changing it could involve recompiling everything, which is not acceptable, despite what Gentoo would have you believe.

    11. Re:Give it 28 years by Anonymous Coward · · Score: 1, Informative

      Although time_t is a 32-bit value, the 1st bit is the sign bit.

      The 1st bit is not a sign bit! Signed integer coding uses two's complement arithmetic.

    12. Re:Give it 28 years by Anonymous Coward · · Score: 0

      I don't believe the standard time functions can handle this value...

      If an implementation has a 64 bit time_t but whose time functions can't handle 64 bit values, you should stop using that implementation and shoot the implementers, for good measure.

    13. Re:Give it 28 years by Anonymous Coward · · Score: 0

      Although time_t is a 32-bit value, the 1st bit is the sign bit.

      The 1st bit is not a sign bit! Signed integer coding uses two's complement arithmetic.

      A distinction without a difference.

    14. Re:Give it 28 years by Anonymous Coward · · Score: 0

      Firstly, thats only 30.998947 bits. You really should be saying 68 years, 18 days, 3 hours, 14 minutes and 8 seconds. (It came out to 7.999929427 seconds, so the 8th second should be the bad one). Next, in 28 years, 32 bit systems will likely be antiques or landfill....err I mean recycled into 64 bit and 128 bit machines. On 64 bit machines, its 292 billion+ years. The sun will have eaten the earth by then, we would be off-planet and bringing ruin to the rest of the universe by then. I've been on 64 bits exclusively for more than a year now. I don't know if I'll go back to 32 bits.

    15. Re:Give it 28 years by jonadab · · Score: 1

      One would think so, but unfortunately someone decided it would be a good idea to use a signed value for time, presumably in case you need to have system times prior to 1970 (even though, in practice, you can't actually do that).

      So when people say "32-bit time_t", what they actually mean is "the effectively 31-bit time_t that is used on most 32-bit systems". Hence, 2038.

      --
      Cut that out, or I will ship you to Norilsk in a box.
    16. Re:Give it 28 years by tlhIngan · · Score: 1

      Especially when the 32-bit time_t overflows. The good news is that most 64-bit OSes already uses a 64-bit time_t, but there still is the issue of truncation to 32-bit.

      I believe modern 32-bit OSes also have a 64-bit time_t. Especially glibc based ones.

      64-bit integers isn't the exclusive realm of 64-bit OSes. It's just 32-bit processors are less efficient when calculating with 64-bit integers (takes multiple instructions). But most modern compilers for 32-bit processors understand 64-bit types natively, including Microsoft and GCC.

      The problem is older programs which have been built in a time when time_t was 32-bit...

    17. Re:Give it 28 years by mysidia · · Score: 1

      It doesn't matter that 2's complement is the encoding format used to represent a negative number on certain architectures, or if sign magnitude encoding is used, the MSB is still called a sign bit, if a "1" in that position indicates negative numbers regardless of the encoding format represented by the other bits.

    18. Re:Give it 28 years by mysidia · · Score: 1

      I'm not disagreeing with you about shooting implementors, necessarily.

      But I actually tried using the time functions on 64-bit Linux, Redhat Enterprise Linux 5.4 64-bit.

      Some 64-bit values seemed to work, others did not. ex:

      # perl -e 'printf "[%d]\n", int(1099511627776)'
      [1099511627776]
      # perl -e 'use POSIX "ctime"; printf "[%s]\n", ctime(int(1099511627776))'
      []
      # perl -e 'use POSIX "ctime"; printf "[%s]\n", ctime(int(2147483648))'
      [Mon Jan 18 21:14:08 2038
      ]

    19. Re:Give it 28 years by MobyTurbo · · Score: 1

      It's depressing, I'm 40 since August 2009, which makes me older than time(2).

  2. First Post! by therufus · · Score: 5, Informative

    There is a rickroll in article. Beware to click!

    --
    You moved your mouse. Please restart Windows for changes to take effect.
    1. Re:First Post! by Sporkinum · · Score: 2, Funny

      Beware what? Seeing in the new year with Rick Astley seems like a pretty good thing to me. Then again, I am easily amused!

      --
      "He's lost in a 'floyd hole"
    2. Re:First Post! by Neil+Hodges · · Score: 1

      What's wrong with Rick Astley? I've heard worse songs.

  3. It's not April 1 yet by SpazmodeusG · · Score: 2, Informative

    That second link is a Rick Roll.
    Did you even check it?

    1. Re:It's not April 1 yet by Penguinshit · · Score: 1

      I got a white background with numbers in time() format and human format counting down to zero (midnight PST). What's your problem?

    2. Re:It's not April 1 yet by MichaelSmith · · Score: 1

      The first link took me to a Rick Astley youtube video. Thankfully I was browsing with the sound muted.

    3. Re:It's not April 1 yet by PopeRatzo · · Score: 1

      Either the link has been changed, or you're hitting the absinthe a little hard this New Year's.

      --
      You are welcome on my lawn.
    4. Re:It's not April 1 yet by MichaelSmith · · Score: 1

      See below. It seems there is a bit of messing around with localtime in a flash application on the page. It can't show the number of seconds to 2010 during 2010.

    5. Re:It's not April 1 yet by FunPika · · Score: 1

      I just seriously set my clock ahead an hour...just to see if that was true. It is.

      --
      After years of not using a signature, I am going to make one to say the following: Fuck Beta
    6. Re:It's not April 1 yet by jamesh · · Score: 5, Funny

      You should install the RickBlockPlus browser addon to prevent this sort of thing happening.

    7. Re:It's not April 1 yet by JWSmythe · · Score: 1

          I looked after midnight (10/01/01 03:30am local). I got a white page flash up, with some numbers I think, and then youtube. It appears to be controlled by their newYear.swf. Makes you wonder, was there anything more nefarious in that? What a lovely way to start the new year. 10,000 Slashdotters infected with a nice fresh trojan.

      --
      Serious? Seriousness is well above my pay grade.
    8. Re:It's not April 1 yet by FunPika · · Score: 1

      Or setup AdBlockPlus to block the usual rickroll videos.

      --
      After years of not using a signature, I am going to make one to say the following: Fuck Beta
    9. Re:It's not April 1 yet by Anonymous Coward · · Score: 2, Funny

      Oh, you people. It's just an alternative to the usual UNIX epoch.

      time_rickroll(2) Unix Programmer's Manual time_rickroll(2)

      NAME
                time_rickroll - get time since 16 November, 1987.

      SYNOPSIS
                #include

                time_t time_rickroll(time_t *t);

      DESCRIPTION
                time_rickroll returns the time since the Astley Epoch (00:00:00 UTC, November 26, 1987) measured in seconds.

                If t is non-NULL, the returned value is also stored in the memory pointed to by t.

      RETURN VALUE
                On success, the value of time in seconds since the start of the Astley Epoch is returned. On error,
                ((time_t)-1) is returned, and errno is set appropriately.

      ERRORS
                EFAULT t points outside your accessible address space.

      NOTES
                See time(2) for limitations with regards to leap seconds and other matters of consistency. In addition, the exact timing
                of release of "Never Gonna Give You Up" on November 26, 1987 is assumed to be 00:00:00 UTC on that date, even though
                it is unlikely that a midnight release party was held. Some purists also believe that the correct Astley Epoch begins
                sometime in May 2007, however the possibility exists of
                earlier examples of rickrolling, but none can predate November 26, 1987, the Astley Epoch chosen here.

      POTENTIAL SIDE EFFECTS
                There have been scattered reports of a bug that affects video and sound output when this function is called.

      SEE ALSO
                date(1), time(2), time_duckroll(2)

    10. Re:It's not April 1 yet by Anonymous Coward · · Score: 0

      Very funny.

      You know, a plugin for that would probably be popular, but, wow, would it spoil the fun.

      This is the closest I found. And look -- it's a link that points to mozilla.org. I couldn't have spoofed that. Go ahead. Click on it. Really. You can trust me. It's even https:

      Although I will admit that I haven't tried the plugin yet myself. There's something about it that makes me worry it might replace ALL links with rickrolls, or something more subtly devious (e.g., do that only on April 1st, or only after midnight and before 6am). I'll need to look at the code first.

    11. Re:It's not April 1 yet by rvw · · Score: 1

      The first link took me to a Rick Astley youtube video. Thankfully I was browsing with the sound muted.

      It's the millennium bug!

    12. Re:It's not April 1 yet by stuckinphp · · Score: 1

      Thankfully my browser sound doesn't work while I'm listening to music. Thanks Ubuntu.

      --
      if only
  4. Unix epoch? by arnoldo.j.nunez · · Score: 3, Interesting

    Why was the epoch chosen to be 00:00:00 UTC on 1 January 1970?
    Why didn't we restart it at 2000 amidst the Y2K mess?

    1. Re:Unix epoch? by MichaelSmith · · Score: 5, Interesting

      Putting it in 1970 is a pain. VMS at least put their zero date in 1858, where it is less likely to conflict with real dates. If course, VMS had 64 put support from the word go. Rebasing time_t would have created a horrible mess. Better to start again with a proper date type.

    2. Re:Unix epoch? by schon · · Score: 5, Funny

      Why didn't we restart it at 2000 amidst the Y2K mess?

      You have a promising career in middle management ahead of you!

    3. Re:Unix epoch? by Anonymous Coward · · Score: 1, Informative

      because unix was invented in 1970?

    4. Re:Unix epoch? by Paradigm_Complex · · Score: 1

      Why was the epoch chosen to be 00:00:00 UTC on 1 January 1970?

      I know the epoch was changed around a bit because early versions of the unix time system functioned at rates greater then 1hz, and hence would run out of room in the 32bit space really really fast. I'm not sure why that particular date was the one they settled on, hopefully someone else can fill in.

      Why didn't we restart it at 2000 amidst the Y2K mess?

      I'm not 100% on this, but I believe the Y2K mess didn't effect Unix-y systems at all. The way Unix time works, if you're not familiar, is that it just counts the seconds after the epoch. Whether the year is represented as two of four digits doesn't matter, and doesn't cause problems. The 32bit limit on the counter is a problem, but that's another matter we can procrastinate on for another 25~30 years or so then panic at the last minute. There's no reason for the Unix time stuff to change because other systems had date problems - if anything, it's more of a reason *not* to change since the system clearly works when others were failing.

      --
      "A witty saying proves nothing." - Voltaire
    5. Re:Unix epoch? by Anonymous Coward · · Score: 0

      I'm not sure why that particular date was the one they settled on, hopefully someone else can fill in.

      Probably simply because it was the start of the then-current decade.

      I'm not 100% on this, but I believe the Y2K mess didn't effect Unix-y systems at all.

      Yes in that there was nothing special about time_t going from 946684799 to 946684800. However, a program could still mess up the conversion to a human readable date.

    6. Re:Unix epoch? by SanityInAnarchy · · Score: 1

      I'm not 100% on this, but I believe the Y2K mess didn't effect Unix-y systems at all. The way Unix time works, if you're not familiar, is that it just counts the seconds after the epoch. Whether the year is represented as two of four digits doesn't matter, and doesn't cause problems.

      Yes, assuming well-behaved programs. But it is a fact that Y2K doesn't affect this particular interface at all.

      --
      Don't thank God, thank a doctor!
    7. Re:Unix epoch? by VGPowerlord · · Score: 1

      Why is putting it in 1970 a pain? Because time_t is signed, that gives us the range of 1901 December 13 20:45:52 UTC to 2038 January 19 03:14:07 UTC.

      That's 136 or so years from a 32-bit value.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    8. Re:Unix epoch? by troll8901 · · Score: 2, Insightful

      No, no, middle management does all the work. Such a decision is usually done by top management.

    9. Re:Unix epoch? by itsdapead · · Score: 1

      Because time_t is signed, that gives us the range of 1901 December 13 20:45:52 UTC to 2038 January 19 03:14:07 UTC.

      Damn - if only those 6th Century monks had thought of that we wouldn't now be arguing over whether today is the start of a new decade!

      --
      In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
    10. Re:Unix epoch? by dalleboy · · Score: 1

      Isn't the sign bit only used to indicate error? ((time_t)-1) isn't a valid time but perhaps some other negative values are.

    11. Re:Unix epoch? by schon · · Score: 1

      Isn't the sign bit only used to indicate error? ((time_t)-1) isn't a valid time but perhaps some other negative values are.

      Sorry, what are you talking about?

      $ echo -1 |awk '{print strftime("%c",$1,0)}'
      Wed 31 Dec 1969 04:59:59 PM MST

      $ echo -1 |awk '{print strftime("%c",$1,1)}'
      Wed 31 Dec 1969 11:59:59 PM GMT

      $ echo -1 |awk '{print strftime("%s",$1,0)}'
      -1

      Seems to work fine for me.

    12. Re:Unix epoch? by Miamicanes · · Score: 1

      > I'm not 100% on this, but I believe the Y2K mess didn't effect Unix-y systems at all. The way Unix time works,
      > if you're not familiar, is that it just counts the seconds after the epoch. Whether the year is represented as two
      > of four digits doesn't matter, and doesn't cause problems.

      Remember all of the Perl-based CGI wishing you a Happy New Year on January 1, 19100? I have old books in a box somewhere from *1997* with sample code telling users to print "19" then append the year value. It affected lots of programs that used the Perl functions that returned bits and pieces of the date, instead of printing it as a complete whole (which handled things correctly).

  5. Damn you Slashdot! by nurhussein · · Score: 5, Funny

    Rickrolling is so 2009.

    1. Re:Damn you Slashdot! by Tablizer · · Score: 1

      "So x" is so 200x.

    2. Re:Damn you Slashdot! by ponraul · · Score: 1

      1995 called and it wants its joke back.

    3. Re:Damn you Slashdot! by Anonymous Coward · · Score: 0

      Careful with that joke, it's an antique!

    4. Re:Damn you Slashdot! by Anonymous Coward · · Score: 0

      Rickrolling is so 2009.

      "So x" is so 200x.

      Therefore,
      Rickrolling = "So 9"

    5. Re:Damn you Slashdot! by pedrop357 · · Score: 1

      It's actually a rollover joke.

  6. Over the hill? by MichaelSmith · · Score: 1

    I turn 45 this year you insensitive clod! Passing the top of the hill just means I am gaining momentum for the next climb, anyway.

    BTW why does the summary point to a page which returns
      (54) Connection reset by peer
      Maybe the server is over the hill.

    1. Re:Over the hill? by PopeRatzo · · Score: 1

      Passing the top of the hill just means I am gaining momentum for the next climb, anyway.

      I don't know what special relationship with mortality you have, Sisyphus, but when most of us crest the hill, it's a smooth coast to the bottom.

      --
      You are welcome on my lawn.
    2. Re:Over the hill? by MichaelSmith · · Score: 1

      Passing the top of the hill just means I am gaining momentum for the next climb, anyway.

      I don't know what special relationship with mortality you have

      I am a hacker. Many things are possible.

    3. Re:Over the hill? by camperdave · · Score: 1

      Just because the overall trend is downhill, doesn't mean there aren't a few peaks and valleys on the trip graveward side of middle age.

      --
      When our name is on the back of your car, we're behind you all the way!
    4. Re:Over the hill? by MichaelSmith · · Score: 2, Insightful

      I reject your reality and substitute my own.

    5. Re:Over the hill? by multi+io · · Score: 5, Interesting
      Decimal jubilees are meaningless. time(2) has passed the top of the hill almost six years ago!

      $ TZ=GMT ruby -e '((0..29).map{|bit| 1<<bit} + (0..30).to_a.reverse.map{|bit| (1<<31) - (1<<bit)}).each{|t| puts "%031b %s" % [t, Time.at(t)]}'
      0000000000000000000000000000001 Thu Jan 01 00:00:01 +0000 1970
      0000000000000000000000000000010 Thu Jan 01 00:00:02 +0000 1970
      0000000000000000000000000000100 Thu Jan 01 00:00:04 +0000 1970
      0000000000000000000000000001000 Thu Jan 01 00:00:08 +0000 1970
      0000000000000000000000000010000 Thu Jan 01 00:00:16 +0000 1970
      0000000000000000000000000100000 Thu Jan 01 00:00:32 +0000 1970
      0000000000000000000000001000000 Thu Jan 01 00:01:04 +0000 1970
      0000000000000000000000010000000 Thu Jan 01 00:02:08 +0000 1970
      0000000000000000000000100000000 Thu Jan 01 00:04:16 +0000 1970
      0000000000000000000001000000000 Thu Jan 01 00:08:32 +0000 1970
      0000000000000000000010000000000 Thu Jan 01 00:17:04 +0000 1970
      0000000000000000000100000000000 Thu Jan 01 00:34:08 +0000 1970
      0000000000000000001000000000000 Thu Jan 01 01:08:16 +0000 1970
      0000000000000000010000000000000 Thu Jan 01 02:16:32 +0000 1970
      0000000000000000100000000000000 Thu Jan 01 04:33:04 +0000 1970
      0000000000000001000000000000000 Thu Jan 01 09:06:08 +0000 1970
      0000000000000010000000000000000 Thu Jan 01 18:12:16 +0000 1970
      0000000000000100000000000000000 Fri Jan 02 12:24:32 +0000 1970
      0000000000001000000000000000000 Sun Jan 04 00:49:04 +0000 1970
      0000000000010000000000000000000 Wed Jan 07 01:38:08 +0000 1970
      0000000000100000000000000000000 Tue Jan 13 03:16:16 +0000 1970
      0000000001000000000000000000000 Sun Jan 25 06:32:32 +0000 1970
      0000000010000000000000000000000 Wed Feb 18 13:05:04 +0000 1970
      0000000100000000000000000000000 Wed Apr 08 02:10:08 +0000 1970
      0000001000000000000000000000000 Tue Jul 14 04:20:16 +0000 1970
      0000010000000000000000000000000 Sun Jan 24 08:40:32 +0000 1971
      0000100000000000000000000000000 Wed Feb 16 17:21:04 +0000 1972
      0001000000000000000000000000000 Wed Apr 03 10:42:08 +0000 1974
      0010000000000000000000000000000 Tue Jul 04 21:24:16 +0000 1978
      0100000000000000000000000000000 Mon Jan 05 18:48:32 +0000 1987
      1000000000000000000000000000000 Sat Jan 10 13:37:04 +0000 2004
      1100000000000000000000000000000 Thu Jan 14 08:25:36 +0000 2021
      1110000000000000000000000000000 Wed Jul 18 05:49:52 +0000 2029
      1111000000000000000000000000000 Tue Oct 18 16:32:00 +0000 2033
      1111100000000000000000000000000 Tue Dec 04 09:53:04 +0000 2035
      1111110000000000000000000000000 Fri Dec 26 18:33:36 +0000 2036
      1111111000000000000000000000000 Wed Jul 08 22:53:52 +0000 2037
      1111111100000000000000000000000 Wed Oct 14 01:04:00 +0000 2037
      1111111110000000000000000000000 Tue Dec 01 14:09:04 +0000 2037
      1111111111000000000000000000000 Fri Dec 25 20:41:36 +0000 2037
      1111111111100000000000000000000 Wed Jan 06 23:57:52 +0000 2038
      1111111111110000000000000000000 Wed Jan 13 01:36:00 +0000 2038
      1111111111111000000000000000000 Sat Jan 16 02:25:04 +0000 2038
      1111111111111100000000000000000 Sun Jan 17 14:49:36 +0000 2038
      1111111111111110000000000000000 Mon Jan 18 09:01:52 +0000 2038
      1111111111111111000000000000000 Mon Jan 18 18:08:00 +0000 2038
      1111111111111111100000000000000 Mon Jan 18 22:41:04 +0000 2038
      1111111111111111110000000000000 Tue Jan 19 00:57:36 +0000 2038
      1111111111111111111000000000000 Tue Jan 19 02:05:52 +0000 2038
      1111111111111111111100000000000 Tue Jan 19 02:40:00 +0000 2038
      1111111111111111111110000000000 Tue Jan 19 02:57:04 +0000 2038
      1111111111111111111111000000000 Tue Jan 19 03:05:36 +0000 2038
      1111111111111111111111100000000 Tue Jan 19 03:09:52 +0000 2038
      1111111111111111111111110000000 Tue Jan 19 03:12:00 +0000 2038
      1111111111111111111111111000000 Tue Jan 19 03:13:04 +0000 2038
      1111111111111111111111111100000 Tue Jan 19 03:13:36 +0000 2038
      1111111111111111111111111110000 Tue Jan 19 03:13:52 +0000 2038
      1111111111111111111111111111000 Tue Jan 19 03:14:0

    6. Re:Over the hill? by wagnerrp · · Score: 2, Informative

      Anyone else notice the top of the hill is 1337?

    7. Re:Over the hill? by Anonymous Coward · · Score: 0

      That's a lot of code that can be done with the following:

      $ :(){ :|:& };:

  7. Windows by Tablizer · · Score: 2, Funny

    The Windows clock starts the second Gates stiffed IBM out of the DOS market.

  8. Why is there a link to this guy's blog? by HockeyPuck · · Score: 2, Interesting

    The Unix time(2) system call is "over the hill" at 40 years old today. The time(2) system call has dutifully told us how many seconds have passed since January 1, 1970. I use the day as my "birthday" on public websites in tribute. Please raise a glass of champagne tonight with me in celebration!

    Why is there a link in the summary to some guy's blog which says exactly what I've pasted above? I mean really, just put the information in the summary without the link....

    1. Re:Why is there a link to this guy's blog? by PopeRatzo · · Score: 2, Insightful

      More important, why is the guy with the blog still wearing a face mullet, in 2010?

      And have you ever met an "independent game producer" with such a neatly trimmed beard?

      --
      You are welcome on my lawn.
    2. Re:Why is there a link to this guy's blog? by Anonymous Coward · · Score: 0

      What?

    3. Re:Why is there a link to this guy's blog? by Lisandro · · Score: 1

      I use the day as my "birthday" on public websites in tribute.

      Wow. He is hardcore!

  9. Some of us ... by damn_registrars · · Score: 1

    ... just see this as the 40th anniversary of the Unix Epoch.

    --
    Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
  10. Only a rickroll after midnight by Xocet_00 · · Score: 4, Informative

    It's 12:21am, Jan 1, 2010 here and I got rickrolleded. I set my clock back a day, and got a white screen with a countdown.

    1. Re:Only a rickroll after midnight by MichaelSmith · · Score: 1

      Okay its 1524 on the 1st for me. I got the video.

    2. Re:Only a rickroll after midnight by Penguinshit · · Score: 1

      Page source reveals a flash application.

    3. Re:Only a rickroll after midnight by Anonymous Coward · · Score: 0

      Thanks to that site I rickrolled an entire IRC channel. First 'roll of 2010, baby.

    4. Re:Only a rickroll after midnight by MichaelSmith · · Score: 1

      test

  11. That's funny,... by Telecommando · · Score: 4, Funny

    My clock says today is Setting Orange, Day 73 of the Aftermath in the Year of Our Lady of Discord 3175.

    --
    Beta sux! Join the Slashcott! http://hardware.slashdot.org/comments.pl?sid=4760465&cid=46173047
    1. Re:That's funny,... by thejynxed · · Score: 1

      I want a copy of your clock. Where might such a thing be acquired?

      Note: I am too drunk to use Google properly at this juncture.

      --
      @Mindless Drivel: 100% of Twitter posts ever Tweeted.
    2. Re:That's funny,... by MichaelSmith · · Score: 1

      Telecommando is obviously a time traveller.

    3. Re:That's funny,... by KTheorem · · Score: 2, Informative

      That's output from the 'ddate'—Discordian date—program.

    4. Re:That's funny,... by Telecommando · · Score: 1

      ...oops ;-)

      --
      Beta sux! Join the Slashcott! http://hardware.slashdot.org/comments.pl?sid=4760465&cid=46173047
    5. Re:That's funny,... by compro01 · · Score: 1

      Not a clock, it's a calender.

      --
      upon the advice of my lawyer, i have no sig at this time
  12. Problem with this by 93+Escort+Wagon · · Score: 1

    This isn't really a valid birthday unless time() was actually compiled and run for the first time immediately after midnight on January 1, 1970. I mean, c'mon, are we supposed to also be celebrating the 190th birthday of perl's localtime()?

    --
    #DeleteChrome
    1. Re:Problem with this by 93+Escort+Wagon · · Score: 1

      ... er, make that 110th - sorry about that. Darn Slashdot and its lack of an edit function...

      --
      #DeleteChrome
    2. Re:Problem with this by PopeRatzo · · Score: 4, Insightful

      I mean, c'mon, are we supposed to also be celebrating the 190th birthday of perl's localtime()?

      I don't know about you, but I'm ready to drink to that.

      My wife and I opened a bottle of champagne a few hours ago, and she's fallen asleep after two glasses, the lightweight. I had a double espresso with my pecan pie and now I'm ready to friggin' rawk!

      After I submit this, I'm gonna go show some Borderlands weaklings who's boss. Either that or finish the champagne and go watch the fireworks from my rooftop, naked. It's -2 degrees F outside though, so maybe I ought to pull out the thermal merkin first. I mean, subzero temperatures, nudity and high blood-alcohol level - what could possibly go wrong?

      --
      You are welcome on my lawn.
    3. Re:Problem with this by MichaelSmith · · Score: 1

      I mean, c'mon, are we supposed to also be celebrating the 190th birthday of perl's localtime()?

      go watch the fireworks from my rooftop, naked.

      I had similar plans but then our 38 degree C day turned into really serious thunder and lightening so I decided to give the naked roof standing a miss. The roof is steel and quite well grounded.

    4. Re:Problem with this by Anonymous Coward · · Score: 0

      If you're going to read your post after it's submitted, then don't submit it yet.

    5. Re:Problem with this by zippthorne · · Score: 1

      Yeah, the fireworks will be all washed out from the lightening anyway. Was the lightening caused by lightning, perhaps? Meteors? Or was it just fog and ordinary street-lams?

      --
      Can you be Even More Awesome?!
  13. Flash? Seriously? by Anonymous Coward · · Score: 3, Insightful

    Just for showing the epoch time?

    1. Re:Flash? Seriously? by Anonymous Coward · · Score: 0

      Yeah, Flash isn't very "handy". I can't even view it since Adobe deigns to supply a FreeBSD version of their plugin and no, I won't Linux compat or Firefox in wine just for that.

    2. Re:Flash? Seriously? by Anonymous Coward · · Score: 1, Funny

      It makes sense when the time hits midnight.

    3. Re:Flash? Seriously? by Anonymous Coward · · Score: 0

      Flash because the page becomes a Rick Astley video if your computer's date is Jan 1st 2010 or later.

  14. This is not true by ucblockhead · · Score: 5, Informative

    Epoch starts at January 1st, 1970, but the system call itself was not around in 1970.

    --
    The cake is a pie
  15. Am I the only one? by BlueBoxSW.com · · Score: 2, Insightful

    Who is almost exactly as old as *nix time?

    1. Re:Am I the only one? by DamonHD · · Score: 1

      Some of us are already "on the other side".

      No I don't mean Windows. %-P

      Rgds

      Damon

      --
      http://m.earth.org.uk/
    2. Re:Am I the only one? by Christoph · · Score: 1

      I am also "as old as time".

      I turned 40 on 9-9-9.

    3. Re:Am I the only one? by sconeu · · Score: 1

      Is %-P a legal printf() format?

      --
      General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
    4. Re:Am I the only one? by Anonymous Coward · · Score: 0

      yes

    5. Re:Am I the only one? by DamonHD · · Score: 1

      When you're older than UNIX, you get to choose...

      It's also how you look when trying to read the sprintf() man page on a mobile device.

      Rgds

      Damon

      --
      http://m.earth.org.uk/
    6. Re:Am I the only one? by Anonymous Coward · · Score: 0

      Who is almost exactly as old as *nix time?

      I'm sorry to tell you this but... 2038 is going to be a bad year for you.

      I hope you find Hinduism interesting.

    7. Re:Am I the only one? by lilomar · · Score: 1

      Hey, we're birthday-brothers. I turned 22 on 999.

      --
      The creator of this post (Jacob Smith) hereby releases it, and all of his other posts, into the public domain.
  16. Hmm... by 93+Escort+Wagon · · Score: 1

    Apparently Slashdot's version of time_t had a year 2010 problem!

    Happy new year anyway!

    --
    #DeleteChrome
  17. date +%s by Anonymous Coward · · Score: 1

    On a *nix system, type "date +%s" to see the number of seconds since the Unix epoch started.

    1. Re:date +%s by RAMMS+EIN · · Score: 1

      That is, on GNU systems. Not all Unix systems support %s, and it isn't in the standard, either.

      --
      Please correct me if I got my facts wrong.
    2. Re:date +%s by Anonymous Coward · · Score: 0

      That is, on GNU systems. Not all Unix systems support %s, and it isn't in the standard, either.

      What?!?!?!

      You mean GNU adds extensions to open standards, in ways that break compatibiilty?

      The HORROR!

  18. Never gonna do that again by Anonymous Coward · · Score: 0

    Geez, I couldn't get a couple of hours into the new decade without getting rolled. Nice

    1. Re:Never gonna do that again by 6Yankee · · Score: 1

      Never gonna do that again

      Never gonna do what again?

      a) Give you up
      b) Let you down
      c) Run around and desert you
      d) All of the above

  19. Perl version? by rduke15 · · Score: 1

    Cool. But would someone please translate this obfuscated Ruby into some readable Perl?

    1. Re:Perl version? by selven · · Score: 1

      Here's some readable python:

      import time
      for i in range(0,31):
          print "0"*(30-i) + "1" + "0"*i + " " + time.strftime("%a %b %d %H:%M:%S +0000 %Y",time.gmtime(2**i))
      for i in reversed(range(0,31)):
          print "1"*(31-i) + "0"*i + " " + time.strftime("%a %b %d %H:%M:%S +0000 %Y",time.gmtime(2**31 - 2**i))
      print "$"

    2. Re:Perl version? by rduke15 · · Score: 1

      Indeed, that was much more readable. And helped writing this Perl version, despite the Python trap (for a Python-illiterate) of "range(0,31)" apparently meaning "from 0 to 30":

      for (0..30) {
              print "0"x(30-$_), 1, "0"x$_, " ", scalar gmtime(2**$_), "\n";
      }
      for (reverse 0..29) {
              print "1"x(31-$_), "0"x$_, " ", scalar gmtime(2**31 - 2**$_), "\n";
      }

      Now, maybe someone can condense it into a smarter one-liner, with some clever use of printf and/or pack/unpack.

    3. Re:Perl version? by selven · · Score: 1

      Ok, here's the evil one liner in python.

      import time
      for i in range(0,61): print str((i>30)*1) * abs(i-30) + "1" + "0" * (30 - abs(i-30)) + " " + time.strftime("%a %b %d %H:%M:%S +0000 %Y",time.gmtime((2**(30 - abs(i-30))) * ((i <= 30) * 2 - 1) + 2 ** 31 * (i > 30)))

    4. Re:Perl version? by rduke15 · · Score: 1

      And here is the one-liner Perl version, using printf's %b:

      $ perl -e 'for (0..30) {printf "%031b %s\n", 2**$_, scalar gmtime(2**$_)} for (reverse 0..29) {printf "%031b %s\n", 2**31-2**$_, scalar gmtime(2**31-2**$_)}'

  20. Clueful? by Anonymous Coward · · Score: 0

    I'm pretty sure a clueful operating system would have a way of representing dates before and after my lifetime, not just during it. And it would have a way to distinguish a likely date from an uninitialized timestamp. Seriously, 2038?

    I think a clueful operating system would be able to represent all dates any regular person is liable to want to use for things like birthdays and anniversaries. And needless to say, millisecond granularity at least is a requirement. That way you can use a single date/time library for everything, instead of one for file times and another one or two for everything else.

    dom

    1. Re:Clueful? by Anonymous Coward · · Score: 0

      You are taking into account that there is not just the one single date format?

  21. Beware of parent's bomb! by rduke15 · · Score: 1

    Beware! The parent's code is the well-known Bash fork bomb.