[ntp:questions] NTP Support (Was 'What does "Max Distance Exceeded"...')

David Mills mills at udel.edu
Tue Mar 17 03:33:48 UTC 2009


I'm not going to jump into this discussion other than to point out I 
spent several months writing and updating the online NTP documentation. 
All bitmapped fields are carefully decoded in the ntpq billboards and 
documentation, the system log messsages page and status messages and 
status words page and the system log messagges page. I read in the mail 
that folks are so lazy as to google for the document page, even when 
there is a carefully constructed index of commands and options available 
in the documentation.  There probably are a few messages I have imissed. 
I track these down one at a time.

As for the code itself, I hope no sysadmin would need to read it, 
although you will note at least the modules I wrtie are carefully 
indented with copious comments.


Richard B. Gilbert wrote:

>David Woolley wrote:
>>Joseph Gwinn wrote:
>>>We have moved from the meaning of status code 9514 to the more general 
>>But you should have kept the thread, even if the subject changed.
>>>issue of how NTP shall be supported, so I've collected the relevant 
>>>threads below.
>>>More generally, it's hopeless to expect the world's sysadmins to read 
>>>NTP code (or any other kind of code).  They just don't have the time, 
>>Generally, you only need to read a small bit of code to answer this sort 
>>of question, but if you haven't got the time you should pay someone who 
>>does have the time.
>The ntpd distribution is about 70,000 lines of code!  Expecting people 
>to be able to find their way around is not realistic!  Before the user 
>can read that "small bit of code", he has to FIND it.  He has to find it 
>in 70,000 lines of code.  Since the number "9514" may never appear 
>anywhere in the code since it's a "bit mapped" value, what is the reader 
>supposed to look for?
>Writing the documentation is part of producing the package.  Programmers 
>hate to write documentation but who else is going to do it?  Who else can?
>I once spent several days trying to understand the driver for the 
>Motorola Oncore M12+T reference clock.  I had to give up.  I had no idea 
>what the variables represented!  I had 200 or so pages of Motorola's 
>documentation for the hardware but that was not enough to help.
>The programmers think it's obvious.  It's not!  I can see that the code 
>swaps the positions of the two bytes in a sixteen bit word.  If you 
>don't include a comment explaining *why* you are swapping the bytes it 
>makes the code extremely difficult to understand.  It may be obvious to 
>you that two bytes are being swapped to put them in "network order" but 
>it certainly is not obvious to the reader.
>If your code is difficult to read and understand, it is naturally going 
>to be difficult to find people willing and able to help maintain it and 
>to bring them up to speed!
>A computer program is not just a series of instructions to be executed 
>by the machine, it is also a document that must be understood by human 
>questions mailing list
>questions at lists.ntp.org

More information about the questions mailing list