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

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?

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

More from The Bike Shed

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

Similar Episodes

Related episodes from other podcasts

This podcast is featured in Best Cybersecurity Podcasts (2026) — ranked and reviewed with AI summaries.

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 up to 3 shows.

Start My Monday Digest

No credit card · Unsubscribe anytime