Explain xkcd: It's 'cause you're dumb.
Title text: The flood of PermaCalNTP leap-second notifications was bad enough, but when people started asking for millisecond resolution, the resulting DDOS brought down the internet.
This comic proposes a new calendar system, named PermaCal (a malamanteau of the words "permanent" and "calendar"). In it, the date stays constant. In order to accomplish that, as each day passes, it is interpreted as "drift", and a new PermaCal leap day (analogous to the leap day of the Gregorian calendar) is added to compensate.
In the comic, which was published on Monday April 20, 2015, Megan wonders why today would be the 19th, since Cueball said it was the 19th a day ago. Cueball interprets the news from Megan, that a day has passed, as "drift" in the date, and resolves to add another a leap day to PermaCal so that his calendar will be correct. He is presumably becoming frustrated that he has to do this so often.
Leap days in the Gregorian calendar are days added to the end of February every year that is a multiple of 4, but not by 100, unless it's also a multiple of 400. The purpose is to synchronize the calendar with Earth's orbit without having a partial day each year. Leap seconds are necessary because the earth rotation is not constant, but speeds up and slows down over time. The leap seconds account for the differences in the length of our 24 hour day and a solar day (the time taken for Earth to rotate once with respect to the sun), and are announced several months beforehand.
NTP servers are used to keep local computer time from drifting. They also are used to announce Leap seconds. In the context of this comic, leap seconds would refer to a different system in which there is a new leap second each second, so the time also stays constant, down to the resolution of one second. This would require something like setting the NTP leap second bit anew every second. The title text presumably refers to moving to a resolution of one millisecond via leap milliseconds. This would require at least 1000 updates being requested every second, using enormous network bandwidth and resulting in a Distributed Denial-of-service attack (DDoS) situation.
The comic relates to several DDoS problems due to NTP server misuse and abuse over the years.
Part of the humor stems from the problems that leap seconds are causing for some computers.  The last leap second disrupted computers at big companies such as Reddit, LinkedIn, Gizmodo and FourSquare. Google first introduced a new approach of smearing the leap second, smoothly changing the reported time over an undisclosed number of hours around midnight UTC on December 31, 2008. The smooth shape of the adjustment is graphed at synchronization - Math behind Google leap second smear formula - Stack Overflow.
A new calendar was also proposed in comic 1061: EST.
- [Megan and Cueball are in the panel. Cueball appears to be holding a phone, tapping.]
- Megan: What day is it?
- Cueball: Sunday the 19th.
- Megan: But you said it was the 19th yesterday.
- Cueball: It changed again? Crap, better add another leap day.
- [Caption below the panel:]
- My simplified calendar system assumes the date never changes, then corrects any drift via leap days.
- The "H" in Megan's version of "19TH" is missing the upper part of the left bar, making it look like an mirrored "h". This must be unintended, since the H in "19TH" is written correctly when Cueball says it. Also only capital letters are used in the comics (except in special cases).
add a comment! ⋅ add a topic (use sparingly)! ⋅ refresh comments!
In Megan's response, the "h" in "19th" is backwards.
126.96.36.199 05:47, 20 April 2015 (UTC)
- I believe the fully formed uppercase 'h' to be the mistake. What you describe was common in 1190. I think the section should be removed, then readded to the comic that first made use of it (which could be before 1190).Azule (talk) 18:13, 21 April 2015 (UTC)
- I'm pretty sure that's a mistake since lowercase letters normally aren't used. Mikemk (talk) 05:49, 20 April 2015 (UTC)
- Looks like he forgot the line on the upper left. He used the capital 19TH for Cueball. 188.8.131.52 07:24, 20 April 2015 (UTC)
- I think it's intentional. All the H's after a T have shortened upperleft lines. Probably for nice http://www.explainxkcd.com/wiki/index.php/kerning ToaVin (talk) 10:12, 20 April 2015 (UTC)
- I recall other examples where Randall's lettering style includes 'stroke obscurations' (preferable to merging of letters, probably).184.108.40.206 16:10, 20 April 2015 (UTC)
Leap seconds have nothing to do with the length of the year: corrected. 220.127.116.11 07:49, 20 April 2015 (UTC)
"Leap seconds normally account for the differences in the length of our 24 hour day and the time taken for the world to rotate 360 degrees on its axis" - this sentence mixes two unrelated concepts. First, a day is not a rotation of 360 degrees. Because the Earth also orbit the sun, the rotation from noon one day to noon the following day is a bit more than 360 degrees (360.9856 or so) (rotation measured relative to the stars) - this is why constellations appear to move throughout the year. Second, leap seconds are required because the leap day corrections of the Gregorian calendar are good, but not perfect, at matching the difference between Earth orbits (years) and Earth rotations (days). Every so often, a small correction is required. The corrections are not regular because the causes of the drift are numerous: tidal effects, orbital eccentricity, the underlying (small) flaws in the calendar, etc. I have not made any changes in the explanation. --18.104.22.168 08:41, 20 April 2015 (UTC)
Not unrelated concept. Just not fully understood. Rotate 360 degrees is a simple way of putting things that ignores the diffrence between solar days and sidereal days. Incorrect not because someone doesn't understand the topic being discussed but because someone hasn't studied astronomy or seriously thought about how the movement of the Earth effects the length of the day--22.214.171.124 13:00, 20 April 2015 (UTC).
- Guilty. No excuse either, because I actually knew (but just forgot) about the difference between sidereal and solar days. 126.96.36.199 01:14, 21 April 2015 (UTC)
While you are true on one part, that Earth doesn't take 24 hours to rotate 360 degrees (it takes around 23 hours and 56 minutes if I recall correctly), leap seconds are used to account for differences between 24 hours and a solar day. If it was used to adjust the length of the year the time of day would drift, it would also be fairly pointless as the leap days take us out by 1/4 of a day.188.8.131.52 10:41, 20 April 2015 (UTC)
Do we know for sure that this comic was released on a Sunday - the 19th instead of the 20th? The first entry in this page is from the 20th. Of course there are some references to the 19th, but then again it is obvious that it is on the 20th that Megan asks. Anyone who can find out if this is the correct date, or just a mistake by someone who misunderstood something based on the dates in the comic? --Kynde (talk) 11:19, 20 April 2015 (UTC)
- Yes, it was released on the 19th, at about 10 PM CST. All of the recent comics have been released a few hours early though, so if you want the date set at 20, fine. Mikemk (talk) 15:05, 20 April 2015 (UTC)
- The archive claims that it was released on the 20th.--17jiangz1 (talk) 15:08, 20 April 2015 (UTC)
Apropos a "permanent calendar", Isaac Asimov proposed just such a calendar. http://calendars.wikia.com/wiki/World_Season_Calendar This web page unfortunately doesn't go into details, but there were several advantages. The same calendar is used for all years, your birthday is always on the same day of the week, no need to remember "30 days hath Sept. ...", and several other advantages I can't remember right now. --RenniePet (talk) 12:45, 20 April 2015 (UTC)
There is some confusion between the different types of astronomical time: a day in mean solar time is 24 hours, with a difference of + or - up to 1 second (compared to time on an atomic clock), in apparent solar time is 24 hours + or - up to 30 seconds, and in mean sidereal time is 23 hours, 56 minutes, 4.0916 seconds (according to Wikipedia), and there is one extra sidereal day (about 366.25) in a sidereal year. The Dining Logician (talk) 13:55, 20 April 2015 (UTC)
It seems like our collective favorite word just might be "portmanteau" The Goyim speaks (talk) 13:42, 20 April 2015 (UTC)
The explanation seems unclear where it addresses the title text. I'm not sure what is meant by "maybe 100ms every few months," but it seems to miss the point of the comic. If a leap day is added each time the previous day ends, then at millisecond resolution, a new leap-millisecond would be added every millisecond! Hence the resulting DDOS when pushing so many NTP notifications... 184.108.40.206 16:05, 20 April 2015 (UTC)
- I think that's wrong, too. Just my vote towards encouraging someone who wants to consider rewording it.220.127.116.11 16:10, 20 April 2015 (UTC)
I want to clarify a bit here. Leap days account for the fact that the rotation period of the Earth does not evenly divide into the revolution period. As such we can predict when each leap day will happen in the future. Leap seconds on the other hand are due to variance in the Earths rotation caused by various factors. Leap seconds cannot be predicted and must be observed by measurement and corrected for after the fact. It is based on the fact that the Earth's rotation varies.
I am so happy Randall decided to mock leap seconds. The human race just needs to accept that the rotation of the Earth is not a constant and stop pretending that it is. If we ingored leap seconds it would only add up to a few hours a lifetime. So what if 12pm is a different time as the years pass? It may be annoying but that is the world we live one. We can still have noon be the height of the sun if we want, it will just be a different time. 18.104.22.168 17:25, 20 April 2015 (UTC)
- Does that last paragraph add anything to the article? The title text is mocking leap seconds about as much as the main comic is mocking leap days (ie- not really), and the odds that a server is able to handle NTP corrections due to regular clock drift, but unable to handle a 1 second jump in a single NTP correction seems like very poor mojo. I have no idea why the linux hrtimer subsystem cared about the wall-clock time, since it's a well known fact that the wall-clock time can change for a large number of reasons, and so you can't have your system go haywire every time it does. Google hasn't actually fixed anything, they are simply offering an NTP service that provides leap second corrections over a long smear - at the cost of being out of sync with UTC for up to a second at a time.
- If anything, that link to livescience needs to be removed as the worst kind of fear-mongering and click-bait. GPS doesn't care about leap seconds, and GPS time is well-known to drift from UTC; if your GPS receiver is making adjustments for leap seconds, then it's going to be inaccurate in every other way, as well.
- Also, given enough time, the day will be 25 hours long, for a few hours a week drift if you want to stick to UT as your arbitrary timekeeping system! 22.214.171.124 01:32, 21 April 2015 (UTC)
- I concur, the last sentence adds nothing to the explanation and should probably be removed. Spongebog (talk) 03:53, 21 April 2015 (UTC)
126.96.36.199 12:49, 21 April 2015 (UTC) An illustrative quote comes to mind: "By an equally suspicious freak of temporal relastatics, it is nearly always Saturday afternoon just before the bars close." Description of Ursa Minor Beta, The Restaurant At The End of The Universe, chapter 4.
188.8.131.52 20:27, 21 April 2015 (UTC)
For a really good explanation of how incredibly complex the seemingly trivial act of keeping track of time is, see this video by ComputerPhile
Also only capital letters are used in the comics (except in special cases).
Pun intended? 184.108.40.206 11:58, 18 April 2017 (UTC)