#​570 — September 16, 2021

Read on the Web

Ruby Weekly

The Future 'Shape' of Ruby Objects — Chris looks at history to propose a change to MRI around shapes which are a form of polymorphic inline cache used in Self (a shoot-off of Smalltalk) and if you’re still reading then you’ll enjoy this article. At the very least, you’ll learn something about how Ruby internally handles objects, as it’s very well presented.

Chris Seaton

Rails 7.0 Alpha 1 Released — DHH has teased us with looks at what Rails 7 will offer, particularly in regard to its management of JavaScript code, for the past few weeks, but now there’s an official alpha release to dig into. Other goodies like encrypted attributes and async query loading also make an appearance.

David Heinemeier Hansson

Rails Rollout Strategies — Cloud 66 now supports Blue / Green deployments, Canary Releases and Preview Deployments. Build, test and ship higher-quality applications quicker and with less effort. 4-week free trial + extra $100 free credits with the code: Ruby-Weekly!

Cloud 66 sponsor

First Impressions of Ruby 3.1's Shorthand Hash Syntax — Remember when Ruby 1.9 added the { a: 10 } style format? This change is smaller but opens up quite a few interesting (and confusing) ideas, especially the ability to define a method as a key-value pair.

Brandon Weaver

Goodbye, Dear Frank — Over the weekend, the Jekyll core team learned of the passing of one of our own: Frank Taillandier, a prolific Jekyll project maintainer.

Jekyll Team

How to Build a Search Engine with Ruby and Rails — Search is easy…until it isn’t, and that’s when you start diving into raw SQL or creating functions in the database. What if you made your Ruby code smarter and more flexible?

Justin Searls


Backend Engineer | Remote within CET (-3/+3 hours) | Full-time — Join us as a Backend Engineer to create the finance solution all businesses love - Tailor made remote policy or relocation package.

Senior Ruby Engineers | Remote US/EMEA | Full-Time — Orbit is building mission control for communities like Kubernetes and CircleCI. Join our remote team that values empathy and the occasional space pun.

Find Ruby Jobs Through Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.

📕 Articles & Tutorials

To Free or Not to Free: A Story About a Memory Leak in Strings — Size is not important when it comes to bugs, which is proven by this well-explained, very simple fix where you’ll learn a lot about strings in Ruby and how to set them free.

Peter Zhu

Friendlier UUID URLs in Ruby — UUIDs (Universally Unique Identifiers) have a long, cumbersome look to them, but they can be useful if you want non-sequential IDs that don’t give away the size of your dataset. This post analyzes their generation and manipulation in Ruby.

Francois Buys

Building a Documentation Workflow in Rails — Good docs make happy customers but it can be HARD. Learn a workflow to keep your docs and updates running smooth like 🧈.

Honeybadger sponsor

Jekyll and the Genesis of the Jamstack — The creator of Bridgetown laments what he sees as the waning of the popular Jekyll static site generator but looks forward to the bright future of SSGs.

Jared White

The Tale of Sprockets and Webpacker Duality — Sure, you’re dual-booting Rails versions, but are you dual-building your frontend assets? This can help if you’re migrating from Sprockets to Webpacker or rebuild or jsbundling or…something else.

Evil Martians

RSpec Negated Matchers — How to use define_negated_matcher to test that the opposite of an existing matcher works as expected in a RSpec test.

Taylor Kearns

▶  Discussing Going from Development to Production — Five developers talk about their experiences in setting up a maintainable development environment and discuss considerations when deploying to production.

Ruby Rogues Podcast podcast

Free eBook: Effective Indexing in Postgres

pganalyze sponsor

▶  Aim for Good (GoodJob) with Ben Sheldon — We’ve recently mentioned Good Job a few times - it’s a multithreaded, Postgres-based, ActiveJob backend for Rails. Its creator went on to the popular Ruby on Rails Podcast to speak about its genesis, why you’d use it, and the life of being an open source maintainer.

The Ruby on Rails Podcast podcast

How I Keep My Rails Controllers Organized
Jason Swett

🛠 Code & Tools

HatchBox: Ruby on Rails Apps on Your Own Hosting Provider — HatchBox uses a cloud provider (Digital Ocean is supported currently) to deploy servers, databases, and tons of other Rails-related software to create an easy push-button deployment.


rails-base-app: A 'Base' Application for Rails 6 Projects — A Rails template with added opinions, including RSpec and Capybara, rubocop, byebug, Devise, Pundit, i18n-ready strings, and more.

Bruno Facca

Frak: A Lightweight Deployment Tool That Uses Rsync — Not a new project, but sent in from a long time reader, so why not? It’s a Ruby script that uses Rsync to deploy code without going via your version control (whether for good or bad..)

Franklin Strube

Clearance 2.5: Email and Password-Based Rails Authentication
thoughtbot, inc.

Solidus 3.1.0: Rails-Powered eCommerce System
Solidus Project

M.RB: A Test::Unit Runner That Can Run Tests By Line Number
Nick Quaranto