[ntp:questions] NTP Support (Was 'What does "Max Distance Exceeded"...')
Richard B. Gilbert
rgilbert88 at comcast.net
Mon Mar 16 23:12:55 UTC 2009
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
More information about the questions