JP Camara
banner
jpcamara.com
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
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 🤯
November 12, 2025 at 1:18 AM
4) "When good threads go bad" coming soon!

Dan shows how jobs are executed in the `process` method, which has this hefty section utilizing `handle_interrupt`. He does a great job describing how it works, and my next article will dig deeper into if you're interested!

11/11 🧵
November 2, 2025 at 2:27 AM
If you read my article on ruby thread interrupts and bitmasks, this will be very familiar! jpcamara.com/2025/10/22/b...

I asked koichi if signals were the inspiration, and he confirmed it. It was fun to see the connection and what can be an inspiration for central language apis!

10/11 🧵
November 2, 2025 at 2:27 AM
You can change the default return value of a hash by using `default=` on the hash. docs.ruby-lang.org/en/3.4/Hash..... Now instead of nil, you'll return whatever `default` you provided! Very handy.

7/11 🧵
November 2, 2025 at 2:27 AM
1) @mike.contribsys.com you clever devil, that Signal.trap approach is ingenious!

In my post on thread interrupts, I mentioned that you cannot use rails.logger inside of a signal.trap: bit.ly/43c23Ym. Similarly, you cannot use the Sidekiq logger in trap, which is inconvenient.

3/11 🧵
November 2, 2025 at 2:27 AM
This is all I can think of now whenever my hands absorb the flavors or heat of a vegetable
October 24, 2025 at 3:20 AM
Time to tighten up my talk, the conference is coming quick!

Also just noticed the AI whoopsies on the text 🤭
October 23, 2025 at 1:29 AM
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.
October 10, 2025 at 11:27 AM
October 8, 2025 at 4:42 AM
We never needed while loops. The power was always within us.
October 8, 2025 at 4:42 AM
Github, you will never convince me that this emoji represents laughter
October 3, 2025 at 2:34 PM
0.5% of the Ruby community rn: 😩
The other 99.5%:
September 24, 2025 at 4:41 PM
Working on my real-time talk for #SFRuby conf, I think it'll be a good one!

Real-time collaboration in Lexxy anyone?
September 22, 2025 at 11:40 AM
Did an early draft run of my real-time collaboration talk at the #bostonrb meetup. Getting amped for #SFRuby conf! See you there? sfruby.com
September 5, 2025 at 9:29 PM
Still one of my favorites, definitely need to give it a rewatch
I saw this license plate yesterday so it made me think there could be a new series about the:
August 22, 2025 at 11:52 AM
Looks like you even got mentioned in the bytes.dev newsletter 😂
August 7, 2025 at 9:11 PM
I've been reading Ruby Weekly since - let me check my inbox - *SPITS OUT WATER* - 2013?!? And that was already the 126th edition 😱 @cooperx86.bsky.social you are a machine!!

It's always been one of my top Ruby resources, so it's extra fun to be included in it!

rubyweekly.com/issues/762
August 7, 2025 at 9:08 PM
It turns out the tiny /o modifier has an outside influence on how your program runs. It creates a permanent, immutable version of your regex after the _first_ time it runs. My personal policy from now on is to never use this modifier. Ever. I dig alot deeper in the article, give it a read!
August 2, 2025 at 2:18 PM
If you run these lines - is it what you expected? It definitely was _not_ what I expected!
August 2, 2025 at 2:18 PM
When you look at this class - does anything stick out to you? Any red flags?
August 2, 2025 at 2:18 PM
My brain is full of open source, blogging and growth ideas, thanks to #rubyfriends! Thanks @rubycentral.org @rosa.codes @codynorman.com @jeremysmith.co @manu-j.com @andyatkinson.com @adrianthedev.com @inazarova.bsky.social @jesper.dev @kaspth.com and so many others! Hope to see everyone again soon!
July 11, 2025 at 10:48 PM
If you read @byroot.bsky.social 's "What's the deal with Ractors?", and were bummed at how poorly they handled JSON parsing, then @jhawthorn.com has brightened your day!

Frozen interned strings are now stored in a lock-free hash, making the Ractor example 2x faster than the single-threaded example!
April 20, 2025 at 12:12 AM
I’m a little bummed, but I think my RailsConf talk getting declined is for the best! I can focus on getting back to blogging and also just enjoy the conference without revising my talk endlessly.

Should I still submit it as a talk elsewhere down the line? Would you go to it?
April 3, 2025 at 8:14 PM
The only true instance of grilled cheese?
February 4, 2025 at 3:32 AM
How have I never heard of __send__?
docs.ruby-lang.org/en/3.4/Basic...

I saw it when I was looking at the Literal source code @joel.drapper.me
January 18, 2025 at 8:03 PM