One Small Step Back for Mankind

Now THAT'S low gravity!

It’s that time of the year again!

The end of the world is coming! Armageddon is nigh! Armstrong is high! Ghosts and demons will rise from every nook and cranny, to consume the whole of our planet! Or at least the U.S.

Because this Sunday, it’s the end of Daylight Saving Time.

Oh, I’m sorry.. perhaps you thought I was referring to Y2K?

Wrong again, media!

I remember back in the summer of 1997 when I was working at my uncle’s company and he was like “we should do Y2K consulting!”

And I remember thinking to myself

“Why would anybody do that? The Y2K bug isn’t going to cause any more problems than any other computer bug. Every single day millions of computer glitches, programming bugs, human errors, usability defects, battery explosions, hardware failures, etc, etc, etc, happen… and the world keeps humming along. Why would a widely KNOWN and EASILY fixed bug, having to do with something as non-critical as DATE processing, be anything to give a duck’s fart about?”

(I used a lot of fowl language in my head back then.)

Think about it.. how many times have YOU personally called the cable company, or a store, or a restaurant, or a movie theater, or even a bleeding HOSPITAL and been told they couldn’t help you right now because their computers were down?

And yet somehow the world keeps humming along.

But, probably because 2000 seemed like a likely time for the world to end anyway, the media really latched onto it! Business folks (usually not the most technical ones) got on the bandwagon, and the general public pretty much followed behind.. all caught up in a giant vortex of hype and fear about how the world as we knew it would end come January 1st, 19100.

(A little aside.. the unix time command returns years in the format “the number of years since 1900″. Which means in 1999 it returned “99″. So, what you should have done if you wanted to show the full year, was just

1900 + $time;

(Simply 1900 plus the number of years since 1900!)

What a lot of people did instead was just

'19' . $time;

because, in the entire history of unix so far, the time command had always happened to return a two-digit year. This resulted in a lot of websites having the date as January 1st, 19100 when it all of the sudden became 100 years since 1900! In fact, WE had this very bug hit us.. it made the serial numbers we generated for our DNS entries all screwed up… Y2K strikes again! When we saw the problem, we fixed it in about eight minutes. Unfortunately it was too little too late, the world had already ended.)

The future of affordable space travel.

Ah yes, those were crazy times.

Now we can all sit back, have some fois gras, and laugh.

Or can we?

Not only is fois gras on the outs, maybe you’ve heard that Congress has recently legislated that starting in 2007, Daylight Saving Time will be extended for another four (or sometimes five) weeks!

POW! Just like that!

With less than two years warning, Congress decided to completely re-break what must again be millions of lines of time-related code across pretty much every computer in the world.

Future Fois Gras

Have we learned NOTHING in this new millenium?!

Did anybody even CONSIDER the implications of this? The billions upon billions of dollars of our economy that will be wasted re-tooling every elevator in Manhattan and every sprinkler system in LA to be Y27DST-compliant? The myriad tragic side effects of millions of computers have their clocks an hour off for three weeks in March and one week in November? The CHILDREN?

Even us, your beloved web host, has a few Y27DST bugs creeping up the pipeline. For one, we’re going to have to patch all our servers so they know about the new time zone rules. That will probably take somebody a few hours AT LEAST.

Secondly, call us insane, but we keep all our domain registration info in Pacific Time, even though Verisign has everything in UTC (the one true time). So, whenever we have to do any interfacing with them, we need to convert UTC to Pacific time, and/or convert Pacific time to UTC. Which would be one piece of cake if not for that cluckin’ Daylight Saving Time.

Thanks to DST, and the fact we don’t even keep time zone information with our date/time stamps (call us even insaner), there is not a one-to-one mapping of Pacific times to UTC times! Which causes problems for the two or three domains registered every year between the second 2am and 3am on the last Sunday of October. We just don’t know if those domains were actually registered at 9:30am UTC or 10:30am UTC!

Think about it.

It's close to midniiiiiiiiiiiiight.. and something evil's lurking in the dark!

Spooky stuff.

Which is one of the reasons I’m for abolishing Standard time! Who needs it?! It just causes programming headaches, not to mention just when the days are getting really short.. the sun starts setting even earlier! Heck, I’m for DOUBLE DST and make it permanent. Nobody’s children walk to school anymore anyway.

And apparently it wouldn’t be a big deal to change it.. Congress clearly thinks 20 months is more than enough warning to get ready!

Speaking of which.. I just patched our domain registration code!

my $thisyearsdsbegins = &ParseDate("first sunday in april $year 2am");
my $thisyearsdsends = &ParseDate("last sunday in october $year 2am");
if ($year >= 2007) { # crazy congress!
  $thisyearsdsbegins = &ParseDate("second sunday in march $year 2am");
  $thisyearsdsends = &ParseDate("first sunday in november $year 2am");
}

Now, nobody register any domains between (the second) 2 and 3am Pacific time this Sunday, please.

(We’ll all be at our Halloween party.)