---
title: "All Ruby treats, no tricks"
publication: "Ruby Weekly"
issue: 725
published_at: "2024-10-31"
canonical_url: "https://rubyweekly.com/issues/725"
---

Plus Ruby 3.2.6 lands, benchmarking Prism, and enough Ruby videos to last you a few months. |        

#​725 — October 31, 2024 

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

🎃 Boo! We're back after a rare week off, but now we're here through to Thanksgiving. I hope you have a fun Halloween, if you partake in it, but rest assured this issue is all treats and no tricks..
__
_Peter Cooper, your editor_ 

Together with [![pgAnalyze\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_350,h_100/e_make_transparent/co_white,e_outline:7/lhwcvgc1asd4fzaahty4.png)](https://events.zoom.us/ev/ApbJR2G425JREX5RY0tXPfOpswNrI39-sSvOOTH9CgccsUQqdS5X~Ar7URXbjNLcs7_KI7lGZA4TqhUSR3k2ROb0l1F-M6GwaVheFFqXWv2LB-Wj8o_N_tUL7ntUFx-_sx2iB9NFRZuovqw)   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/dt9rxfsvzs5luh8dtgiu.jpg)](https://eregon.me/blog/2024/10/27/benchmarking-ruby-parsers.html)  

[Benchmarking Ruby Parsers](https://eregon.me/blog/2024/10/27/benchmarking-ruby-parsers.html) — Prism is _(almost certainly going to be)_ the new default parser in Ruby 3.4, but is it the best-performing option? Benoit looks at several candidates, including Ripper and `ruby_parser`, and gives us the good news that yes, Prism is fast! 

Benoit Daloze   

[Ruby Video: An Index of ~4000 Ruby Talks](https://rubyvideo.dev/) — Over the past year, Ruby Video has brought together [almost 4000 videos](https://rubyvideo.dev/talks) from [over 2000 speakers](https://rubyvideo.dev/speakers) and you’re encouraged to [contribute your own too](https://github.com/adrienpoly/rubyvideo/blob/main/docs/contributing.md) _(though I'd be surprised if many talks remain to be found with these numbers!)_ 

Adrien Poly et al.   [![\](https://copm.s3.amazonaws.com/3c720d60.png)](https://events.zoom.us/ev/ApbJR2G425JREX5RY0tXPfOpswNrI39-sSvOOTH9CgccsUQqdS5X~Ar7URXbjNLcs7_KI7lGZA4TqhUSR3k2ROb0l1F-M6GwaVheFFqXWv2LB-Wj8o_N_tUL7ntUFx-_sx2iB9NFRZuovqw) 

[How to Compare Postgres EXPLAIN Plans & Tune Slow Queries](https://events.zoom.us/ev/ApbJR2G425JREX5RY0tXPfOpswNrI39-sSvOOTH9CgccsUQqdS5X~Ar7URXbjNLcs7_KI7lGZA4TqhUSR3k2ROb0l1F-M6GwaVheFFqXWv2LB-Wj8o_N_tUL7ntUFx-_sx2iB9NFRZuovqw) — Are slow Postgres queries impacting your Ruby app performance? Join this webinar to learn how to diagnose and tune them effectively. We'll use pganalyze to walk through how to compare plans & debug common scenarios like inefficient nested loops & missing indexes. 

pganalyze sponsor   

[Next Generation Out-of-Band Garbage Collection](https://railsatscale.com/2024-10-23-next-generation-oob-gc/) — ‘Out of band’ garbage collection is when GC is performed outside of the time when a user request is being served. This yields latency improvements in many scenarios, since you won’t have the GC ‘stopping the world’ at critical points. It’s hard to get _just right_, though, but that isn’t stopping attempts to make it better. 

Jean Boussier   

**IN BRIEF:** 

- [Ruby 3.2.6 has been released](https://www.ruby-lang.org/en/news/2024/10/30/ruby-3-2-6-released/) mostly to [fix all these bugs.](https://github.com/ruby/ruby/releases/tag/v3_2_6)
- _Ruby Central_ has [announced its support for the Open Source Pledge.](https://rubycentral.org/news/why-ruby-central-supports-the-open-source-pledge/)
- _Ruby Central_ has also [joined the _Eclipse Foundation_](https://rubycentral.org/news/ruby-central-joins-eclipse-foundation-working-group-for-open-source-security-compliance/) to increase Ruby's voice in various areas relating to open source security and regulations.
- Gift Egwuenu gives us a thorough update [on all things RubyGems related in September 2024.](https://blog.rubygems.org/2024/10/18/september-rubygems-updates.html)   

[Supercharge the One Person Framework with SQLite](https://fractaledmind.github.io/2024/10/16/sqlite-supercharges-rails/) — A written version of Stephen Margheim’s [▶️ exciting Rails World talk](https://www.youtube.com/watch?v=l56IBad-5aQ) about Rails 8’s enhancements when it comes to SQLite and how SQLite can truly _supercharge_ Rails development at the scales most of us are working. 

Stephen Margheim   

[How I Upgraded My Pet Project from Rails 7 to Rails 8 in 30 Minutes](https://bpohoriletz.github.io/2024/10/30/how-i-upgraded-my-pet-project-from-rails-7-to-rails-8-in-30-minutes.html) — Here’s a task a lot of us are likely to procrastinate about diligently do once the final version of Rails 8 lands. 

Bohdan Pohorilets   

[Exploring Campfire's Tests](https://kdiogenes.github.io/posts/exploring-campfire-tests/) — 37signals’ [pay-once-host-yourself chat app](https://once.com/campfire) provides a good look at how _the_ canonical Rails shop builds things, so Kadu decided to check out its tests and found an elegantly simple approach. 

Kadu Diógenes   

💡 If you'd like to poke around 37signals' code but don't want to spend $299 on Campfire, [their free Writebook app](https://once.com/writebook) might scratch your itch.  

[GitHub Shortcut Commands That’ll Speed Up Your Code Reviews 💻](https://link.testdouble.com/3cg) — Roundup of some of the best GitHub keyboard shortcuts that came up during a recent conversation on our dev team’s Slack. 

Test Double sponsor   

📄 [Using the Rails 8 (Beta) Authentication Generator in API-Only Mode](https://a-chacon.com/en/on%20rails/2024/10/16/poc-using-rails-8-auth-system-in-api-only.html) Andrés Chacon 

📄 [Using CTID Based Pagination and Ruby for Data Cleanups in Postgres](https://www.shayon.dev/post/2024/303/using-ctid-based-pagination-for-data-cleanups-in-postgresql/) Shayon Mukherjee 

📄 [Safely Passing Ruby Variables to JavaScript in ERB](https://code.dblock.org/2024/10/30/safely-passing-ruby-variables-to-javascript-in-erb.html) Daniel Doubrovkine 

📄 [Building a Robust Data Synchronization Framework with Rails](https://pcreux.com/2024/10/07/rails-data-sync-service) Philippe Creux 

📄 [Configuring Minitest with Gitlab CI and Rails](https://blog.zeroconfigrails.com/configure-minitest-with-gitlab-ci-and-rails) Prabin Poudel 

📄 [Understanding Kamal Proxy Roles](https://nts.strzibny.name/kamal-proxy-roles/) Josef Strzibny  

🛠 Code & Tools  

[HexaPDF 1.0.0: Powerful PDF Generation from Ruby](https://hexapdf.gettalong.org/news/2024/hexapdf-1-0-0.html) — Ruby’s arguably most versatile PDF creation and manipulation library reaches v1.0, and there are still many more features to come, says Thomas. You can check out [numerous examples with code here.](https://hexapdf.gettalong.org/examples/index.html) _Note that HexaPDF is AGPL licensed with a commercial licence option._ 

Thomas Leitner   

🎉 Also of interest is Thomas's [post on HexaPDF's ten year history](https://gettalong.org/blog/2024/10-years-of-hexapdf.html), why he chose to license it the way he did, and what it took to make it work as a commercial Ruby library.  

[Rubocop Obsession: Cops for Higher-Level Concepts](https://github.com/jeromedalbert/rubocop-obsession) — The [RuboCop](https://rubocop.org/) linter is commonly used to raise the alarm on stylistic issues like long lines, indentation problems, and naming conventions. This goes a step further with code not broken into [identifiable ‘paragraphs’](https://github.com/jeromedalbert/rubocop-obsession/blob/main/lib/rubocop/cop/obsession/no_paragraphs.rb), [method ordering](https://github.com/jeromedalbert/rubocop-obsession/blob/main/lib/rubocop/cop/obsession/method_order.rb), and [only testing public methods](https://github.com/jeromedalbert/rubocop-obsession/blob/main/lib/rubocop/cop/obsession/rspec/describe_public_method.rb), among other things. 

Jerome Dalbert   

[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   

[sqlite3-ruby 2.2.0: The Ruby Bindings for SQLite3](https://github.com/sparklemotion/sqlite3-ruby/releases/tag/v2.2.0) — With v2.2 we get improved multiline SQL syntax errors, as well as being able to use URI filenames when ‘connecting’ to a SQLite database. 

Sparkle Motion   

[Shale: Object Mapper and Serializer for Text Formats](https://www.shalerb.org/) — A library for converting JSON, YAML, TOML, CSV and XML into Ruby data structures and back again. The homepage features many interactive examples worth checking out. 

Kamil Giszczak   

- 🐉 [DragonRuby 6.0](https://dragonruby.itch.io/dragonruby-gtk/devlog/809843/dragonruby-hits-v60) – Popular Ruby-based cross-platform game engine.
- [Rails 7.1.5 and 7.2.2](https://rubyonrails.org/2024/10/31/Rails-Versions-7-2-2-and-7-1-5-have-been-released) – Regular bugfix releases, though this may be the last the 7.1 branch ever gets as it moves into security patch mode only.
- [Rails 8.0 Release Candidate 2](https://github.com/rails/rails/releases/tag/v8.0.0.rc2)
- [Hanami 2.2.0 RC1](https://hanamirb.org/blog/2024/10/29/hanami-220rc1/) – The final 2.2 release is expected next week.
- [MainStreet 0.4](https://github.com/ankane/mainstreet) – Street address verification for Rails apps.
- [Kamal 2.3](https://github.com/basecamp/kamal/releases/tag/v2.3.0) – The container-based app deployer.
- [Mocha 2.5](https://mocha.jamesmead.org/) – The mocking and stubbing library.
- [Barkick 0.3](https://github.com/ankane/barkick) – Barcode value parsing made easy.      

📰 Classifieds   

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

--- 

Make that slow test suite fly! Install RunsOn in your AWS account and get 10x cheaper and faster GitHub Actions runners. [1-click install](https://runs-on.com/?ref=rw). 

--- 

🌟 [Get a Full View of Ruby at RubyConf 2024!](https://rubyconf.org/) Join us for a dive into the state of Ruby, latest enhancements, and exciting new developments!           

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/).
