schwern writes "On Sunday, September 9th, 2001 at 01:46:40 AM GMT Unix time will hit 1 billion seconds since the Unix epoch began.
The last time the epoch date stepped up an order of magnitude was March 3rd, 1973 when it hit 100 million. The 2 billion mark will be reached on May 18th, 2033. So this doesn't happen very often."
For the chronologically curious, you can watch the time ticking down to 10**9 with a simple one-liner...
perl -e 'do{$|=printf"\r%04d",1e9-time}while$|'
Ok, so it's not the Millenium, it's not 2038, and it ain't Halley's Comet. Why do you care? Because of The Dreaded September 9th, 2001 Bug! You may have been getting away with this kind of thing:
my @sorted_times = sort @epoch_times;
Since sort does a string comparison by default, there's a subtle bug hidden in that code. For the last 28 years, the time has been the same length. Always nine digits. Two digits of the same length will sort properly as strings:
9998 lt 9999 # yep, that's true.
but if they're not the same length, you've got problems
10000 lt 9999 # Unfortuntely, that's true, too.
So sorts and comparisons on dates might start breaking in subtle ways. Double check your code, folks! Make sure you're using numeric comparisons on time.
Other annoyances brought about by the advent of 10**9th, poorly written fixed-width data files may begin breaking if they only allocated 9 characters to store time. Maybe you get an error, maybe it gets truncated.
So don't be surprised if its 1970 all over again!