Robert L. Frazier ( )


Welcome to the area for all things having to do with computing.

GPS disciplined NTP server

I like having a computer which does reasonably accurate timekeeping. For example, I use it to calibrate another computer which is used to analyse watch escapements. So, I have a Raspberry PI set up as a NTP (Network Time Protocol) server for use on my LAN (Local Area Network). The server’s name is “Chronos”. Chronos has a Trimble GPS (Global Positioning System) timing receiver connected to it. The timing receiver is synchronised with GPS satellites, which have atomic clocks on board. The timing receiver then generates a pulse every second (PPS), which Chronos uses to adjust its clock. The timing receiver, with all adjustments made, is supposed to be accurate to about 15 nanoseconds. Chronos is sensitive to electrical noise, and, especially, temperature. Consequently, it only keeps time on the order of +/- 1.5 microseconds, with the occasional larger spike.

11Aug2020 – I’ve been trying to ameliorate the spikes due to temperature changes. The strategy I’ve adopted is to try to slow down temperature changes, rather than trying to keep the Raspberry PI at a specific temperature, which is simply too hard and complicated. In following this strategy, I’ve done the following. The Raspberry PI and the Trimple timing receiver have been enclosed in a loose fitting plastic container for insulation. The temperature probe of a temperature controller is also within the plastic container. When the ambient temperature within the container goes below the target temperature, currently 33C, the temperature controller powers a small ceramic thermistor until the target temperature is reached. This does not prevent the ambient temperature (within the plastic container) going below or above the target temperature, but it does so more smoothly.

03Feb2021 – I’ve switched out the Trimble GPS timing receiver in favour of one made for the Raspberry PI (Raspberry Pi GPS/RTC Expansion Board). The Trimble board was getting old, and was starting to exhibit some problems. In particular, I could no longer change any of its parameters. I think that something happened to the onboard serial port.

One of the advantages of the new board is that I can use Lady Heather’s Disciplined Oscillator Control Program

Here’s a graph of Chronos’ performance yesterday.

Here’s a graph of Chronos’ performance this year.


For mobile devices I use an opensource version of Android: Lineage OS. I build this version of Android locally from source. This allows me to sign it with my own security keys. Using this opensource version of Android also means that all of my devices use the a version of Android with recent security patches. For example, I use a LG G5 phone from 2016. It is one of the last “flagship” phones with a user replaceable battery, and it has a 3.5mm audio jack. In general, it is better to extend the life of devices, if possible.

Not all the apps I want to use are part of Lineage OS. I also get some from F-droid, a repository of opensource apps for Android. And a few from the Google store. In general, my prerence is for opensource apps.

Information about this site.

From 1995 until November 2014, I hosted this site on a server in my office ( Because of changes to the college’s network, resulting in the demise of my segment section of the network, this is no longer possible. Consequently, I’ve moved it to a commercial hosting service ( ), and the address/URL has changed to

I create the site locally and just copy it to the hosting server. I test it by running a local only website using apache.

Software used for creating the site.

The Debian distribution of Linux is my operating system of choice. I’ve been using Linux since 1993 and Debian since 1994. I have tried other Linux distributions, and, even used FreeBSD for some time, but always come back to Debian. Probably just a matter of habit.

Vim is the editor that I use.

For relatively simple documents and pages, like this page, I just mark them up in HTML. For more complicated documents, such as reading lists containing lots of references, I first mark them up in LaTeX, and convert them from that (one source, many formats).

For processing LaTeX documents, I use texlive. Texlive includings utilities to generate PDF and HTML files from LaTeX source files. To convert HTML documents to EPUB documents, I use ebook-convert, which is part of the Calibre suite of ebook management tools.

All of the conversions are automated, of course.

The gimp is used for most graphics manipulation.

Website generation.

For quite some time I used various Content Management Sysytems (CMS), but these were overly complicated and resource intensive. Over time, I’ve become much less interested in what is new and cool, rather than what is best for the job in hand. So, I’ve greatly simplified things by using webgen by Thomas Leitner, which generates static webpages using templates.

The display system for photographs is lightbox by Lokesh Dhakar

Most of the site is HTML5, but not all. I make heavy use of CSS for display related things, especially in my attempt to make the website fully usable on displays of various sizes, such as you find in desktops, laptops, tablets and smartphones. This is called “Responsive Web Design”.


In general, I prefer to use desktop computers rather than laptops. In part this is because I have all sorts of addons and that desktop computers are easier to alter or upgrade. For example, my main computer has 32GB RAM, a 1TB SSD storage drive, a 256GB SSD for the system, and a 80GB SSD for running MS Windows 10 in a virtual container. It drives two monitors (main and one for watchmaking). It also has three cameras attached (webcam, document camera and a digital microscope for watchmaking). It has two sound subsystems (main USB audio interface and the system audio for a specialized watchmaking microphone). It would be a very expensive laptop which would allow for all of this.

I have a (too large) number of computers: college office, garden office, home study, Kodi entertainment center (with TV receiver), an Odroid HC1 (backup), an Odroid HC4 (backup, music server, file server, etc.) and some Raspberry PIs. I used to use an Intel based system as my main computer, but, in early spring 2021, before computer parts became so hard to find, I moved to AMD (Ryzen 5 3400G). I think that AMD systems are a much better value propositions these days. I put my old main computer in my garden office. I generally repurpose equipment, until it is relatively ancient. For example, the SSD I use for running Windows 10 in a virtual environment is from 2011, the first SSD I ever got.

My newest addition is a laptop. It is a second hand Panasonic Toughbook CF-MX4. It replaces my Samsung Tab S tablet from 2012, which was getting long in the tooth. The CF-MX4 is a 2-in-1, so it can be used as a tablet as well as a regular laptop. The touchscreen works pretty well with linux. It has decent battery life, and, additionally, it allows for “hot swapping” batteries. It was only £120.