Meet the Guy Whose Software Keeps the World's Digital Clocks In Sync (ieee.org)
New submitter Wave723 quotes a story on IEEE: In many cases, the internal clock that ticks away in a laptop or desktop computer is synchronized to an official time service maintained by the U.S. National Institute of Standards and Technology (NIST). This free service shares Coordinated Universal Time with personal devices, web browsers, financial trading software and e-mail programs throughout the world. The service receives 150,000 requests per second (roughly 16 billion a day) from systems that repeatedly ask, 'What time is it?' "If you have a PC, it's probably synchronized to the time service," says Judah Levine, the man who originally built servers and programmed software to send time over the Internet for NIST back in 1993.
with my technology
TFA:
First of all, that's aspirational (or was) in most of the other articles I found.
Contra TFA: NIST Launches NIST-F2
Unfortunately, even contra TFA is weak geek tea:
I guess there's a reason why people with tiny UIDs memorize pi to a silly number of places: it helps you not leave off the other five or six significant digits in the rare case where it actually matters. The real frequency standard is only, like, approximately a million times better than that long-assed, dock-tailed string of digits visually implies.
Truly inconceivable—almost—and yet barely able to time slice the total perspective vortex.
Finally, some obligatory geek porn: Atomic fountain
"What time is it?" 6 Billions times a day...
Sounds like a long road trip with my kids... Are we there yet, How much farther, When will we be there, What time is it
Leap seconds aren't "artificial," any more than standard time zones are. They're directly related to the earth's natural rotation, as timekeeping has been for millennia. They are to the earth's rotation as leap days are to the earth's orbit. Additionally, time is monotonic, with or without leap seconds (or DST, for that matter, which merely involves a switch to a different timescale).
The biggest source of problems is POSIX, which some design-by-committee decided should define a day as having a fixed length, ignoring the existence leap seconds.
If you don't care about second accurate time, you don't have to deal with leap seconds, and your complexity problem is solved.
"National Security is the chief cause of national insecurity." - Celine's First Law
Unfortunately, Unix and NTP treat leap seconds completely different from Daylight Saving. They actually mess with the real measured clock, slowing it down. This is just completely broken of course, suddenly seconds aren't one second long any more. This has lead to system crashes and all sorts of fun.
There are two solutions to this: Either the NTP guys get their heads out of their asses, or leap seconds are abolished.
Unix is mostly ready, there can be 62 seconds in a minute in C, so all you do is switch the timezone files to the "right" directory instead of the "posix" directory (on GNU systems at least). But that cannot be done until NTP works.
Finally! A year of moderation! Ready for 2019?
The problem is there is a lot of time.
You may remember GMT, nowadays known as UT (not to be confused with UTC). GMT is time based on the Earth's rotation - when the sun is directly overhead, it's noon. There are approximately 86,400 seconds in a day here, but the mean solar day varies because Earth's rotation is not uniform. UT1 is the most common form of this, which is what time is measured at the prime meridian.
UTC is time derived from the atomic clock. It closely approximates UT, but since Earth's rotation is erratic, to keep the UTC day closely aligned with the UT day, leap seconds are sometimes added to ensure the difference between the two times is under 0.9 seconds.
TAI is the time as told by atomic clocks. Here, a day is exactly 86,400 seconds and there is no such thing as leap seconds - this is purely a monotonic clock that ticks away.
The problem is, well, there are a lot of variables. UT is measured generally once a day and clocks set to its time. UTC is a close approximation and generally used as it's easier to obtain without having to have someone observe the Sun every day to calculate when noon is. TAI is just the atomic clock time.
Leap seconds are introduced to keep UTC and UT relatively close to each other. TAI is allowed to drift, and eventually you'll have noon at midnight.
Which you pick is up to your needs. Leap years were created so people in the Northern hemisphere wouldn't be celebrating summer in December as the calendar drifts away from Earth's position in its orbit..
Then there's TAI, which is the true atomic time
Biggest problem is that there can't be anything but 86400 seconds in a POSIX day _and_ it enumerates time as seconds since 1/1/70, two things which are mutually exclusive. "Right" time fixes some things, but can break stuff which expects POSIX time.
But yes, ntpd (the reference implementation) is very broken - it doesn't even follow its own RFC with regard to enumerating time. Of course, anyone who is inclined to produce a correct implementation will bump into the fact that the reference implementation is spewing incorrect timestamps everywhere, and systems expect that. It was developed to keep POSIX time, so just like POSIX, doesn't deal well with leap seconds or UTC.
"National Security is the chief cause of national insecurity." - Celine's First Law
Standard timezones were introduced as a practical convenience, so people in close proximity could share common (standard) time, as opposed to every town having their own 12:00 high noon. But, the timezone itself was still locked naturally to Sol, only the borders were artificial/political. Similarly, the leap second allows clocks worldwide to tick simultaneously based on an artificial human definition of the second, which was previously 1/86400 of a solar day. Leap seconds exist because the second itself is now an artificial construct, and they're needed to stay in sync with nature.
"National Security is the chief cause of national insecurity." - Celine's First Law
Judah Levine, the gentleman mentioned in the article, built interfaces to existing atomic clocks that allowed other clocks to synchronize with them, which is a worthy achievement.
But today, the vast majority of synchronized clocks are being kept synced by NTP across the Internet, not by radio signals. And although Levine also implemented NTP interfaces at NIST, he didn't invent NTP nor was he responsible for its dominance of Internet timekeeping.
The man who invented NTP and originally wrote the implementation was David L. Mills of the University of Delaware.
Mills is also the man who created the Fuzzballs and EGP, making global-scale internetworking possible.