#​683 — December 21, 2023

Read on the Web

🎄 It's the final issue of 2023! Despite the imminent release of Ruby 3.3 on Christmas Day, we're taking a break next week, but will be back with a bumper 3.3-themed issue on January 4. This week we have a blend of a few new items, but also a look back at the top articles, tools, and videos from the year. Happy holidays!
__
Peter and the Cooperpress team

Together with  reinteractive

Ruby Weekly

Ruby 3.3’s YJIT: Faster While Using Less Memory — The YJIT team has been working hard this year and the version to be included in Ruby 3.3 is “leaps and bounds ahead” of that in Ruby 3.2. This post explains what they’ve been up to and teases some of the performance numbers. This is going to be a good Christmas for Rubyists!

Chevalier-Boisvert and Patterson

Introducing Solid Queue — 37signals has open-sourced a new database-based queuing backend for Active Job that bundles in a bunch of features out of the box and supports MySQL, Postgres and SQLite.

Rosa Gutiérrez (37signals)

Fixed Price Monthly Code Maintenance for Rails Apps — Versions falling behind or legacy app in maintenance mode? Starting from 10 hours per month, CodeCare will take care of necessary patches, bug fixes, upgrades and ongoing improvements for your app.

reinteractive/CodeCare sponsor

What's New in Ruby 3.3 — Sure, it’s not truly released till Christmas Day, but the preview releases are so close to final that it’s possible to look at what 3.3 is all about already. Nithin quickly shares a few points. FastRuby has a mildly more technical look too.

Nithin Bekal

  • 🔒 RubyGems has unveiled support for Trusted Publishing which provides a way to more securely publish gems in an automated fashion (which multi-factor auth often fails to cater for) by using OpenID Connect (OIDC).

  • ❤️ Elise Shaffer wrote a bit of a love letter to Ruby.

🏆 Top Articles and Features of 2023

🤖 Improve Password Length Validation for BCrypt Compatibility — This title sounds pretty dull but amazingly this Rails PR got the most clicks of any link included in 2023! Why? It marked the first time ChatGPT had a huge influence upon a contribution to Rails.

Rails GitHub Repo

An Extensive Ruby 3.2 Changelog — Victor has always done a great job highlighting language changes (rather than implementation changes) and his Ruby update documents are always a must to check out. Despite the ongoing invasion of his country by Russia, he is working on a Ruby 3.3 changelog too and keeping a diary of the process on his blog.

Victor Shepelev

The API for SAML, SCIM, and Enterprise-Grade Auth — Not yet supporting SSO or User Provisioning? Join hundreds of companies using WorkOS — make your app Enterprise Ready today.

WorkOS sponsor

DHH: 'Turbo 8 is Dropping TypeScript' — Any sort of DHH-oriented controversy tends to attract attention, and this year TypeScript was one of his targets. He’s not a fan and he didn't want it in Rails’ Turbo.

David Heinemeier Hansson

Turbo 8 eventually landed last month and Brad Gessler wrote a popular introduction to it.

Performance Impact of the Memoization Idiom on Modern Ruby — A fantastic introduction to the ‘object shapes’ optimization introduced in YJIT in Ruby 3.2, before looking at how the most common memoization technique adversely affects it, and ways both Ruby’s implementers and Ruby developers can mitigate the issue.

Jean Boussier

From Ruby to Node: Overhauling Shopify’s CLI — I still feel a little icky linking to this, but e-commerce platform Shopify is well known as a Ruby shop and even they found a compelling reason to switch to Node for their CLI tool 😭

Pedro Piñera (Shopify)

🛠 Top Code & Tools of 2023

The Libraries Evil Martians Use to Build Rails Apps — Rather than one specific tool, this was a neat roundup of an ideal set of gems to lean on when building a modern Rails app.

Evil Martians

The 'Standard' Ruby VS Code ExtensionStandard is a Ruby style guide, linter and formatter created by TestDouble, and it gained a ‘distressingly fast’ VS Code extension to up the ante for almost real-time code formatting.

Justin Searls (Test Double)

Never-Ending Story of Backlogs Got Your Team Down? — Falling behind. No time for updates. Sound familiar? Get unstuck so you can ship more and improve things along the way.

Test Double sponsor

Rails Brotli Cache: A Drop-in Enhancement for Rails' Cache — Brotli sounds like something you'd have on your Christmas dinner plate, but no, it's a pretty good data compression algorithm developed by Google, and you can take advantage of its improvements by slotting it into your Rails app.

Paweł Urbanek

Passwordless 1.x: Magic Link Auth for Rails Apps — A system to add password-free ‘magic link’ style authentication to your Rails apps. “This major release .. changes a lot of things and it is almost guaranteed that you will need to change your code to upgrade to this version.”

Mikkel Malmberg

Shale: Object Mapper and Serializer for Text Formats — A library for converting JSON, YAML, TOML, CSV and XML into Ruby data structures and back again. v1.0 added Ruby 3.2 support and tied up a variety of loose ends. The homepage features lots of interactive examples that are worth checking out.

Kamil Giszczak

📺 Top Videos of 2023

▶  Ruby on Rails: The Documentary — If you didn’t have the time to watch this 44-minute documentary in November, maybe you could make this a new family favorite to replace the annual screening of Die Hard?

Honeypot

▶  DHH's Rails World 2023 Keynote — DHH also took the number two spot this year with his energetic, fired-up comeback keynote (of sorts) at the inaugural Rails World this October. Starting with some history, he quickly built up to what he’s excited about, the benefits of the ‘no build’ approach, the 'one-person framework', and new tools like Kamal and Solid Queue.

David Heinemeier Hansson

▶  Forecasting the Future: An Intro to Machine Learning in Ruby — Why let Python have all the fun? At RailsConf 2023, Landon Gray gave a talk about doing machine learning work in Ruby. Is it viable? Landon found a way through and showed off a complete process in just 15-minutes.

Landon Gray

▶  The Worst Single Page Rails 7 App You'll Ever See — Let's end on a light note! In this bit of April Fools related fun, Dean tried to create the 'worst Rails 7 app ever' by jamming everything possible into the view rather than following Rails’ usual conventions. Plus it's only 12-minutes.

Dean DeHart

Jobs

Find Ruby Jobs with Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.
Hired