Slashdot Mirror


'Leap Seconds' May Be Eliminated From UTC

angry tapir writes "Sparking a fresh round of debate over an ongoing issue in time-keeping circles, the International Telecommunications Union is considering eliminating leap seconds from the time scale used by most computer systems, Coordinated Universal Time (UTC). Since their introduction in 1971, leap seconds have proved problematic for at least a few software programs. The leap second added on to the end of 2008, for instance, caused Oracle cluster software to reboot unexpectedly in some cases."

87 of 470 comments (clear)

  1. Hmmm by HappyClown · · Score: 5, Funny

    Now waaaaaait just one second! Oh, scratch that...

  2. Stupid by Anonymous Coward · · Score: 2, Interesting

    Yeah, leap seconds suck, but the proposed solution (to let UTC drift farther and farther away from reality) sucks even harder. UTC should just be abolished in favor of UT1. Computer clocks are so crude anyway (mine is off by 3 seconds right now) that the supposed benefits of UTC's constant second are really non-existent, every computer needs to have its time adjusted now and then no matter what.

    1. Re:Stupid by tagno25 · · Score: 4, Informative

      Yeah, leap seconds suck, but the proposed solution (to let UTC drift farther and farther away from reality) sucks even harder. UTC should just be abolished in favor of UT1. Computer clocks are so crude anyway (mine is off by 3 seconds right now) that the supposed benefits of UTC's constant second are really non-existent, every computer needs to have its time adjusted now and then no matter what.

      And that is what NTP is for. To automatically adjust the computers clock to account for drift.

    2. Re:Stupid by mikael_j · · Score: 3, Informative

      Well, if you tell your NTP client to use those ten servers for setting the time chances are your computer's clock will be very accurate.

      --
      Greylisting is to SMTP as NAT is to IPv4
    3. Re:Stupid by bickerdyke · · Score: 5, Insightful

      Why abolish it?

      You're free to CHOOSE your timescale! GPS, UTC, UT1, TIA.....

      So if leap seconds confuse you, use a timescale without them. Thats what they're for. But keep the timescale that's supposed to be in sync with earth rotation in sync with earth rotation!

      --
      bickerdyke
    4. Re:Stupid by ultranova · · Score: 2, Interesting

      Yeah, leap seconds suck, but the proposed solution (to let UTC drift farther and farther away from reality) sucks even harder.

      No, it doesn't. Simply use UTC as an abstract "seconds after a certain point" and use time zone data to adjust for local Solar time. It's simpler, less likely to result in weird bugs, and allows anyone who wants adjust their local time every day if they so wish.

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    5. Re:Stupid by Tacvek · · Score: 2, Informative

      That timescale already exists. It is called TIA. It is identical to UTC except for having no leap seconds, and an initial deviation of exactly 10 seconds. The second ticks occur at exactly the same time as UTC. It is always an exact number of seconds off from UTC, that delta increases or decreases as leap seconds are inserted in UTC. It is currently offset by exactly 34 seconds.

      --
      Stylish sheet to fix many problems in Slashdot's D3: https://gist.github.com/801524
    6. Re:Stupid by bickerdyke · · Score: 2, Informative

      but these are all standards. Different standards for different purposes. And UTC was chosen for civil timekeeping,as this is the standard that aims to keep in sync with the actual astronomical time.

      besides that.. if you took out the leap seconds,you would get TIA! You'd have two identical standards with different names, and none of them would fulfill the requirement for civil timekeeping. (no noon drifting off into the evenings)

      --
      bickerdyke
    7. Re:Stupid by Tacvek · · Score: 2, Interesting

      Beats me. For computers I would recommend using TIA, with the Unix epoch being defined as 1970-01-01T00:00:00 (TIA), with the stored value being the number of seconds elapsed since that time. Display time for human consumption could be in UTC, using a timezone file to determine the offset, much like is currently done for local time, and the inane Daylight Saving Time rules. Displaying values in the future for human consumption would be a bit problematic, if the exact seconds are important, since leap seconds (or changes to timezones or DST rules) cannot be accurately predicted ahead of time. However, for most human purposes, giving a time of day accurate to the second for some future event is not necessary or useful.

      Of course, time in general is a very tricky thing. Special and General relativity do indicate that the concept of keeping a universally synchronized timebase is never going to work the way we would hope. We will continue to have more and more time standards created in the future, as we need them. It is just the way of things.

      --
      Stylish sheet to fix many problems in Slashdot's D3: https://gist.github.com/801524
  3. Oracle sholuld simply fix their software... by zebslash · · Score: 2, Insightful

    Isn't the problem with Oracle here? It should not be that difficult to fix their software. What's the difference with Summer time change?

    1. Re:Oracle sholuld simply fix their software... by nacturation · · Score: 5, Informative

      Isn't the problem with Oracle here? It should not be that difficult to fix their software. What's the difference with Summer time change?

      The difference with spring/fall time changes is that although the local time may change, the UTC time does not. In other words, your offset from UTC (eg: GMT-8) may get adjusted depending on your location's observance of daylight savings time but UTC itself simply marches on oblivious to anything. The leap second is the one exception.

      --
      Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    2. Re:Oracle sholuld simply fix their software... by carini · · Score: 3, Interesting

      Insted of using "leap" seconds why NTP dosn't use a longer interval to adjust the time in small steps?. With 1/1000s adjustment every 1024 seconds (which is the polling interval for most stable ntp client) the leap seconds adjustment need less than 2 week to complete.

    3. Re:Oracle sholuld simply fix their software... by rjch · · Score: 2, Informative

      Insted of using "leap" seconds why NTP dosn't use a longer interval to adjust the time in small steps?. With 1/1000s adjustment every 1024 seconds (which is the polling interval for most stable ntp client) the leap seconds adjustment need less than 2 week to complete.

      The answer can be found in the Wikipedia article on leap seconds - the need for leap seconds isn't constant and predictable.

    4. Re:Oracle sholuld simply fix their software... by TheRaven64 · · Score: 3, Informative

      Oracle is just being used as an example in the summary. They are not the only people to develop software that doesn't properly work with leap seconds. Check the Slashdot archives, and you'll see a story about how a lot of air traffic control software doesn't either. ATC software is safety critical - if it goes wrong, planes can crash - and it depends heavily on synchronising clocks with a variety of different places. And these are just the examples that people have already found - how much other code do you think has been tested against an event one second long that's only happened twice in the last decade?

      --
      I am TheRaven on Soylent News
    5. Re:Oracle sholuld simply fix their software... by Just+Some+Guy · · Score: 2, Insightful

      The answer can be found in the Wikipedia article on leap seconds - the need for leap seconds isn't constant and predictable.

      That doesn't really address his question, though. His proposition is a different way to implement leap seconds, not a way to determine if they're needed. I don't like his idea either, but for different reasons.

      --
      Dewey, what part of this looks like authorities should be involved?
    6. Re:Oracle sholuld simply fix their software... by John+Hasler · · Score: 2, Informative

      Oracle is not so big that even time itself should bend to their will.

      Oracle is irrelevant.

      Can you imagine how complicated things will get when we need to define time zones as -0X000+5seconds UTC?

      They would be simpler. The TAI second is the standard second, used by both TAI and UTC. Timekeeping consists of numbering seconds as they pass. TAI simply numbers them sequentially. UTC also numbers them (using a rather odd number system) but jiggers the numbers every few years to adjust for the erratic rotation of the Earth and then pretends nothing has happened. The proposal is to instead number the seconds sequentially and distribute a lookup table containing corrections for the Earth's rotation. This what the GPS already does.

      --
      Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
  4. Poor solution by LostMyBeaver · · Score: 5, Insightful

    The proper solution is to make programmers aware of leap seconds. There are 86400 seconds in a normal day, however there is an additional second added once or twice a year to adjust for solar time.

    Wikipedia documents it quite well and programmers in modern times should be heading to wikipedia almost constantly anyway. The real problem occurs when the date/time is given in seconds since an "event" such as Jan 1, 1970. Most programmers don't know about leap seconds and I must admit, I don't generally bother calculating for them. But if it were necessary, it would be relatively trivial to do so.

    We shouldn't remove fixes to the clock just because programmers are undereducated. I'm quite convinced that just posting this on Slashdot will raise awareness across a high percentage of the programming world.

    I also always wondered why undergraduate studies for computer science didn't make time a relevant issue. It seems as if it's one of the more complex topics and yet, we don't pay any attention to it. Last formal education I had on time (not talking about physic related, but calendar) was in primary school. There are so many time systems out there that we should pay more attention to educating programmers on it.

    1. Re:Poor solution by Anonymous Coward · · Score: 2, Informative

      But the reason we need leap seconds is because "a day" is changing. The earth's rotation is slowing.

      Defining a fundamental physical unit in terms of a moving target isn't a fantastic idea.

    2. Re:Poor solution by toastar · · Score: 2, Interesting

      Why adjust for solar time?

      if you were to count the number of days since the 0AD, Would you ignore leap days? UTC is a count of seconds since a specific time. All computers do is count time. It's the user interface that should adjust for leap seconds when it converts to local time.

      Why can't Computer people and farmers use different time metrics?

    3. Re:Poor solution by LostMyBeaver · · Score: 4, Interesting

      Nobo has a point... but it would make it so that the hardware engineers would suffer instead of the software ones. 1/86,4000 of a day = 1 second could be a fair solution. All we would need to do then would be to come up with a new atomic clock which allows for the alteration and then come up with computer crystals that are accurate to the new system (hey, let's get ones that are accurate to begin with, that would be great).

      But, since respectable companies tend to run their own SNTP servers and they themselves adjust against national servers (we hope), it could simply be a good idea to ditch the leap second in favor of fixing all the clocks.

      But, I think the real issue of the article is the occasions where "17:59:60" is a valid time. I think for presentation (and databases), it would in fact have been better to simply prolong 17:59:59 or progressively added a millisecond for the next 1000 seconds for example. Although it might through off scientific calculations during that period, the impact would be less critical.

    4. Re:Poor solution by TapeCutter · · Score: 2, Interesting

      "I also always wondered why undergraduate studies for computer science didn't make time a relevant issue."

      They did when I was at uni, I'd never heard of leap seconds or the 100yr & 400yr rules for leap days until I had to redo the same dammned calender assignment every time a new language was introduced.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    5. Re:Poor solution by Thorsett · · Score: 5, Insightful

      Why adjust for solar time?

      We adjust for solar time because UTC is an astronomical timescale, not a "count of seconds since a specific time." If "computer people" want a timescale that ignores leap seconds, they can use an atomic timescale like TAI (or GPS time, which is a constant offset from TAI). But choosing to standardize the internet on UTC and then complaining it is too hard to do the programming right is a little like buying a house next door to a turkey farm and complaining about the smell.

    6. Re:Poor solution by dcollins · · Score: 3, Funny

      I nominate you to write the interface between the physicists' Geiger-counter measuring "SI-seconds" in an experiment, and the computer software that works in "time-t-seconds", accounting for all the past & future history of changed time-t-seconds. Sounds so simple.

      --
      We know where leadership by an anti-intellectual "strongman" who scapegoats minorities and likes boisterous rallies goes
    7. Re:Poor solution by at10u8 · · Score: 2, Interesting

      The reason we adjust for solar time is that two standing international agreements demand that we define the day as a "mean solar day". Computer people and farmers can use different times if mean solar days are not made illegal and replaced with atomic days, that's what zoneinfo is for.

    8. Re:Poor solution by chaboud · · Score: 2, Informative

      One clock has to win, but simple things like file times/dates for saving trace data, network behavior, and exceedingly long runs could be a real pain with an SI second and magical 86400th second.

      Worse, before you do any of this, you'd better be able to tell us in advance how long every day is going to be.

      This is as daft an idea as making each day 1/365th of a year, damn the consequences. We'll be catching lunch in the dark.

    9. Re:Poor solution by toastar · · Score: 3, Informative

      if you were to count the number of days since the 0AD

      You'd get very confused - there was no 0 AD (or BC for that matter).

      1 BC was followed by 1 AD.

      Well if you want to get technical it was neither.

      I think it was called 753 AUC

    10. Re:Poor solution by AGMW · · Score: 2, Insightful

      But why do we have to introduce another annoyance, one that is even worse as it needs constant maintenance (unlike the leap-day system which hasn't needed adjustment since 1752), by trying to shoehorn the SI second into the day? As far as I can tell, this accomplishes nothing but making life harder for people.

      OK, now hands up why the wonderful leap-day system hasn't needed adjustment since 1752?
      Anyone?
      Yes, you at the back ... "mumble mumble leap seconds mumble mumble?"

      Speak up lad!

      "Sorry Sir - is it because the sensible use of regular leap seconds means a leap day is only required once every for years and they are actually both part of the same time adjustment because a leap day is actually made up of many leap seconds?"

      Yes indeed, well done. Yes the time adjustment required to keep our calendar in sync with the passage of the Earth around the Sun requires somewhere around a 1/4 day extra per year, give or take a second or two, and it was decided at some point that an extra day every 4 years would be a sensible way to make the majority of the correction leaving the odd seconds to be added as required to remove the need to add extra leap days far less often.

      --
      Eclectic beats from Leeds, UK
      handmadehands.co.uk
    11. Re:Poor solution by Chrisq · · Score: 3, Informative

      1 BC was followed by 1 AD.

      Not with ISO 8601 time representation, which is more logical having a year zero before year one.

    12. Re:Poor solution by Dwonis · · Score: 3, Informative

      I think it was called 753 AUC

      According to Wikipedia, it tended only to be called that by later historians:

      Renaissance editors sometimes added AUC to Roman manuscripts they published, giving the false impression that the Romans usually numbered their years using the AUC system. In fact, modern historians use AUC much more frequently than the Romans themselves did. The dominant method of identifying Roman years in Roman times was to name the two consuls who held office that year. The regnal year of the emperor was also used to identify years, especially in the Byzantine Empire after 537 when Justinian required its use.

    13. Re:Poor solution by xded · · Score: 2, Informative

      We adjust for solar time because UTC is an astronomical timescale, not a "count of seconds since a specific time." If "computer people" want a timescale that ignores leap seconds, they can use an atomic timescale like TAI (or GPS time, which is a constant offset from TAI).

      No, GMT=UT1 is an astronomical timescale, based on astronomical observations.

      UTC is based on TAI and it is ajusted with leap seconds to track UT1 with an error less than 0.9 seconds.

      Here.

  5. Oracle by Anonymous Coward · · Score: 5, Interesting

    Perhaps Oracle should concentrate more on making their software reliable, and less on lawsuits.

    From what I recall Digital VMS didn't have that problem, and even had no problems migrating an always on system over different processors, and keeping the cluster running over more than 15 years. One second and Oracle crashes.

    It's a pity which of those companies survived.

    1. Re:Oracle by williamhb · · Score: 2, Interesting

      Perhaps Oracle should concentrate more on making their software reliable, and less on lawsuits.

      From what I recall Digital VMS didn't have that problem, and even had no problems migrating an always on system over different processors, and keeping the cluster running over more than 15 years. One second and Oracle crashes.

      It's a pity which of those companies survived.

      Speaking empirically (and somewhat cheekily), isn't the lesson from your example that Digital should have concentrated less on making their software reliable, and more on lawsuits, in order to survive then?

    2. Re:Oracle by TheRaven64 · · Score: 2, Interesting

      Actually, Digital should have known better than to bet their long-term strategy on a competitor. They had the fastest (by a significant margin) CPU architecture, in the form of the Alpha. They had an amazing OS in the form of VMS and a decent UNIX (some horrible bits, some really impressive ones); Tru64. Then Intel came along and said they, and the other 64-bit CPU vendors, could reduce costs by consolidating their platforms on Intel's new Itanium chips.

      Unfortunately, Itanium sucked. It wasn't cheaper than the Alpha, and performance was better eventually, but only after the Alpha had been without active development for several years. VMS stayed on VAX, Alpha, and Itanium, reducing it to a niche role. Tru64 went the same way as most other commercial UNIX systems.

      If they'd kept developing Alpha and ported VMS to x86, they'd probably still be around. They'd probably also have been in a good position to partner with ARM to produce high performance, low power, chips.

      --
      I am TheRaven on Soylent News
  6. The problem with leap seconds... by NixieBunny · · Score: 4, Informative

    They aren't predictable in advance. They are basically the noise in the solar system's timekeeping. It's impossible to write code that knows in advance when they will occur, since they are only announced six months ahead of time. So any clock that wants to stay in sync with UTC must be connected to either NTP or GPS or similar timekeeping service.
    If only those darn astronomers didn't care so much about keeping the sun at Greenwich precisely at the meridian at high noon, we wouldn't have this problem.

    --
    The determined Real Programmer can write Fortran programs in any language.
    1. Re:The problem with leap seconds... by joe_frisch · · Score: 5, Funny

      We could fix this tricky programming issue by regularly adjusting the earth's orbit....

    2. Re:The problem with leap seconds... by omidaladini · · Score: 2, Funny

      try
      {
      adjustEarthsOrbit();
      }catch(...)
      {
      //TODO Ask Larry.
      reboot();
      }

  7. Changing time because of Oracle? by koinu · · Score: 4, Insightful

    Leap seconds are handled well, when the system supports it well and the software is not utter crap.

    I am always annoyed when people break basic things to make software work (e.g. hardware, also see ACPI). Now they are not only breaking hardware, but redefining measurements to make buggy software work. What comes next?

    I can understand when something is changed for convenience purposes (to have simpler calculations), but justified with buggy software is plain wrong. And I surely don't care if an Oracle database "reboots"... whatever that might mean.

  8. The root of the problem by Joosy · · Score: 4, Funny

    The original article has a quote from one person who sees through the mess to the root of the problem:

    The revision "doesn't resolve the underlying geophysical issue"

    Simply resolve the "underlying geophysical issue" and the problem will be solved.

    --
    I'm sick and tired of these hip, "ironic" sigs. This is an actual, honest-to-goodness no-nonsense sig!
  9. Ok... by Chyeld · · Score: 5, Insightful

    Isn't this like legislating that PI is 3.14 because some people have problems with the idea of irrational numbers? If programs have issues with leap seconds, it sounds like programs weren't written properly, not that the spec needs to be rewritten to accommodate this flaw. Would these same people have demanded that it be 1999 again to avoid all the costs of the Y2K fixes?

    1. Re:Ok... by ath1901 · · Score: 2, Interesting

      No, it is not the same thing. PI can be determined algorithmically but there is no algorithmic way of predicting leap seconds since they are added whenever it is deemed necessary.

      Thus, you can not write a program that "handles" leap seconds without constant outside input (for example internet connection and wikipedia). I would be much annoyed if my wrist watch wanted to connect to wikipedia every couple of months...

      I consider the leap second a big mistake since it makes it inaccurate to talk about future time. I can state that "X seconds have passed since 2008" but not "Y seconds will pass until 2012".
      A leap hour every couple of 100 years (as the article mentions) would cause much less trouble.

    2. Re:Ok... by Estanislao+Mart�nez · · Score: 2, Insightful

      The correct value of pi is the conclusion of a theorem. If you propose that the ratio of the circumference to the diameter is exactly 3.14, we can use math to prove that you're wrong. We don't have any choice as to what the value is; if you assume the wrong value for pi and try to reason from that assumption, you're going to end up with contradictory conclusions.

      UTC, on the other hand, is an arbitrary convention. Its inventors and adopters chose to keep it within one second of GMT by adding or subtracting leap seconds at the unpredictable times when it starts to diverge too much. They could have chosen not to care about it, and they could now choose to stop doing so. All that we're changing is the labels in the scale in the time axis.

      To give an analogy, it's like deciding to write pi in binary from now forward instead of decimal: 11.001001000011111101101010100010001... It's the same number, but we've labeled it differently.

  10. This is Bull* ... by garry_g · · Score: 2, Interesting

    Sounds to me like some programmers are putting the blame on anyone else than themselves ... I'm wondering, how do computer systems cope with re-syncing the local clock with a remote time source, e.g. NTP server? Computer RTCs are _never_ exact, so updating the local time is necessary in regular intervals, which will always lead to time jumps of milli-, micro- or even complete seconds and more. If your software can't cope with that, fix your software, but don't expect the universe will adapt to fix your shortcomings!

  11. the problem will not go away even without leaps by at10u8 · · Score: 3, Informative

    The historical record of time_t is already ambiguous and cannot be corrected by abandoning leap seconds. There is a way to get leap seconds out of the kernel and into user space which amounts to reclassifying them as decrees of change of civil time and putting them into zoneinfo while letting the broadcast time scale not have leaps. It's a matter for posterity whether the word "day" will be re-defined by the ITU-R, changed from the current treaty-specified "mean solar day" to a technically-defined "atomic day".

  12. The best solution is a robust solution by Chuck+Chunder · · Score: 3, Interesting

    I think it makes absolutely no sense for most computers or programmers to have to account for leap seconds.

    The reality is that computers already have to allow for their clock drifting from universal time, that's why we have NTP. There's no point getting individual computers account for leap seconds, it would be easier and less error prone if reference clocks transparently accomodate leap seconds (ie without sending a 23:59:60 to the world) and everyone else can just drift back in sync with them when one occurs.

    There may be a few applications where a computer really does need to accomodate leap seconds (such as a reference clock!) but for the rest of us the additional complexity gives no advantage whatsoever.

    --
    Boffoonery - downloadable Comedy Benefit for Bletchley Park
  13. Re:Unreliable by dakameleon · · Score: 3, Interesting

    So you knew that leap seconds should be tested for, did you?

    I'm not defending Oracle, but at least give them this much credit - leap seconds don't exactly spring to mind when you're planning a test suite for software. Certainly after this incident I can't imagine they would miss it again, but I'd have been surprised if anyone can claim they knew to test for these beforehand.

    --
    Man who leaps off cliff jumps to conclusion.
  14. The real problem is using seconds for everything by Terje+Mathisen · · Score: 5, Interesting

    I've worked with NTP for nearly 20 years now, and the leap second adjustments isn't a real problem.

    The crux of the matter is that we've insisted (in both Unix and Windows) on measuring calendar events in seconds:

    The proper solution is to use Julian Day Number as the basic unit for calendars and (SI) seconds for any kind of short-term measurement. If you really need second/sub-second precision for long-term (multi-day) measurements, then you have to accept that the conversion is not just a matter of multiplying/dividing by 86400.

    Calendar appointments and similar things should be defined by day number and some form of fractional day, not SI seconds.

    NTP is somewhat to blame though: Even though it has full support for leap second handling (both adding and subtracting), the core of the protocol pretends that UTC seconds (without leap adjustments) is sufficient, i.e. NTP timestamps are defined to be in a 64-bit fixed-point format with 32 bits counting seconds since 1900-01-01 and 32 bit for the fractional seconds, i.e. sufficient to handle a 136-year block with a quarter of a ns resolution.

    http://www.eecis.udel.edu/~mills/ntp/html/ntpd.html#leap

    This causes small hiccups for an hour or so after each adjustment: The primary servers and those that either have a leap-second aware source or a cluefull operator keep in sync throughout the adjustment, while the remainder will slowly detect that their local clocks seems to be a full second off. Since this is way more than the default +/- 128 ms which NTP is willing to handle with gradual adjustments, NTPD will instead step the clock (backwards for an added leap second) and restart the protocol engine, after discarding all history.

    Modern versions of NTP have been rewritten to use a vote between all otherwise good servers: If a majority claim that there will be a leap second at the end of the current day, then the local deamon will believe them, and thereby stay in sync even during the actual leap second itself.

    Terje

    --
    "almost all programming can be viewed as an exercise in caching"
  15. Let's see if I've got this right by Joce640k · · Score: 5, Insightful

    We have to make every clock in the world inaccurate because Oracle's software is crap...?

    --
    No sig today...
    1. Re:Let's see if I've got this right by Chrisq · · Score: 2, Funny

      Careful ... bitching about Oracle's patented.

    2. Re:Let's see if I've got this right by TheRaven64 · · Score: 4, Interesting

      Do we actually care about that level of accuracy? The leap second is a stupid idea to start with. We have leap years because a calendar year is about a quarter of a day shorter than a solar day. Without them, you'd have the seasons slowly moving around the calendar. The equinox would move by one day every four years, and so on. This was a problem for pre-technical societies, which depended heavily on the calendar for planting crops and avoiding starving, but it's irrelevant now. We're stuck with it though, and it does make it a bit easier to remember where the seasons are, although they won't change by much over a person's lifetime.

      Leap seconds, in contrast, are completely pointless. They exist because the SI day is slightly shorter than the solar day, by a tiny fraction of a second. This means that, after a few years, the sun will not quite be at its apex precisely at midday. How much is the variation? We've had 24 leap seconds since they were introduced in 1972, but a lot of these were to slowly correct the already-wrong time. In the last decade, we've had two. At that rate, it will take 300 years for the sun to be a minute off. It will take 18,000 years for it to be an hour off. These numbers are slightly wrong. The solar day becomes a bit under 2ms longer every hundred years, so we'd need leap seconds more often later.

      In the short term, they introduce a lot of disruption (see air traffic control problems for a good reason why we shouldn't have them - safety-critical systems that depend on time synchronisation and don't reliably work with leap seconds. Great). They don't provide any noticeable benefit. Maybe after a thousand or so years, UTC time will be offset enough from the solar day that it will be irritating, but if people still care about the relationship between noon and midday then they can add a leap-minute or two to compensate. Or they can just let it drift. I'd like to think that a significant proportion of the human population will not be on the Earth by that point, and so purely local inconsistencies with the time won't matter to them.

      --
      I am TheRaven on Soylent News
    3. Re:Let's see if I've got this right by red_dragon · · Score: 2

      The solar day becomes a bit under 2ms longer every hundred years, so we'd need leap seconds more often later.

      Or, given that the Earth started spinning a bit faster after the Chile earthquake, we'll likely not need any leap seconds whatsoever.

      --
      In Soviet Russia, Jesus asks: "What Would You Do?"
    4. Re:Let's see if I've got this right by WiglyWorm · · Score: 3, Insightful

      Pretty typical "let future generations deal with it" thinking. Why don't we just have Oracle fix their code?

    5. Re:Let's see if I've got this right by stdarg · · Score: 5, Funny

      Eh, let a future generation fix Oracle's code.

    6. Re:Let's see if I've got this right by somersault · · Score: 2, Funny

      So now Oracle have bought God too? Damn.

      --
      which is totally what she said
    7. Re:Let's see if I've got this right by JasterBobaMereel · · Score: 2, Interesting

      ...and The Noonday sun is probably not overhead anyway

      I live in the UK, I am 2 degrees off the meridian, It is summertime so we are on BST - So at noon the sun is 1:08:00 away from being overhead .. a few seconds is largely irrelevant at this point ...

      --
      Puteulanus fenestra mortis
    8. Re:Let's see if I've got this right by Burdell · · Score: 4, Interesting

      It wasn't just Oracle. The Linux kernel would deadlock if the system was under load when the leap second happened. I only had one server hang, but a customer with a rack of busy servers had about half of them freeze. Lots of "fun" on New Year's Eve. Even more annoying was that the problem wasn't in handling the leap second, it was in printing a message that the leap second had been handled.

    9. Re:Let's see if I've got this right by Kjella · · Score: 5, Insightful

      Daylight Savings has had numerous studies showing reduced electricity consumption.

      Yes, the question is more if there's more or less hassle to have summer and winter opening hours than to change "time" itself.

      --
      Live today, because you never know what tomorrow brings
    10. Re:Let's see if I've got this right by AltairDusk · · Score: 5, Insightful

      Flight industry and safety equipment also goes through very stringent testing. If the capability to handle leap seconds isn't included in their battery of tests then they have a hole in their testing procedure.

    11. Re:Let's see if I've got this right by contrapunctus · · Score: 2, Informative

      As long as the moon exists, earth will still slow down in the long run...

    12. Re:Let's see if I've got this right by paeanblack · · Score: 2, Insightful

      see air traffic control problems for a good reason why we shouldn't have them - safety-critical systems that depend on time synchronisation and don't reliably work with leap seconds. Great

      The same argument can be made for leap-days.

      December 31 23:59:60 is no less valid than February 29. Throwing out accurate timekeeping because some software designers didn't do their homework is not a good solution. Throw out the bad designers instead...or at least keep them away from "safety-critical systems"

    13. Re:Let's see if I've got this right by Anonymous Coward · · Score: 2, Interesting

      It sounds like the problem is due to the fact that the leap second is implemented as a step function and not a slew.

      Couldn't the problem be fixed by the affected systems slewing over a long period, say one whose individual updates are much smaller than the maximum tolerance for clock synchronization for the system?

      Seems to me it would make much more sense for these systems to count:

      58
      59
      00 + .01
      01 + .02 ..
      xx + .98
      yy + .99
      zz

      instead of

      58
      59
      60
      00
      01
      02

    14. Re:Let's see if I've got this right by mangu · · Score: 3, Insightful

      They exist because the SI day is slightly shorter than the solar day, by a tiny fraction of a second.

      Wrong. They exist because the solar day is getting longer every time. The tides caused by the moon are slowing down the earth's rotation rate.

      safety-critical systems that depend on time synchronisation and don't reliably work with leap seconds

      They should. If a programmer is so incompetent he can't get leap seconds right, I shudder to think what else he did wrong.

    15. Re:Let's see if I've got this right by TheRaven64 · · Score: 4, Insightful

      No it can't, for three reasons. Firstly, leap days are deterministic. They happen based on a set of simple rules. If the year is divisible by 4, you get a leap year, unless the year is divisible by 100 but not by 400. Leap seconds, in contrast depend on a variable that changes daily, so are not predictable. They are fudged in with a few months notice, requiring every computer that needs to deal with them to be updated regularly.

      Secondly, leap years don't violate basic sanity checking rules. You can assert that every month is 28-31 days, and that's not broken by leap years. You can assert that every minute contains 60 seconds. In the last decade, that has been true for 2,106,718 minutes, and false for 2. In every year before 1970, it was true.

      Finally, leap years solve a real problem. The point of a solar calendar is that the seasons are in the same place every years. Having the seasons move made it difficult for people to plan when to plant crops. It's less important now, but having the seasons move around would be noticeable for everyone and irritating for a lot of people. In contrast, the only 'problem' that leap seconds solve is that the sun is not at its highest above the meridian at precisely 12:00. As the poster above you pointed out, the skew from not having leap seconds for a thousand years makes less of a difference to the position of the sun than simply not living quite on the meridian.

      Leap seconds are a (very) complex solution looking for a problem.

      --
      I am TheRaven on Soylent News
    16. Re:Let's see if I've got this right by cizoozic · · Score: 5, Funny

      Leap seconds, in contrast, are completely pointless. They exist because the SI day is slightly shorter than the solar day, by a tiny fraction of a second. This means that, after a few years, the sun will not quite be at its apex precisely at midday. How much is the variation? We've had 24 leap seconds since they were introduced in 1972, but a lot of these were to slowly correct the already-wrong time. In the last decade, we've had two. At that rate, it will take 300 years for the sun to be a minute off. It will take 18,000 years for it to be an hour off. These numbers are slightly wrong. The solar day becomes a bit under 2ms longer every hundred years, so we'd need leap seconds more often later.

      Well in that case it's probably easier for Oracle to just buy the Sun.

    17. Re:Let's see if I've got this right by apoc.famine · · Score: 2, Interesting

      I've argued for some time that we need to ditch timezones as well. Lets all use GMT. Then when I say my store is open from 11-19, it's open at those hours for everyone around the world. There's no trying to figure out how many hours behind or ahead I am. Yes, lots of people no longer have the sun highest in the sky at noon. That's a casualty of dropping timezones. Yes, some people will get up with the sun at 6, some at 7, some at 10, some at 16, some at 23. But when a TV show is on at 20, it's on at 20. Not 10pm Eastern time, 7pm Pacific.

      We don't rely on the sun anymore. There's no good reason to go through all this trouble trying to keep it in the sky between 7am and 7pm, with a high point at 12. Those are just arbitrary numbers. Lets fix time so it's the same world-wide. Then we can get up when it's light, go to bed when it's dark, and stop screwing around with the numbers. Really, there are a lot of better things we can do with our lives.

      --
      Velociraptor = Distiraptor / Timeraptor
    18. Re:Let's see if I've got this right by DrBoumBoum · · Score: 2, Informative

      Daylight Savings Time has had numerous studies showing increased energy consumption, mostly due to increase in A/C use.

    19. Re:Let's see if I've got this right by JonahsDad · · Score: 3, Informative

      The first two things that came to mind were the Indiana DST changeover and the Australia study. Then I found this nice Wall Street Journal article that mentions both: http://online.wsj.com/article/NA_WSJ_PUB:SB120406767043794825.html

    20. Re:Let's see if I've got this right by rainmaestro · · Score: 3, Informative

      On the other hand, modern studies such as:

      http://energy.ca.gov/2007publications/CEC-200-2007-004/CEC-200-2007-004.PDF

      and

      http://online.wsj.com/public/article/SB120406767043794825.html
      (don't have a link to the article they published, sorry)

      These imply that the savings are negligible or, in the case of Indiana, *increased* electric usage. There is no clear answer, since the results depend heavily on the breakdown of electric usage (A/C, eletronics, etc), which varies depending on your region.

    21. Re:Let's see if I've got this right by Scott+Wood · · Score: 2, Insightful

      If we're still going to "get up when it's light, go to bed when it's dark", it doesn't exactly sound like "we don't rely on the sun anymore".

      The knowledge that it's 11:00 doesn't tell me anything about whether it's a reasonable time to call someone in another part of the world, for example. Instead of checking a time zone offset I'd have to consult local sunrise/sunset times?

      Then there's daylight saving time -- it's easier to adjust the clocks than to adjust every schedule. I guess you'd ditch that too?

      Would midnight and noon still be 0:00 and 12:00, or could you have mid"night" in the middle of the day? :-P

    22. Re:Let's see if I've got this right by Rockoon · · Score: 4, Informative

      ..or its actually difficult to 'handle' leap seconds. I can tell that you've never worked seriously with time values as a programmer.

      If you can't answer "When will each of the next 10 leap seconds be?" and "When were the last 10 leap seconds?" then you are pretty much fucked from a programming standpoint of 'handling' it in any sane manner using common time encodings, which use a count of intervals (usually seconds, or milliseconds) since some specific date and time.

      Leap seconds make it impossible to incorporate them into intervals because leap seconds are not computationally predictable.

      They are simply arbitrary announcements from the time keepers "we are adjusting the clocks by 1 second on such and such a date. We dont know when we will adjust them again.. we'll keep you posted."

      Leap seconds are not like leap years, which are easily handled because they are introduced systematically based on only the interval value.

      --
      "His name was James Damore."
    23. Re:Let's see if I've got this right by SeNtM · · Score: 2, Funny

      News Flash: Oracle Buys Moon!

      Analysts predict that Oracle's poor management will cause the Moon's gravity to disband, causing it to fracture and the smaller particles to fly into space. This brilliant move will undoubtly solve Oracle's inability to handle its leap-second delema.

      --
      "There ought to be limits to freedom." -George W. Bush
    24. Re:Let's see if I've got this right by Rockoon · · Score: 2, Informative

      It sounds like the problem is due to the fact that the leap second is implemented as a step function and not a slew.

      It is because the step function is non-systematic. Leap years are implemented as step functions just fine. You simply cannot write an algorithm to predict when a leap second will be introduced based only on the time, which is the problem.

      Leap seconds are ad hoc seat-of-the-pants alterations to the time. They violate the monotonically steadily increasing property of time encoding, so simply cannot be tolerated in any system that benefits from having monotonically steadily increasing time values.

      --
      "His name was James Damore."
    25. Re:Let's see if I've got this right by Athanasius · · Score: 2, Interesting

      Maybe after a thousand or so years, UTC time will be offset enough from the solar day that it will be irritating, but if people still care about the relationship between noon and midday then they can add a leap-minute or two to compensate.

      The usual objection I see to this is that you've then introduce a very special event that no-one will have programmed for at all. It's far better to have more regular such events so programmers know they have to handle them...

      ... not that it's worked so far....

    26. Re:Let's see if I've got this right by jecblackpepper · · Score: 2, Interesting

      The length of the second in GMT is not fixed. It's really hard to use for anything which requires precise accuracy. A second in GMT is defined based on the length of the day in Greenwich, so if the Earth's spin speed increases (see the Chile earthquake) then a GMT second decreases.

      NASA and others would be much better off using TAI than UTC

    27. Re:Let's see if I've got this right by denbesten · · Score: 2, Informative

      If you can't answer "When will each of the next 10 leap seconds be?" and "When were the last 10 leap seconds?" then you are pretty much fucked from a programming standpoint of 'handling' it in any sane manner using common time encodings, which use a count of intervals (usually seconds, or milliseconds) since some specific date and time.

      ftp://time.nist.gov/pub/leap-seconds.list is a publicly available file that lists all announced leap seconds (past and future), designed for use in time conversion functions. And yes, it does need to be periodically refreshed, just like the zoneinfo database.

      Life would be much easier if all manufacturers adjusted for leap seconds in their localtime() and gmtime() functions, rather than in the hardware clocks and their time() functions.

  16. ...except that days aren't a constant length by Joce640k · · Score: 2, Informative

    Every day is a slightly different length due to tides, etc. Even strong winds can shave off (or add) a microsecond or two.

    The BBC did a documentary on it.

    --
    No sig today...
  17. This is ridiculous. Use TAI, problem solved by Nicolas+MONNET · · Score: 2, Interesting

    Accounting for leap seconds is complicated and error prone. It's also completely useless; the solution exists and it's called TAI.

    Example: how do you figure how long an operation has taken? With TAI:
    starttime := tai()
    dosomething()
    duration := tai() - starttime

    That's it. How do you do that with leap seconds sneaking on you? It's impossible to do, at least reliably.

  18. You people ... by Nicolas+MONNET · · Score: 3, Informative

    There's a reason why the second is defined based on an atomic phenomenon. An earth day is something hilariously unreliable; it varies all the time. A near earth asteroid would measurably alter it. Today we can measure time with accuracies in the 10^-15 or something, possibly even less. And besides, you're confusing the problem of defining the base unit (second) with choosing its scale and keeping a calendar. The SI second was scaled to look like the standard second used for centuries, just defined more precisely. The problem here is that the "real" second in the historical definition (one nth of a day) varies because of astronomical phenomenons that cannot be predicted (unless you can solve the n body problem for n very large and have inventoried the whole solar system), it's not a time keeping problem.

    There's a solution to all this, it's called TAI. There is no reason not to use it but ignorance and incompetence. Every other "solution" that has been advanced here was completely, utterly stupid.

  19. That's not a solution by Nicolas+MONNET · · Score: 3, Insightful

    Clocks should strive to give the most accurate measurement, not lie to their users.

    The solution exists, it's TAI. You use TAI internally and convert to UTC (or your TZ) when displaying, similar to unix time.

    1. Re:That's not a solution by Nicolas+MONNET · · Score: 2, Insightful

      The most accurate measurement of what though? elapsed time or time of day?

      It's trivial to derive time of day from an accurate absolute clock. It's about as hard as displaying a calendar, i.e. not that hard.

      On the other hand it's impossible to derive an accurate clock from an inaccurate calendar clock.

      The big problem is that leap seconds aren't predictable so it's not possible to convert accurately between TAI and UTC for a time in the future nor is it possible for a system that isn't receiving updates to the conversion table to covert accurately for past/current time.

      It's about as difficult as fetching a file over the internet, i.e. trivial. And if you can't fetch that damn file, the only thing you risk is at most a couple second offset when /displaying/. Your calculations are going to be fine; and missing one second on an interval is a big deal (esp. if you're measuring intervals on the order of 1s), while having an offset on a /date/ is hardly ever an issue. And anyway, as soon as you get back to civilization, and assuming you stored your dates in TAI, you can see them accurately in UTC retroactively.

      It follows that if a time is repeatedly converted between TAI and UTC by systems in different states of updating (as could easilly happen in a situation where a gradual migration from UTC to TAI is in progress) there could be some rather nasty error buildups. Much the same problem applies with DST but at least most developed countries tend to keep thier DST rules pretty consistent

      That doesn't strike me as a very common situation. Calculating time intervals, on the other hand, is a very common task. See time(1).

  20. Re:The real problem is using seconds for everythin by Terje+Mathisen · · Score: 2, Insightful

    This is one of many, many attempts to make the problem seem to go away, unfortunately enough their choice of 1000 seconds for the smoothing period is close to the worst possible: 1 second in 1000 is 1000 parts per million or 1000 ppm.

    NTP has a maximum slewing rate of 500 ppm or half a second every 1000 seconds, so if your NTP upstream server was to start such an adjustment period, every single connected client would drop out of sync and be forced to do several steps each time the offset got above 128 ms. :-(

    To make this work every single computer clock would need to be updated, while all the national radio standards, like the German 77,5 MHz transmitter, would have to disregard the new standard because the radio receivers would be unable to track it when it started the adjustment period.

    Terje

    --
    "almost all programming can be viewed as an exercise in caching"
  21. Quite obvious by kthreadd · · Score: 4, Funny

    Well obviously the Oracle software worked properly and noticed that the customer had not payed their license to include the extra unlicensed second of operation.

  22. Re:Poor computer clocks by Antique+Geekmeister · · Score: 3, Interesting

    No, they don't. For many low end computers, the clock chip is quite inexpensive, and they're under pretty harsh thermal conditions (dependent on layout, airflow, and heat from the CPU or other energy devouring components. The quartz crystal on your wrist doesn't experience anything like those thermal variations: this is why most computers are expected to synchronize with a master clock, such as an NTP service.

  23. Re:Well I'd say by JustOK · · Score: 3, Funny

    I'll second that. Make sure the minutes reflect that.

    --
    rewriting history since 2109
  24. Mod parent up. by John+Hasler · · Score: 2, Insightful

    The solution, as the parent says, is to continue publishing leap second announcements but to start distributing TAI. Those who feel a need to track UTC can then insert the leap seconds themselves while other can track TAI and provide lookup tables for conversion to UTC or local time for display just as we do now for DST an local time zones.

    And no, this does not mean putting the correction off for some future generation to deal with. It means realizing that there is no need for a correction at all and that Earth rotation based time is merely a local convention to be handled by an appropriate lookup table.

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
  25. Never mind leap seconds, end DST by rossdee · · Score: 2, Insightful

    why don't they drop the silly daylight saving time thing.
    Its been proved that nowdays it doesn't save any electricity, and just messes up peoples schedules and biological clocks.
    In the latest issue of SciAm its listed and one of the inventions humanity would be better off without. (along with the space shuttle)

  26. We need constant seconds by mangu · · Score: 2, Informative

    With 1/1000s adjustment every 1024 seconds (which is the polling interval for most stable ntp client) the leap seconds adjustment need less than 2 week to complete

    The problem is that it would introduce variable seconds, which would cause much worse problems.

    One example is electric power systems. The frequency in the AC power system is what determines how much power should be generated, if the frequency is above or below 60 Hz (or 50 Hz) then each power station should decrease or increase their generation by some amount proportional to the frequency difference.

    The accumulated difference in total cycles over a period is used to calculate what was the difference between total energy needed and generated on that period. With leap seconds all you need to do is to divide total cycles by total seconds to get average frequency. With slow adjustment this would be much more difficult.

  27. It's definitely no hassle! by Estanislao+Mart�nez · · Score: 2, Informative

    Yes, the question is more if there's more or less hassle to have summer and winter opening hours than to change "time" itself.

    Oh, it's definitely no hassle as long as the correct measures are taken.

    First, you need to make sure that you standardize the summer and winter hours across the whole nation, so that everybody switches over on the same date. It would be very confusing to have to call every business you deal with in order to ask whether they've already switched over to winter time.

    Second, you should probably amend all local laws that specify specific times of the day so that they specify different times for summer and winter. You know, if my neighborhood bar opens at 8pm in summer and 7pm in winter, I would be pissed if a law that forces bars to close at 2am went unamended. I'd get one fewer bar hour in summer, and that's clearly unacceptable.

    Third, in addition to amending all the laws, you have to make sure that you redo all the street signs that mention specific hours, so that that "free parking after 6pm" sign now lists separate summer and winter hours.

    Fourth, whenever you schedule a late or early appointment in your calendar at a significant time ahead, make sure you take care to check whether the day you're scheduling it for is not past the switchover date, and you accidentally schedule the appointment for a non-laborable time for that season. Hey, we should probably redesign paper agendas so that the lines showing the working hours change for the seasons.

    So you see, yes, it's definitely no hassle at all, as long as you take all of these measures, and any other ones that I may have forgotten.