---
title: "Making Ruby's GC faster"
publication: "Ruby Weekly"
issue: 610
published_at: "2022-06-30"
canonical_url: "https://rubyweekly.com/issues/610"
---

Plus a Ruby style guide, thoughts on Copilot, and GoodJob's good job. |        

[🇺🇦](https://war.ukraine.ua/) #​610 — June 30, 2022 

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

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/cjnfsoqpa7uu402if2tw.jpg)](https://github.com/ruby/ruby/pull/6053) (Not actually tenderlove, alas.)  

[Tenderlove Cooks Up a Nifty Garbage Collector Optimization](https://github.com/ruby/ruby/pull/6053) — Esteemed core team member Aaron Patterson has come up with a way to speed up Ruby’s garbage collector through the way it marks up instruction sequence objects. This is a very technical PR, but the TLDR is it could [make GC ~60% faster in a Rails app](https://twitter.com/tenderlove/status/1539732647638749185) (don’t get _too_ excited, as this translates to [a more modest perf improvement](https://github.com/ruby/ruby/pull/6059#pullrequestreview-1019018046) _overall_ – but it’s still very cool!) It should end up in a Ruby version near you soon. 

Aaron 'tenderlove' Patterson   

[Vite-lizing Rails: Get Live Reload and Hot Replacement with Vite Ruby](https://evilmartians.com/chronicles/vite-lizing-rails-get-live-reload-and-hot-replacement-with-vite-ruby) — If you hang around in the JavaScript world, you’ve probably heard about [Vite](https://vitejs.dev/), a sister project of Vue.js, and how it simplifies and speeds up the frontend dev experience. Vite Ruby brings the party to Ruby and this post explores its value in live reloading, hot replacement, and asset compilation. 

Vladimir Dementyev   [![\](https://copm.s3.amazonaws.com/b0cbdf2c.png)](https://shortcut.com/?utm_source=cooperRubyWeekly&utm_medium=spon_nl&utm_campaign=prospecting&utm_content=fourletter) 

[Don’t Let Your Issue Tracker Be a Four-Letter Word](https://shortcut.com/?utm_source=cooperRubyWeekly&utm_medium=spon_nl&utm_campaign=prospecting&utm_content=fourletter) — Frustrated with your project management software? Shortcut is a goldilocks solution for software engineers, product managers, and designers, providing the ease of use of a simple tool with the power and flexibility of an overly complex one. 

Shortcut (formerly Clubhouse.io) sponsor   

[Shopify's Updated Ruby Style Guide](https://ruby-style-guide.shopify.dev/) — Shopify, perhaps the world’s biggest Ruby shop nowadays (in both senses of the word!), maintains its own Ruby style guide inspired by Bozhidar Batsov and Rubocop’s [even more extensive guide](https://rubystyle.guide/). Always good to see resources like this maintained, even if in baby steps. 

Shopify   

[Where is Copilot Taking Us?](https://redmonk.com/sogrady/2022/06/23/copilot/) — A founder of Redmonk (a developer-oriented research firm) ruminates on the effects of GitHub Copilot (the new AI-powered ‘pair programmer’ service), focusing on legality, security, and quality questions. 

Stephen O'Grady (Redmonk)   

**Quick Bits:** 

- Gernot Gradwohl has dug through the latest discussions taking place in Ruby's bug tracker and [summarized some of them here.](https://austrian-nerd.dev/blog/2022-06-22-recently-in-ruby-core-june-edition/) A nice look at some of what _might_ be to come.
- MongoDB had planned to drop its official support for JRuby but [has backtracked and recommitted](https://www.mongodb.com/developer/languages/ruby/mongodb-jruby/) after community feedback.  

📕 Articles & Tutorials  

[Write Cleaner, Self-Documented Tests by Defining Methods in RSpec](https://blog.testdouble.com/posts/2022-06-29-define-methods-in-rspec/) — Put `before`, `subject`, and `let` to one side, says Caleb who demonstrates how helper methods can provide a cleaner route to similar ends. 

Caleb Hearth   

[Four Ways to Reduce Your Rubocop Frustrations](https://hanamimastery.com/episodes/23-rubocop-most-frustrating-to-most-loved) — Being considered one of Ruby’s most loved _and_ most frustrating Ruby tools is quite the achievement, but this post (which also comes with an optional 11-minute screencast) wants to get it into your 'loved' column only. 

Hanami Mastery   

[Fixed Price Monthly Code Maintenance for Rails Apps](https://reinteractive.com/service/code-care) — No time to do those small but critical updates? If you are struggling to find time, budget or resources to improve your Rails App, there is a fixed price solution for tweaks, bug fixes, upgrades and improvements with CodeCare. 

reinteractive Pty Ltd sponsor   

[An Underrated Rails Helper: `dom_id`](https://boringrails.com/articles/rails-dom-id-the-most-underrated-helper/) — One of the oldest helpers in Rails is also the most underrated, says Matt. `dom_id` particularly shines for building apps with Hotwire, allowing you to easily target parts of the page without a bunch of icky interpolation. 

Matt Swanson   

[Full-Text Search with Elasticsearch in Rails](https://www.honeybadger.io/blog/rails-elasticsearch/) — Elasticsearch is a popular option for adding a powerful full-text search layer on top of other databases (though it is effectively a document database in its own right). This post covers the essentials of working with it from a Rails app. 

Ianis Triandafilov   

[Getting Started with Tailwind CSS in Rails](https://www.bootrails.com/blog/ruby-on-rails-and-tailwind-css-tutorial/) — The basics of setting things up. Can’t help but think _Railwind_ could be a cute name. 

David Boureau   

[Downsides to the Overuse of Rails Engines](https://blog.saeloun.com/2022/06/29/rails-overuse-of-engines.html) 
Murtaza Bagwala  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/dy3zhmjpho8midhtknhy.jpg)](https://github.com/bensheldon/good_job/releases/tag/v3.0.0)   

[GoodJob 3.0: Postgres-Backed ActiveJob Backend for Rails](https://github.com/bensheldon/good_job/releases/tag/v3.0.0) — Simple to use, multi-threaded, and includes a management dashboard, cron-like scheduling, and job concurrency controls. v3 promises to be an easy upgrade from v2, unless you’re using Rails 5.2 for which support is dropped, but it has a significantly improved dashboard ([live demo](https://goodjob-demo.herokuapp.com/good_job/jobs)). 

Ben Sheldon   

[StoreModel 1.0: Handle JSON-Backed Attributes as Active Record Models](https://github.com/DmitryTsepelev/store_model) — Rather than deal with JSON columns as hashes, you can treat them as mini models of their own. [AttrJson](https://github.com/jrochkind/attr_json) is also worth a look in this space. 

Dmitry Tsepelev   

[Meet Filestack: The Solution to Your File Processing Needs](https://www.filestack.com/?utm_source=cooperpress&utm_medium=Leads%20Acquisition&utm_content=RubyWeeklyBrief&utm_campaign=NewsletterJune22) 

Filestack sponsor   

[rspec-uuid 0.5: An RSpec Matcher for UUIDs](https://github.com/dpep/rspec-uuid) — `it { is_expected․to be_a_uuid }` 

Daniel Pepper   

[JRuby 9.3.6.0 Released](https://www.jruby.org/2022/06/27/jruby-9-3-6-0.html) — JRuby 9.3 is the Ruby 2.6.x compatible branch and this is a minor tweak/bugfix release. The Ruby 2.5.x compatible branch sees a similar release in the shape of [JRuby 9.2.21.0](https://www.jruby.org/2022/06/27/jruby-9-2-21-0.html). 

JRuby Core Team   

**⚡️ QUICK RELEASES:** 

[redis-rb 4.7](https://github.com/redis/redis-rb) – The Ruby client library for Redis.
 [Shale 0.5](https://github.com/kgiszczak/shale) – Object mapper and serializer for JSON, YAML and XML.
 [TODO or Die 0.1](https://github.com/searls/todo_or_die) – Write TODOs in code that ensure you do them.
 [Countries 5.1](https://github.com/countries/countries) – Useful information about every country.
 [SmarterCSV 1.7](https://github.com/tilo/smarter_csv) – Import CSV files as arrays of hashes.
 [stripe-ruby 6.5](https://github.com/stripe/stripe-ruby) – Ruby library for the Stripe API.
 [elasticsearch-ruby 8.3](https://github.com/elastic/elasticsearch-ruby) – Ruby integrations for Elasticsearch.
 [business_time 0.13](https://github.com/bokmann/business_time) – Do time math / operations in _business_ hours and days.     

Jobs  

[Backend Engineer – Ruby on Rails (London or Remote)](https://www.ctrl-group.com/careers/backend-engineer) — Ctrl Group builds digital health products to bring personalised health care to everyone. [Apply now](https://www.ctrl-group.com/careers/backend-engineer) to join our brilliant team. 
Ctrl Group   

[Sr. Rails Backend Engineer (100% Remote)](https://wherefour.com/careers-developer/) — Curious how products are made? We make the software that product manufacturers use and we're growing quickly. Come join us. 
Wherefour   

[Senior Backend Engineer (Berlin or Remote)](https://hive.jobs.personio.de/job/598650?display=en) — We enable DTC e-com brands to run their operations on autopilot. Our mission is to build the tech stack to automate/optimize the entire operational value chain from sourcing to final delivery and beyond. 
Hive   

[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           

Curated by Peter Cooper 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/).
