Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    D

    David Mills

    eecis.udel.edu/~mills · Personal blog · on HN since 2010

    David Mills, creator of the Network Time Protocol, hosts papers and documentation on NTP and internet timekeeping at the University of Delaware.

    Visit blogHN submissions
    NetworkingSystems & PerformanceHistory
    What HN says

    HN commenters link his NTP reference guide as well written, and use his pages for discussion of NTP, interplanetary timekeeping, and his legacy.

    Stats for nerds
    18HN people shared it
    5linked in comments
    81story points
    Dec 2025last shared
    2010people per year2025

    Top posts on HN

    1. 1
      The Nanokernel [pdf]
      1 person · 57 points · first shared 2017 · 7 comments on HN
    2. 2
      A Brief History of NTP Time: Confessions of an Internet Timekeeper (2003) [pdf]
      3 people · 19 points · first shared 2012 · 2 comments on HN
    3. 3
      Timekeeping in the Interplanetary Internet
      2 people · 5 points · first shared 2010 · Discussion on HN
    4. 4
      Ntp
      2 people · first shared 2010
    5. 5
      Refclock
      2 people · first shared 2015
    6. 6
      Rate
      2 people · first shared 2016
    7. 7
      Ntp4.pdf
      1 person · first shared 2024
    8. 8
      Nano
      1 person · first shared 2017
    9. 9
      Accopt
      1 person · first shared 2016
    10. 10
      Index
      1 person · first shared 2016

    What HN people wrote when they linked it

    • brian_cunnieDec 2016

      [author]

      > I wish he'd explained somewhere how they leapt to examining virtualized NTP clients...

      I had a hunch [wrongly] that the traffic was caused by a particular operating system. I didn't have enough machines to run the tests on bare-metal, so I virtualized them. And I suspected that virtualization would provide a worst-case scenario (the virtualized clocks would be jittery).

      My big surprise was that Windows was a model client (once per day), OS X was good, too, and that FreeBSD was the worst and Ubuntu a close second. It was a complete inversion of what I had expected to find.

      > what they ultimately did (since there's no part 3 that I can find).

      I never wrote part 3, but now that it seems the post has gained traction on Hacker News I might be inspired to write one. The summary would be as follows:

      To reduce your costs by a quarter, use the following lines in your NTP configuration file to throttle overly-aggressive clients (the important directive is `limited`:

      ```
      restrict default limited kod nomodify notrap nopeer
      discard minimum 0
      ```

      Here is a description of NTP rate-limiting and why `limited`, `kod`, and `discard` are important: https://www.eecis.udel.edu/~mills/ntp/html/rate.html

      Here is my current NTP configuration:
      https://github.com/cunnie/deployments/blob/95e9c71e882d453ec0fd168f3a8030ea0707c05a/concourse-ntp-pdns-gce.yml#L178-L192

    • mattstreetDec 2017

      I'm a bit rusty, but I believe the way NTP works (at least the reference version which is commonly used) is that if a client sends too many requests in a short time, they are ignored except to reply with a "back off packet" which is called the KoD (Kiss of death) in NTP terms.

      Security audits have found some issues with abusing the KoD so I'm not sure if it still works like that or if it tends to be disabled. (I was on one of the teams doing the audit, I found the "Skeleton Key" defect)

      https://www.eecis.udel.edu/~mills/ntp/html/rate.html#kiss

      If you wanted to help the server deal with DoS even better, I would guess the best solution is to put a rate limiting firewall in front of it.

    • _deliriumJan 2015

      A good portion of the size difference (though certainly not all) is that ntp.org's ntpd has a lot of drivers to interface with physical devices [1], while OpenNTPD doesn't. If you don't own the physical devices, the LoC in the drivers are kind of a wash: they're not useful to you, but you also won't be running them. A stripped-down NTP-client-only build option would be nicer, though. PHK's suite of ntpd replacement tools seems to be going in that direction, offering a client-only tool for edge servers that just need to sync time over the network.

      [1] http://www.eecis.udel.edu/~mills/ntp/html/refclock.html

    • m463Dec 2020

      An "fun" use of ip addresses is in NTP.

      in the ntp config file, you will have stuff like this:

      server 127.127.1.0 # local clock

      or:

      server 127.127.20.0 minpoll 4 iburst prefer # gps clock

      where the "ip address" is of the form: 127.127.<clocktype>.<instance>

      here's a page explaining the clock types:

      https://www.eecis.udel.edu/~mills/ntp/html/refclock.html

      but basically it's a weird anachronism. I'm not sure if NTP will actually bind to those addresses using the tcp/ip stack, or if it someone just got lazy and coopted the ip address parser for off-label use.

    • timfJun 2010

      Well, quoting from: http://www.eecis.udel.edu/~mills/ntp.html

      "Used in the Internet of today with computers ranging from personal workstations to supercomputers, NTP provides accuracies generally in the range of a millisecond in LANs and up to a few tens of milliseconds in the global Internet"

      But this is news to me, interesting:

      "When kernel support for precision timing signals, such as a pulse-per-second (PPS) signal, is available the accuracy can be improved ultimately to the order of one nanosecond in time and one nanosecond per second in frequency."

    • glkindlmannDec 2025

      Of the various internet .+P, NTP is one I never learned about as a student, so now I'm looking at its web page [1] by its creator David L. Mills (1938-2024). I've found one video of him giving a retrospective of his extensive internet work; he talks about NTP at 34:51 [2] and later at 56:26 [3].

      [1] https://www.eecis.udel.edu/~mills/ntp.html

      [2] https://youtu.be/08jBmCvxkv4?si=WXJCV_v0qlZQK3m4&t=2092

      [3] https://youtu.be/08jBmCvxkv4?si=K80ThtYZWcOAxUga&t=3386

    Related

    The Morning Paperblog.acolyer.org606 people

    Local-first software: you own your data, in spite of the cloud

    The Morning Paper
    Personal · last shared 2026
    Gaffer On Gamesgafferongames.com159 people

    UDP vs TCP

    Gaffer On Games
    Personal · last shared 2026
    Stuart Cheshirestuartcheshire.org27 people

    TCP Performance problems related to Nagle’s Algorithm and Delayed ACK (2005)

    Stuart Cheshire
    Personal · last shared 2025
    Nicholas Piëlnichol.as28 people

    Benchmark of Python Web Servers

    Nicholas Piël
    Personal · last shared 2014
    Austin's Nerdy Thingsaustinsnerdythings.com19 people

    Most Stable Raspberry Pi? Better NTP with Thermal Management

    Austin's Nerdy Things
    Personal · last shared 2026
    Ben Cox (benjojo)blog.benjojo.co.uk121 people

    Writing userspace USB drivers for abandoned devices

    Ben Cox (benjojo)
    Personal · last shared 2026
    Colin Scottcolin-scott.github.io28 people

    How “latency numbers everybody should know” decreased from 1990–2020

    Colin Scott
    Personal · last shared 2026
    Justine Tunneyjustine.lol251 people

    Show HN: Redbean – Single-file distributable web server

    Justine Tunney
    Personal · last shared 2026