---
title: "Reminisicing about Ruby's neighbor Perl"
publication: "Ruby Weekly"
issue: 771
published_at: "2025-10-16"
canonical_url: "https://rubyweekly.com/issues/771"
---

Plus the Ruby Prize finalists, a new Rails-based site generator, and a standards compliant Tetris implementation, kinda. |        

#​771 — October 16, 2025 

[Read on the Web](https://rubyweekly.com/issues/771)  

Together with [![Kolosek logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_1280,h_243/e_make_transparent/co_white,e_outline:14/zgovounhyujbyde53lwy.png)](https://go.kolosek.com/ruby-audit)   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/onf2xa7n9mz793hgmloc.jpg)](https://remimercier.com/introduction-to-minitest/)  

[Lost in Minitest? Start Here!](https://remimercier.com/introduction-to-minitest/) — I’m a big Minitest fan, but RSpec is still the most common testing framework [in most survey results I see](https://railsdeveloper.com/survey/2024/#what-rails-testing-frameworks-are-you-using-to-write-tests). Remi’s article will help, though, if you want to make the move to an option that comes with Ruby’s standard library and is the default solution in Rails. 

Remi Mercier   

💡 If you still prefer spec-style tests, Remi followed up [with a look at Minitest::Spec](https://remimercier.com/minitest-spec/), a way to get spec-style syntax in Minitest.  [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/e15e11f7.png)](https://example.com/) 

[❤️ Giving Back After 17 Years in Rails](https://example.com/) — After building 50+ Rails products, we’re giving [back with a free 30-min tech audit](https://go.kolosek.com/ruby-audit) of your Rails product — just for Ruby Weekly readers. No hard sell, just insights. Unfortunately, for a limited time only. [Book a free session with our CTO](https://go.kolosek.com/ruby-audit-direct). Sponsor ghosted us. 

Kolosek sponsor   

[_Ruby Central_ Faces Backlash After Publishing Incident Timeline on RubyGems Access Dispute](https://socket.dev/blog/ruby-central-faces-backlash-after-publishing-incident-timeline-on-rubygems-access-dispute) — The Ruby Central / RubyGems incident continues to unfold with Ruby Central [sharing a timeline](https://rubycentral.org/news/rubygems-org-aws-root-access-event-september-2025/) relating to an ex-maintainer still having access to the service (yielding [this post in reply](https://andre.arko.net/2025/10/09/the-rubygems-security-incident/)). In a subsequent [‘Source of Truth Update’](https://rubycentral.org/news/source-of-truth-update-friday-october-10-2025/), Ruby Central stressed that the RubyGems service is secure, and that they're taking steps to restore community trust. 

Sarah Gooding (Socket)   

✍️ On a vaguely-related tangent, Jean Boussier has written about [how Shopify is not Ruby's 'enemy'](https://byroot.github.io/opensource/ruby/2025/10/09/dear-rubyists.html) and why we need _'more companies doing their part'_ like them.  

**⚡️ IN BRIEF:** 

- 🏆 The final nominees for [this year's _Ruby Prize_](https://rubyprize.jp/) have been revealed: Stan Lo (IRB maintainer), Kouhei Sutou (core contributor), and Satoshi Tagomori (who's working on [namespaces](https://rubykaigi.org/2024/presentations/tagomoris.html)). The winner will be announced at next month's [RubyWorld Conference.](https://2025.rubyworld-conf.org/en/)
- [Vinny Diehl's Tetris](https://github.com/vinnydiehl/tetris) is an interesting DragonRuby-powered Tetris implementation built to the official Tetris 'design guidelines.' You can [play it on the Web here](https://vinnydiehl.itch.io/rubystacks) _(beware: loud audio once you click play)_.
- [Rails 8.1.0 RC 1](https://github.com/rails/rails/releases/tag/v8.1.0.rc1) has been released.   

[Locating Elements in Hash Arrays Using Pattern Matching](https://allaboutcoding.ghinda.com/how-to-use-pattern-matching-to-locate-elements-in-a-hash-array) — Certainly a nifty alternative technique worth considering for certain scenarios. 

Lucian Ghinda   

🐪 [Ruby and Its Neighbors: Perl](https://noelrappin.com/blog/2025/10/ruby-and-its-neighbors-perl/) — Before I was a Rubyist, I was a _Perl monger_, so it’s neat to see Noel reflect on a language which influenced Ruby quite a bit, at least in the early days, both in its name and syntax. 

Noel Rappin   

[Actually Doing Things in the User's Time Zone](https://blog.julik.nl/2025/10/chronically-actioned) — The “thing” in question is delivering a newsletter during the user’s daytime. There are several approaches, each with its own trade-offs, but it’s a reasonably solvable problem. 

Julik Tarkhanov   

[What Shopify, Tailwind, and Stripe Use for Pair Programming](https://tuple.app?utm_source=cooperpress&utm_medium=newsletter&utm_campaign=ruby_weekly_sponsored_20251016) — Tuple is the most effective way to unblock PRs, make technical decisions, and polish or review code. 

Tuple sponsor   

📄 [Localization in Rails: Yes, No, On, or Off?](https://allaboutcoding.ghinda.com/ruby-on-rails-loading-locales-with-yes-no-on-and-off) – A look at how the Psych parser can interpret terms like ‘yes’, ‘no’, ‘on’, ‘off’ (and variants of such) in YAML locale files. Lucian Ghinda 

📄 [How I Ran One Ruby App on Three SQL Databases for Six Months](https://mackuba.eu/2025/10/15/three-bases-one-app/) Kuba Suder 

📄 [Capacity Planning for Multi-Tenant SQLite Applications](https://intertwingly.net/blog/2025/10/12/Capacity-Planning.html) Sam Ruby 

📄 [How Does Turbo Work with Action Cable?](https://ducktypelabs.com/how-does-turbo-work-with-action-cable/) Sid Krishnan  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/xkt5k0mt2xzshzseqq01.jpg)](https://railsdesigner.com/introducing-perron/)  

[Introducing Perron: A Rails-Based Static Site Generator](https://railsdesigner.com/introducing-perron/) — A way to build static sites while staying entirely within the Rails ecosystem and its conventions. Its own [docs site](https://perron.railsdesigner.com/docs/) is built with Perron. [GitHub repo.](https://github.com/Rails-Designer/perron) 

Rails Designer   

[rv 0.2: The Rust-Powered Ruby Version Manager](https://andre.arko.net/2025/10/11/announcing-rv-0.2/) — rv is a new Ruby management tool inspired by [uv](https://docs.astral.sh/uv/) which has had a huge impact in the Python world lately. [GitHub repo.](https://github.com/spinel-coop/rv) 

André Arko   

[Plan Your Rails Upgrade With Our AI-Powered Tool: In Minutes → Not Weeks](https://go.fastruby.io/4ma) — With a few clicks, know what it takes to upgrade your Rails App. Low on time? Partner with the 🌳 [Bonsai team](https://go.fastruby.io/xg2) to execute. 

FastRuby.io | Upgrade Experts sponsor   

[Rack::Attack 6.8: Rack Middleware for Blocking and Throttling](https://github.com/rack/rack-attack) — A long standing project that provides you with some added options for protecting your Rails and other Rack-based apps from bad clients whether through blocking or throttling their requests. 

Rack Project   

🛠️ [RspecWatchdog: Track the Performance and Reliability of RSpec Tests](https://github.com/windmotion-io/rspec-watchdog#readme) WindMotion   

- 🔐 [Ruby SAML Identity Provider 1.0](https://github.com/saml-idp/saml_idp) – Let your app act as an IdP (Identity Provider) using [SAML v2.0.](https://en.wikipedia.org/wiki/SAML_2.0)
- [RubyCritic 4.11](https://github.com/whitesmith/rubycritic) – Ruby code quality reporter that wraps several analysis tools.
- [ActiveRecord::Tenanted 0.5](https://github.com/basecamp/activerecord-tenanted) – Enable a Rails app to have separate databases for each tenant. Currently in its early stages.
- [Warbler 2.1](https://github.com/jruby/warbler) – Package Ruby apps into `jar` or `war` files for deployment in the Java ecosystem.
- 🤖 [MCP Ruby SDK 0.4](https://github.com/modelcontextprotocol/ruby-sdk/releases/tag/v0.4.0) – Official Ruby SDK for the Model Context Protocol.
- [Torch.rb 0.22](https://github.com/ankane/torch.rb) – Deep learning for Ruby, powered by LibTorch 2.9.0.
- 🤖 [OpenAI Ruby 0.31](https://github.com/openai/openai-ruby) – Official Ruby SDK for the OpenAI API.
- [MiniCSS 0.1.7](https://github.com/heyvito/minicss) – CSS parser, serializer, and selector toolkit.
- [Statesman 13.1](https://github.com/gocardless/statesman) – Opinionated state machine library.
- [Prism 1.6](https://github.com/ruby/prism) – The Ruby language parser.
- [Sinatra 4.2.0 / 4.2.1](https://github.com/sinatra/sinatra) ([changelog](https://github.com/sinatra/sinatra/blob/main/CHANGELOG.md))       

📰 Classifieds   

🛟 Tech debt consuming your dev time? [SINAPTIA's Ruby experts](http://sinaptia.dev/services/staff-augmentation?utm_source=cooperpress&utm_medium=newsletter&utm_campaign=rubyweekly-2025q4&utm_content=classified%20) join your team on demand to handle maintenance, fix legacy code, and tackle issues.    

📢 Elsewhere in the ecosystem  

A roundup of some other interesting stories in the broader landscape: 

- [PostgreSQL 18](https://www.postgresql.org/about/news/postgresql-18-released-3142/) was released recently and [its new asynchronous I/O subsystem](https://pganalyze.com/blog/postgres-18-async-io) promises immediate performance benefits for certain workloads. PlanetScale's Ben Dicken [benchmarked Postgres 17 vs Postgres 18](https://planetscale.com/blog/benchmarking-postgres-17-vs-18) to see how v18 shapes up – pretty well, it turns out.
- With this week's release of [Firefox 144](https://www.firefox.com/en-US/firefox/144.0/releasenotes/), all major browsers now support [_view transitions,_](https://developer.chrome.com/docs/web-platform/view-transitions) a particularly neat front-end feature.
- Brooke Kuhlmann shows off [how (and why) you might make an empty Git commit](https://alchemists.io/articles/git_commit_empty) in your repo.
- You may know we also run [a JavaScript newsletter](https://javascriptweekly.com/)? The biggest news in the JavaScript world right now is [the release of Bun v1.3.](https://bun.com/blog/bun-v1.3) It's a big step forward for what has turned out to be a very developer-friendly, high-performance full-stack JavaScript runtime. The feature list is too big to go through here, but if you've ever been burnt/confused by Node.js, Bun might be a breath of fresh air.
- [Writing regex is pure joy. You can't convince me otherwise.](https://triangulatedexistence.mataroa.blog/blog/writing-regex-is-almost-pure-joy-you-cant-convince-me-otherwise/) Seconded!         

Curated by [Peter Cooper](https://twitter.com/cooperx86) and [Glenn Goodrich](https://twitter.com/ruprict).
Published by [Cooperpress](https://cooperpress.com/). 

[Change your email](https://rubyweekly.com/edit_subscription/*|UID|*) or [Stop getting this newsletter.](https://rubyweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

Other weekly newsletters we publish include [Postgres Weekly](https://postgresweekly.com/), [React Status](https://react.statuscode.com/), [Frontend Focus](https://frontendfoc.us/), and [JavaScript Weekly](https://javascriptweekly.com/).
