Principal software engineer @Wealthbox.
Husband/Father. Health, travel, tech and Ruby enthusiast.
Tech blog at https://jpcamara.com
Jokes at https://logicalconclusionscomic.com
| Blog | https://jpcamara.com |
| Comic | https://logicalconclusionscomic.com |
Principal software engineer @Wealthbox.
Husband/Father. Health, travel, tech and Ruby enthusiast.
Tech blog at https://jpcamara.com
Jokes at https://logicalconclusionscomic.com
| Blog | https://jpcamara.com |
| Comic | https://logicalconclusionscomic.com |
It’s late, and you get alerts that web requests are failing. Page loads hang endlessly. The server isn’t responding, requests are queueing up. What do you do?!
"When good threads go bad" is a deep dive into stuck threads, how to deal with them, and what to avoid.
https://jpcamara.com/2025/12/30/when-good-threads-go-bad.html

👋🏼 This is part of series on concurrency, parallelism and asynchronous programming in Ruby. It’s a deep dive, so it’s divided into several parts: Your Ruby programs are always multi-threaded: Part 1 Your Ruby programs are always multi-threaded: Part 2 Consistent, request-local state Ruby methods are colorless The Thread API: Concurrent, colorless Ruby Bitmasks, Ruby Threads and Interrupts, oh my! (Concurrent, colorless Ruby) When good threads go bad (Concurrent, colorless Ruby) Thread and its MaNy friends (Concurrent, colorless Ruby) Fibers (Concurrent, colorless Ruby) Processes, Ractors and alternative runtimes (Parallel Ruby) Scaling concurrency (Streaming Ruby) Abstracted, concurrent Ruby Closing thoughts, kicking the tires and tangents How I dive into CRuby concurrency You’re reading “When good threads go bad”.
TIL if you want to return the duration in seconds, returning it as an Integer is a _hard_ requirement
There is a _specific_ check that the class is Integer. If you accidentally return a float, Sidekiq ignores it and reverts to its built-in delay policy. Be careful!
If you are anywhere near SF Ruby Conf and haven't bought a ticket yet, the time is now! This conf is gonna be 🔥🔥🔥
3️⃣ @jpcamara published a new article about Bitmasks, Threads and Interrupts: Concurrent, colorless Ruby
https://jpcamara.com/2025/10/22/bitmasks-threads-and-interrupts-concurrent.html
After a year hiatus, my series on all things Ruby concurrency is back! This post digs into the interrupt mechanism in Ruby threads. The interrupts revolve around bit masks, so it's got some Ruby bit work too!
Expect more regular updates from now on 💃
https://jpcamara.com/2025/10/22/bitmasks-threads-and-interrupts-concurrent.html
👋🏼 This is part of series on concurrency, parallelism and asynchronous programming in Ruby. It’s a deep dive, so it’s divided into several parts: Your Ruby programs are always multi-threaded: Part 1 Your Ruby programs are always multi-threaded: Part 2 Consistent, request-local state Ruby methods are colorless The Thread API: Concurrent, colorless Ruby Bitmasks, Ruby Threads and Interrupts, oh my! (Concurrent, colorless Ruby) When good threads go bad: Concurrent, colorless Ruby Thread signal handling: Concurrent, colorless Ruby Thread and its MaNy friends: Concurrent, colorless Ruby Fibers: Concurrent, colorless Ruby Processes, Ractors and alternative runtimes: Parallel Ruby Scaling concurrency: Streaming Ruby Abstracted, concurrent Ruby Closing thoughts, kicking the tires and tangents How I dive into CRuby concurrency You’re reading “Bitmasks, Threads and Interrupts, oh my!
https://www.remoteruby.com/2260490/episodes/17793992-sf-ruby-with-irina-and-vladimir
who's gonna be at https://sfruby.com/?
In this episode of Remote Ruby, Chris and Andrew chat with returning guests Irina Nazarova and Vladimir Dementyev to discuss the upcoming SF Ruby Conference, a vibrant event taking place in San Francisco on November 19-20, 2025. They delve into th...
Here is the solid queue batch implementation I created, if you're interested @bensheldon: https://github.com/rails/solid_queue/pull/142
Still waiting on feedback from Rosa, but I think this will be the general interface. Very much inspired by GoodJob