gravis again (@cathoderaydude) [archived]

stream announcem ent

@VinDuv [archived]

After watching this video, I really wanted to get Atomic Clock to sync

So I wrote a Python script to simulate a modem successfully connecting to a time server that sends ACTS1 time data.

And it works! (not sure why the video doesn’t embed)

http://drop.duvert.net/atomicclock/atomicclock.mp4

I quite like the DATE/TIME SYNCHRONIZED text when synchronization completes. Pretty satisfying.

Also it’s not too surprising for a program released in 1995, but Atomic Clock handles Y2K correctly. The ACTS protocol sends the date with a two-digit year, but also sends the number of days since November 17, 1858 (MJD, “Modified Julian Date”). Atomic Clock uses the MJD only; I was able to synchronize the clock to 02/03/1980 and to 02/03/2080 without issues. (I had to pick dates between 1980 and 2099 since Windows 98 apparently does not allow setting dates outside this range).

Part of Atomic Clock’s main window, showing a date of 02-03-1980 and a time of  22:39:37

Part of Atomic Clock’s main window, showing a date of 02-03-2080 and a time of  22:39:31

In any case, I like the efforts they made to make a clock synchronization software look interesting. It has a lot of more or less useful options (including one to add the current time in the title bar of currently active window, which scares me)


  1. I figured out which protocol the program was using by searching the phone number of the NIST time service. I also found this paper with a full dump of the protocol, which was pretty useful.