Dead Code

Violent Sleep of Concurrency (with JP Camara)


Listen Later

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.

...more
View all episodesView all episodes
Download on the App Store

Dead CodeBy Jared Norman