---
title: "Making Ruby faster with more Ruby and less C"
publication: "Ruby Weekly"
issue: 729
published_at: "2024-12-05"
canonical_url: "https://rubyweekly.com/issues/729"
---

Plus a look at Ruby's evolution, some event announcements, and the usual library releases. |        

#​729 — December 5, 2024 

[Read on the Web](https://rubyweekly.com/issues/729)   

🗓️ If you missed last week's issue, don't worry, it didn't exist – we took a week off for Thanksgiving! We're now back all the way through to the Christmas break :-)
__
_Your editor, Peter Cooper_ 

Together with [![Honeybadger\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_400,h_84/e_make_transparent/co_white,e_outline:7/a5ruvth763xxndgqvll3.png)](https://www.honeybadger.io/?utm_source=rubyweekly&utm_medium=email&utm_campaign=2024-12-05-rubyweekly-primary)  

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/vnc9ttlrvdo7dfkznhii.jpg)](https://rubyreferences.github.io/rubychanges/evolution.html)  

[Ruby Evolution: New Ruby Features Added in 2.0 → 3.3](https://rubyreferences.github.io/rubychanges/evolution.html) — First launched a couple of years ago covering up to Ruby 3.1, Victor’s handy resource covering the key changes to the Ruby language over the years now goes up to Ruby 3.3. A fantastic way to check your knowledge of modern Ruby features. 

Victor Shepelev   

[Speeding Up Ruby by Rewriting C.. in Ruby?](https://jpcamara.com/2024/12/01/speeding-up-ruby.html) — A fascinating look at Ruby performance and how actually writing more of Ruby’s core implementation in Ruby itself can yield surprisingly large speedups thanks to how YJIT works (I seem to recall Rubinius had a similar thesis years ago). A lot of fun and a must read, IMO. 

JP Camara   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/ceba0b54.png)](https://www.honeybadger.io/?utm_source=rubyweekly&utm_medium=email&utm_campaign=2024-12-05-rubyweekly-primary) 

[Log Everything, Ask Anything with Honeybadger](https://www.honeybadger.io/?utm_source=rubyweekly&utm_medium=email&utm_campaign=2024-12-05-rubyweekly-primary) — Paying for an APM you rarely use? Honeybadger Insights is a powerful query engine for your logs and application events. It's a bit like New Relic or DataDog but with just the good parts and a price you can afford. [Check it out!](https://www.honeybadger.io/?utm_source=rubyweekly&utm_medium=email&utm_campaign=2024-12-05-rubyweekly-primary) 

Honeybadger sponsor   

▶[An Interview with Yukihiro 'Matz' Matsumoto](https://www.youtube.com/watch?v=iwDJ6zmuI_w) — Ruby’s creator Matz was interviewed at the recent Baltic Ruby event about Ruby as well as his work-life balance, hobbies, and experiences being a father. It’s not super technical, but a good interview if you want to get a more rounded view of Matz and how he’s thinking about Ruby’s future. 

Baltic Ruby   

**IN BRIEF:** 

- 📕 Josef Strzibny has just released the first edition of his new book: [Test Driving Rails.](https://nts.strzibny.name/test-driving-rails-released/) It focuses on a Minitest and fixtures-based approach. Prefer RSpec? Aaron Sumner has [an update of _Testing with RSpec_](https://everydayrails.com/2024/11/26/rspec-book-november-2024.html) out too.
- Ruby Central shares some updates on [how they've been improving the infrastructure behind RubyGems.org.](https://rubycentral.org/news/ruby-centrals-infrastructure-improvements-for-rubygems-org/)
- [Ruby Central's November 2024 update](https://rubycentral.org/news/november-2024-newsletter/) goes into even more depth. We learn [RubyGems.org](https://rubygems.org/) is now using Propshaft, they spent almost $100k on development work in October, and Ruby Central is [🦋 now on BlueSky.](https://bsky.app/profile/rubycentral.org)
- 🇳🇱 [Rails World 2025 has been announced](https://rubyonrails.org/2024/11/27/rails-world-2025-save-the-date) - it'll take place next September in Amsterdam, Netherlands. No tickets or CFP_yet_.
- 🇷🇴 🇵🇹 Next September might be a busy month, as [Friendly.rb](https://friendlyrb.com/) and [EuRuKo 2025](https://2025.euruko.org/) take place in Romania and Portugal respectively in the weeks following Rails World. Time for a [Grand Tour](https://en.wikipedia.org/wiki/Grand_Tour) of Ruby events?   

[Rails is Better 'Low Code' Than 'Low Code'](https://radanskoric.com/articles/rails-is-better-low-code-than-low-code) — Radan plays out parallel story arcs for a ‘simple’ CRUD app that evolves new features and ultimately hits the low code ceiling. This thought piece provoked [a rather lively Hacker News discussion.](https://news.ycombinator.com/item?id=42253735) 

Radan Skorić   

[Overriding Methods in Rails: A No-Code-Editing Approach](https://allaboutcoding.ghinda.com/overriding-methods-in-ruby-on-rails-a-no-code-editing-approach) — How to override a class or instance method without editing its source file in Rails. 

Lucian Ghinda   

[Automate Embedding Creation and Syncing in Postgres with pgai Vectorizer](https://github.com/timescale/pgai/) — 🚀 pgai Vectorizer automates embedding creation and syncing in Postgres with one SQL command—keeps embeddings updated, no tools needed. 

Timescale sponsor   

[What You Need to Know About SQLite](https://joyofrails.com/articles/what-you-need-to-know-about-sqlite) — Lessons on what the SQLite database engine can and cannot do, how Rails helps you work with SQLite, and why it may, or may not, be a good choice to back your Rails 8 app. 

Ross Kaffenberger   

📄 [Fixing `gem install` Errors on a M3 Mac with Ruby 2.7](https://danielabaron.me/blog/fix-gem-install-errors-m3-mac-ruby-278/) – One of those posts you don’t need.. till you do! Daniela Baron 

📄 [Working with Server-Sent Events and WebSockets in Rack](https://blog.appsignal.com/2024/11/27/server-sent-events-and-websockets-in-rack-for-ruby.html) Ayush Newatia 

📄 [Automating Barcode Scanner Tests with Capybara](https://thoughtbot.com/blog/automating-barcode-scanner-tests-with-capybara) Nick Charlton and Silumesii Maboshe 

📄 [Calculating the Largest Known Prime in Ruby](https://jpcamara.com/2024/11/26/looking-to-impress.html) JP Camara 

📄 [Stimulus Features You (Didn’t) Know](https://railsdesigner.com/lesser-known-stimulus-features/) Rails Designer 

📄 [Advanced Stimulus: Custom Action Options](https://railsdesigner.com/stimulus-custom-action-options/) Rails Designer 

📄 [Shrinking a Postgres Table](https://www.johnnunemaker.com/shrinking-a-postgres-table/) John Nunemaker  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/mikg16qbxhkpstbcjesq.jpg)](https://dev.37signals.com/mission-control-jobs-v1-0/)  

[Mission Control Jobs 1.0 Released](https://dev.37signals.com/mission-control-jobs-v1-0/) — A dashboard and set of extensions that improve the operation and monitoring of background jobs running through Active Job and Solid Queue (or Resque). 

Rosa Gutiérrez (37signals)   

[Building a Better Ruby ORM for Time Series and Analytics](https://www.timescale.com/blog/building-a-better-ruby-orm-for-time-series-and-analytics/) — [TimescaleDB](https://github.com/timescale/timescaledb) is a popular extension for adding high performance time series data functions to Postgres and the Timescale team has been working on a way to bring its enhanced time series features into Active Record. 

Jônatas Davi Paganini (Timescale)   

[Fixed Price Monthly Code Maintenance for Rails Apps](https://reinteractive.com/service/code-care) — No time to do those small but critical updates and features? CodeCare will take care of necessary tweaks, bug fixes, upgrades and ongoing improvements for your app. 

reinteractive / CodeCare sponsor   

[pg_query 6.0: Parse, Deparse and Normalize SQL Queries with Postgres' Own Parser](https://github.com/pganalyze/pg_query) — Uses the actual Postgres server source to parse SQL queries and return their internal Postgres parse tree. v6.0 upgrades to using the Postgres 17 parser and the new features it supports (e.g. new JSON functions). 

pganalyze   

[Oniguruma-to-ES: Convert Patterns from the Oniguruma Regex Engine to Native JS](https://github.com/slevithan/oniguruma-to-es) — [Oniguruma](https://github.com/kkos/oniguruma) is a powerful regex engine used by Ruby, TextMate, and other projects. This could be useful if you need to share regexes between Ruby, TextMate grammars, and JavaScript, say. There’s [a demo.](https://slevithan.github.io/oniguruma-to-es/demo/) 

Steven Levithan   

[Awesome Nested Set: The Nested Set Pattern for ActiveRecord Models](https://github.com/collectiveidea/awesome_nested_set) — Billed as a replacement for `acts_as_nested_set` and BetterNestedSet, this now supports Rails 8. 

Collective Idea      

📰 Classifieds   

🔥 New Year, New You? Too Much Tech Debt? [Try Bonsai - Boring, Zero-downtime Upgrades (Fixed-cost Maintenance by FastRuby)](http://go.fastruby.io/new-year). 

--- 

[Legacy rescues](https://link.testdouble.com/865) from the agency behind Standard Ruby—and consultants your team actually wants to work with. 

--- 

🚀 [Depot](https://shortclick.link/ciifmv) Ultra Runners boost GitHub Actions speeds up to 3x faster. Use code DEPOTFRIENDS24 for [1 month free on any plan!](https://shortclick.link/ciifmv) Offer ends Dec 20.     

- 🐆 [Puma 6.5](https://github.com/puma/puma/releases/tag/v6.5.0) – A major update for the powerful Ruby/Rack web server built for parallelism. (You need this version if you want to use [Heroku's new Router 2.0](https://blog.heroku.com/router-2dot0-http2-now-generally-available), BTW – [more detail here](https://blog.heroku.com/pumas-routers-keepalives-ohmy)).
- [PgParty 1.9](https://github.com/rkrage/pg_party) – Create and manage Postgres partitions from Active Record.
- [telegram-bot-ruby 2.1](https://github.com/atipugin/telegram-bot-ruby) – Ruby wrapper for Telegram's Bot API.
- [Literal 1.3](https://github.com/joeldrapper/literal/releases/tag/1.3.0) – Runtime type-checking for Ruby. [More info here.](https://literal.fun/)
- [EBNF 2.6](https://github.com/dryruby/ebnf/releases/tag/2.6.0) – EBNF parser and generic parser generator.
- [Timeliness 0.5](https://github.com/adzap/timeliness) – Fast, extensible date/time parsing.
- [Sequel 5.87](https://github.com/jeremyevans/sequel/blob/master/CHANGELOG#L1) – Popular database toolkit.
- [json 2.9](https://github.com/ruby/json/releases/tag/v2.9.0) – Ruby's main JSON implementation.
- [RBS 3.7](https://github.com/ruby/rbs/wiki/Release-Note-3.7) – Ruby's type signature language.
- [sqlite3-ruby 2.4](https://github.com/sparklemotion/sqlite3-ruby)         

Curated by [Peter Cooper](https://twitter.com/cooperx86) and [Glenn Goodrich](https://twitter.com/ruprict).
Published by [Cooperpress](https://cooperpress.com/). 

[Change your email](https://rubyweekly.com/edit_subscription/*|UID|*) or [Stop getting this newsletter.](https://rubyweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

Other weekly newsletters we publish include [Postgres Weekly](https://postgresweekly.com/), [React Status](https://react.statuscode.com/), [Frontend Focus](https://frontendfoc.us/), and [JavaScript Weekly](https://javascriptweekly.com/).
