* Posts by TerjeMathisen

2 publicly visible posts • joined 15 Jun 2021

Beware the techie who takes things literally

TerjeMathisen

BT, DT, more or less

During this exact time period I was also writing Turbo Pascal code that communicated over serial ports, but since I had also written all the asm driver code needed for this to work, I didn't need any third-party licensing.

However, at the same time I had also written several smaller utility programs for sale, one of them was a replacement for IBM/MS's KEYB program which remapped the keyboard and ega/vga screen fonts so that it worked with a Norwegian keyboard layout and our 3 extra vowels.

The key difference was that my program needed 712 bytes total runtime memory when loaded as a TSR, while KEYB needed 60 kB, making it impossible to load large spreadsheets developed in the US.

Salespeople from a major PC vendor (who merged with another major vendor, their names started with H and C) ripped off my program and gave it to customers who got into out of memory issues, when we caught them red-handed they refused to pay up for a license but promised to never do it again.

Half a year later it turned out they were still stealing it, but now they told the customers to keep mum.

Excuse me, what just happened? Resilience is tough when your failure is due to a 'sequence of events that was almost impossible to foresee'

TerjeMathisen

NTP to the rescue!

This happens to be my particular area - I have been a member of the NTP Hackers team for 25+ years now, and we have designed this protocol to survive a large number of "Byzantine Generals", i.e. servers that will serve up the wrong time ("falsetickers").

The idea is that you need 4 independent servers to handle one willfull (or accidental) falseticker, you need 7 to handle two such at the same time.

If you use the official NTPD distribution (all unix systems + windows), then you can configure all this with a single line

server pool.ntp.org

in your ntp.conf file, and your server will get 10 randomly selected servers from areas that are reasonably close to you. Every hour the ntpd deamon will resort the list of these 10 servers, discard the pair that has performed the worst compared to the median consensus, and ask the pool DNS service for more servers to replace them with.

BTW, servers that suddenly start to give out 20 year old timestamps happen every 1024 weeks, which is how often the GPS 10-bit week counter rolls over. Every time this happens, we find a few more old GPS units that fail to handle it properly. :-(

Terje Mathisen

"Almost all programming can be viewed as an exercise in caching"