#​575 — October 21, 2021

Read on the Web

Ruby Weekly

What We Can Learn From _why, The Long Lost Developer — GitHub has done a lovely feature about a Rubyist whose name you might have encountered: why the lucky stiff. _why was a prolific member of the Ruby community many years ago who wrote a popular introductory guide to the language, maintained several libraries, drew cartoons, and even wrote the foreword to my book for which I’ll be eternally grateful :-) _why is no longer in the Ruby scene(?) but their memory, work, and attitude live on.

GitHub ReadME Project

YJIT: Building a New JIT Compiler for CRuby — The JIT future of Ruby is YJIT, which is based on concepts from this author’s Ph.D. thesis, so she has a great and enthusiastic perspective on YJIT’s past, current state, and future.

Maxime Chevalier-Boisvert (Shopify)

Shortcut Puts the 'Can' in Kanban and the Agile in Agile — Whether you're a startup that iterates quickly by giving engineers a free pallet of Red Bull, or a large org that has strict ship dates to hit, Shortcut is the ideal solution for task management, bug tracking, iteration planning, and reporting.

Shortcut (formerly Clubhouse.io) sponsor

YJIT Just-In-Time Compiler Merged into CRuby — A month ago we linked to the proposal to merge YJIT (mentioned above too) into CRuby/MRI but here’s the actual pull request. Fantastic progress.

Maxime Chevalier-Boisvert et al.

Ruby Central + Ruby Together == The FutureRuby Central is a 20-year old organization that has been fundamental in organizing events like RubyConf and RailsConf, providing grants, supporting the RubyGems project, etc. and Ruby Together is a younger organization that has focused on funding the development of tools like Bundler and RubyGems. These great organizations, with their shared goals, have decided to come together.

Ruby Together



Principal Ruby Platform Engineer (Remote - EST Timezone +/- 3 hours) — Interested in Fintech? Join our core team building the AI that will level the playing field for self-directed investors.

Software Engineer, Ruby/Rails | Remote within MT (-3/+3 hours) | Full-Time — Build innovative telehealth and workflow tools for over 1.8 million clinicians (including 80% of all U.S. physicians).

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

Detecting Early Returns from a Block — We included this link last week but the author changed the URL just after we sent.. so it was broken for most of you :-) So it’s here again in corrected form as I thought it was an interesting little technique.

Ben Sheldon

Optimistic Locking in Rails REST APIs — If you’re worried about losing data due to concurrent edits, Rails and ActiveRecord provide simple optimistic locking out of the box.

Karol Galanciak (AppSignal)

▶  The Ruby VM: A Speedrun — An 18-minute talk flying through the basic ideas of virtual machines and how they relate to Ruby.

Penelope Phippen

Spend Less Time Debugging and More Time Building with Scout APM — Scout is a lightweight, production-grade application monitoring service built for modern development teams. Just embed our agent in your application, we handle the rest.

Scout APM sponsor

Business Logic in Rails with Operators — Another approach on keeping logic out of models and controllers with some small variations on the Service Object theme.

Petr Hlavicka

▶  'Ruby is Still a Diamond' with Emma Hyde — Emma wrote Ruby is Still a Diamond which we linked to several issues ago and which, in essence, beat the drum for Ruby a bit. She’s now on the Ruby on Rails Podcast to talk about her excitement for Ruby and, in particularly, modern Ruby features.

The Ruby on Rails Podcast podcast

A Series on Creating 'Wizards' in Rails Apps — We forgot to include this earlier in the year, but you may find it useful if you want to create a multi-step form experience powered by Hotwire and Turbo.

Jon Sullivan

▶  Getting Started with RBS in RubyMine — Even if you don’t want to use JetBrains’ Ruby IDE, it’s interesting to see how Ruby 3.0’s RBS features add code insights during development.

Natalie Kudanova (JetBrains)

Don't Mix Refactorings with Behavior Changes
Jason Swett

🛠 Code & Tools

Yake 0.4.0: A DSL for Writing AWS Lambda Handlers in Ruby — The selling point is it uses a Rake-like declarative syntax.

Alexander Mancevice

Closure Tree 7.4.0: Make Active Record Models Support Tree Hierarchies — Think things like tags, threaded comments, page graphs in CMSes, or tracking user referrals.

Matthew McEachen

RubyGems Trust Us as Their DNS Provider. Find Out Why You Should Too

DNSimple sponsor

Test::Unit 3.5: Ruby's Legacy Testing Library — I had no idea this was still being maintained and used, but it is.

Test::Unit Contributors

Hanami v1.3.5 Released: A Modern Web Framework for Ruby
Luca Guidi

ActsAsArchival 2.0: ActiveRecord Plugin for Atomic Archiving and Unarchiving of Object Trees
Expected Behavior