---
title: "Why to add IRB to your Gemfile"
publication: "Ruby Weekly"
issue: 679
published_at: "2023-11-23"
canonical_url: "https://rubyweekly.com/issues/679"
---

Plus Ruby returns to FOSDEM, and a 'fuzzy' Ruby language server. |        

#​679 — November 23, 2023 

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

Together with [![pgAnalyze\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_350,h_100/e_make_transparent/co_white,e_outline:7/lhwcvgc1asd4fzaahty4.png)](https://pganalyze.com/ebooks/advanced-database-programming-rails-postgres?utm_source=RubyWeeklyPrimary11232023)   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/qgj2cbfimkzp4yczxgf3.jpg)](https://evilmartians.com/chronicles/test-prof-3-guided-and-automated-ruby-test-profiling)  

[TestProf III: Guided and Automated Ruby Test Profiling](https://evilmartians.com/chronicles/test-prof-3-guided-and-automated-ruby-test-profiling) — TestProf is a long standing suite of tools to improve test suite performance, and it’s ‘back’ with lots of new features and enhancements. These include [a playbook](https://test-prof.evilmartians.io/playbook) for getting started with test suite profiling, a new ‘autopilot’ CLI tool to automate the generation and merging of StackProf reports, and [MemoryProf](https://test-prof.evilmartians.io/profilers/memory_prof), a system that tracks memory usage during test runs. 

Vladimir Dementyev   [![\](https://copm.s3.amazonaws.com/1a873e74.png)](https://pganalyze.com/ebooks/advanced-database-programming-rails-postgres?utm_source=RubyWeeklyPrimary11232023) 

[Free eBook: Advanced Database Programming with Rails and Postgres](https://pganalyze.com/ebooks/advanced-database-programming-rails-postgres?utm_source=RubyWeeklyPrimary11232023) — Learn about subqueries, materialized views, and custom data types in Postgres and Rails. We walk through realistic real-life examples, translating first into SQL, and then into Rails code. Every example comes with source code so you can follow along. 

pganalyze sponsor   

[Shaping the Future of Ruby and Kafka Together with rdkafka-ruby](https://blog.appsignal.com/2023/11/22/shaping-the-future-of-ruby-and-kafka-together-with-rdkafka-ruby.html) — After initially forking the rdkafka-ruby gem, the creator of [Karafka](https://karafka.io/) (a popular Kafka processing framework for Ruby and Rails) is collaborating with AppSignal to govern and improve the core gem for Karafka and the Ruby community. 

Maciej Mensfeld (AppSignal Blog)   

- 💡 Stan Lo explains [why you should put IRB in your Gemfile.](https://ruby.social/@st0012/111444685161478182) In short, it's [getting better](https://github.com/ruby/irb/releases/tag/v1.9.0) at a faster pace than the Ruby releases it's included with, so it can pay to keep up with it more frequently.
- 📺 If you enjoyed the recent [Ruby on Rails documentary](https://cult.honeypot.io/reads/ruby-on-rails-the-origin-story/), you can go a little deeper with [▶️ a Q&A with the folks in it](https://www.youtube.com/watch?v=0KzQUSXuvK0), including DHH.
- ✍️ Kevin Murphy [summarizes his time at RubyConf 2023](https://kevinjmurphy.com/posts/rubyconf-2023-recap/).
- 🎙 While Kevin was having a great time, the _Ruby on Rails Podcast_ was [▶️ recording live from RubyConf's 'hallway track'](https://www.therubyonrailspodcast.com/496).
- 📅 In other event news, [the Ruby 'devroom' is coming back to FOSDEM](https://thoughtbot.com/blog/ruby-devroom-fosdem2024) (taking place in Belgium on February 3-4) plus the [Ruby Warsaw Community Conference](https://rubycommunityconference.com/) is set to take place just before on February 2.
- 🤑 Chris Oliver of _Go Rails_ is running [a Black Friday sale](https://gorails.com/blog/black-friday-sale-2023). The folks at _Ruby on Mac_ have [also made a list of Black Friday deals for Rubyists.](https://www.rubyonmac.dev/black-friday-deals-for-rubyists) Last, but not least, _Humble Bundle_ has [a deal on Ruby books from the Pragmatic Programmers](https://www.humblebundle.com/books/ruby-rails-pragmatic-programmer-books).  

📕 Articles & Tutorials 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/zswfbwda3n1gpehb1bvp.jpg)](https://allaboutcoding.ghinda.com/ruby-open-source-feedbin)  

[A Look into Feedbin, the Ruby Open Source RSS Reader](https://allaboutcoding.ghinda.com/ruby-open-source-feedbin) — Lucian takes a dig into the source behind [Feedbin](https://feedbin.com/) (a popular, though not popular _enough_ IMHO, feed reader) and looks at how its structured and what dependencies make it tick. If you can’t tell, I’m a huge fan of [Feedbin](https://feedbin.com/) and recommend you all sign up. 

Lucian Ghinda   

[Three Ways to Model an Associated Collection in Rails](https://thoughtbot.com/blog/3-ways-to-model-an-associated-collection-in-rails) — Comparing using Postgres’s array type and two join table based solutions. 

Dimiter Petrov   

[On Building a Webhooks Service](https://www.mikecoutermarsh.com/webhook-security-a-hands-on-guide/) — Mike recently worked on [building webhooks for PlanetScale](https://planetscale.com/blog/securing-webhooks), but here he shares the Rails models and basic approach used, in case it’s useful for you. 

Mike Coutermarsh   

[Is Your Rails Version Lagging Behind? Try the Slow & Steady Way… 🐢](https://www.fastruby.io/monthly-rails-maintenance?utm_source=cooperpress&utm_medium=paidplacement&utm_campaign=slow-and-steady-on-cooperpress&utm_term=waitlist&utm_content=textonly) — Join the waitlist to Bonsai: Our fixed-cost, tech debt remediation service. Let us upgrade Ruby and Rails for you. 

Rails Upgrades on Autopilot sponsor   

[What's a Counter Cache?](https://thoughtbot.com/blog/what-is-counter-cache) — Running a separate query to count how many records are associated with another record is inefficient – counter caches have long made this situation more efficient. 

Jose Blanco   

[For Clarity When Merging Hashes, Use `with_defaults`](https://andycroll.com/ruby/with_defaults-clarity-when-merging-hashes/) — Note that this is a Rails / Active Support-ism. 

Andy Croll   

[Interactive Debugging Without the Need for Gems](https://a-chacon.com/en/ruby/irb/tip/2023/11/20/ruby-tip-binding-irb.html) — Don’t forget that, with `Binding` and IRB, you have the ability to set breakpoints and step through code without requiring external gems. 
Andres Chacon   

[You Don’t Need Services (Whatever This Word Means)](https://2-45.pm/2023/11/06/you-don-t-need-services-whatever-this-word-means.html) — _“When it comes to Rails, if you enjoy it, then you’ll probably enjoy it even more if you restrain from introducing services, be it as a layer or as a system architecture.”_ 
Ronan Limon Duparcmeur opinion   

[How to Use UUIDv7 for Primary Keys in Rails](https://ptrchm.com/posts/rails-uuid-v7/) 
Piotr Chmolowski  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/imgyksairwe7mjinfzfy.jpg)](https://github.com/pheen/fuzzy_ruby_server)  

[Fuzzy Ruby Server: A Ruby Language Server for Large Codebases](https://github.com/pheen/fuzzy_ruby_server) — If you think Solargraph is too slow and Ruby-LSP lacks features, this gem addresses those issues for VSCode and NeoVim users. Search for and peek at class, method, and variable definitions, find references, rename variables, and a few other tasks. 

Joel Korpela   

[Split 4.0: Rack Based A/B Split-Testing Framework](https://github.com/splitrb/split) — A mature framework with robust configuration and multiple options for determining the winning option. 

Split   

[Got a Problem That Could Use a Rubber Duck Session?](https://link.testdouble.com/rw-pairing) — Here’s one better. Request a pairing session with one of our senior devs. We’ll get you moving in the right direction. 

Test Double sponsor   

[Universal ID: URL-Safe String Serialization for Any Object](https://github.com/hopsoft/universalid) — The use cases here are exciting and include scenarios such as inter-service communication via a web boundary, UX state management across sessions, and audit logging, to name a few. 

Nate Hopkins   

[A Script for Renaming a RubyGem](https://bradgessler.com/articles/rename-a-rubygem/) — If you start working on a gem and then want to change the name, you might need to do this. But be sure to check your new name is available! _Which leads us to.._ 

Brad Gessler   

[Name Checker: Check if a Project Name is Taken](https://namechecker.vercel.app/) — An online tool that checks a bunch of different package registries (npm, GitHub, GitLab, PyPI, Maven, RubyGems, Go packages, Rust crate, etc.) to see if the name is used by another project. 

Todd Cooke   

- [Avo 3](https://avohq.io/blog/avo-3-launched) – A fantastic CMS / Rails app template ([but not exactly a 'starter kit'](https://avohq.io/blog/the-difference-in-avo-and-rails-starter-kits)) for building Rails apps more quickly. Open-source but with a commercial version including more features.
- [IdentityCache 1.5](https://github.com/Shopify/identity_cache) – Blob level caching solution to plug into Active Record.
- [Spyke 7.2](https://github.com/balvig/spyke) – Interact with REST services in an ActiveRecord-like manner.
- [Sidekiq::Throttled 1.1](https://github.com/ixti/sidekiq-throttled) – Concurrency & rate-limit throttling for Sidekiq.
- [BabySqueel 3.0](https://github.com/rzane/baby_squeel) – Expressive query DSL for Active Record.
- [polars-ruby 0.7](https://github.com/ankane/polars-ruby) – Fast DataFrames for Ruby.
- [json_schemer 2.1](https://github.com/davishmcclurg/json_schemer) – JSON Schema validator.
- [Passenger 6.0.19](https://blog.phusion.nl/2023/11/20/passenger-6-0-19/) – The app server.    

Jobs  

[Find Ruby Jobs with 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=easy-job-hunting) — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now. 
Hired           

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