Search a title or topic

Over 20 million podcasts, powered by 

Player FM logo
Artwork

Content provided by hexdevs. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by hexdevs or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://podcastplayer.com/legal.
Player FM - Podcast App
Go offline with the Player FM app!

Fixing a Thread-Safety Bug with Nate Berkopec

45:38
 
Share
 

Archived series ("Inactive feed" status)

When? This feed was archived on July 18, 2025 14:09 (5M ago). Last successful fetch was on April 18, 2024 10:51 (1+ y ago)

Why? Inactive feed status. Our servers were unable to retrieve a valid podcast feed for a sustained period.

What now? You might be able to find a more up-to-date version using the search function. This series will no longer be checked for updates. If you believe this to be in error, please check if the publisher's feed link below is valid and contact support to request the feed be restored or if you have any other concerns about this.

Manage episode 359828805 series 2552731
Content provided by hexdevs. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by hexdevs or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://podcastplayer.com/legal.

Can you tell if a Ruby gem is really thread-safe or not? And how do you fix a seemingly thread-safety issue that can be something else entirely?

We had no idea. So we asked Nate Berkopec to help us. Nate is an expert in Ruby performance.

The verdict: nuking all shared global mutable state in your Ruby code is a bad idea if you don't know what you're doing!

Listen to this episode to learn:
- How and why faker-ruby became thread-unsafe, especially for Puma users
- Questions to ask yourself when trying to debug thread-safety issues
- Shared global mutable state is not always the villain, and is not the source of all thread-safety issues
- Nate's "watch-out" list of things that can cause undesired behavior when running multi-threaded Ruby applications: Constants, Class Variables, and Rack Middleware.

Episode Notes
🔗 Full transcript and links

-----

A special thanks to Valentino Stoll, nfstern02, and Gregg P for sponsoring hexdevs!

Enjoy!

  continue reading

35 episodes

Artwork
iconShare
 

Archived series ("Inactive feed" status)

When? This feed was archived on July 18, 2025 14:09 (5M ago). Last successful fetch was on April 18, 2024 10:51 (1+ y ago)

Why? Inactive feed status. Our servers were unable to retrieve a valid podcast feed for a sustained period.

What now? You might be able to find a more up-to-date version using the search function. This series will no longer be checked for updates. If you believe this to be in error, please check if the publisher's feed link below is valid and contact support to request the feed be restored or if you have any other concerns about this.

Manage episode 359828805 series 2552731
Content provided by hexdevs. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by hexdevs or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://podcastplayer.com/legal.

Can you tell if a Ruby gem is really thread-safe or not? And how do you fix a seemingly thread-safety issue that can be something else entirely?

We had no idea. So we asked Nate Berkopec to help us. Nate is an expert in Ruby performance.

The verdict: nuking all shared global mutable state in your Ruby code is a bad idea if you don't know what you're doing!

Listen to this episode to learn:
- How and why faker-ruby became thread-unsafe, especially for Puma users
- Questions to ask yourself when trying to debug thread-safety issues
- Shared global mutable state is not always the villain, and is not the source of all thread-safety issues
- Nate's "watch-out" list of things that can cause undesired behavior when running multi-threaded Ruby applications: Constants, Class Variables, and Rack Middleware.

Episode Notes
🔗 Full transcript and links

-----

A special thanks to Valentino Stoll, nfstern02, and Gregg P for sponsoring hexdevs!

Enjoy!

  continue reading

35 episodes

All episodes

×
 
Loading …

Welcome to Player FM!

Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.

 

Copyright 2025 | Privacy Policy | Terms of Service | | Copyright
Listen to this show while you explore
Play