Skip to main content
The Bike Shed

464: Modelling the stars with Rémy Hannequin

42 min episode · 2 min read
·

Episode

42 min

Read time

2 min

Topics

Design & UX, Software Development, Psychology & Behavior

AI-Generated Summary

Key Takeaways

  • Value Objects for Units: Wrap raw numbers in objects to prevent unit conversion errors (meters vs miles) and enable natural operations like distance addition while automatically handling conversions, similar to Rails' ActiveSupport Duration with five.days syntax.
  • Domain-Driven Design Translation: Use terminology from scientific literature when naming code objects and methods to enable direct collaboration between domain experts and developers, eliminating translation overhead and making contributions more accessible to astronomers reviewing code.
  • Light Time Correction: Astronomical positioning requires correcting for light travel time since observed celestial bodies appear where they were in the past—moon one second ago, sun eight minutes ago, planets thirty to forty minutes ago—creating difference between geometric and apparent positions.
  • Performance Trade-offs: Value objects improve safety and readability but hurt performance in high-iteration calculations. Switch to raw numbers (like radians) when instantiating and converting objects repeatedly becomes a bottleneck, prioritizing practical results over architectural purity.

What It Covers

Rémy Hannequin discusses building Astronomy, a Ruby gem for celestial body positioning calculations, covering domain-driven design patterns, value objects, and translating complex astronomical mathematics into developer-friendly Ruby code for telescope positioning.

Key Questions Answered

  • Value Objects for Units: Wrap raw numbers in objects to prevent unit conversion errors (meters vs miles) and enable natural operations like distance addition while automatically handling conversions, similar to Rails' ActiveSupport Duration with five.days syntax.
  • Domain-Driven Design Translation: Use terminology from scientific literature when naming code objects and methods to enable direct collaboration between domain experts and developers, eliminating translation overhead and making contributions more accessible to astronomers reviewing code.
  • Light Time Correction: Astronomical positioning requires correcting for light travel time since observed celestial bodies appear where they were in the past—moon one second ago, sun eight minutes ago, planets thirty to forty minutes ago—creating difference between geometric and apparent positions.
  • Performance Trade-offs: Value objects improve safety and readability but hurt performance in high-iteration calculations. Switch to raw numbers (like radians) when instantiating and converting objects repeatedly becomes a bottleneck, prioritizing practical results over architectural purity.

Notable Moment

Hannequin's homemade blueberry wine fermentation created so much carbonation that when his wife opened the bottle without caution, the pressurized liquid exploded throughout their kitchen, painting walls and ceiling blue-purple with stains still visible today.

Know someone who'd find this useful?

Episode Transcript

Imagine the last time you had to deal with request timeouts or backed up job queues in your job environment. Take yourself there. Can you feel it? The stress, the frustration? Here's what JudoScales knows. You're either not auto scaling or your auto scaler is not doing its job because auto scaling is supposed to prevent scenarios like this. In comes JudoScale. JudoScale helps your app smoothly handle traffic spikes while dramatically lowering your hosting costs. You can use Judo Scale's free plan forever, so you've got nothing to lose. If you want to say goodbye to those painful production incidents, visit judoscale.com/bikeshed for your special gift as a bike shed listener. That's judoscale.com/bikeshed. 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 fellow Thoughtbotter, Remi Anke. And together, we're here to share a bit of what we've learned along the way. So, Remi, what's new in your world? Hi, Joel. Nice to see you. At the moment, I am dealing with food stuff at home. I am playing with fermentation. It's something I tried a bit, while being in lockdown during the COVID, and I just liked it. You know? Just the ability to craft really delicious things by just mixing, ingredients, natural ingredients, and just letting the nature, changing that into delicious, recipes. Are you fermenting things like home brewing, like making beer, or is this more like pickling vegetables? It's more like bread or, you know, gingerbread or yeah. A bit of vegetables as well. Yogurt. I discovered that you can even make cheese at home, and it's it's fairly simple. I mean, I I am probably mixing some some notions of the whole fermentation. Maybe some of these are not even fermentation at all, but I find it interesting to just smoke chemist in in the kitchen and enjoy new things. Has there been a particular thing that you've tried that's become a a favorite? I tried kind of a wine from blueberries. Oh. And it was extremely simple to do, extremely efficient, like a lot of bubbles in it. And I, I mentioned to, to my wife that it was really fizzy, but I should have in phases that it was really, really bubbly. And she, she, she should take care of, I mean, be careful when opening it. Oh, no. And, yeah, I was away. And one day she opened it, but really not carefully. And apparently, the whole kitchen got repaint in blue, blue and purple. Oh, no. We still have some some things in in the on the roof, or on the walls. Yeah. Probably need to make some some white paint at some at some point. But, yeah, it's really easy and efficient and, surprising as well. So you can get a lot of bubbles just by the fermentation process on its own. No. You're not carbonating this or doing …

Get the full transcript (6,933 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.

Browse all The Bike Shed transcripts →

You just read a 3-minute summary of a 39-minute episode.

Get The Bike Shed summarized like this every Monday — plus up to 2 more podcasts, free.

Pick Your Podcasts — Free

Keep Reading

Books, tools, and gear mentioned in this episode

SignalCast may earn commission on purchases via these links.

Tools

  • Wrap raw numbers in objects to prevent unit conversion errors (meters vs miles) and enable natural operations like distance addition while automatically handling conversions, similar to Rails' ActiveSupport Duration with five.days syntax.
  • Rémy Hannequin discusses building Astronomy, a Ruby gem for celestial body positioning calculations, covering domain-driven design patterns, value objects, and translating complex astronomical mathematics into developer-friendly Ruby code for telescope positioning.

More from The Bike Shed

We summarize every new episode. Want them in your inbox?

Similar Episodes

Related episodes from other podcasts

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 Digest

No credit card · Unsubscribe anytime