Listen

Description

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.