457: Time Zones with Sally Hall
Episode
46 min
Read time
2 min
Topics
Software Development, Science & Discovery
AI-Generated Summary
Key Takeaways
- ✓Test Strategy for Time Zones: Write tests using time zones different from your local environment and CI server (like Chicago time when working in Eastern) to catch time zone bugs locally before deployment, preventing false positives from matching environments.
- ✓Database Performance for Scheduling: Postgres materialized views with 8 million time slots refresh faster than Ruby calculations that took 45 minutes. Use database-level time math with debounced refresh jobs limited to one concurrent execution for appointment scheduling systems.
- ✓Time Object Math Rules: Never manually add offset hours to Ruby time objects—the Unix timestamp already handles conversions automatically. Adding offsets creates incorrect times because you're shifting the underlying timestamp when no math is needed, only metadata changes.
- ✓Display Strategy for Multi-Timezone Apps: Always show time zone abbreviations next to timestamps (like 9:00 AM EST) when users and service providers operate across different time zones, preventing confusion about whether times reflect user or provider location.
What It Covers
Sally Hall and Joelle Kenville explore time zone complexity in software development, covering daylight savings bugs, scheduling systems, time-of-day calculations, database optimization strategies, and why developers should never write custom time math.
Key Questions Answered
- •Test Strategy for Time Zones: Write tests using time zones different from your local environment and CI server (like Chicago time when working in Eastern) to catch time zone bugs locally before deployment, preventing false positives from matching environments.
- •Database Performance for Scheduling: Postgres materialized views with 8 million time slots refresh faster than Ruby calculations that took 45 minutes. Use database-level time math with debounced refresh jobs limited to one concurrent execution for appointment scheduling systems.
- •Time Object Math Rules: Never manually add offset hours to Ruby time objects—the Unix timestamp already handles conversions automatically. Adding offsets creates incorrect times because you're shifting the underlying timestamp when no math is needed, only metadata changes.
- •Display Strategy for Multi-Timezone Apps: Always show time zone abbreviations next to timestamps (like 9:00 AM EST) when users and service providers operate across different time zones, preventing confusion about whether times reflect user or provider location.
Notable Moment
The team discovered their appointment scheduling system generated 8 million possible time slots, initially worrying about database size, but found storing them in a materialized view proved far more efficient than attempting Ruby-based calculations that consumed 45 minutes per operation.
Episode Transcript
Hello, and welcome to another episode of The Bike Shed, a weekly podcast from your friends at Thoughtbot about developing great software. I'm Joelle Kenville. And today, I'm joined by Sally Hall Hello. Colleague here at Thoughtbot. And together, we're here to share a bit of what we've learned along the way. So, Sally, what's new in your world? Well, you probably know I love knitting, but I love other crafts too. And recently got the opportunity through this there's this project called the loose ends project that connects people who have an unfinished craft project left behind by, like, a loved one who passed away or someone who's not able to do the craft anymore with crafters who can complete that for them. So I got matched a couple weeks ago and have been working on a hand pieced quilt that someone started in the sixties. Wow. And it's made out of, like, old clothes from the fifties and sixties and has been sitting untouched for, like, forty five years. And so I'm hoping I can finish it up for the the family that it belongs to. It's been fun. Do you have any prior experience with quilting? Yeah. I've been quilting for a while. You know? I'm the kind of exciting person that when my friends were going to clubs in their twenties, I was going to quilting classes with local old ladies. Maybe made you less cool back then, but I think now probably makes you a more well rounded person. Yeah. We'll go with that. How does quilting contrast with knitting? You mentioned that's sort of your more go to, craft. Quilting, I think, for me, tends to be kind of a slower craft. I like to do hand quilting, so I'm not sitting at a sewing machine. And so I'm sewing all the little bits together by hand. There's not a lot of, like, immediate gratification. Like, I don't expect to, like, oh, I'll make this quilt for something that's happening in a few months or, like, as a gift for this event. It's like, I'm gonna work on this quilt, and it will be done when it's done. That might be six months or it might be ten years, and we'll see. Whereas with knitting, I generally find that to be, like, a quicker turnaround, smaller things. I'm also a lot more portable. You can't really bring a king-size quilt on a plane. I'm just picturing that, and that would be very entertaining. Yeah. The largest quilt I brought on a plane was for a, crib. So I don't people often like to make comparisons between writing code and more traditional crafts. How do you feel about that comparison? Do you think there's a lot of similarities? Oh, absolutely. If you've ever looked at a knitting pattern, if you have never knit before, it looks like complete gibberish. But once you learn sort of the syntax of a knitting pattern, you can start to …
Get the full transcript (8,365 words) + summary by email — free
One-time email with the complete transcript and AI summary of this episode. No account needed.
One email, no spam. We’ll also show you what SignalCast does.
You just read a 3-minute summary of a 43-minute episode.
Get The Bike Shed summarized like this every Monday — plus up to 2 more podcasts, free.
Pick Your Podcasts — FreeKeep Reading
More from The Bike Shed
We summarize every new episode. Want them in your inbox?
Similar Episodes
Related episodes from other podcasts
10% Happier with Dan Harris
Apr 10
What To Do When Life Won't Let Up | Sebene Selassie and Jeff Warren
The Changelog
Feb 13
Han shot first (Friends)
We Study Billionaires
Feb 8
TIP790: Wealth Beyond Money w/ Thomas Mueller-Borja
Shop Talk Show
Feb 2
700: Popover Web Component, Bugs in Blocks, and Where’s Vue?
Latent Space
Jan 23
Captaining IMO Gold, Deep Think, On-Policy RL, Feeling the AGI in Singapore — Yi Tay 2
Explore Related Topics
This podcast is featured in Best Cybersecurity Podcasts (2026) — ranked and reviewed with AI summaries.
Read this week's Software Engineering Podcast Insights — cross-podcast analysis updated weekly.
You're clearly into The Bike Shed.
Every Monday, we deliver AI summaries of the latest episodes from The Bike Shed and 192+ other podcasts. Free for one show.
Start My Monday DigestNo credit card · Unsubscribe anytime