Leap Seconds!
Leap second seems trivial but we have an inherent ambiguity in how we deal with time and computation. The value of a time, such as the year 2000, cannot be determined ahead of time!07-Mar-1998

This is based on a discussion from Risks Digest, you can see some of it in the 19.17 issue and related issues.

The basic problem is that the leap second is added at arbitrary times to keep clocks synchronized with the rest of the universe. But it means that the mapping from a given date in the future to the number of seconds from a base time cannot be determined ahead of time. This is in direct conflict with computers that use this difference as their internal representation of time. Thus if we attempt to store a future time such as the year 2000 and then properly computer the representation at that time, they will likely not compare.

Given that computers don't actually take into account leap seconds (except for high precision astronomical calculations) and given that humans accept time zones that are approximate to the nearest hour or two, we should simply drop the notion of leap seconds and reserve them for the astronomers as a correction factor.

The longer we put off doing this, we are going to face an intrinsic discrepancy between the time we use in normal usage and the precise calculations for GPS systems and other precision systems. The mapping is inherently ambiguous because we do not know the rules for a given mapping once we done the confusion.

In a bit more detail from the digest... in response to those who don't see the problem

I'm trying to write this as clearly as I can but, perhaps, first I should deal with other sophomoric ideas.

  • "no no" means No! It rarely means yes.
  • The 21st century starts Jan 1, 2000 because we took a vote and decided it.
  • Leonard Nimoy is just an actor.
  • We don't use local solar time, we use an arbitrary time that is about an hour or two off from local time, let alone GPS time.
  • Doing relativistic corrections for car speedometers would be lost in the noise

And computers do not use leap seconds and should not use leap seconds. If we tried, we'd suffer from a very serious case of bit rot.

What we do have are some kids who are so enamored with their new watches that keep time accurate to the nanosecond that they want all of us to suffer by comparison. They've even snuck it into our clocks so that we have 30 seconds of confusion since Jan 1, 1972 (according to http://tycho.usno.navy.mil/leapsec.html).

Let's put an end to this silliness so that we can write programs that save and compare dates without being told that we are wrong or being made to feel guilty for making them work.

It is now official, computers do not take into account leap seconds.

We now need to decorrect time routines that use GPS and other precise sources and fix them to return human time. We need to demand that leap seconds no longer be added to UTC. We can declare Jan 1, 1998 as Leap Second Liberation Day. Who will tell the NEOS that we are going to stop taking their corrections and imposing them on our clocks?

We then need to explain to astronomers (and others) that we are not stealing any time from them. We simply changed the naming scheme to reflect the one used by humans. They are free to apply whatever corrections they want. In fact, they should and, more to the point, they will. Because they care.

And one principle of Risks is to put the onus on those who care. We just need to stop feely guilty because we don't have the latest time keeping gizmo.

This issue also points out a major weakness in the standards process -- it is so boring and painful that only those with an axe to grind participate. Or those with a nifty cesium clock they want to show off. I'm not saying ignore the cesium clocks, just complicate time for those who care and not for the rest of us.

PS: I sure hope that the Risks readers have a sense of humor. But I am serious about the basic points even if I tried to did attempt some humor. But I am or, at least, have been, part of the same cult of technology so am familiar with the symptoms.