#​677 — November 9, 2023

Read on the Web

Together with  Bosch

Ruby Weekly

▶  Ruby on Rails: The Documentary — Skip Netflix and enjoy this well produced 45-minute documentary going into the history of Rails (including the infamous 'F— You' slide) and DHH's relationship with the project and the community. A few other folks pop up to flesh out the story and we get to see a six-year old DHH! If you prefer to read, don't worry – we're told a written version will be available shortly.


💡 If you like this sort of documentary, a recently released ▶️ TypeScript origins documentary was also fantastic, even if you're not a TypeScript developer.

Should I Add Typing to My Ruby Project? — Last week we linked to Radan’s experiment in adding types to a Ruby project. This week he’s back with a quick, quantitative way for you to evaluate whether your team should be considering adding types to your project (and how).

Radan Skorić

Feel the Power of More Than 420,000 Teammates and Work #LikeABosch — At Bosch, we shape the future with high-quality technologies and services to inspire people and improve their lives. And it’s our people who make us remarkable. Our success is your success. Let’s celebrate together. Learn more.

Bosch sponsor

The Ultimate Loofah Cheatsheet for RubyLoofah is a gem for transforming and sanitizing HTML/XML built on top of Nokogiri.

Mohan Ganesan

💡 If you prefer Nokogiri, however, Mohan has a Nokogiri cheat sheet too.

Using the Neighbor Gem for AI EmbeddingsNeighbor makes storing AI embeddings using pgvector simple, so you can do ‘nearest neighbor’ searches for things (i.e. the most similar image or document) in an idiomatically Active Record way.

Christopher Winslett (Crunchy Data)

📕 Articles & Tutorials

Ruby 3, Hashes and Keyword Arguments — Can you spot the issue in the code above? “We didn’t for a while.” Ryan digs into how a change in how Ruby 3 handles keyword arguments led to confusion.

Ryan Bigg

See the History of a Method with git log -L — While git log lets you see commit logs, you can use the -L option to “trace the evolution” of a specific method, showing you logs of how it has changed over time, regardless of other things happening in the same file.

Caleb Hearth

💸 Need to Upgrade Rails but Can’t Get Budget Approval? Get a Roadmap — Secure a detailed Ruby and Rails upgrade action plan with timelines and estimates to strengthen your business case.

The Roadmap by FastRuby.io sponsor

Sponsoring Rails World: What Did It Cost, and Was It Worth It? — If you’re as nosy as me about these sorts of things, Roy is pretty transparent here.

Roy Tomeij

▶  Detect Spam with AI — Python and an LLM do the heavy lifting here, but David shows us how to integrate with them to add a feature to a Rails app.

David Kimura

Undo in assets:clobber What You Do in assets:precompile — The assets:clobber Rake task is the less well-known sibling of assets:precompile.
Caleb Hearth

git rebase: What Can Go Wrong?
Julia Evans

🛠 Code & Tools

JRuby Released: Ruby 3.x on the JVM — The Ruby 3.1-compatible JRuby version gains support for the experimental Fiber::Scheduler and IO::Buffer APIs (based on the Ruby 3.3 implementation) if you enable them with -Xexperimental.fiber.scheduler.

The JRuby Team

ActualDbSchema: Keep a Rails DB Schema Consistent When Switching Branches — Migrations can get messy if you’re switching branches in a Rails app. This helps clean up that mess. Now supports Rails 7.1.

Andrei Kaleshka

Get APM Insights into Your Ruby Apps in Less Than 4 Minutes! — Whether it's those pesky N+1 database queries or memory bloat troubles, Scout's got your back. It's all about making sure your Ruby apps run smoothly and effortlessly.

Scout APM sponsor

Pwned: Ruby Wrapper for the Pwned Passwords API — Check if a password has been found in any of the many frequent data breaches that occur.

Phil Nash


Numerous long-standing standard libraries are now distributed and updated separately from CRuby itself and several such updates have landed this week:

Note: These updates are minor in nature with no significant new features, and based around fixes and tweaks.


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.

🎁 A quick bonus item..

Indent Rainbow: Make Indentation More Colorful in VS Code — I appreciate if this doesn’t click for you, but I recently discovered this VS Code extension that makes indentation levels more obvious through the use of color (either bars, as above, or lines). It has six million downloads, so I may be late to the party, but.. anyway 😆

Hans Raaf