3 ms·
While this Windows feature does sound quite bonkers as described, it is also baffling to me that the timekeeping on computers is such a mess; would it really be
by zokier 3y ago
While this Windows feature does sound quite bonkers as described, it is also baffling to me that the timekeeping on computers is such a mess; would it really be that difficult to have my multithousand dollar computer keep time at least as well as a dollar-store quartz watch? Have time already set in factory, and be correct to within few hours at least; enough to do networking and more accurate time syncing safely.
- HPsquared 3y agoComputers have a lot more temperature variations than a typical quartz watch. In the absence of temperature correction, they'll be less accurate.
- RetroTechie 3y agoEnter the temperature compensated crystal oscillator (TXCO). A few $ at most should get you one. This shouldn't be overkill for a server dedicated to timekeeping on a large company network, right? In a datacenter one could even go for a matchbox sized atomic clock. Last I checked (years ago) such a miracle device could be had for ~$1500. Then: how often does atomic clock (or even TXCO) fail, in practice? My guess: only about as often as even the backup power fails. Note that either should provide accurate timekeeping without even going outside a physical location. That is: without using 'random' NTP server on the internet, GPS or whatever.
- deleted 3y ago[deleted]
- SAI_Peregrinus 3y agoI've got a GPS-disciplined Oven Controlled Crystal Oscillator (OCXO) hooked up to a raspberry Pi running Chrony on my home network. It provides a pretty good time source (and more importantly for me a pretty good 10MHz reference). There are rack-mount 1U NTP servers built for the purpose for about what you estimate. Most atomic clocks will have 20+ year lifetimes. OCXOs age out a good bit faster, but they're rather cheap (<$200 for ones good enough to provide holdover for a GPS module). TCXOs don't age as quickly (they're not literally in an oven), I'm not sure how long they can be expected to last.
- kmeisthax 3y agoThe problem of computer timekeeping lives on the margins. Your computer is probably more accurate than the quartz watch, but there's all sorts of ways that timekeeping can fail even on a system that's accurately counting time when on. Many of these have to do with early boot or unattended scenarios where trustworthy sources of time data are scarce or difficult to reach. e.g. maybe the motherboard clock chip is five months off because of a firmware bug or something, and this is a server so there's no user to notice the incorrect time and not having it set itself would cause catastrophic application failures somewhere else. Computer timekeeping is a comedy of errors.
- deleted 3y ago[deleted]
- taylodl 3y agoYour dollar-store quartz watch isn't on a worldwide network communicating with other watches where there needs to be an agreement on what time it is. The watch also expects you to notice when the time drifts and for you to correct it. That includes DST adjustments, leap second adjustments, and physically moving to different timezones. Even when using an NTP server to set your time, network latencies have to be taken into account. Otherwise, if the request took 300ms round-trip and that weren't accounted for then your machine is already 300ms off from "official" time. Depending upon what you're doing, being that far off can be critical. These are things your dollar-store quartz watch simply doesn't need to concern itself with.
- pixl97 3y agoI mean for SSL purposes, no that's not really needed that much. Micro seconds don't matter as certs typically expire on a monthly to yearly basis. And those that expire closer to monthly are typically updated on a regular basis. If you have a critical need for leap second time you're typically using your own means of NTP and not Microsofts broken ass bullshit.
- taylodl 3y ago> If you have a critical need for leap second time you're typically using your own means of NTP and not Microsofts broken ass bullshit. I love that statement! It reflects my 40 years experience in software - if you're doing something serious then don't use Microsoft's broken ass bullshit. I smile and remember Microsoft's origins as a gaming company. To this day that's what they're best for!
- 8organicbits 3y ago> That includes DST adjustments, leap second adjustments, and physically moving to different timezones. Does it? My system/bios time is in UTC. The timezone is not managed for me, when I travel I change it. DST and leap seconds are deltas you add to UNIX epoch. Tracking the number of ticks since epoch is a simpler task, much closer to what a quartz watch attempts to do on its own. Both fail when the battery does, of course. If your end user facing application can't handle 300ms drift that seems like a bug in the application. Even stuff like TOTP generators let you apply a time delta correction and servers usually allow >1 minute drift.
- justapassenger 3y agoTwo most underrated problems in software development are tracking (and timezones) and calendars. They both seem really simple on the surface, while in practice they’re a gigantic mess that takes enormous amount of work to get right.
- jstanley 3y agoComputers do do this. The problem is that some computers are quite old and the battery that keeps the real-time clock running has gone flat. That means if the computer is powered off it forgets what time it is. If your quartz watch battery goes flat you replace it straight away because a watch with a flat battery is 100% useless. But if the battery on your motherboard goes flat you don't even notice, so why would you replace it? To a layperson, "my computer's time is always wrong" is not likely to be caused by a random flat battery that they didn't know existed. Microsoft came up with this "Secure Time" system so that even computers with flat batteries would be able to work out what time it is, but obviously it is kind of weird and sometimes makes wrong decisions.
- orbital-decay 3y agoTimepieces last a decade on a shirt button sized battery. Surely you can afford a bit larger battery on a motherboard, probably even a rechargeable one, make the clock sufficiently autonomous from the rest of the system, and make the motherboard not boot when it doesn't have the battery, so you can leave it unattended for a while.
- einr 3y agoThe CR2032 on a PC motherboard does usually last for about a decade, and the BIOS (or, well, UEFI) will scream about the CMOS battery being dead when you boot it. It will not refuse to boot, but it will tell you that the battery is dead and/or that its settings are corrupt and alert you to change it.
- tpolzer 3y agoA decade is roughly the upper limit of specified battery shelf life for cheap batteries. Making the battery bigger doesn't really help much at that point where it's limited by shelf life, not capacity. There are longer life batteries, but they're _expensive_, e.g. a Tadiran TL-4934, 1Ah, with a shelf life of 40 years will cost ~5$ in bulk.
- pixl97 3y agoFixing computers with a broken batteries sounds just about as smart as "Microsoft came up with an internet boot image that allows your computers to boot windows even if the hard drive is dead without users realizing this is the case" Honestly, when the battery dies, it's time to take it to the shop.