If you’ve followed my Instagram recently (and lets face it, no you haven’t) you might have noticed these cryptic posts with imagery of a pile of electronics with some enormous 7-segment displays strewn on top (see exhibit A)
What I’ve been working on is a long term dream of mine, a clock that never needs you to set the time, thanks to the fact that it updates itself using the NTP system over the Internet. A big part of this stems from childhood trauma from DCF77 receiving clocks (only a German could think of broadcasting time with an offset from UTC with a signal strong enough to cover most of Europe) and a decade of my life in the IT industry, where incorrect time is altogether a too common root cause of issues (it should be indistinguishable from 0 in 2017 one would think).
I’ve currently worked out the hardware for the basic clock, and will be doing a more thorough post about this project as I manage to finalise it, but as there seems to be very little information on the topic on the Internet, I though someone else might be looking for just this thing at this very moment, and so that you don’t have to work out everything from different sources as I did, here’s a link to my GitHub project, where you can download the code actually works!
The GitHub will eventually host all the steps to getting this to work, but with a glancing understanding of electronics and Raspberry Pis you should be able to make it work (hey, after all, I managed to cobble it all together, didn’t I?).
I’ll be back in a few weeks as I finalise the enclosure as well as the power supply!
Virtualizing NTP servers has been quite a hot topic for some time, but regardless of what some people say, you can actually virtualize NTP servers, as long as you know what you’re doing. If you examine some public NTP servers more closely, you’ll actually find that a lot of them are running on AWS, which should attest to virtualizing being a possible route to go down.
There’s some things though that you might want to consider before going down this route, and some special configurations you need to do to make sure everything works as intended.
This is more for my own reference than anything else, but what follows here is a short tutorial on how to get NTP up and running on your Cisco iOS device.
First we need to get DNS working for the switch to be able to resolve the DNS name for the time server. If you run your own time server you can use the static IP for the NTP server and skip this step, but if you use one of the public NTP pools just resolving the domain name for the pool one time and hard coding that into your switch won’t do it. First of all, that NTP server might go down some time down the line, and then your time synchronization stops working. Secondly, and this is actually a far bigger problem, if you resolve the IP of a NTP pool, you’re actually only using one server in that pool constantly since the pools load balancing is constructed using DNS round robin. This skews the load on the (already heavily loaded) public NTP infrastructure, which isn’t very good. While we’re on the topic, if you are using public NTP servers, consider setting up your own internal NTP servers and have your clients sync to them, thus limiting the load you put on public NTP servers. If you, like me, run your own GPS NTP servers, then you can do as you like (but the DNS round robin trick is also useful to do internal load balancing and fail-over)
This is a short guide on how to set up NTP time synchronisation on HP Network devices. I’ll be covering SNTP settings in this guide, as well as some of the niftier things that aren’t in the manuals but still are really handy. NTP time synchronisation allows you to maintain correct time across your network, which is very important for troubleshooting when comparing logs between two switches for example.
Yesterday my Raspberry Pi arrived, and today I had some time over to set it up and have a first look.
First of all, I don’t see this becoming a desktop machine for anybody, it’s just too slow to be able to even render webpages fast, never mind streaming HD video, at least the Raspbian version, I haven’t tried the media PC oriented distributions yet, but since they almost certainly lack support for Netflix, HBO and the like, I’m not so confident that they will be much better.
Anyhow, where I think the Raspberry Pi will indeed be useful are areas like automation and tasks were you need to interface with the real world. A good example is an low cost stratum 1 NTP server. The Raspberry has more than enough processing power to handle thousands of NTP querys per second, and it’s very easy to interface it with a serial GPS receiver for example.
Another great application would be custom made protocol converters for industry applications, which mostly convert a serial line protocol to something that can be shifted over Ethernet.
I’ll look into the hardware aspects of the Raspberry during the following weeks and get back to you guys with an update. One thing I’d really like to build is a I/O board for it, so we’ll see about that. Or maybe a NTP time server coupled to a big clock of some sort (maybe even the relay clock I’ve been planning to build for years now).