Where does my computer get the time from?
dotat.at
dotat.at
"This prototype implementation generates full-entropy bit-strings and posts them in blocks of 512 bits every 60 seconds. Each such value is sequence-numbered, time-stamped and signed, and includes the hash of the previous value to chain the sequence of values together and prevent even the source to retroactively change an output package without being detected."
People here were joking about putting time on the blockchain, and, well, NIST is already doing it.
Mostly, it's so the public can verify events that were supposed to be random really were random. The executive summary gives plenty of examples, but think of a pro sports draft lottery. Fans always think those are rigged. They could simply use these outputs and a hashing function that maps a 512-bit block to some set with cardinality equal to the number of slots and pre-assign slots to participating teams based on their draft weight. Then fans could verify using this public API that the draw the league claims came up randomly really did come up randomly.
People always think polls are rigged. This could be used to publicly produce random population samples for polling.
This was also used to prove a Bell inequality experiment worked with no loopholes.
It's not a blockchain, but a single writer Merkle DAG. No consensus necessary. Much like a git repository with a single author.
Hmm. Just because something's a Merkle DAG doesn't make it useable on the Internet. A single-writer blockchain, perhaps?
Do you have another definition?
Colloquially, it often refers to a consensus algorithm paired with a chain of blocks.
Bitcoin’s innovation wasn’t a blockchain, it was a proof-of-work backed consensus algorithm that allowed a group of adversarial peers to agree on the state of a shared blockchain datastructure.
The distinction here might be with a decentralized network.
Which can change.
There also is centralized proof-of-work blockchains. Clouds were offering them awhile back and IBM had some offering.
What is colloquially even susposed to mean here? That the common usage doesn't match the definition? Maybe definitions change over time....
I don’t understand.
My understanding of the Merkle Tree is that it’s a recursive hash, but the leaf nodes are the data, each layer up the tree is the hash of the child nodes.
In a merkle tree, only the leaf nodes store (or reference) data, everything else is just a hash.
Is there another merkle structure I don’t know about?
https://en.wikipedia.org/wiki/Merkle_tree
If the nodes with hashes contain data, it’s not a merkle tree.
I mean, you’re not wrong but it’s still a linked list.
I’d be careful muddying up your mental models this way though - they’re distinct data structures for distinct purposes.
You would likely not want to use a merkle tree for an append only log, and likely would not want to use a blockchain for verifying file integrity.
For example, BitTorrent, IPFS, and Storj use merkle trees to verify and discover blocks on the DHT, you would not want to use a blockchain for this.
And Scuttlebutt uses a blockchain as an append only log that is gossip friendly, you would not want to use a merkle tree for this.
A Block-Chain is a chain of blocks where there is one valid previous block and one valid next block.
A Block-Tree is a chain of blocks where there is one single valid previous block, and multiple valid next blocks.
A Block-DAG is a chain of blocks where there are multiple valid next blocks and multiple valid previous blocks, with the constraint that you can not form cycles.
They are analogues to linked-lists, trees, and directed-acyclic-graphs but with chained hashes.
From the Merkle-DAG article on the IPFS page:
> Merkle DAGs are similar to Merkle trees, but there are no balance requirements, and every node can carry a payload. In DAGs, several branches can re-converge or, in other words, a node can have several parents.
What's interesting here is that a Merkle Tree is a valid Merkle DAG, since a node can _optionally_ include a data payload. So a blockchain, a blocktree, and a blockdag are all also Merkle-DAGs. Merkle-DAG is a kind of unifying structure that can be used to model all of them.
It's really quite clever.
https://docs.ipfs.tech/concepts/merkle-dag/
This appears to have been coined in 2014: https://github.com/jbenet/random-ideas/issues/20
However the term blockchain dates back to at least 2008.
A blockchain might be a Merkle-DAG but a Merkle-DAG is not a blockchain.
[1] https://www.vice.com/en/article/j5nzx4/what-was-the-first-bl...
What if the hash is published in multiple newspapers.
Or simply a 'hash chain':
> A hash chain is similar to a blockchain, as they both utilize a cryptographic hash function for creating a link between two nodes. However, a blockchain (as used by Bitcoin and related systems) is generally intended to support distributed agreement around a public ledger (data), and incorporates a set of rules for encapsulation of data and associated data permissions.
* https://en.wikipedia.org/wiki/Hash_chain
Or perhaps:
> Linked timestamping creates time-stamp tokens which are dependent on each other, entangled in some authenticated data structure. Later modification of the issued time-stamps would invalidate this structure. The temporal order of issued time-stamps is also protected by this data structure, making backdating of the issued time-stamps impossible, even by the issuing server itself.
* https://en.wikipedia.org/wiki/Linked_timestamping
An(other) example of the latter:
This document describes a mechanism, called syslog-sign in this
document, that adds origin authentication, message integrity, replay
resistance, message sequencing, and detection of missing messages to
syslog. Essentially, this is accomplished by sending a special
syslog message. The content of this syslog message is called a
Signature Block. Each Signature Block contains, in effect, a
detached signature on some number of previously sent messages. It is
cryptographically signed and contains the hashes of previously sent
syslog messages. The originator of syslog-sign messages is simply
referred to as a "signer". The signer can be the same originator as
the originator whose messages it signs, or it can be a separate
originator.
* https://datatracker.ietf.org/doc/html/rfc5848* https://csrc.nist.gov/publications/detail/nistir/8202/final
Figure 6 is a good flowchart on helping a person decide whether it's a good solution for particular use cases. See "Distributed ledger need: blockchain, block matrix, or none?" at the bottom of:
* https://csrc.nist.gov/Projects/enhanced-distributed-ledger-t...
That's a flawed understanding all the way around.
But shouldn't we want decentralized consensus for this?
What if NIST's key(s) were to get compromised, or the org were to disband or become corrupt/dysfunctional?
It would be very useful to have a trusted source of time, with a few keys that are meant to never change, that anyone can rebroadcast.
We could have zero configuration clocks that get the time from the nearest phone or computer without any manual setup!
My main desktop is 1.7 seconds ahead at the moment. Probably haven't updated the clock in a few weeks: which isn't that much. Other systems shall drift much more.
As to "why" it's not setting the time using NTP automatically: maybe I like to see how quickly it drifts, maybe I want as little services running as possible, maybe I've got an ethernet switch right in front of me which better not blink too much, maybe I like to be reminded of what "breaks" once the clocks drifts too much, maybe I want to actually reflect at the marvel of atomic drift when I "manually" update it, etc. Basically the "why" is answered by: "because I want it that way".
Anyway: many computer's internal clock/crystal/whatever-thinggamagic are not precise at all.
> Typical crystal RTC accuracy specifications are from ±100 to ±20 parts per million (8.6 to 1.7 seconds per day), but temperature-compensated RTC ICs are available accurate to less than 5 parts per million.[12][13] In practical terms, this is good enough to perform celestial navigation, the classic task of a chronometer. In 2011, chip-scale atomic clocks became available. Although vastly more expensive and power-hungry (120 mW vs. <1 μW), they keep time within 50 parts per trillion.
After a week, 20 ppm would drift 12 * 10^-6 * 7 * 24 * 60 *60 = 12 seconds.
Your motherboard probably has a cr2032 keeping it powered when unplugged.
Crystals: https://www.digikey.com/en/products/filter/crystals/171?s=N4...
In an alternate universe it would've been put in there, together with all the weird -12V / -5V rails nobody uses these days. Getting it these days would indeed be pretty much impossible.
More at https://wwwhome.ewi.utwente.nl/~ptdeboer/misc/mains.html
Really good watches allow you to adjust their rate, so if it runs slightly fast or slow at your wrist temperature, you can correct it.
One of the key insights of John Harrison, who won the Longitude prize, was that it doesn’t matter so much if a clock runs slightly fast or slightly slow, so long as it ticks at a very steady rate. Then you can characterise its frequency offset, and use that as a correction factor to get the correct GMT after weeks at sea.
Or are you saying that what makes quartz crystals drift is the change in temperature?
Still, wouldn't the temperature of a watch while being worn vary as least as much as when sitting in a drawer (unless you live in a region blessed with t-shirt weather year around)?
One of my favorite wristwatches I used to wear as a teenager had a thermometer, but I don't remember how exactly that varied over the year, just that it always showed neither quite my body temperature, nor quite the ambient one :)
Thus, the tempco is near zero, so human-to-human differences don’t matter much.
One thing to notice is that quartz watches almost always have a metal backplate touching your wrist so that the crystal can have good thermal contact. Presumably, the thermometer in your watch was decoupled from that plate.
Where are you getting that 12 from?
The end result is 12 seconds.
So I assumed that, like how speedometers purposely read a little high, the crystals must purposely read a little slow so that computers don't slip into the future.
Reminds me of the same idea but applied in the opposite way in some train station clocks: Their second hands take slightly less than a minute to complete one rotation, after which they stop and wait for a signal sent from a central clock to be released simultaneously.
Making a clock run slightly slow or fast is much easier than making it run just about correctly :)
I liked it.
"Here's a picture of an NTP packet"
picture of a man sitting at a desk
The sense of entitlement to accuse someone of lacking empathy because they didn't present it in your preferred format is literally crazy to me.
Ironically enough, aren't you doing the same thing now, berating me for giving free information the wrong way? How about just learning from the advice and moving on?
1. Mention that they gave a talk
2. Post a video recording online
3. Post the slides online, as-is (PDF or whatever) with no explanation
4. Lay out the slides on a HTML page, with accompanying text (what would have been said by the speaker), so that it's easier to read — while still being clear you're “reading” a talk.
5. Redo/rewrite the whole thing into text form, paragraphs and all.
The author here has done 1 to 4, and you're complaining they've not also done 5, but that's a lot of work and I don't begrudge someone not doing that. I'll be grateful someone presented their talk in a readable form in the first place.
[I do agree this page was hard to read, at least on mobile and at least in its initial version—it's much better now—but I've seen many others post these "annotated talks" online and the format itself is not necessarily bad: for instance see https://idlewords.com/talks/ (example: https://idlewords.com/talks/superintelligence.htm) or https://noidea.dog/talks (example: https://noidea.dog/impostor) or https://simonwillison.net/tags/annotatedtalks/ (example: https://simonwillison.net/2022/Nov/26/productivity/) — maybe just some minor tweaks to CSS like putting the text to the right of the images would make it easier to read.]
A rubidium clock is pretty cheap these days anyway.
Now, I'm on Bert Huberts gps drift and availability thing with a raspberry pi measuring visibility and availability out my home office window. Much more fun.
And when someone (usually an individual) finally discovers that it has happened, or in some cases makes it so.
>the ephemeris second is based on an astronomical ephemeris, which is a mathematical model of the solar system
>the standard ephemeris was produced by Simon Newcomb in the late 1800s >he collected a vast amount of historical astronomical data to create his mathematical model >it remained the standard until the mid 1980s
>in 1952 the international astronomical union changed the definition of time so that instead of being based on the rotation of the earth about its axis, it was based on the orbit of the earth around the sun >in the 1930s they had discovered that the earth’s rotation is not perfectly even: it slows down and speeds up slightly >clocks were now more precise than the rotation of the earth, so the ephemeris second was a new more precise standard of time
Yeah, I remember studying that back in high school but I wonder... what previous actual duration of a second they used? And also, being based on the rotation of Earth, what kind of data was the "vast amount of historical astronomical data" Newcomb collected? How can you reliably capture and store the length of time if you can only base it on the Earth rotation speed which varies over time? I would guess the data compared it to other natural phenomena?
Newcomb’s data would have been accurately timed observations, as many as he could get hold of, going back about two and a half centuries.
True Time™ is determined by essentially averaging dozens of atomic clocks from laboratories all over the world. It doesn't really get any more "community-maintained" and "democratized" than that!
Most of the big cloud providers have deployed the equivalent of the opencompute time card which sources its time from GPS sources but can maintain accurate time in cases of GPS unavailability.
For added fun, you can turn the Raspberry Pi into an oven compensated crystal oscillator (ocxo) by putting it in an insulated box and running a CPU burner to keep it toasty. https://blog.ntpsec.org/2017/03/21/More_Heat.html (infohazard warning: ntpsec contains traces of ESR)
https://en.wikipedia.org/wiki/Network_Time_Protocol#Clock_sy...
You may be mis-remembering a few details, SSH does not care about the time at all unless you are using _very_ short-lived SSH certificates.
By default tokens are valid for 30 seconds, with a token from the previous 30-second window also being accepted. Being off by more than that is pretty rare for NTP-connected systems.
The specs also provide ways to deal with a dedicated hardware token slowly going out of sync by keeping track of the last-known clock drift, but that's pretty useless these days and can even do more harm than good.
This made it possible for the first time to build clocks based on the stable frequency of the incoming A/C supply voltage, much more reliably than those based on the incoming line voltage, which varies quite a bit whether it is A/C or D/C.
This put him on the map as a manufacturer when he went forward to build Hammond clocks commercially.
Years later his engineers encouraged him to consider developing an electric church organ, which would be possible to remain in tune regardless of variations in line voltage themselves.
Hammond was not musically inclined but he did it anyway.
Right up there with the Great Men in the most legendary way.
http://thehammondorganstory.com/
By the time the 1960's came around, almost all new American vehicles were recognized as modern Space Age conveniences, and a factory clock (mechanical analog, naturally) had become almost a universal standard accessory beyond the most budget price points.
There were a couple drawbacks to the factory clocks, they had to be connected to the car battery at all times to keep running, they didn't drain the battery very much at all but still would eventually deaden it if undriven, way worse than no clock. And they depended on the incoming voltage which determined the internal clock motor speed to begin with. Different automotive electrical systems and batteries themselves do vary perhaps 10 percent about a nominal design voltage of 12 VDC. There is no stable A/C in the car that a synchronous motor would need to run on[0].
These now-vintage clocks were self-correcting. You correct them yourself. Actually the same twisting of the knob to move the hands of the clock, which was familiar from earlier non-correcting clocks simply did the job. So they were somewhat backward-compatible. Only the Space Age units had smart enough mechanical ability to take into account how much and in which direction you moved the hands, and adjusted the previous running speed accordingly. If the clock was not very close to correct time when you adjusted it, it would take repeated adjustments over a number of days or weeks to get it to very realistic speed. All it really did was successive approximation. You had to supply your own natural intelligence.
Even at the time lots of drivers never knew this, and there was widespread disappointment over the wildly inaccurate clocks "which were OK when new but went downhill 'through time'". They only added maybe a dollar to your car payment but that was very expensive compared to a highly reliable cheap household clock at the time.
When you think about it, today lots of drivers are not quite up to par when it comes to engaging the amount of natural intelligence that would be needed in many other ways besides timekeeping.
[0] The electrical "vibrator" which provided switch-mode 12VAC which could be stepped up by a transformer to supply much higher voltage to power vacuum tube radios still produced a variable A/C voltage & frequency, dependent on the underlying D/C supply voltage.
Every couple of hours or so you'll hear the click from it rewinding on its own. Unfortunately there's nothing to prevent it from running down the battery and they often need to be replaced due to burn out when the voltage gets low. Essentially the rewinder doesn't have enough voltage to actually wind the clock and the circuit stays closed.
>Well if I had money
>Tell you what I'd do
>I'd go downtown and buy a Mercury or two
Mercury Blues:
https://www.youtube.com/watch?v=QsTfCITzISM
I could really use a Mercury or two about now myself.
[1] https://www.analog.com/media/en/technical-documentation/data...
Most interesting to me in all of my time experiments is looking at my clock frequency over time vs. the temperature. (NTP daemons aim to calculate your actual clock frequency; then they know how far off your internal time is from actual time.) You don't even need a temperature sensor, the clock rate is a perfect analogue.
At that point it's surprising they didn't just deploy a local "time network", with a single master clock distributing time via length-calibrated coax. Approaches like that are really common in television studios.
If you want really good short & medium term stability, it's hard (expensive) to do better than an Oven-Controlled Crystal Oscillator (OCXO). An OCXO has a crystal in an insulated chamber with a heater and a thermocouple. A control circuit uses the heater to keep the chamber at a consistent temperature. Over long periods these still drift.
A cheaper alternative is a Temperature Compensated Crystal Oscillator (TCXO), that combines a control circuit with a crystal, a temperature sensor, and a ROM. The ROM contains a table of frequency errors that crystal had across temperature. The control circuit senses the temperature, reads the error value from the ROM, and tries to correct the crystal's oscillation frequency to compensate for that amount of error. Less accurate and less stable than an OCXO, but much smaller, much lower power, and much cheaper.
For longer-term stability you want an atomic clock, probably a Cesium clock or Hydrogen Maser. GNSS (GPS, Galileo, GLONASS, Baidu, etc) satellites have atomic clocks on board, and broadcast that time. GNSS is based around very precisely measuring the differences in received times from various clocks to calculate location, so it can also be used as a way to get a local time reference with good long-term stability. Unfortunately GNSS does have rather poor short-term stability compared to an OCXO, so GNSS alone isn't perfect. But it's common and reasonably inexpensive to create a "GPS-Disciplined OCXO" where a GPS unit corrects for the long-term drift of an OCXO, but the OCXO provides the actual output signal (thus gaining the good short & medium-term stability).
The NIST SP 1065 Handbook of Frequency Stability Analysis[1] is a go-to text on measuring clock sources.
[1] https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpubli...
The trouble with all the modern cars that have synchronized clocks is that, well, you've already put in an LTE SIM card, so why not send up some telemetry at the same time? And here we are, with cars that are surveillance devices with four wheels.
IMHO, the real failure is when devices make it hard to figure out how to change the time.
so the manufacturer gets to choose between making people apply DST changes manually twice a year, which most people understand and are used to doing for various things, or changing over for DST automatically but being wrong sometimes, which most people won't understand and will complain about.
It might have inspired me to register `signaslongasitendswith.com` so that I could tell people that my email address was “put whatever you like before the ‘at’ sign as long as it ends with ‘dot.com’”.
Felt clever in 2003. I never got any mail.
Their website was http://www.dotnet.net.au (www dot dotnet dot net dot au).
People gaming clicks using popularity of subjects from past years would want to drift (heh!) the time forward slightly, these topics probably normally arise around the time clocks change for Winter (29 October this year is the end of British Summer Time). So, I speculate that this is a drifted "clocks go back, but will your computer adjust itself?" topic area.
All this is down at the modem layer and was probably not externalized to the crappy CPU that ran the OS for the phone though.
You can still use the CDMA networks to get a very precise time reference, suitable for a stratum-1 timeserver, but I think not for very much longer.
I'm really interested in how this is done with multiple clocks over a distance. Can anyone explain? It feels like it would be very difficult since asking "what time is it there?" at the timescale of atomic clocks is kind of a bit meaningless? And that's before considering the absolute local nature of time and the impossibility of a general universal time per relativity.
There are a variety of mechanisms:
* fibre links when the labs are close enough
* two-way satellite time transfer, when they are further apart
* in the past, literally carrying an atomic clock from A to B (they had to ask the pilot for precise details of the flight so that they could integrate relativistic effects of the speed and height)
* there’s an example in the talk, of how Essen and Markowitz compared their measurements by using a shared reference, the WWV time signal.
True UTC is essentially an arbitrary value. Syncing up with multiple clocks is done to account for a single clock being a bit slow or fast. It doesn't matter if the clock you are syncing with is 1.34ms behind, as long as it is always 1.34ms behind. If it's suddenly 1.35ms behind, there's 0.01ms of drift between them and you have to correct for that. And if that 1.34ms-going-to-1.35ms is actually 1.47ms-going-to-1.48ms, the outcome will be exactly the same.
This means you could sync up using a simple long-range radio signal. As long as the time between transmission and reception for each clock stays constant, it is pretty trivial to determine clock drift. Something like the DCF77 and WWVB transmitters seems like a reasonable choice - provided you are able to deal with occasional bounces off the ionosphere.
Of course these days you'd probably just have all the individual clocks somehow reference GPS. It's globally available, after all.
The algorithm behind Circular T is called ALGOS.
If you ever need the time, just call (719) 567-6742
"US Naval Observatory, Master Clock, at the tone, Mountain daylight time, nine hours, sixteen minutes, fifteen seconds...beep!"
Also, dialing 0 to get a human operator. I swear I'm not that old.
"Thank you for calling Bell Atlantic. Due to an emergency condition, we are operating with a reduced staff, and you may experience delay."
Waiting on hold is like the forever traffic jam of Doctor Who.
The USNO atomic clock ensemble includes caesium beam clocks, hydrogen masers, and rubidium fountains. NIST uses mostly hydrogen masers, and fewer caesium beam clocks, though their primary frequency standards are caesium fountains.
There are many contributors to the official timekeeping. Most facilities who do science will have their own actual atomic clock, which they then share out the data, in the form of an NTP server, however, they will not typically use data from the rest of the world, except for correlation events. The rest of the world relies on a handful of clocks which are either from NIST (ntp.org I think is owned by them), or from major providers like cloudflare (not sure they have an ntp server available the public can use, im almost certain that they would use their own atomic clock internally for security reasons), microsoft also has one, i think, afaik they would need to because they provide their own ntp pool, but they may just aggregate from multiple NIST servers.
You can setup your own NTP server as well, and setup systems you own to start using it instead of whatever is configured. And, if one were so inclined, could even find and run your own atomic clock, and register it with the ntp pool. Im actually not sure the atomic clock is required, id hope it would be, but idk.
The flow of how modern day time is sourced & relayed to your computer:
1. Based on quantum / atom movement -> units -> time
2. Atomic clock based on #1
3. Time from #2, relayed to US Naval Observatory Alternate Master Clock
4. Time from #3, relayed to Space Force Base
5. Time from #4, relayed to GPS
6. Time from #5, relayed to NTP
7. Time from #6, relayed to your home computer
macOS is generally accurate to less than a tenth of a second (assuming desktops - laptops maybe less so, as they sleep a lot), and Linux will be just as accurate as long as it is running ntpd and not systemd-timesyncd.
NTP definitely should be able to keep the clock correct to sub-second level, but for more accurate local clock something like Open Time Card would do the trick, it has local atomic clock together with GPS receiver to get pretty much reference quality time.
Your Android phone is already capable of receiving GPS, so that's probably the most readily-available accurate time source. Getting your Android phone to sync to GPS time instead of just displaying it in an app might be a bit tricky, though...
I think older cell phones that didn't have GPS or a data plan (voice only) did use it. ~15 years ago, I had an old flip phone that had an option to set the time manually or automatically, and T-Mobile "helpfully" provide a time source that was like 5 minutes slow.
So as a byproduct of needing to continuously sync time with the cell tower in order to function properly, your phone has quite accurate time; your computer might easily be half a second off of 'true' time, but your phone (at least on the broadband chip level - the main OS can not care) can't be even a millisecond off.
Note she does get thrown off by seasonal time changes in the fall and spring but she only needs about a week to reset.
Maybe I could use my dog instead of NTP and have her press a button that syncs my computers to exactly 20:00? Would work offline at least.
Not sure if he’s relying on other sensory information like certain smells or sounds. I don’t believe that’s the case; we didn’t replace the broken feeder for 3-4 months and he was able to keep time within a few minutes during that period. Our behavior is erratic and changes often; we work jobs with very inconsistent schedules (thus the automatic feeder) so it’s likely not that our behavior is prompting him as well. We can even observe him consistently going to his feeding area on the security camera at the correct time when no one is home. Interesting stuff!
And to further make it weird: our vet told us to feed him multiple small feedings throughout the day so the feeder was programmed for 6 feedings with 2 hour intervals from 9am to 9pm. He hit the mark for all feeding times!
I still think there is potentially some sort of external prompt(s) though. Circadian rhythm is an excellent idea. Maybe that combined with something hard to detect, like lighting levels (which would explain why the timing shifted a few minutes over a few months). Who knows!
At school we used to have a bell mark class ends and without a clock or a watch I could predictably tell when the bell would fire. One time I demonstrated this to a friend (both of us kicked out of class) by counting down from 10 on the second to when the bell rang while looking at a blank wall.
Strange. But nonetheless true.
...or add it to systemd (it will get there eventually anyway)
[1] https://en.wikipedia.org/wiki/Biff_(Unix)#Origin_and_name
My four live in the garden, well protected and I'm too chaotic to keep any sort of regular feeding schedule, but they are fine with that, must be exciting for them if an unexpected feed of carrots or cucumbers drops.
Any time I have an alarm in the middle of the night for any random hh:mm, after just a few days of the same pattern I will naturally wake up exactly 1 or 2 minutes before the alarm as my internal clock knows what to expect. If I ignore it out of laziness and go back to sleep until the alarm rings (literally a minute later) I can break the habit but if I embrace it, it is really accurate and reliable (though thrown off if I went to bed absolutely exhausted, so there are limits as one would naturally expect).
There's a chapter:
“It’s as Simple as One, Two, Three…”
where he talks about and experiments with mental counting and mental time judgement
I decided to investigate. I started by counting seconds—without looking at a clock, of course—up to 60 in a slow, steady rhythm: 1, 2, 3, 4, 5…. When I got to 60, only 48 seconds had gone by, but that didn’t bother me: the problem was not to count for exactly one minute, but to count at a standard rate. The next time I counted to 60, 49 seconds had passed. The next time, 48. Then 47, 48, 49, 48, 48…. So I found I could count at a pretty standard rate.
Now, if I just sat there, without counting, and waited until I thought a minute had gone by, it was very irregular—complete variations. So I found it’s very poor to estimate a minute by sheer guessing. But by counting, I could get very accurate.
he goes on to do all kinds of other experiments like counting while running up and down stairs and more... :)