20141219 – And the answer is...

One of my pet peeves about modern unix is how incomprehensible it is to the uninitiated.

I appreciate a UNIX joke as well as the next guy, but if somebody ran ps(1) on my system right now, they’d find processes like:

casperd: zygote (casperd)
dbus-daemon --system
hald-runner
unbound -c/var/unbound/unbound.conf

None of these names give any clue to what the heck they’re good for or if they are even legit in the first place and it may be some time before you know enough to catch the joke built into “unbound” or “caspard” and like me, you may never be able to fathom the logic of “dbus” and “hald”, much less their raison-d’etre.

Anyway, I want my new daemon to tell up front what it does and so the hunt for a good name commenced.

I quickly settled on a fall-back name. If all else failed this family of programs would become known as “UTCd”. Far from an ideal name but at least there were a chance that people might figure out that it has something to do with wall-clock time.

My preference would be “timed” which has been occupied by a truly bad way of keeping clusters in sync for almost 30 years. In theory I could squat on that name, but people would undoubtedly ask me to implement the old horrible protocol.

After consultation with a few friends, I settled on “ntimed”.

The ‘n’ means Neat, Nice, New, Network, Not or something of that sort, but it’s not important which it is because the name works for all of them.

I’m going to give the code a final polish this weekend, and then I will release it for people crazy enough to give it a spin later this weekend.

But do not expect it to be production quality yet, and you should certainly not knee-jerk on this weekends NTPD security advisories and change all your systems to run my code right away.

And in order to meet a minimum requirement of data-porn, here is a picture of a testrun:

../_images/20141219_fig1.png

What we see here is that time is well inside a few milliseconds in a matter of seconds and generally stay there.

At 30000 seconds I kick the local clock 10PPM, which would correspond to a 10°C temperature change for a cheap quartz crystal, and the resulting phase excursion is about 20 milliseconds.

PS: If you run a NTP server in pl.pool.ntp.org you may need to spend some quality time with your server’s PLL. I won’t reveal the IP number but if you send me an email I’ll answer yes or no.

phk