On November 19th one of the primary Network Time Protocol (NTP) clocks, The Official Source of Time for the Department of Defense (DoD) for the Global Positioning System (GPS), and a Standard of Time for the United States, broke for 51 minutes, reporting that the year is now 2000, about 30 million seconds ago.
USNO NTP FAILURE -- 19 NOV 2012
On Monday, November 19, USNO made what was expected to be a routine upgrade. Unfortunately, for 51 minutes, between 21:07:32 - 21:58:56 UTC, the server gave out the year as 2000 instead of 2012. We have resolved the issue that caused this error.
We regret the disruptions that this may have caused. We strongly recommend that all NTP users configure their software to get time from three different sources at a minimum. Most software should be able to use the redundant data to identify and ignore incorrect time sources. You can find a list of other time sources at http://support.ntp.org/bin/view/Servers/WebHome.
Many of our Embedded Widgets rely on getting accurate time from Internet. Sometimes because we are to cheap to put in a real clock, or we think that the Internet will always be here and is always telling the truth which will give us accurate time.
The official advice from NTP is that you should always configure at least four different NTP time servers when you use NTP. No two from the same organization and, as much as possible, reachable only via diverse, nonintersecting paths, and no more than 128 ms apart. Can your Embedded Widget coupe with that? Many do not have the required resources to do it.
In an related time issue that shows that time can be truly hard to code correctly, as it can take literally forever to test all future dates, Android 4.2 Deletes December From People App.
One year one of my colleagues got a yearly calender that he used all year long. In December he showed us that Thursday December 17th was missing. Calendar went from Wednesday 16th to Thursday the 18th. The lesson here is that even pre-Internet technology still can't figure out time...