---
title: "Linus Torvalds: 'Ruby people, strange people..'"
publication: "Ruby Weekly"
issue: 628
published_at: "2022-11-10"
canonical_url: "https://rubyweekly.com/issues/628"
---

Plus a tricky operator precedence test, a gem creation walkthrough, and 37signals sticks to vanilla Rails. |        

#​628 — November 10, 2022 

[Read on the Web](https://rubyweekly.com/issues/628) 🇺🇦  

Together with [![AppSignal logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_700,h_120/e_make_transparent/co_white,e_outline:7/lme8p344dw1aodshz9px.png)](https://blog.appsignal.com/2022/09/21/debugging-in-ruby-with-appsignal.html?utm_source=ruby-weekly-sponsored&utm_medium=email&utm_campaign=2022-09-21)  

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/sugp84camck1r1pgkgii.jpg)](https://dev.37signals.com/vanilla-rails-is-plenty)  

[Vanilla Rails is Plenty](https://dev.37signals.com/vanilla-rails-is-plenty) — Since Rails was _born_ at 37signals, they sometimes tout their approach to Rails as canon, eschewing many design patterns found in the ecosystem. So how do they avoid structural issues big apps face while staying on the ‘vanilla Rails path’? Jorge explains. _🎵 I like vanilla, it's the finest of the flavors.._ 

Jorge Manrubia (37signals)   

➕🎲➗ [Test Yourself on Ruby Operator Precedence](https://www.vector-logic.com/blog/posts/test-yourself-on-operator-precdence-in-ruby) — A fun (and potentially embarrassing..?) quiz with an accompanying blog post that’s harder than you may think it is (at least, that’s what we’re telling ourselves.) 

Domhnall Murphy   [![\](https://copm.s3.amazonaws.com/e10ca597.png)](https://blog.appsignal.com/2022/09/21/debugging-in-ruby-with-appsignal.html?utm_source=ruby-weekly-sponsored&utm_medium=email&utm_campaign=2022-09-21) 

[Debugging in Ruby with AppSignal](https://blog.appsignal.com/2022/09/21/debugging-in-ruby-with-appsignal.html?utm_source=ruby-weekly-sponsored&utm_medium=email&utm_campaign=2022-09-21) — An APM is not just useful for seeing how your application performs through graphs and visuals. You can go deeper and use it to handle debugging when an error occurs. This post is all about advanced debugging with AppSignal. 

AppSignal sponsor   

[Crunchy Bridge's Ruby Backend: Sorbet, Tapioca, and Parlour-Generated Type Stubs](https://www.crunchydata.com/blog/crunchy-bridges-ruby-backend-sorbet-tapioca-and-parlour-generated-type-stubs) — We’ve all talked a lot about Sorbet and typing this year, but what does a real process of using it look like? Brandur goes through the tools used in their team along with the benefits (and risks) of going all-in on Sorbet. 

Brandur Leach (Crunchy Data)   

[A Walkthrough of Creating a Gem with CI and CD](https://medium.com/gusto-engineering/a-start-to-finish-walkthrough-on-creating-a-ruby-gem-with-ci-and-cd-a2b705047087) — Building a gem is a pretty well trodden path by now, but I love fresh walkthroughs that take current tooling into account. Bundler keeps the gem smithing simple, with GitHub Actions running the tests for you in the background across multiple Ruby versions. 

Alex Evanczuk   

[Reducing Memory Usage with an Environment Variable](https://answers.abstractbrain.com/how-to-reduce-memory-usage-in-ruby/) — Want to use less memory in thread heavy apps? Tuning glibc’s memory usage behavior with the `MALLOC_ARENA_MAX` environment variable can help. Using jemalloc is another (if more complex) alternative (more on this [here](https://www.mikeperham.com/2018/04/25/taming-rails-memory-bloat/) – also, [Fullstaq Ruby](https://fullstaqruby.org/) uses jemalloc). 

Marco Colli   

**QUICK BITS:** 

- In an attempt to upgrade a Sinatra app to the latest standards, I discovered [Sinatra 3 does not support Rack 3](https://github.com/sinatra/sinatra/issues/1797) yet – if you have the skills, you're invited to do the work ;-)
- Linus Torvalds (he of Linux and git fame) recently [▶️ gave an interview](https://www.youtube.com/watch?v=0m4hlWx7oRk&t=1079s) and commented on how quickly git took off largely due to _"the Ruby people, strange people."_ I think he means it in a nice way 🤞  

📕 Some Tips and Tutorials  

[Tips for Navigating RubyConf 2022 as a Newcomer](https://rubytogether.org/news/2022/11/navigating-rubyconf2022-as-a-newcomer) — If you’re headed to your first RubyConf this year and you’re worried about getting the most out of it, fear not – heed these words of past attendees. _([RubyConf 2022](https://rubyconf.org/) is later this month in Houston, Texas.)_ 

Ruby Together   

[If You Are Building a Notification Microservice Internally: Read This](https://www.courier.com/blog/the-developers-guide-user-requirements/?utm_campaign=cooper-press&utm_source=email&utm_medium=ruby-weekly-11-10-sponsored-link&utm_content=user-requirements-blog) — Learn about internal & external UX requirements, what to plan for with scaling, reliability, audits, and observability. 

Courier.com sponsor   

[Faster Pagination in HEY](https://dev.37signals.com/faster-paging-in-hey) — 37signals’ shiny new developer blog gets another post about how they approached improving the performance of their MySQL-backed HEY email service by way of tenant-ID prefixed indexes. 

Donal McBreen (37signals)   

[Using Watir to Automate Web Browsers with Ruby](https://www.scrapingbee.com/blog/scraping-watir-ruby/) — I’ve never been a big fan of Selenium but if you want to access its browser automation powers, [Watir](http://watir.com/) is a _very_ mature way to do so from Ruby. [Ferrum](https://github.com/rubycdp/ferrum) is a worthy alternative if you want to just remote control a Chrome instance instead. 

Jude Ero (ScrapingBee)   

['RSpec Examples are, well, Examples'](https://naildrivin5.com/blog/2022/11/09/rspec-examples-are-well-examples.html) — A look at a subtle shift in mindset for writing specs to let your expectations be an example of how to use the underlying code rather than just be for testing. 

David Bryant Copeland   

[Fixed Price Monthly Code Maintenance and Upgrades for Rails Apps](https://www2.reinteractive.com/CodeCare-rails-maintenance) 

reinteractive Pty Ltd sponsor   

[Rails Now Validates Options Used in Migration Functions](https://blog.saeloun.com/2022/11/09/validate-options-in-migration-files.html) 
Swaathi Kakarla   

[Learning Good Habits by Watching a Staff Software Consultant](https://blog.testdouble.com/posts/2022-11-09-what-i-learned-watching-a-staff-consultant/) 
Nichol Alexander and Kevin Baribeau  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/mkzzj9chu2nx1r2wwnky.jpg)](https://hanamirb.org/blog/2022/11/08/announcing-hanami-200rc1/)  

[Announcing Hanami 2.0 Release Candidate 1](https://hanamirb.org/blog/2022/11/08/announcing-hanami-200rc1/) — Hanami 2.0 is really shaping up to be something special. The final 2.0 release is expected in a couple of weeks, but for now you can pick up what this modern take on a Ruby Web framework is all about through its [getting started guide.](https://guides.hanamirb.org/v2.0/introduction/getting-started/) Think more structure than Sinatra, but not as much as Rails! 

Luca Guidi   

[RubyMine 2022.3 Beta Released](https://blog.jetbrains.com/ruby/2022/11/rubymine-2022-3-beta/) — The latest version of JetBrains’ powerful commercial Ruby IDE has exited its ‘early access’ phase. One new feature coming to 2022.3 for Windows users is the ability to run _within_ WSL2. 

Iryna Pisklyarova   

[Making Postgres More Affordable. Starting at $10/Month](https://www.crunchydata.com/blog/making-postgres-more-afforable-new-low-cost-plans-on-crunchy-bridge?utm_source=cprb-brf-1110) 

Crunchy Bridge sponsor   

[Class Variants: Configure Component Styles and Apply Them as Classes](https://github.com/avo-hq/class_variants) — Create and maintain custom Tailwind components using classes and states. 

Avo Project   

- [Rails Admin 3.1](https://github.com/railsadminteam/rails_admin)
 ↳ Popular app admin engine.
- [Parallel Tests 4.0](https://github.com/grosser/parallel_tests)
 ↳ More cores == faster RSpec, Test::Unit or Cucumber.
- [Syntax Tree 5.0](https://github.com/ruby-syntax-tree/syntax_tree/blob/main/CHANGELOG.md#500---2022-11-09)
 ↳ A fast Ruby parser and formatter.
- [Maxitest 4.3](https://github.com/grosser/maxitest)
 ↳ Minitest but with extra features.
- [Temping 4.0](https://github.com/jpignata/temping)
 ↳ Temporary table-backed ActiveRecord models for use in tests.
- [Dynamoid 3.8](https://github.com/Dynamoid/dynamoid)
 ↳ ORM for Amazon's DynamoDB.
- [Message Bus 4.3](https://github.com/discourse/message_bus)
 ↳ Robust messaging bus for Ruby and Rack.
- [Gutentag 2.6.2](https://github.com/pat/gutentag)
 ↳ Tagging extension for Active Record. 

**KEEPING IT DRY(-RB):** 

- [dry-configurable 1.0](https://github.com/dry-rb/dry-configurable)
 ↳ A simple mixin to make classes configurable.
- [dry-cli 1.0](https://github.com/dry-rb/dry-cli)
 ↳ Command Line Interface (CLI) framework.
- [dry-validation 1.10](https://github.com/dry-rb/dry-validation)
 ↳ Validation library with type-safe schemas.     

Jobs  

[Senior Ruby Developer](https://jobs.lever.co/Potloc/98c379fb-dd55-4d28-821e-77b2efaea93a) — Join a dynamic and collaborative team working remotely (EST) or hybrid (Montreal-based startup). 
Potloc   

[Software Development Educator — DPI (Full Time, Hybrid, Chicago)](https://uisystemoffice.csod.com/ux/ats/careersite/5/home/requisition/274?c=uisystemoffice) — Got a passion for software development, beginner focused education, and social impact? Join us in our mission to transform lives and diversify tech talent. 
Discovery Partners Institute — University of Illinois System   

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