#​672 — October 5, 2023

Read on the Web

Together with  Memetria

Ruby Weekly

Rails 7.1 Released — It’s a big week for Rails. The sold-out Rails World 2023 conference (above) has just started in Amsterdam, and unsurprisingly the latest version of Rails landed just in time for DHH’s keynote 😄 What's new?

And check out the release notes for the 'much, much more..'

Rafael Franca and the Rails Team

Memetria: Secure, Scalable Redis 7 Hosting — High performance Redis hosting with large key tracking, detailed metrics, and a superior uptime record.

Memetria sponsor

Writing Object Shape Friendly Code in Ruby — A new optimization in Ruby 3.2 (with more to come in 3.3) involves how the VM accesses and caches instance variables, where being consistent with how you define these variables will yield performance benefits. Ben looks at how to optimize your own code for this concept of ‘object shapes’.

Ben Sheldon

💡 Jemma Issroff of the Ruby core team gave ▶️ a great talk about the implementation of these optimizations at Euruko last year.

📕 Articles and Tutorials

A Very Basic Ruby HTTP Server from Scratch — One of the (many) reasons for Sidekiq’s success could be Mike’s practical approach to building software, like this in-process HTTP server for Kubernetes health checks.

Mike Perham

On Using Phlex“The most important characteristic of Phlex in my opinion is that, at least for Rails, it’s a view layer we never had but always needed.”

Paweł Świątkowski

A Simple Introduction to ConnectionPoolConnectionPool by Sidekiq’s creator Mike Perham is one of my personal favorite libraries and provides a generic connection pooling mechanism you can use with (almost) anything.

Michał Łęcicki

That’s Some Funky Stuff—Who’s Going to Work on That? — Solving strange, complex problems in legacy codebases is our specialty. Let’s make things more maintainable.

Test Double sponsor

▶  Embedding Stripe Checkout into a Rails App — A 20 minute screencast with all you need, complete with the Stimulus code to getting it working.

David Kimura

How to Communicate Like a GitHub Engineer — A little look behind the scenes.
Balter and Matlack (GitHub)

Distributing Docker Images for Rails Apps with GitHub Actions
Dennis Martinez

▶  A Look at the New Health Check Endpoint in Rails 7.1
Colin Jilbert

🛠 Code & Tools

📊  Ahoy 5.0: Simple Headless Analytics for Rails Apps — Track visits and events in your app. By default, data is stored in your normal database. Now supports Rails 6.1 through 7.1. If you’re using a prior version, there’s an upgrade guide. If you want to see how it works, ▶️ this screencast from earlier in the year is particularly helpful.

Andrew Kane

💡 Blazer can be used to explore the data collected, and Ahoy Captain is a third party dashboard that uses it too.

ColumnsTrace: Find Unnecessarily Selected Database Columns — Detects unnecessary selected database columns in Rails controllers, ActiveJob and Sidekiq jobs, because taking more than you need is bad for performance.


So There I Was, Using Your App, When Suddenly…🤯 — Let users tell you what happened in their own words when encountering an error. See how it works!

Honeybadger sponsor

Nokolexbor: A Faster Drop-in Replacement for Nokogiri — I’ve not tested its performance claims (of being 5.2x faster at parsing HTML) but this Lexbor-based HTML5 parser certainly works – installed very quickly too – and provides another option.


Audited 5.4: An Extension That Logs Changes to Rails Models — Formerly known as acts_as_audited. Support for Rails 7.1 has just landed.

Collective Idea

Ruby Units 4.0: A Unit Handling Library — Designed to simplify (and provide a structure around) the handling of units (such as for lengths, weights, or time) for scientific calculations.

Kevin Olbrich

Logster: Log Viewer UI and Framework for Rack — An embedded Ruby ‘exception reporting service’ admins can view on live sites.



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.

“The mark of a mature programmer is willingness to throw out code you spent time on when you realize it's pointless.”

Bram Cohen