Slightly Less Painful Time Zones
summary
Case study of a weekly-email scheduler that shifts from a single Monday 10am to per-account local 10:01am, implemented in Ruby/Rails using tzinfo / IANA tzdata (noting 22 updates in 3 years). Shows concrete fixes: compute “next Monday” per zone with formatted offsets, add a manual trigger fallback, stage rollout to internal accounts, and harden tests with freeze_time tests and checks for false positives. Demonstrates what broke, how it’s rebuilt, and that staged deploys and fallbacks work.
AI-written summary · about
chapters (7)
- 0:00Start
- 3:33Trust NOTHING
- 16:32Today's console results are not tomorrow's console results
- 18:39Guard against writing false positive tests
- 21:51Figure out a consistent, global logic
- 27:42scheduling process changes
- 28:14Do an internal test run
related talks
35mMastering date/time handling with Elixir
38mUTC is Enough for Everybody, Right?
45mEverything You Never Wanted to Know About Time Zones
38mA Matter of Time
01h 05mWelcome To The Time Zone
42mWHY A WHOLE COUNTRY SKIPPED A DAY: FUN WITH TIMEZONES AND LOCALES
33mUTC is Enough for Everybody, Right?
26mHandling Timezones in Python
