Sign in

JP Camara

@jpcamara.com
1.4K followers 766 following 682 posts

Principal software engineer @Wealthbox. Husband/Father. Health, travel, tech and Ruby enthusiast. Tech blog at jpcamara.com Jokes at logicalconclusionscomic.com

PostsRepliesMedia
JP Camara @jpcamara.com · 25/09/2026
Totally resonates. I agree with a lot of DHH’s talk, but it just felt like entirely the wrong venue. If not there, you got only that keynote. Without the energy of the following talks and interactions, it’s a bizarre vibe you’re left with about the future of Rails
150
JP Camara @jpcamara.com · 21/09/2026
Giving Jev a try by integrating it into yrby collaborative agents Each agent is connected to the document and receiving updates. It then decides using Jev which topic it wants to be involved in
020
JP Camara @jpcamara.com · 16/09/2026
It makes me sad that AI will write ruby code using Thread.raise. Have they not read my blog posts?! jpcamara.com/2025/12/30/w...
jpcamara.com
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 ...
011
JP Camara @jpcamara.com · 16/09/2026
Since i'm speaking now, i've got a ticket up for grabs to @sfruby.com! I'd love to help a fellow Rubyist out, who's maybe been on the fence due to cost. Hit my DMs if that's you! Please only reach out if you truly think you can attend 🙏
044
JP Camara @jpcamara.com · 14/09/2026
I'm speaking at @sfruby.com! Buy a ticket and come say hi!
272
JP Camara @jpcamara.com · 12/09/2026
yrby + rubyllm = user + agent collaboration 🫢
011
Reposted by JP Camara
Marco Roth @marcoroth.dev · 07/09/2026
Come join us at @sfruby.com this November! Last year’s edition was awesome, and I’m sure this year is going to be even better! ❤️ clouds.sfruby.com/e/2026-bits/...
clouds.sfruby.com
Marco Roth · San Francisco Ruby Startup Conference
Independent Consultant & Open Source Contributor. Joining the San Francisco Ruby Startup Conference on November 10-12, 2026.
075
JP Camara @jpcamara.com · 05/09/2026
Plus, aiming to have first-class Lexxy support. yrby has support for tiptap/prosemirror/rhino ootb as well, but lexxy-realtime makes it just a drop-in and a couple lines of code
130
JP Camara @jpcamara.com · 05/09/2026
yrby is getting to a really strong place. I’m running it in production, and I’ve expanded quite a bit beyond my meager early ambitions I want it to be the first-class answer for realtime collaboration in Ruby/rails, without having to reach for node or any other tool
2102
JP Camara @jpcamara.com · 02/09/2026
Docs-driven development: when you make a documentation site for your gem and suddenly have to stare at the interface like a normal user and not the author, so you completely rework it to be more friendly/ergonomic 😮‍💨
180
Reposted by JP Camara
Evil Martians @evilmartians.com · 31/08/2026
The @sfruby.com conf attendees are getting into trouble. We just had to rescue Chris from a building. Vica, Anton, and Alex are happy to see him, @jpcamara.com found the chopper more exciting, and @skryukov.dev doesn't really know what happened. Buy a ticket before Sep 30 and explore SF with them.
152
JP Camara @jpcamara.com · 31/08/2026
Here’s the SolidQueue batches 2.5 year architectural journey, filled with O(n^2) algorithms, hot row contention, excessive jobs, and much in between. There’s a strong chance you’ll learn a thing or two - I certainly did 😮‍💨 jpcamara.com/2026/08/31/s...
jpcamara.com
SolidQueue Batches: evolution and architecture
When Rosa first released SolidQueue, she did a fantastic talk on the internals of how it works and what trade-offs she made when building it. You should give it a watch. It’s where I first learned how...
1125
JP Camara @jpcamara.com · 26/08/2026
Working on MissionControl batches support - any suggestions? One thing I noticed so far is I didn't add the ability to delete a finished/failed batch
Batches index page. List of All batches, with id link, description, status, progress percentage, job count and enqueued atBatch show page, listing jobs run and different job stateJob show page, which now includes a link to a batch
031
JP Camara @jpcamara.com · 24/08/2026
The docs on SolidQueue batches are… solid 😉 In addition, I wrote up this blog post to dig in a bit further on how to use batches in SolidQueue, including some code inspiration - like splitting a RubyLLM chat into parallel sub agents using batches jpcamara.com/2026/08/24/a...
jpcamara.com
A Guide to using Batches in SolidQueue
SolidQueue is the default queue system shipped with Ruby on Rails. It’s a great choice for your jobs, and works out of the box with Postgres, SQLite and MySQL. It took two and a half years, but as of ...
1135
JP Camara @jpcamara.com · 21/08/2026
It’s been a journey 😂 ! Thanks @rosa.codes!
180
JP Camara @jpcamara.com · 31/07/2026
IYKYK 🐘
Isildur elrond meme applied to postgres vacuums

Postgres logo and a heap tuple in first pane
Second pane is VACUUM telling someone to cast it into the fire and destroy it!
Third pane is a long-running transaction saying "no"
Fourth pane is the tuple being thrown onto a pile of other tuples that can't be reclaimed due to the long running transaction pinning the xmin horizon
050
JP Camara @jpcamara.com · 12/07/2026
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.com
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
140
JP Camara @jpcamara.com · 29/06/2026
"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.com
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
030
JP Camara @jpcamara.com · 26/06/2026
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.com
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
151
JP Camara @jpcamara.com · 13/01/2026
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/...
github.com
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...
161
JP Camara @jpcamara.com · 31/12/2025
“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
Ad for “it’s 10pm do you know where you children are?”Ad for “it’s 10pm do you know where you children are?”, but with “children” overwritten by “threads”
170
JP Camara @jpcamara.com · 30/12/2025
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...
jpcamara.com
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 ...
1122
JP Camara @jpcamara.com · 27/12/2025
🙇‍♂️ 🙇‍♂️ 🙇‍♂️
070
JP Camara @jpcamara.com · 26/12/2025
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
youtu.be
JP Camara, Real-time collaboration with Rails, AnyCable and Yjs. San Francisco Ruby Conference 2025.
YouTube video by Evil Martians
1162
JP Camara @jpcamara.com · 19/12/2025
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
2120
Reposted by JP Camara
Jeremy Smith @jeremysmith.co · 12/12/2025
It's actually happening! Gonna super busy for the next 139 days. 😄
1162
Reposted by JP Camara
Anton Tkachov @antontkachov.bsky.social · 05/12/2025
@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.
092
JP Camara @jpcamara.com · 22/11/2025
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
0192
JP Camara @jpcamara.com · 12/11/2025
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 🤯
0171
JP Camara @jpcamara.com · 10/11/2025
If you are anywhere near SF Ruby Conf and haven't bought a ticket yet, the time is now! This conf is gonna be 🔥🔥🔥
082
JP Camara @jpcamara.com · 02/11/2025
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 🧵
dansvetlov.me
How does Sidekiq really work?
An investigation into the internals of Sidekiq, one of the most popular Ruby background job processors.
1132
Reposted by JP Camara
Lucian Ghinda @lucianghinda.com · 29/10/2025
3️⃣ @jpcamara published a new article about Bitmasks, Threads and Interrupts: Concurrent, colorless Ruby jpcamara.com/2025/10/22/...
221
Reposted by JP Camara
Evil Martians @evilmartians.com · 22/10/2025
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...
evilmartians.com
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.
01512
JP Camara @jpcamara.com · 24/10/2025
Thanks to @honeybadger.io @joshuawood.honeybadger.io for the helpful post on dynamic exception matchers 🙏🏼 www.honeybadger.io/blog/level-u...
honeybadger.io
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...
171
JP Camara @jpcamara.com · 23/10/2025
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...
jpcamara.com
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 ...
1248
JP Camara @jpcamara.com · 23/10/2025
Time to tighten up my talk, the conference is coming quick! Also just noticed the AI whoopsies on the text 🤭
Join JP Camara at the San Francisco Ruby Confrence on November 19-21 sfruby.com
080
Reposted by JP Camara
Lucian Ghinda @lucianghinda.com · 14/10/2025
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.
Screenshot of Short Ruby Newsletter cover
161
JP Camara @jpcamara.com · 10/10/2025
www.remoteruby.com/2260490/epis... who am I going to see at SF Ruby conf?? @sfruby.com
remoteruby.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...
030
JP Camara @jpcamara.com · 10/10/2025
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.
Falcon is now serving most of Shopify storefront traffic: web and API. It's solid, delivered big wins already, and unlocks a huge swath of new storefront optimizations we'll be trickling out over time. 

Performance is an evergreen quest at Shopify. 🏃‍♀️🏃‍♂️ 💨
1160
Reposted by JP Camara
Jean Boussier @byroot.bsky.social · 09/10/2025
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...
byroot.github.io
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...
119335
JP Camara @jpcamara.com · 08/10/2025
We never needed while loops. The power was always within us.
5258
Reposted by JP Camara
Marco Roth @marcoroth.dev · 05/10/2025
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!
0122
JP Camara @jpcamara.com · 03/10/2025
Github, you will never convince me that this emoji represents laughter
screenshot of the github smile reaction, which github tries to convince everyone is laughter
020
Reposted by JP Camara
Rosa @rosa.codes · 03/10/2025
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...
tuple.app
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.
6388
JP Camara @jpcamara.com · 24/09/2025
0.5% of the Ruby community rn: 😩 The other 99.5%:
070
JP Camara @jpcamara.com · 22/09/2025
Working on my real-time talk for #SFRuby conf, I think it'll be a good one! Real-time collaboration in Lexxy anyone?
2194
JP Camara @jpcamara.com · 21/09/2025
Much needed clarity from @apiguy.dev (freedom) open.substack.com/pub/apiguy/p...
open.substack.com
A board member's perspective of the RubyGems controversy
What a week it's been as a Ruby Central Board Member.
020
Reposted by JP Camara
Irina Nazarova @inazarova.bsky.social · 08/09/2025
‼️ Friends, please pay attention: grep -r "const _0x112" node_modules if you found it, don't panic: update dependency remove npm cache
099
JP Camara @jpcamara.com · 08/09/2025
Postgres COUNTs, why do you vex me so?
020
JP Camara @jpcamara.com · 07/09/2025
Now that my RailsWorld FOMO is cooling down, I’m excited to engage with some @friendlyrb.com FOMO next week 🥹
170