Today, a coworker and I had lunch here:
I think that Scarlett Johansson was doing Method-Acting-type research for an upcoming film in which she plays a waitress because I could have sworn that was her bringing our food.
A certain aspect of a project at work is simultaneously tricky and interesting. We are having issues getting our product to synchronize its time across a network with certain remote servers. It has gotten me to really look into the protocol used for such things. Synchronizing precise time is a tricky. It is not exactly as easy as asking your buddy what time it is and getting an answer. It is even more tricky than the military-style “on my mark, it will be 10:27…3…2…1…MARK!” If your friend was a few football fields away with a megaphone, you start to get a fleeting glimpse at the difficult parts. He screams “10:27 MARK!” into the megaphone, but because he is far away and the speed of sound is 340m/s, you actually hear his amplified speech coming to you a couple of seconds after he says the time–much like you can see the smoke of a starter’s pistol a second or two before you hear the BANG. If you know how far away he is, you can calculate how many seconds to add to what you hear as the answer. When you are dealing with computers and microseconds, the “10:27 MARK!” message is carried over electrons on copper wire or via laser beams in glass tubes–either way, you start to have to worry about the speed of light (3.0×10^8 m/s), much like you had to think about the speed of sound in the above example. If you want to add more complexity, throw in the fact that most of the time the thing doing the asking is not directly connected to the thing doing the answering. Bob has the time, but because of the way the phones are wired up, you can’t call him directly. You call your friend Alice and ask her to call Bob to ask the time; Bob conveys the time to Alice who then tells you. In that care, you have to know how long it takes for Alice to relay the message in each direction.
So yeah — synchronizing clocks is not as simple as, “hey buddy, got the time?” Nor is it as complex as landing rovers on Mars, but it does have its little nuances and gotchas. Now synchronizing that rover’s time with an Earth-based clock…