JP Camara
@jpcamara.com
Principal software engineer @Wealthbox. Husband/Father. Health, travel, tech and Ruby enthusiast. Tech blog at https://jpcamara.com Jokes at https://logicalconclusionscomic.com
Hey @konnorrogers.com - not sure if you’ve seen the ruby gem / js package I’ve been working on github.com/jpcamara/yrby I just added a rhino example to the demo app in it and it seems to be working well - would be great to have you try it out!
GitHub - jpcamara/yrby: Yjs/yrs-backed collaborative editing for Rails over ActionCable/AnyCable, with reliable document sync and presence awareness.
Yjs/yrs-backed collaborative editing for Rails over ActionCable/AnyCable, with reliable document sync and presence awareness. - jpcamara/yrby
github.com
"Yrb-lite" was a meh name. My initial intent was just to get the most basic thing out, but it's decently robust as it is and i'm having fun expanding it further. Yrb and Y-Ruby aren't available, so I renamed it to "yrby" ("yer-bee"). github.com/jpcamara/yrby
GitHub - jpcamara/yrby: Yjs/yrs-backed collaborative editing for Rails over ActionCable/AnyCable, with reliable document sync and presence awareness.
Yjs/yrs-backed collaborative editing for Rails over ActionCable/AnyCable, with reliable document sync and presence awareness. - jpcamara/yrby
github.com
Spent the last couple weeks working on a gem/package to support Yjs in Rails ActionCable/@anycable.io The result is yrb-lite: github.com/jpcamara/yrb... I'm pretty happy with where it is at so far! Still got work to do, but def give it a try if you're curious about realtime editing
Spent the last couple weeks working on a gem/package to support Yjs in Rails ActionCable/@anycable.io The result is yrb-lite: github.com/jpcamara/yrb... I'm pretty happy with where it is at so far! Still got work to do, but def give it a try if you're curious about realtime editing
GitHub - jpcamara/yrb-lite: Yjs/yrs-backed collaborative editing for Rails over ActionCable/AnyCable, with reliable document sync and presence awareness.
Yjs/yrs-backed collaborative editing for Rails over ActionCable/AnyCable, with reliable document sync and presence awareness. - jpcamara/yrb-lite
github.com
Currently in ActiveJob, `wait` in `retry_on` accepts a proc, but it is only handed the execution count. I think access to the error can also be useful when calculating the next wait time. If you agree, give it a like! github.com/rails/rails/...
Allow retry_on wait procs to accept error as a second argument by jpcamara · Pull Request #56601 · rails/rails
Motivation / Background Currently, retry_on wait procs can only accept the execution count as an argument, which limits the ability to customize retry delays based on the error itself. Some excepti...
github.com
“It’s 10pm, do you know where your children are?” I added this to my “when good threads go bad” post Does anyone else remember these ads?! May have only been a USA thing
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. jpcamara.com/2025/12/30/w...
When good threads go bad
👋🏼 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 ...
jpcamara.com
My @sfruby.com talk on real-time collaboration with AnyCable, YJS and Rails is up! I felt really happy with how it came out - let me know what you think because I can't watch myself talk 😂 youtu.be/J68QOBLEItY
JP Camara, Real-time collaboration with Rails, AnyCable and Yjs. San Francisco Ruby Conference 2025.
YouTube video by Evil Martians
youtu.be
In Sidekiq, you can add a special method to your job class called `sidekiq_retry_in`. This method allows you to dynamically adjust retry behavior. For instance, based on the exception raised you can return a different duration in seconds. /1
It's actually happening! Gonna super busy for the next 139 days. 😄
Hey, random question, but…what are you doing April 30 and May 1? 👀
@sfruby.com Day 3 was the perfect community break! Started with a Lucasfilm museum walk (thank you, @inazarova.bsky.social), then joined the Golden Gate Bridge bike tour with @kanejamison.com, @jpcamara.com, @jeremysmith.co, @adarsh.ruby.social.ap.brid.gy and so many amazing Rubyists.
Had an incredible time at @sfruby.com Fantastic talks, amazing people, and great vibes across the board So much to dig into and unpack around tooling, AI, development patterns and our collective ownership in the future of Rails Community day was such a great finish
I'm not sure @ankane.bsky.social is human - maybe some kind of open source being from the future 😂 I said to a colleague - "we'll see, but it's ankane, so it's entirely possible it'll get done soon". Less than an hour later, it was updated 🤯
If you are anywhere near SF Ruby Conf and haven't bought a ticket yet, the time is now! This conf is gonna be 🔥🔥🔥
🪩⚠️ Alert: @sfruby.com is in 10 days ! ! ! What's inside: 💎 two dozen new and hot Ruby startups like @bolt.new 💎 authors of RubyLLM, Herb, Active Agent, Inertia Rails, ZJIT, and more 💎engineers scaling Ruby and Rails at Chime, Cisco, Intercom, Shopify 💎afterparty by GitButler 🪩 (see part 2)
I finally got around to reading "How does Sidekiq really work?" by Dan Svetlov dansvetlov.me/sidekiq-inte.... Dang, it did not disappoint. What an enjoyable and in-depth read! A few things that stuck out to me 1/11 🧵
How does Sidekiq really work?
An investigation into the internals of Sidekiq, one of the most popular Ruby background job processors.
dansvetlov.me
3️⃣ @jpcamara published a new article about Bitmasks, Threads and Interrupts: Concurrent, colorless Ruby jpcamara.com/2025/10/22/...
Today is the last day to grab a GA ticket for SF Ruby! Read our new blog post for a preview: evilmartians.com/chronicles/w...
Why we're excited about the SF Ruby conference—Martian Chronicles, Evil Martians’ team blog
SF Ruby and Evil Martians are excited to invite you to our premier event: the San Francisco Ruby Conference.
evilmartians.com
Thanks to @honeybadger.io @joshuawood.honeybadger.io for the helpful post on dynamic exception matchers 🙏🏼 www.honeybadger.io/blog/level-u...
Level-up `rescue` with dynamic exception matchers
When you use a rescue clause in Ruby, you can specify what kinds of exceptions you want to rescue. But what if you want to rescue exceptions by severity? By message? B...
honeybadger.io
After a year hiatus, my series on all things Ruby concurrency is back! This post digs into the interrupt mechanism in Ruby threads. These interrupts revolve around bit masks, so it's got some Ruby bit work as well! Expect more regular updates from now on 💃💃💃 jpcamara.com/2025/10/22/b...
After a year hiatus, my series on all things Ruby concurrency is back! This post digs into the interrupt mechanism in Ruby threads. These interrupts revolve around bit masks, so it's got some Ruby bit work as well! Expect more regular updates from now on 💃💃💃 jpcamara.com/2025/10/22/b...
Bitmasks, Ruby Threads and Interrupts, oh my!
👋🏼 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 ...
jpcamara.com
Time to tighten up my talk, the conference is coming quick! Also just noticed the AI whoopsies on the text 🤭
Yesterday, we launched the 152nd edition of @ShortRubyNews. @RailsBlocks sponsored this edition. Visit railsblocks.com to access a ready-to-use collection of 250+ UI components with minimal dependencies. A big discount is waiting for you inside the newsletter.
www.remoteruby.com/2260490/epis... who am I going to see at SF Ruby conf?? @sfruby.com
SF Ruby with Irina and Vladimir - Remote Ruby
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 Franci...
remoteruby.com
Incredible validation for Falcon as a Ruby web server, and for Async in Ruby. I spoke about concurrency at last years RubyConf and had to call out Falcon - it's the server i've been most excited about in the past few years.
I tried to explain why I don't believe the recent accusations toward my former teammates, as well as how the Ruby and Rails Infra team at Shopify operates and why it can be trusted. byroot.github.io/opensource/r...
Dear Rubyists: Shopify Isn’t Your Enemy
I’ve been meaning to write a post about my perspective on Open Source and corporate entities. I already got the rough outline of it; however, I’m suffering from writer’s block, but more importantly, t...
byroot.github.io
Come join us for the San Francisco Ruby Conference in November! It's going to be a great one, especially after seeing how thriving the monthly meetups are. I'm also looking forward to share the latest advancements in Herb and ReActionView in my talk 👀 Hope to see you there!
youtube.com/shorts/sCtPr... Meet the new and ambitious Ruby & YC startups at the SF Ruby conference already on Nov 19-21, and let’s build the future in Ruby, together! We pushed the price down to $350, which means you get the tickets for $300 till October 6 with code SEP29OCT6. sfruby.com
Github, you will never convince me that this emoji represents laughter
A few months ago, I recorded a podcast with Jack from @tuple.app 🥹 It's an episode in their Distributed podcast (tuple.app/distributed/). I talk about async work, long-form writing, Slack withdrawal symptoms, and my personal approach to work. If you're interested: www.youtube.com/watch?v=1X9h...
Distributed. A podcast about making remote work—work, with lessons from top engineering teams.
A podcast about making remote work—work, with lessons from top engineering teams.
tuple.app