Happy 1e9 Day!

by Schuyler Erle

All UNIX and UNIX-like operating systems keep a running count of the number of seconds that have elapsed since midnight GMT on January 1, 1970, a moment referred to as the "Epoch".*



This count, which hackers call "UNIX time", or sometimes "the UNIX clock", is in theory the same on every single UNIX machine the world 'round, and is used for countless diverse but important things, from real-time event scheduling to stamping database records to seeding pseudorandom number sequences.



At 01:46:40 GMT on Sunday, September 9, 2001 (or 21:46:40 EDT Saturday), the UNIX clock will turn 10 digits for the first time ever, as it clicks over from 999,999,999 to 1 billion.



This sort of numerological trivia is precisely the kind of thing that titillates hackers to no end, and it should come as no surprise that more than a few informal parties have been planned all across the world to celebrate the historic moment. While it's no Y2K, speculation has been abroad for some time that 1e9 Day, as the event's been dubbed, may expose similar kinds of foolish treatment of date and time values.



Meanwhile, you too can participate at home! If you've got a UNIX shell handy, you can try the following to get your very own countdown timer:




$ perl -e '$|++; printf( "\r%010d",1e9-time ), sleep(1) while 1'



Or, in the hackish spirit of the event, you might try the obfuscated perl version, suggested by Nat Torkington and Jon Orwant:


$ yes|perl -ne'$|=sleep printf"\r%010d",1e9-time'



Finally, if you just want to witness the seconds ticking forward from the comfort of your own browser, you can watch your very own Javascript UNIX clock, courtesy of our very own Tim Allwine.



Enjoy, and Happy 1e9 Day! May the next billion seconds of UNIX time be filled with even more innovation and creativity than the first billion!





* More or less, according to O'Reilly's The Perl Cookbook, by Tom Christiansen and Nathan Torkington, which has the following to say on the subject (p. 71, footnote):

To be precise, [UNIX time is] 21 seconds less, as of this writing. POSIX requires that time not include leap seconds, a peculiar practice of adjusting the world's clock by a second here and there to account for the slowing down of the Earth's rotation due to tidal angular-momentum dissipation. See the sci.astro FAQ, section 3.






How will you celebrate 1e9 Day?


1 Comments

jmac1
2001-09-07 20:35:02
party(6)
I've been invited to a dramatic reading of Alice's Adventures in UNIX Land.