One easy way to make a very accurate clock is with a WiFi-enabled microcontroller like an ESP32 and a display: set up NTP, and you’ll never be off by more than a minute. This water clock project by [Liebregts] is not like that — there are no electronics to speak of, and if the clock is ever in sync to within a single minute, well, we’d be surprised.
We’re impressed to see it working regardless. Sure, it’s not exactly high-tech; the floating siphon mechanism [Liebregts] is using to get a steady flow out of the main reservoir dates back to 250 BC. On the other hand, since this style of time keeper has been out of fashion since the fall of Rome, [Liebregts] couldn’t just grab something off GitHub or ask ChatGPT to design it for them. This is real human engineering. The reservoir is even scaled to the four-hour timing of [Liebregts] workday — it gets refilled at lunch along with its maker.

In a clever build detail, the floating siphon tube also holds a pointer to an hour indicator. For minutes, his mechanism seems unique, though it’s related to another ancient trick, the Pythagorean cup. Pythagoras’s devious cup had a hidden siphon that spilled its contents if you filled it beyond a set level, and so does the secondary reservoir of [Liebregts] water clock.
Since the secondary reservoir is linked to a counterweight with a pivot, it goes up and down over the course of approximately 5 minutes — but rather than linking that to another linear indicator, [Liebregts] is using that mechanism to advance a saw-toothed gear that is marked with 5-12 in analog-clock fashion for a touch of modernity. See it in action in the demo video below.
That last part might confuse a time traveler from Ancient Rome or Greece, but they’d instantly recognize this creation as a clock, which many modern observers might not. Still, once they learn to read it you can be sure that [Liebergts]’s friends will never be late to a gladiator fight again — and not just because Constantine banned them in 325 AD. Apparently nobody listened to that ban anyway.

I like the clock, though i would go in a different direction of course :)
But i just wanted to point out, ntp is not really that steady. It’s too focused on precision on not enough on accuracy, and as a result it isn’t actually good at either in general practice. If you run ‘ntpdate pool.ntp.org’ it will get the time to well within a second, which is fantastic and all that anyone really wants. But if you run ntpd 24/7 (or worse, just when your laptop is powered on), it will occasionally undergo a catastrophe where it desyncs. I don’t know the cause in 24/7 computers but i’ve seen it plenty of times there as well, but in a laptop it’s obvious it will drift a few seconds when it’s suspended. Then once it’s out of sync, ntpd will go to extraordinary efforts to satisfy a ton of constraints, not a single one of which is having accurate time. As a result, it takes hours or days for it to get back into sync, and it may never achieve sync if you keep suspending the laptop before it catches up. Of course, you can’t very well connect to your vpn until after your clock is synced so that’s a struggle.
On top of that, it has some uncomfortable defaults around demanding a consensus, “tos minclock 4 minsane 3”, and that means for example that if it can connect to 2 servers that each have perfect time, it will not synchronize your clock! So if you are running a stratum 3 server (like as a member of ntppool.org), you have to sync to a pile of hand-selected stratum 2 servers, and over time that list of servers will rot and eventually it gets to 3 servers and simply stops syncing, full stop. It doesn’t sync in a degraded fashion. And of course it doesn’t let you know that it’s doing this until your server is so far out of sync that you get an email from ntppool.org about it. Of course it doesn’t, because if ntp spit something into syslog every time it wasn’t working, it would be unbearable log spam.
I have long marvelled at how undesirable ntpd is, so i was pleased to see that people are switching to a new ntp daemon called chrony. I figured it was inevitable that someone would be as fed up as i am and would rewrite ntpd around the goal of keeping accurate time instead of precise time or steady time. Though i will admit, monotonic time is generally desirable at least — but even that is a trade off. But, no, chrony is exactly the same charley foxtrot as ntpd is. sigh
NTP is a great protocol together with the ntp ecosystem we now have. It works marvelous on always-on systems and is it’s mandatory on all our servers to maintain consistent millisecond accuracy which we require if only for logging. The ntpd’s are configured to use four independent stratum sources to attain and keep that accuracy even in failure scenario’s.
NTPd is not really optimized for laptops, so chrony was developed. They exist side by side and have their own usecases.