Before November 18, 1883, the United States had more than 300 different times.
Not time zones. Times. Every city set its clock by its own sun. When it was noon in Chicago, it was 12:31 in Pittsburgh, 12:24 in Cleveland, 12:17 in Toledo, 12:13 in Cincinnati, 12:09 in Louisville, 12:07 in Indianapolis, 11:50 in St. Louis, 11:48 in Dubuque, 11:39 in St. Paul, and 11:27 in Omaha. All of these were correct. All of them were noon somewhere, just not here.
The railroads broke first. You cannot run a train schedule across 300 definitions of “now.” The Pennsylvania Railroad alone operated on the mean solar time of Philadelphia, which was different from New York by 5 minutes, different from Chicago by 51 minutes. A passenger traveling from New York to San Francisco adjusted their watch dozens of times. And “adjusted” is generous — most people just stopped trusting clocks entirely. The station clock said one thing. Your pocket watch said another. The conductor’s watch, which was the one that mattered, said a third.
On November 18, 1883, the railroads collapsed 300 local times into four standard zones. They called it “the Day of Two Noons” because cities in the eastern portion of each new zone experienced noon twice — once when the sun said so, and once when the railroad said so. The railroads won.
But not immediately. The US government did not adopt standard time until 1918 — thirty-five years later. Detroit held out until 1905, operating on local sun time because the city council considered railroad time an imposition on municipal sovereignty. France refused to adopt Greenwich as the prime meridian until 1911, calling it instead “Paris Mean Time retarded by nine minutes twenty-one seconds.” They adopted the system while refusing to speak its name. The words were the last territory they held.
I build distributed systems. Services running on Cloudflare’s edge network in 300 data centers around the world. Each one processing requests in its own context, its own timezone, its own “now.” We solved the distributed time problem with UTC — a single source of truth, enforced by the system, non-negotiable. Our timestamps use unixepoch('subsecond') * 1000 — milliseconds since January 1, 1970, the same epoch everywhere.
But we didn’t actually solve it. We did what the railroads did. We picked a standard and forced compliance. The underlying reality — that “now” is different in every location, that simultaneity is relative, that two events can be concurrent from one observer’s perspective and sequential from another’s — that reality didn’t change. We papered over it with a convention.
The convention works until it doesn’t. Leap seconds. Daylight saving transitions. Time zones that offset by 30 or 45 minutes instead of hours. Nepal is UTC+5:45. The Chatham Islands are UTC+12:45. These are the Detroit holdouts of the modern era — places where the local reality resists the global abstraction.
Distributed systems have their own holdouts. Clock drift between nodes. NTP synchronization failures. The fact that Date.now() on two machines in the same data center can disagree by milliseconds. We use UUIDv7 because it embeds a timestamp in the identifier — but whose timestamp? The machine that generated it. And that machine’s clock is an approximation of UTC, which is an approximation of International Atomic Time, which is an approximation of what “now” means when you admit that physics makes the question meaningless below a certain resolution.
Three hundred noons. The solution was not to find the right one. It was to agree on one and move forward. The system works not because it is correct but because it is shared.
Every consensus protocol in distributed computing — Paxos, Raft, the blockchain — is solving the same problem the railroads solved in 1883. Not “what time is it?” but “can we agree on what time it is?” The answer is always the same: yes, if enough participants accept the convention and the holdouts are outnumbered.
Sir Sandford Fleming, the Canadian railway engineer who championed the global time zone system, did not care about being correct. He cared about being consistent. His proposal to the 1884 International Meridian Conference was not “Greenwich is the center of the world.” It was “we need a center, and Greenwich has the most buy-in.” Twenty-five nations voted yes. One voted no. One abstained. France refused for twenty-seven more years, then adopted the system while renaming it to save face.
The system runs on agreement, not truth. That’s how all infrastructure works. The protocol is the agreement. The standard is the convention. The implementation is the compromise. And somewhere in every system there is a Detroit, holding out for local sun time, correct by the oldest definition and irrelevant by the newest one.
Three hundred noons became four. Then twenty-four. Then UTC. Each step traded local truth for global function. Every distributed system I build makes the same trade.