Time Zones Before Time Zones
Why is this TechHistory meme funny?
Level 1: Every Town Had Its Own Noon
This is funny because it is like every town setting its clock by looking at the sun, so walking or riding far enough down the road changes what time it is. Modern programmers already struggle with time zones, and this map shows an older world where even nearby cities could disagree by minutes. It is the scheduling problem from school, but the clocks themselves are arguing.
Level 2: Why Noon Moved
Before standard time zones, many places used local mean time. That means clocks were based on the sun's position in that location. If one city was farther east, the sun appeared to reach noon there earlier than in a city farther west.
That is why the map shows Düsseldorf 12.00 Uhr while München is 12.20 Uhr and Berlin is 12.27 Uhr. They are not different because people forgot to set their clocks. They are different because each place is using its own local reference.
A time zone solves this by making a whole region use the same official time, even though solar noon is not exactly the same everywhere in that region. This is less astronomically pure, but far easier for trains, governments, businesses, and later computers.
For programmers, the lesson is that dates and times are not just math. If an app stores appointments, deadlines, logs, payments, travel bookings, or messages, it must know the difference between an exact moment and a local wall-clock time. "Meet at 9 AM in Berlin" and "this server event happened at 09:00 UTC" are different kinds of data.
This is why date/time bugs are so common. The real world keeps changing the rules, and software has to preserve what users meant, not just what the CPU can count.
Level 3: Solar Time Debt
The headline says:
Until 1893 the time would change by 1 minute for every 18 kilometers in the German Empire.
The map then shows different local times across cities: Düsseldorf 12.00 Uhr, Frankfurt 12.08 Uhr, Stuttgart 12.10 Uhr, München 12.20 Uhr, Berlin 12.27 Uhr, and Prag 12.31 Uhr. The side text notes that railway traffic in Prussia and Alsace-Lorraine followed Berlin local time. That is the whole developer nightmare: civil time, geographic time, political time, and transportation time all occupying the same bug report.
The reason is local solar time. Before standardized time zones, noon could mean "when the sun is highest here." Move east or west, and local noon shifts because the Earth rotates under the sun. A full rotation is 360 degrees in 24 hours, so one degree of longitude corresponds to about four minutes. Across a wide enough region, clocks naturally disagree. The map's "one minute per 18 kilometers" is a human-scale way of showing that drift.
For modern developers, this is funny because we already complain about time zones with UTC, IANA zone IDs, daylight saving time, leap seconds, historical offset changes, and governments that apparently wake up bored and move clocks by decree. The image says: imagine doing scheduling before the abstraction layer existed. Every trip, log entry, meeting, contract deadline, and railway timetable could carry an invisible longitude dependency.
This belongs in TimeZonesAreHard because it attacks the comforting lie that time is a number. In backend systems, time is an agreement between physics, politics, product requirements, and old data. 2026-06-21 12:00 is not enough unless you know whose noon, which calendar, which locale, which offset rules, and whether the event is a floating civil time or a precise instant. That was true in 1893, and it is still true every time someone stores a local timestamp without a zone and calls it "simple."
The railway note is especially important. Railways forced standardization because distributed operations need shared clocks. A town can tolerate its own noon. A train network cannot tolerate every station interpreting departure time by local sunlight and vibes. Congratulations, history invented distributed systems by making people miss trains.
Description
The image shows a historical map of the German Empire with the headline `Until 1893 the time would change by 1 minute for every 18 kilometers in the German Empire.` The map labels regions such as `PREUSSEN`, `KÖNIGREICH BAYERN`, `GROSSHERZOGTUM HESSEN`, `REICHSLAND ELSASS-LOTHRINGEN`, and cities with different local times, including `Düsseldorf 12.00 Uhr`, `Frankfurt 12.08 Uhr`, `Ludwigshafen 12.07 Uhr`, `Karlsruhe 12.07 Uhr`, `Stuttgart 12.10 Uhr`, `München 12.20 Uhr`, `Berlin 12.27 Uhr`, and `Prag 12.31 Uhr`. A German side note says railway traffic in Prussia and Alsace-Lorraine followed Berlin local time, and another paragraph explains that local time changes by four minutes per degree of east-west movement, making Munich about 20 minutes ahead of Düsseldorf. The developer relevance is immediate: time handling is already hard with modern zones and UTC, and historical local solar time would have made scheduling, logs, distributed systems, and date arithmetic even more hostile.
Comments
4Comment deleted
Every engineer who says `just store UTC` should spend one sprint supporting pre-1893 railway schedules and then reopen the ticket with more humility.
6 years old me finding out about time zones Comment deleted
And others still argue about daylight saving time adjustments Comment deleted
With energy crisis, that topic may become much more hot. Comment deleted