#​718 — September 5, 2024

Read on the Web

Together with  FastRuby.io

Ruby Weekly

Ruby 3.3.5 Released — Not a big release (you’ll be waiting till Christmas Day for that!) but a scheduled minor bug fix release covering a variety of issues. Based on the current schedule, 3.3.6 should land in early November.

Takashi Kokubun

The Thread API: Concurrent, Colorless Ruby — The latest in JP’s ongoing series about concurrency, parallelism and asynchronous programming. This time, the topic is Thread’s API, an oft misunderstood part of Ruby.

JP Camara

🚨 Need to Upgrade Rails on a Budget? — Too many security holes in production? Stuck on Ubuntu 20? FastRuby.io’s maintenance services offer a monthly, cost-effective solution. Top-notch engineering teams trust Bonsai to gradually upgrade their outdated Rails applications with 0 downtime.

Bonsai by FastRuby.io sponsor

Say No to Partials and Helpers for a Maintainable Rails Front-End? — Adam enjoyed Garrett Dimon’s post last week on structuring ERb and partials, but thinks we can go a step further in keeping things clean: by using Phlex instead!

Adam McCrea

🤖 Transpiling Go and Java to Ruby using LLMs — An interesting look at a successful attempt to transpile existing Java and Go code to Ruby using the cutting edge, commercial GPT-4o and Claude 3.5 Sonnet models. It’s not the most idiomatic Ruby code, of course.

Symflower

Scaling Rails & Postgres to Millions of Users at Microsoft — Rails at Microsoft? Yup, but that’s not the value of this interview. Andrew, the author of High Performance PostgreSQL for Rails, talks about his experience with database internals, proactive monitoring, and scaling complex systems. The interview is in video form but a full transcript is provided.

Harry Tormey

IN BRIEF:

Even Better Specs: Guidelines for Maintainable Tests — An opinionated set of best practices to support the creation of tests that are easy to read and maintain (with a focus on RSpec). Being opinionated you might disagree with some of the points, but it’s good to think about this stuff.

Glauco Custodio

Developer’s Guide to Autoscaling on Heroku — Why autoscale, and what’s the difference between autoscalers? Check out our illustrated guide.

Judoscale sponsor

📄 Authenticating with OmniAuth and OpenID Connect (OIDC) in Rails Apps Suleyman Musayev

📄 Creating a Git Commit: The Hard Way – An interesting look under the hood. Aryan Ebrahimpour

📄 Building Nested Forms in Rails with Stimulus Rails Designer

🛠 Code & Tools

rbspy 0.25.0: A Sampling Profiler for Ruby — What's better than a profiler report for optimizing app? Profiling in real time! rbspy lets you profile an app without even having to restart it. v0.25.0 extends support to Ruby 3.3.5. GitHub repo.

Evans, Jensen, et al.

🌐 i18n_data 1.0: Country/Language Names in 85 Languages — Present users with country and language names in their own language. Also covers 2 letter country codes and conversion back and forth.

Michael Grosser

The VP of Engineering Guide to CapEx Vs OpEx Budgeting — Understand how CapEx vs OpEx decisions impact not only your team, but also the broader org. (And impress your boss!)

Test Double sponsor

pg-locks-monitor: Observe PostgreSQL Locks in Rails Apps — A way to observe database locks generated by a Rails app. By default, lock status isn’t persisted in any logs, so monitoring it requires a little more live analysis.

Paweł Urbanek

101101.. ActiveFlag: A Bit Array for Active Record — Store up to 64 multiple binary flags as a bit field/array in a single integer column with Active Record.

Kenn Ejima

ruby-oembed 0.18: An oEmbed Consumer Library for RubyoEmbed is a type of URL-specific metadata numerous Web sites support (such as when linking to YouTube videos or blog posts).

Magnus Holm, et al.

ActiveRecordTracer: A Tracer for Active Record Queries — Trace queries and report on them by frequency, location, models loaded, and other dimensions to track down DB and SQL performance issues faster.

Dima Fatko

minitest-rerun-failed: Easily Rerun Failed Tests with Minitest

Søren Houen