5 ms·
To be fair, this is pretty hard. Imagine you had to do to sit down and write this without being able to test it.
by sebzim4500 3y ago
To be fair, this is pretty hard. Imagine you had to do to sit down and write this without being able to test it.
- msoad 3y agoStyling I understand but to tick the clock when time actually has changed you need to use animation frames APIs and check for clock change more often than "every 1000 ms" because setTimeout will eventually drift even if you start exactly on first second time change. This is a test for depth of knowledge of a programmer I used to use in the past in interviews.
- SeanAnderson 3y agoThis is platform-specific, right? Chromium corrects for drift (https://source.chromium.org/chromium/chromium/src/+/main:third_party/WebKit/Source/platform/Timer.cpp;drc=e6d900fb6ed08dbd3a048899f38962ee75f4d8d0;l=162 https://source.chromium.org/chromium/chromium/src/+/main:thi...)
- msoad 3y agoI wish that was true but you can easily see it drifting in Chrome let lastms function tick() { if (lastms === undefined) lastms = new Date().getMilliseconds() else if (lastms !== new Date().getMilliseconds()) throw new Error('Drifted') } setInterval(tick, 1000)
- deleted 3y ago[deleted]
- realharo 3y agoIt's only drift if the error grows over time. You need to look at the sum of the offsets.
- deleted 3y ago[deleted]
- imtringued 2y agoI always considered subjecting humans to CSS to be a form of torture. Actually, it's worse than you said. Imagine if you had to do this, without knowing what a clock looks like. Here is the fix for the "GPT-2" version: .hand { top: 48.5%; } .hour-hand { left: 20%; } .minute-hand { left: 10%; } .second-hand { left: 5%; }