---
title: "Let's get YJIT into MRI"
publication: "Ruby Weekly"
issue: 572
published_at: "2021-09-30"
canonical_url: "https://rubyweekly.com/issues/572"
---

Plus some natural language metaprogramming magic and tweaks to Ruby's CoC. |        

#​572 — September 30, 2021 

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

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/bxzizhnbo6isy9epm9aq.jpg)](https://bugs.ruby-lang.org/issues/18229)  

[Proposal to Merge YJIT Into CRuby / MRI](https://bugs.ruby-lang.org/issues/18229) — YJIT is a just-in-time compiler used by teams at Shopify and GitHub offering decent benchmark gains over vanilla CRuby. Its background was explained in [this post back in June.](https://pointersgonewild.com/2021/06/02/yjit-building-a-new-jit-compiler-inside-cruby/) This proposal is to merge it now to start getting core team feedback and prepare for an eventual 3.1 or 3.2 release, and Matz has already given the process his thumbs up. 

Ruby Issue Tracking   

[Stimulus 3 + Turbo 7 = Hotwire 1.0](https://world.hey.com/dhh/stimulus-3-turbo-7-hotwire-1-0-9d507133) — DHH formally announces Hotwire 1.0, calling it the “ideal stack for front-end development” since it powers HEY, Basecamp 4, and JavaScript in Rails 7 as the industry benefits from “conceptual compression.” _"HTML Over The Wire is the way,"_ says David. There's also a specific [Stimulus 3 release post](https://world.hey.com/hotwired/stimulus-3-c438d432)too. 

David Heinemeier Hansson   [![\](https://copm.s3.amazonaws.com/f1fb12f3.png)](https://ter.li/xvmuxq) 

[Try Scout’s New Error Monitoring Feature Add‑On for Free](https://ter.li/xvmuxq) — Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues in minutes. See for yourself why Scout is a Ruby developers’s best friend with a free 14-day trial, no credit card needed. 

Scout APM sponsor   

[Stamping Out Overflow Checks in Ruby](https://chrisseaton.com/truffleruby/stamping-out-overflow-checks/) — If you like digging into the weeds of optimizations and Ruby implementation details, you should read this post about stamps, masking, and how to squeeze a bit more performance out of [TruffleRuby](https://github.com/oracle/truffleruby) under certain conditions. 

Chris Seaton   

**QUICK BITS:** 

- Jemma Issroff, who you may know for writing the frequent 'tip of the week' section in Ruby Weekly, has released a new book: [_"Ruby Garbage Collection in Under Two Hours"_](https://jemma.dev/book/rubyweekly) – that link takes 10% off automatically too.
- There have been some tweaks to the [Ruby Community Conduct Guidelines](https://www.ruby-lang.org/en/conduct/) to ['remove abuse enabling language'](https://github.com/ruby/www.ruby-lang.org/pull/2690) after an incident on the [ruby-talk](http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml) list.     

Jobs  

[Full Stack Engineer (Rails, New York)](https://angel.co/company/dovetale/jobs/483906-full-stack-engineer-rails) — Dovetale helps Shopify merchants like KontrolFreek and Italic grow their creator community. Built in NYC and backed by Uber founders. 
Dovetale   

[Senior Ruby Engineers | Remote US/EMEA | Full-Time](https://orbit.love/weloveruby) — Orbit is building mission control for communities like Kubernetes and CircleCI. Join our remote team that values empathy and the occasional space pun. 
Orbit   

[Find Ruby Jobs Through Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-rubyweekly%29&utm_content=find-your-next-job) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 
Hired    

📕 Articles & Tutorials  

[More Ruby Magic](https://noelrappin.com/blog/2021/09/more-ruby-magic/) — Noel walks us through a code experiment around interpreting dates using natural language that may not be overly useful but is kinda fun anyway. 

Noel Rappin   

[Multi-Factor Authentication for Rails with WebAuthn and Devise](https://www.honeybadger.io/blog/multi-factor-2fa-authentication-rails-webauthn-devise/) — An introduction to setting up multi-factor auth in a Rails app leaning on the W3C WebAuth standard in particular. 

Petr Hlavicka   

[Exploring Ruby’s `clamp` and `minmax` Methods](https://scottbartell.com/2021/09/29/ruby-clamp-and-minmax/) — `Comparable#clamp` and `Enumerable#minmax`, specifically. 

Scott Bartell   

[Crunchy Bridge: Fully Managed Multi-Cloud Postgres](https://www.crunchydata.com/products/crunchy-bridge/?utm_source=Postgres+Weekly&utm_medium=newsletter&utm_campaign=Bridge&utm_id=crunchy+bridge&utm_content=9-30-21) — Crunchy Bridge users experience performance improvements, better developer workflow and seamless migration. 

Crunchy Data sponsor   

[Lessons Learned in a Major Rails Upgrade: Tooling](https://engineering.invoca.com/lessons-learned-in-a-major-rails-upgrade-tooling-67e48838f3b6) — The last post in a three-part upgrade series discussing the gems, scripts, and other tools that Invoca used to manage parallel versions and complete their large upgrade. 

Luan Vieira (Invoca)   

[Custom Form Handling with Turbo](https://sourcediving.com/custom-form-handling-with-turbo-29e5525ff4c3) — Turbo will be a default part of Rails from Rails 7, replacing Turbolinks and rails‑ujs. 

Ollie Haydon-Mulligan   

▶[Discussing Prettier, Parsing and Regex with Kevin Newton](https://www.therubyonrailspodcast.com/385) — Kevin Newton, a staff engineer at Shopify, talks about RubyKaigi, his Prettier plug‑in, and more. 

The Ruby on Rails Podcast podcast   

[Code Golf: Conditionally Add To an Array](https://blog.thegnar.co/code-golf-conditionally-add-to-array) — It’s not the code golf you might be expecting, maybe more code course management. 

Kevin Murphy (Gnar)   

▶[Discussing Using Docker with Ruby with Huzefa Biyawarwala](https://devchat.tv/ruby-rogues/docker-and-ruby-ft-huzefa-biyawarwala-ruby-516/) 

Ruby Rogues Podcast podcast   

[Rails 7 Replaces `byebug` with `ruby/debug`](https://blog.saeloun.com/2021/09/29/rails-7-ruby-debug-replaces-byebug.html) 
Akhil G Krishnan  

🛠 Code & Tools  

**QUICK RELEASES:** 

[Google Auth Library for Ruby 1.0](https://github.com/googleapis/google-auth-library-ruby)
 [New Relic Ruby Agent 8.0](https://github.com/newrelic/newrelic-ruby-agent)
 [RouteTranslator 11.0](https://github.com/enriclluelles/route_translator) – Manage translation of Rails app routes.
 [RuboCop 1.22](https://github.com/rubocop/rubocop/releases/tag/v1.22.0) – Code analyzer, formatter, and enforcer.
 [GoodJob 2.3](https://github.com/bensheldon/good_job/releases/tag/v2.3.0) – Postgres-based, ActiveJob backend.  

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/dzjbeuilhuc3z91mcxmr.jpg)](https://github.com/scottrogowski/code2flow/)  

[Code2flow: Generate Call Graphs for Dynamic Languages](https://github.com/scottrogowski/code2flow/) — Including JavaScript, Python, Ruby and PHP. Turns your source into ASTs, finds function definitions, where those functions are called, and turns that into diagrams. 

Scott Rogowski   

[offline-sort: Sort Large Data Collections with Limited Memory Usage](https://github.com/salsify/offline-sort) — Given an `Enumerable` and a `sort_by` proc, this breaks the input data into sorted chunks, persists them, and returns an `Enumerator`. Data read from this will be in the final sorted order. The idea is explained in [this blog post](https://www.salsify.com/blog/engineering/ruby-scalable-offline-sort) from 2015. 

Salsify   

[A Better Way To Index Your Postgres Database: pganalyze Index Advisor](https://pganalyze.com/blog/introducing-pganalyze-index-advisor?utm_source=RubyWeeklySecondary09302021) 

pganalyze sponsor   

[Ahoy Email 2.1.0: Email Analytics for Rails](https://github.com/ankane/ahoy_email) — Add the ability to track the emails you send from your Rails apps (log of what was sent, plus opens and clicks), as well as add UTM params to links included in them. 

Andrew Kane   

[Unsubscribe 1.0: Offer an Auto Unsubscribe from Emails in Rails](https://github.com/stevepolitodesign/unsubscribe) — The idea is [explained in this tutorial.](https://stevepolito.design/blog/auto-unsubscribe-from-email-in-rails/) 

Steve Polito         

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

[Change your email address](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
