
Sign up to save your podcasts
Or
In this Dead Code episode, host Jared Norman interviews JP Camara, Principal Software Engineer at Wealthbox, about Ruby concurrency. JP explains that Ruby applications are inherently multithreaded, even when developers assume otherwise, highlighting how background threads from libraries like Sidekiq or monitoring tools can introduce concurrency issues. He discusses the Ruby community's progress in thread safety, driven by tools like Puma and Sidekiq, and contrasts Ruby's "colorless" concurrency model with JavaScript's explicit async/await syntax, emphasizing Ruby's reduced cognitive overhead. JP also shares his experience contributing to Ruby's M:N thread scheduler for macOS, advocating for developers to rely on vetted concurrency tools like concurrent-ruby and async instead of manually managing threads. He concludes by stressing the importance of avoiding global state, breaking tasks into smaller pieces, and approaching concurrency with a thoughtful mindset.
Links:
Wealthbox
JP Camara's Blog
RubyConf
Sidekiq
Puma Web Server
Honeybadger
New Relic
JP's Ruby Concurrency Series
What Color is Your Function?
Async Gem
Concurrent Ruby
Meshuggah – Violent Sleep of Reason
Dead Code Podcast Links:
Mastodon
X
Jared’s Links:
Mastodon
X
twitch.tv/jardonamron
Episode Transcript
Hosted on Acast. See acast.com/privacy for more information.
In this Dead Code episode, host Jared Norman interviews JP Camara, Principal Software Engineer at Wealthbox, about Ruby concurrency. JP explains that Ruby applications are inherently multithreaded, even when developers assume otherwise, highlighting how background threads from libraries like Sidekiq or monitoring tools can introduce concurrency issues. He discusses the Ruby community's progress in thread safety, driven by tools like Puma and Sidekiq, and contrasts Ruby's "colorless" concurrency model with JavaScript's explicit async/await syntax, emphasizing Ruby's reduced cognitive overhead. JP also shares his experience contributing to Ruby's M:N thread scheduler for macOS, advocating for developers to rely on vetted concurrency tools like concurrent-ruby and async instead of manually managing threads. He concludes by stressing the importance of avoiding global state, breaking tasks into smaller pieces, and approaching concurrency with a thoughtful mindset.
Links:
Wealthbox
JP Camara's Blog
RubyConf
Sidekiq
Puma Web Server
Honeybadger
New Relic
JP's Ruby Concurrency Series
What Color is Your Function?
Async Gem
Concurrent Ruby
Meshuggah – Violent Sleep of Reason
Dead Code Podcast Links:
Mastodon
X
Jared’s Links:
Mastodon
X
twitch.tv/jardonamron
Episode Transcript
Hosted on Acast. See acast.com/privacy for more information.