Updated to use NTP Pool Servers by default as the US Naval Observatory are requesting access to their clocks be restricted to .MIL and .GOV domains, or other Stratum 2 Time Servers.
2002/08/10:
Added a minor correction to how SetTime remembers and restores a previously maximized screen on startup.
2000/12/09:
Adjusted the SNTP protocol handler to use 232.83064365386962890625 picoseconds per fractional second, rather than the ballpark of 'about 200 picoseconds' as indicated in RFC2030. This has resulted in a noticeable improvement in accuracy.
1998/09/05:
Included in the SpaceTime.zip file is a copy of SpaceTime (Mark II), a prototype of my new version featuring a completely redesigned rendering engine. Smaller, faster and with vastly improved image quality, this version allows most all 3D Studio Max artwork to be decoded and rendered to the screen with OpenGL. Stay tuned for more enhancements as I continue to learn the finer points of OpenGL programming. Remember, complete source code to both SetTime and SpaceTime is available to anyone who buys me a beer!
1998/03/25:
Added colour control to SetTime, to handle the case where a strange desktop colour theme renders my digit display invisible.
1998/01/20:
Announcing the source code availability of SpaceTime, the OpenGL 3D Graphics version of SetTime, to all those who buy me a beer.
1997/08/04:
Added the SetTime Help Page as an option off the Help Menu to answer some usability questions, etc.
1997/05/20:
Added support which demonstrates Taskbar Notification Tray handling, such that SetTime will now allow you to minimize down to the Taskbar Tray with Right Mouse Options to either correct the system clock, or exit.
Overhauled the SNTP protocol handling to now account for Local Clock Offset, per RFC2030. This should result in greater accuracy.
1997/03/05:
While becoming increasingly impatient waiting for Java to grow up as a production language (but don't get me started), I've added a couple refinements to that old stalwart, SetTime, in response to some of the E-mail requests received of late. As such, I've added:
Basic Multi-Threaded support to graphically monitor the time taken by timebases to respond to a query. This has been a job and a half. Sure makes me pine wistfully for the good old days of RSX and VMS system programming where Asynchronous System Traps, global event flags, and other obvious constructs were implemented so elegantly. Especially odd is that NT was architected by the same high priest of operating systems design: the infamous Dave Cutler who implemented RSX-11M in 1972 and VMS in 1978.
Basic Progress Control Bar (on a Status Bar pane) to display the above mentioned timebase response delay. As an aside, this means that SetTime will continue polling a timebase every few seconds until successful, or until the user explicitly issues the 'Reset' menu option. This may further help those who put SetTime in their Start-up group to automatically set the PC clock on system boot. Remember to put some text on the target command line (ie: /RunOnce_and_Split) to enable this Set and Exit feature.
1996/10/01:
Added a 'Reset' option to the command menus to allow you to abandon hope that a Timebase will eventually respond. This is necessary as both Time/UDP and SNTP protocols use Unreliable Datagram Protocol (UDP) packets which can, and will, get dropped by Internet routers along the path to a distant Timebase.
1996/05/30:
Added a key in the System Registry to remember the last Timebase selected. The key is: HKEY_CURRENT_USER\ Software\P-Squared\SetTime\Options\TimeBase and defaults to tick.usno.navy.mil the first time SetTime is run.
Added an Alternate Timebase Selection dialog box for those users for whom the US Naval Observatory in Washington, DC is not the nearest timebase.
Added Basic Command Line Handling. Now, anything on the command line (ie: /RunOnce) will cause SetTime to attempt to reset the system clock from the last selected Timebase. Useful if you are always connected to the Internet and have put SetTime in your STARTUP folder.
Added a couple of GDI Graphics Objects to demonstrate basic functionality.
Added a Message Box when SetTime discovers the PC is more than 30 minutes off from the Timebase clock. This helps catch bogus TZ variables. Safety tip: if a Timebase consistently reports the wrong time, it's a sign your TZ variable is set wrong. If you don't need a TZ variable in your AUTOEXEC.BAT (or Environment Variables under NT), then remove it, and let Windows (NT or 95) handle Timezones and, especially, Daylight Savings Time settings.