---
title: "Getting rid of Ruby's global VM lock"
publication: "Ruby Weekly"
issue: 736
published_at: "2025-01-30"
canonical_url: "https://rubyweekly.com/issues/736"
---

Plus a monospaced Comic Sans, a dive into modern Ruby hashes, and RubyKaigi 2025 is ready for your registrations. |        

#​736 — January 30, 2025 

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

Together with [![FastRuby.io\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_467,h_106/e_make_transparent/co_white,e_outline:14/y65nyff19ylf5udphsq4.png)](https://go.fastruby.io/delightfully-boring)   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/nf4mfeee2zyfbhzhl4ug.jpg)](https://byroot.github.io/ruby/performance/2025/01/29/so-you-want-to-remove-the-gvl.html)  

[So You Want to Remove Ruby's GVL?](https://byroot.github.io/ruby/performance/2025/01/29/so-you-want-to-remove-the-gvl.html) — The GVL is a CRuby implementation detail that prevents Ruby code from running in parallel across multiple threads, and there have been many calls over the years to get rid of it in order to improve concurrency and performance. Is it that easy? And would it make much difference? Ruby committer Jean Boussier digs in.. 

Jean Boussier   

[Updating _Ruby Under a Microscope_: A Look into Hashes](https://patshaughnessy.net/2025/1/28/updating-ruby-under-a-microscope) — Pat is updating his highly successful 2013 book that digs into Ruby’s internals to meet the modern reality of Ruby 3.x and its many changes. As a teaser, he shares an excerpt diving into how hash tables are implemented. 

Pat Shaughnessy   [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/18f68d37.png)](https://go.fastruby.io/delightfully-boring) 

[🔥 Make Rails Upgrades Budget-Friendly & Boringly Reliable](https://go.fastruby.io/delightfully-boring) — [FastRuby.io](https://fastruby.io/)’s monthly maintenance services keep costs low (starting at $4,000/month) and uptime high. [The team behind RailsBump.org](https://www.fastruby.io/blog/railsbump-maintained-by-fastruby-io.html) offers Bonsai for gradual, 0-downtime upgrades — making [technical debt remediation](https://www.fastruby.io/blog/tags/technical-debt) feel delightfully boring. 

Ruby & Rails Upgrades, Made Boring sponsor   

**IN BRIEF:** 

- 🇯🇵 [RubyKaigi 2025](https://rubykaigi.org/2025/), essentially Ruby's 'home' conference, is taking place this April and you can now register to attend.
- 🇱🇻 [Baltic Ruby](https://balticruby.org/) is taking place this June in Latvia and they've [extended their CFP](https://www.papercall.io/balticruby25) for the next two days if you want to speak.
- Sidekiq's [Mike Perham has given a $12k grant](https://www.mikeperham.com/2025/01/17/sponsoring-hanami/) to the [Hanami](https://hanamirb.org/) project.
- 🏆 Andy Maleh's [Glimmer DSL for Web](https://github.com/AndyObtiva/glimmer-dsl-web) has [won an award in the Fukuoka Prefecture Future IT Initiative 2025 competition](https://andymaleh.blogspot.com/2025/01/glimmer-dsl-for-web-wins-in-fukuoka.html) after being judged by Matz and other luminaries.   

[Seven Things I Know After 25 Years of Development](https://zverok.space/blog/2025-01-27-7things-euruko.html) — Victor, creator of the [Ruby Changes documents](https://rubyreferences.github.io/rubychanges/3.4.html) and many fantastic blog posts, shares some broad insights he’s gained from being a Rubyist and a serving member of the Armed Forces of Ukraine. 

Victor Shepelev   

[Monitoring Action Cable](https://stanko.io/monitoring-actioncable-GdeaeHfIU4Yk) — If you’re ever paged asking why the real-time features of your Rails app are breaking, you’ll have wished you read this technical tale. 

Stanko K.R.   

[Building Rails Apps with Components](https://terminalwire.com/articles/superview) — [Superview](https://github.com/rubymonolith/superview) is a gem that makes it possible to build Rails apps from the ground-up using nothing but components. Here’s how to automatically render Phlex and ViewComponents for controller actions with Superview. 

Brad Gessler   

[☠️ Feature Creep Kills Great Products](https://link.testdouble.com/9xp) — Why (and how) to exercise intentional restraint to boost user satisfaction, operational efficiency, and lasting success. 

Test Double sponsor   

📄 [Build a (Progressively Enhanced) Drawer Component with Hotwire](https://thoughtbot.com/blog/hotwire-drawer) – No JavaScript, just Hotwire, Tailwind, and the View Transition API. Steve Polito 

📄 [Better Know a Ruby Thing: Singleton Classes](https://noelrappin.com/blog/2025/01/better-know-a-ruby-thing-singleton-classes/) Noel Rappin 

📄 [Things You Might Not Need in Your Tests](https://thoughtbot.com/blog/things-you-might-not-need-in-your-tests) Matheus Richard 

📄 [The Mythical 'IO-Bound' Rails App](https://byroot.github.io/ruby/performance/2025/01/23/the-mythical-io-bound-rails-app.html) Jean Boussier 

📄 [Rails Database Migrations Best Practices](https://www.fastruby.io/blog/db-migrations-best-practices.html) Francois Buys and Kasper Timm Hansen  

🛠 Code & Tools  

[CSS Zero 1.0: A 'No Build' CSS Starter Kit for Rails Apps](https://github.com/lazaronixon/css-zero) — Imagine something akin to Tailwind CSS in terms of offering a design system and utility classes but with no build step and fully integrated with Rails 8. There’s [an online showcase](https://csszero.lazaronixon.com/lookbook/pages/overview) of some components built with it. 

Lázaro Nixon   

[Puma 6.6.0: Ruby's Fast, Multi-Threaded HTTP 1.1 Server](https://github.com/puma/puma/releases/tag/v6.6.0) — Now essentially the de facto server for Rack apps, Puma continues to be well maintained with v6.6 offering some benefits for JRuby users, “a few debug/logging/observability related goodies”, and [a new `after_refork` hook](https://github.com/puma/puma/pull/3386) for recreating any resources shut down prior to a refork (e.g. database connections). 

Puma Authors   

[Horizontal, Vertical, Diagonal? What Even IS Scaling?! 👀](https://judoscale.com/blog/horizontal-vs-vertical-scaling-heroku?utm_source=ruby-weekly&utm_campaign=horizontal-scaling) — Up, down, left, right… A+B, A+B?? No no.. scaling isn’t that complicated. Let’s unpack horizontal vs. vertical scaling. 

Judoscale sponsor   

[Hitimes: High Resolution Timer Library for Recording Performance Metrics](https://github.com/copiousfreetime/hitimes) — Uses different high resolution clock sources on different systems ([more on that here](https://github.com/copiousfreetime/hitimes/blob/main/lib/hitimes/initialize.rb)). 

Jeremy Hinegardner   

- ✉️ [ValidEmail2 7.0.2](https://github.com/micke/valid_email2) – ActiveModel validation for email. Including MX lookup and disposable email blocking.
- [Jekyll 4.4](https://jekyllrb.com/news/2025/01/27/jekyll-4-4-0-released/) – The long standing, much used Ruby-powered static site generator.
- [JRuby 9.4.11.0](https://www.jruby.org/2025/01/29/jruby-9-4-11-0.html) – The JVM-based Ruby implementation targeting Ruby 3.1 compatibility.
- [digest-crc 0.7](https://github.com/postmodern/digest-crc/releases/tag/v0.7.0) – Adds CRCs (Cyclic Redundancy Checks) to `Digest`.
- [Torch.rb 0.19](https://github.com/ankane/torch.rb) – Deep learning for Ruby, powered by LibTorch.
- [Measured 3.2](https://github.com/Shopify/measured) – Encapsulate measurements with their units.
- [Consul 2.0](https://github.com/makandra/consul) – Scope-based authorization for Rails.      

📰 Classifieds   

🧹 Stop sweeping your app's dirt under the carpet. Use SINAPTIA's [application assessment service](https://sinaptia.dev/services/application-assessment/) and plan where to spend your efforts strategically. 

--- 

Protect your SaaS app with advanced device fingerprinting from [WorkOS Radar](https://workos.com/radar?utm_source=cpruby&utm_medium=newsletter&utm_campaign=q12025). Stop fake signups, free tier abuse, bot attacks and brute force attempts today.    

📢 Elsewhere  

A quick roundup of some of other interesting updates in the broader developer landscape, in case you've missed them: 

- [Centrifugo v6 has been released.](https://centrifugal.dev/blog/2025/01/16/centrifugo-v6-released) Centrifugo is a Go-powered but otherwise language agnostic real-time messaging server for wiring up asynchronous, multi-user apps.
- If you ever need to work with JavaScript server-side, [Bun 1.2](https://bun.sh/blog/bun-v1.2) is a huge release for an increasingly popular, high performance _JavaScriptCore_-based Node-a-like. It 'just works' for a lot of stuff where Node gives me headaches.
- Python 1.0 is celebrating its 31st birthday this week (though Python is 34 years old in all). [Here's Guido van Rossum announcing it in 1994.](https://groups.google.com/g/comp.lang.misc/c/_QUzdEGFwCo/m/KIFdu0-Dv7sJ?pli=1) Ruby first appeared the year after.
- Like a deep, technical read? [Using the most unhinged AVX-512 instruction to make the fastest phrase search algorithm](https://gab-menezes.github.io/2025/01/13/using-the-most-unhinged-avx-512-instruction-to-make-the-fastest-phrase-search-algo.html) goes into ridiculous depth.   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/aulztlcsxm6tqs6dlzuj.jpg)](https://dtinth.github.io/comic-mono-font/)  

- Fancy trolling your coworkers or people watching your talk – or hey, you just like Comic Sans and wish you could use it for coding? [Comic Mono](https://dtinth.github.io/comic-mono-font/) might be what you need. It's not too bad..
- Can you build a WebAssembly 'compiler' in just 192 bytes of JavaScript? [You sure can.](https://wasmgroundup.com/blog/wasm-compiler-in-a-tweet/)         

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/).
