Short Ruby Newsletter - edition 161

The one where the date was announced for Rails World 2026, where Aaron Patterson showcased the performance of object allocation in Rails 4.0, where Cookpad share how Rails help them scale, and Fizzy got API support

Table of Contents

(ad) EuroPDF - try it for free

Visit https://www.europdf.eu/shortruby to try EuroPDF for free

β€œWe need this as a PDF.” – β€œOkay, that's fun and easy to implement” (said no developer ever).

What if you could create PDFs using powerful tools you already know, like modern HTML and CSS?

That's exactly why we built EuroPDF. Our clients demanded PDFs, and we wanted to reuse designs we had already implemented for the web. Now you can too!

Powered by the industry-leading PrinceXML rendering engine, simply use specialized CSS features to create beautiful documents for print – complete with page numbers, running headers, exact page sizes, and more. Make dealing with PDFs fun again!

Use code SHORTRUBY on signup to get 20% off any paid plan for the first year.

πŸš€ Launches and discounts

πŸš€ Tute Costa launched railspilot.ai

Source: @tutec

Source: @tutec

πŸ“… Events

πŸ“… Ruby On Rails announced the date for Rails World 2026. Check the blog post for more β†’ Rails World 2026 Update - Here’s what we know

Source: @rails

πŸ“… Blue Ridge Ruby announced they’re returning in 2026 πŸ₯³ and today 15 December we will find mout more:

πŸ‘‰ All about Code and Ruby

πŸ‘‰ ️Aaron Patterson shared some insights about object allocation in Ruby 4.0 (read the thread here):

πŸ‘‰ A PR from Rosa was merged to Rails about Use a modern approach for cross-site request forgery protection

πŸ‘‰ Avo published a very cool tutorial about Building an Audio Player with StimulusJS

πŸ‘‰ Stefanni Brasil published a new article about Higher-order procedures in Ruby

πŸ‘‰ Hans-JΓΆrg Schnedlitz published a new article about Create a Markdown Editor in Ruby on Rails

πŸ‘‰ Adrianna Chang published a new article about Rails’s Swappable Migration Backend for Schema Changes at Scale

πŸ’» Code Samples

οΈοΈπŸ’» Kasper Timm Hansen shared a code snippet showing how to dynamically include ActiveModel attributes

Source: @kaspth.com

οΈπŸ’» Stephen Margheim shared a tip on closing <dialog>s with the ' β€œclosedbyβ€œ attribute

οΈπŸ’» Alessandro Rodi shared a piece of functionality that can be default in Rails

Source: @coorasse

οΈπŸ’» David shared a Rails tip for implementing API token authentication

Source: @dcyoung_dev

οΈπŸ’» Ruby On Rails made an important change with β€œhas_secure_tokenβ€œ being generated on :initialise by default

Source: @rails

οΈοΈπŸ’» Svyatoslav Kryukov shared how to use the new alba-inertia gem

οΈπŸ’» Stefan Wintermeyer is running a Ruby40Advent showing various features of the language and community

Source: @wintermeyer

οΈπŸ’» Fabian shared a Codex-generated code sample and asked his community if it's a valid Rails pattern

Source: @ffaebi

πŸ’» saeloun.com shared a code sample and article about native composite keys in Rails 8:

Source: @saeloun.com

οΈπŸ’» James Kerr shared some ActiveRecords methods

(ad)

Why AI Isn’t Replacing Affiliate Marketing After All

β€œAI will make affiliate marketing irrelevant.”

Our research shows the opposite.

Shoppers use AI to explore options, but they trust creators, communities, and reviews before buying. With less than 10 percent clicking AI links, affiliate content now shapes both conversions and AI recommendations.

(ad) - You can opt out of these ads by upgrading to a paid subscription and join over 60 people who support the expenses for this newsletter

πŸ“ Thinking about Code Design

οΈπŸ“οΈ Jorge Manrubia explained the two types of service objects in DDD

Source: @jorgemanru

οΈπŸ“ Marc KΓΆhlbrugge shared GUIDE.md - The Unofficial 37signals/DHH Rails Style Guide

(ad)

Free, private email that puts your privacy first

Proton Mail’s free plan keeps your inbox private and secureβ€”no ads, no data mining. Built by privacy experts, it gives you real protection with no strings attached.

πŸ’‘Around code (news, findings, books, and more - all about Ruby)

πŸ’‘ Mike Coutermarsh shared about using Rails at Github:

Source: @mscccc

Jared Palmer - SVP of @GitHub, VP CoreAI @Microsoft confirmed:

Source: @jaredpalmer

πŸ’‘ Ruby On Rails announced new documentation PRs β†’ Active Record Query Interface and Active Storage

Source: @rails

❀️ Why Choose Ruby and Rails

❀️ Victoria Melnikova published a new article about Why Evil Martians hosted a Ruby conference in San Francisco

❀️ 𝗑𝗒π—₯𝗔 shared that Rails is becoming the most complete web framework

Source: @Noora_Web3

❀️ Ruby On Rails shared an amazing story about how a migration helped cookpad

Source: @rails

❀️ Errol Schmidt shared how Rails is evolving and is easier to develop new projects

🧰 Gems, Libraries, Tools and Updates

πŸ†• New Gems and Repos

πŸ†• Rob Zolkos announced a new utility β†’ fizzy-cli - β€œA command-line interface for the Fizzy API.β€œ

πŸ†• RailsDesigner published a new gem requestkit - "Capture webhooks and send HTTP requests locally. Think webhook.site meets Postman, but living on your machine where it belongs."

πŸ†• Sam Ruby announced a new filter Ruby2JS Phlex filter

πŸ†• David Silva published a new project Vanilla Roguelike - β€œVanilla is a roguelike game written in Ruby, inspired by the original 1980's Rogue game. It features procedurally generated mazes, player movement, and a flexible architecture based on the Entity-Component-System pattern with an event-driven system for logging and debugging”

πŸ†• Thibaut Baissac published a repo with Rails 8 AI Agent Suite

πŸ†• Dmitry Sychev published a new gem llm_classifier - "A flexible Ruby gem for building LLM-based classifiers. Define categories, system prompts, and domain knowledge using a clean DSL. Supports multiple LLM backends (ruby_llm, OpenAI, Anthropic) and integrates seamlessly with Rails."

🧰 Updates

🧰 David Heinemeier Hansson announced that Fizzy now has an API - Add basic API (read the docs here)

🧰 Jet Brains Ruby Mine announced a new release

Source: @rubymine

🧰 Vicente Reig RincΓ³n De Arellano announced a new version of dspy.rb - β€œThe Ruby framework for programmingβ€”rather than promptingβ€”language models.β€œ

🧰 Benoit Daloze announced an update for concurrent-ruby - β€œModern concurrency tools including agents, futures, promises, thread pools, supervisors, and more. Inspired by Erlang, Clojure, Scala, Go, Java, JavaScript, and classic concurrency patterns.β€œ

🀝 Staysaasy wrote a tip for individual contributors

Source: @staysaasy

🀝 Claude shared a new capability of tasks

Source: @claudeai

🀝 Jen Simmon shared a new release of Safari 26.2:

🀝 Stephen Margheim shared a simple accessibility audit tip

🀝 Simon Willison shared that OpenAI is silently adopting β€œskillsβ€œ

Source: @simonw

More content: πŸ“š πŸ—ž 🎧 πŸŽ₯ ✍🏾

πŸ—ž Newsletters

πŸ—ž Ruby On Rails published a new edition β†’ 'Tis the season for contributing to Rails

πŸ—ž Hotwire Weekly published a new edition β†’ Week 49 - Vanilla CSS, Fizzy, UI Affordances, and more!

πŸ—ž Ruby Weekly published a new edition β†’ Visualizing what ZJIT does when compiling Ruby

🎧 Podcasts

🎧 Ruby on Rails published a new podcast episode β†’ Jay Tennier: How Testing Platform Rainforest QA Tests Itself

🎧 IndieRails published a new podcast episode β†’ Ernesto Tagwerker - OmbuLabs on AI

🎧 Maintainable Software Podcast published a new podcast episode β†’ Kent L Beck: You’re Ignoring Optionality… and Paying for It

πŸŽ₯ Videos

πŸŽ₯ Brad Gessler published a new video β†’ Inheritance

πŸŽ₯ Pete Hawkins published a new video β†’ Rails twitter clone - Part 1

πŸŽ₯ Joe Masilotti published a new video β†’ Missed the Fizzy livestream? Here’s the recap.

πŸŽ₯ Jorge Manrubia published a new video β†’ How we architect Rails apps at 37signals: a Fizzy tour.

πŸŽ₯ Dave Kimura published a new video β†’ Cool Things in Fizzy

✍🏾 Articles

What’s new πŸ†•

πŸ†• Adrianna Chang published a new article about Rails’s Swappable Migration Backend for Schema Changes at Scale

πŸ†• Radan Skoric published a new article about Why frozen test fixtures are a problem on large projects and how to avoid them

πŸ†• Daniela Baron published a new article about Sustainable Feature Testing in Rails with Cucumber

πŸ†• Rails Designer published a new article about More readable integer comparisons in Ruby

πŸ†• Stefanni Brasil published a new article about Higher-order procedures in Ruby

πŸ†• Rob Zolkos published a new article about Fizzy Design Evolution: A Flipbook from Git

πŸ†• Mario Alberto ChΓ‘vez published an article about Rails MCP Server: Context-Efficient Tool Architecture | Mario Alberto ChΓ‘vez

πŸ†• Josef Strzibny published a new article about Lessons learned from studying Fizzy test suite 

πŸ†• Rob Zolkos published a new article about Fizzy's Pull Requests: Who Built What and How

πŸ†• Julik Tarkhanov published a new article about Making Rails Global IDs safer

How-TOs πŸ“

πŸ“ Avo published a new article about Building an Audio Player with StimulusJS

πŸ“ Greg Molnar published a new article about Customizing Omarchy with Ruby

πŸ“ Hans-JΓΆrg Schnedlitz published a new article about Create a Markdown Editor in Ruby on Rails

πŸ“ Josef Strzibny published a new article about How to choose the right admin gem for your Rails application

πŸ“ Felice Forby published a new article about Honeybadger deployment tracking for Rails with Kamal and Doppler

✍️ Obie Fernandez published a new article about What happens when the coding becomes the least interesting part of the work

✍️ Matt Swanson published a new article about My Year in Review: 2025

Reply

or to participate.