Pinned
John Hawthorn
John Hawthorn
@jhawthorn.com
Writing code for @Shopify, Rails, and Ruby. Previously @GitHub. he/him | Victoria, BC | jhawthorn.com
1.1K followers230 following59 posts
John Hawthorn reposted
We released Ruby 4.0.9, 3.4.12, and 3.3.13, and published an announcement about Regexp compilation fixes. www.ruby-lang.org/en/news/2026... If your application compiles a regular expression from an untrusted string, please update your Ruby to one of those versions.
John Hawthorn reposted
Ruby's GC and ZJIT got a new collab! We recently introduced inlining of the garbage collector's fastpath into ZJIT. Read more about it here: railsatscale.com/2026-09-01-z...
John Hawthorn reposted
I'll be speaking at XO Ruby Vancouver on August 15th www.xoruby.com/event/vancou...
John Hawthorn reposted
Upgrade Rails immediately, kids, this is a big one. github.com/rails/rails/...
John Hawthorn reposted
Ruby 4.0.6 Released www.ruby-lang.org/en/news/2026... This is a routine update that includes bugfixes. We recommend upgrading your Ruby version at your earliest convenience.
If you haven't upgraded yet, Ruby 4.0's garbage collection is generally much faster than 3.4. This patch release fixes the one area there had previously been a notable regression (allocating/freeing Classes).
Ruby 4.0.4 Released www.ruby-lang.org/en/news/2026... This is a routine update that includes bugfixes. We recommend upgrading your Ruby version at your earliest convenience.
John Hawthorn reposted
Ruby 4.0.4 Released www.ruby-lang.org/en/news/2026... This is a routine update that includes bugfixes. We recommend upgrading your Ruby version at your earliest convenience.
John Hawthorn reposted
Made a new blurg post about AI + OSS security. I was going to just complain on here, but I figured a short blog post would be better for my complaining 😂 tenderlovemaking.com/2026/05/06/r...
John Hawthorn reposted
John Hawthorn reposted
It's just a proof of concept, but this is how I wish Rust extensions for Ruby were written: github.com/tenderworks/...
Proud of this patch I landed to Ruby this week which makes constants inside of `class << self` scopes faster both in the interpreter and JITs. It's not the most complicated or even impactful, but something I've wanted to fix for years github.com/ruby/ruby/pu...
I've proposed adding $SECONDS, $RANDOM, and other bash features to Ruby bugs.ruby-lang.org/issues/21976
John Hawthorn reposted
Ruby 4.0.2 Released www.ruby-lang.org/en/news/2026... This is a routine update that includes a bugfix in YJIT for NoMethodError on Puma. We recommend upgrading your Ruby version at your earliest convenience.
John Hawthorn reposted
The latest faker's version includes this improvement! Nothing like profiling your code to get some quick wins. Huge thanks to @jhawthorn.com for creating Vernier 🤓 hexdevs.com/posts/optimi...
John Hawthorn reposted
John Hawthorn reposted
John Hawthorn reposted
ZJIT is available starting in Ruby 4.0! Please try it out on your test suite, maybe in a staging environment, and let us know how it goes! railsatscale.com/2025-12-24-l...
John Hawthorn reposted
I made it easier to search Ruby's docs www.johnhawthorn.com/2025/searchi...
John Hawthorn reposted
I took some time to delve into my latest work on reducing Ractor contention. This time: Generic Instance Variables byroot.github.io/ruby/perform...
John Hawthorn reposted
John Hawthorn reposted
Ruby 3.4.5 Released www.ruby-lang.org/en/news/2025... This is a routine update that includes bug fixes and GCC 15 support. We recommend upgrading your Ruby version at your earliest convenience.
John Hawthorn reposted
It's been a while since I've written about the innards of @compiler-explorer.com. xania.org/202506/how-c... has the details, some statistics and some fun war stories.
John Hawthorn reposted
I just published "Implementing Embedded TypedData Objects" about a feature @byroot.bsky.social and I worked on for Ruby 3.3. A bit late, but better than never. railsatscale.com/2025-06-03-i...
John Hawthorn reposted
I wrote a post to braindump what I'm currently working on: allowing lock-free access to class instance variables from Ractors. byroot.github.io/ruby/perform...
John Hawthorn reposted
Ruby 3.4.4 Released www.ruby-lang.org/en/news/2025... This release includes a fix for a YJIT bug related to local variables and addresses a build issue on Windows when using GCC 15. It was released ahead of schedule to make these fixes available as soon as possible.
John Hawthorn reposted
I did some sort of rubber duck blogging about a patch I'm currently working on: byroot.github.io/ruby/perform...
John Hawthorn reposted
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!
John Hawthorn reposted
Announcing Dial, a Rails application profiler: github.com/joshuay03/dial I've longed for a free tool that provides Datadog-like profiles, with accurate GVL and GC activity. Thanks to @jhawthorn.com's amazing work on Vernier, all I needed to do was integrate it with Rails and let it do its thing.
I've just released unsafe 1.0.0! A gem bringing the power of Rust's unsafe to Ruby! github.com/jhawthorn/un...
One of my favourite things (of many) about rr-project.org is how it actually complements my tendency to be a printf debugger, because it's so easy to start gdb at the point that the output goes wrong.
John Hawthorn reposted
andpad.connpass.com/event/346737/ registration is opened now. We welcomed oversea guest for #rubykaigi
John Hawthorn reposted
Replying to @getajobmike.ruby.social.ap.brid.gy
What's new? - Quickly and easily profile your jobs in production with Vernier integration. - View multi-day job execution metrics to see performance over time. - Heavily rewritten Web UI much faster than 7.3.0. - Many more small improvements Here's Web UI 7.3 vs 8.0.
@byroot.bsky.social @bihi.bsky.social Very happy to deprecate my library thanks to all your work on JSON 🎉 github.com/jhawthorn/ra...
John Hawthorn reposted