---
title: "Real-time Ruby profiling"
publication: "Ruby Weekly"
issue: 718
published_at: "2024-09-05"
canonical_url: "https://rubyweekly.com/issues/718"
---

Plus Ruby 3.3.5, converting Go to Ruby with LLMs, and some awesome Ruby places. |        

#​718 — September 5, 2024 

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

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)](http://go.fastruby.io/y47)   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/cd818cjj3vm0rsyz7j05.jpg)](https://www.ruby-lang.org/en/news/2024/09/03/3-3-5-released/)  

[Ruby 3.3.5 Released](https://www.ruby-lang.org/en/news/2024/09/03/3-3-5-released/) — Not a big release (you’ll be waiting till Christmas Day for _that!_) but a scheduled minor bug fix release covering [a variety of issues.](https://github.com/ruby/ruby/releases/tag/v3_3_5) Based on the current schedule, 3.3.6 should land in early November. 

Takashi Kokubun   

[The Thread API: Concurrent, Colorless Ruby](https://jpcamara.com/2024/08/26/the-thread-api.html) — The latest in JP’s ongoing series about concurrency, parallelism and asynchronous programming. This time, the topic is `Thread`’s API, an oft misunderstood part of Ruby. 

JP Camara   [![\](https://copm.s3.amazonaws.com/f068a401.png)](http://go.fastruby.io/y47) 

[🚨 Need to Upgrade Rails on a Budget?](http://go.fastruby.io/y47) — Too many security holes in production? Stuck on Ubuntu 20? [FastRuby.io](https://x.com/FastRubyIO)’s maintenance services offer a monthly, cost-effective solution. [Top-notch engineering teams](https://www.fastruby.io/blog/tags/case-study) trust Bonsai to gradually upgrade their [outdated Rails applications](https://www.fastruby.io/blog/ruby/rails/versions/compatibility-table.html) with 0 downtime. 

Bonsai by FastRuby.io sponsor   

[Say No to Partials and Helpers for a Maintainable Rails Front-End?](https://judoscale.com/blog/phlex-not-erb) — Adam enjoyed Garrett Dimon’s [post last week](https://garrettdimon.com/journal/posts/erb-partials-helpers-and-rails) on structuring ERb and partials, but thinks we can go a step further in keeping things clean: by using [Phlex](https://www.phlex.fun/) instead! 

Adam McCrea   

🤖 [Transpiling Go and Java to Ruby using LLMs](https://symflower.com/en/company/blog/2024/transpilation-with-llms/) — An interesting look at a successful attempt to transpile existing Java and Go code to Ruby using the cutting edge, commercial GPT-4o and Claude 3.5 Sonnet models. It’s not the most _idiomatic_ Ruby code, of course. 

Symflower   

[Scaling Rails & Postgres to Millions of Users at Microsoft](https://stepchange.work/blog/scaling-rails-postgres-to-millions-of-users-at-microsoft-lessons-takeaways) — Rails at Microsoft? Yup, but that’s not the value of this interview. Andrew, the author of _High Performance PostgreSQL for Rails_, talks about his experience with database internals, proactive monitoring, and scaling complex systems. The interview is in video form but a full transcript is provided. 

Harry Tormey   

**IN BRIEF:** 

- JRuby's Charles Nutter is [back with an update on all things JRuby](http://blog.headius.com/2024/09/jruby-upcoming-projects-september-2024.html) now that Red Hat's sponsorship has come to an end. _"The future of JRuby is not in question,"_ he reassures us.
- [Awesome Ruby Places](https://github.com/alexrudall/awesome-ruby-places) is a fresh attempt at listing companies using Ruby as a main language. You're encouraged to add missing entries.
- DHH has been busy on X/Twitter, first sharing that he [reached 15,000 req/sec with Rails 8](https://x.com/dhh/status/1830374290359021605) on a new 'hobby' server he's commissioned, then sharing that [Basecamp, a Rails app, does 5,250 req/sec at peak.](https://x.com/dhh/status/1831392962485612930) He's also [encouraging more developers to try Linux.](https://world.hey.com/dhh/why-don-t-more-people-use-linux-33b75f53)
- [mruby](https://mruby.org/) is an official lightweight, standards-compliant Ruby implementation designed for linking and embedding into other apps. A popular Japanese [mruby handbook](https://store.tzbooks.com/mrubybook/) has been translated into English if you want to learn more (though it's not free).
- The creators of the popular [Faker](https://github.com/faker-ruby/faker) fake data generation library are [running a survey](https://app.polling.com/forms/3103cabf-0fad-4669-b753-a5a4a4598eaa/share) to help them with future developments.   

[Even Better Specs: Guidelines for Maintainable Tests](https://evenbetterspecs.github.io/) — An opinionated set of best practices to support the creation of tests that are easy to read and maintain (with a focus on RSpec). Being opinionated you might disagree with some of the points, but it’s good to think about this stuff. 

Glauco Custodio   

[Developer’s Guide to Autoscaling on Heroku](https://judoscale.com/guides/autoscaling-heroku-ultimate-guide?ref=RubyWeekly) — Why autoscale, and what’s the difference between autoscalers? Check out our illustrated guide. 

Judoscale sponsor   

📄 [Authenticating with OmniAuth and OpenID Connect (OIDC) in Rails Apps](https://msuliq.medium.com/authenticating-with-omniauth-and-openid-connect-oidc-in-ruby-on-rails-applications-e136ec5b48c0) Suleyman Musayev 

📄 [Creating a Git Commit: The Hard Way](https://avestura.dev/blog/creating-a-git-commit-the-hard-way) – An interesting look under the hood. Aryan Ebrahimpour 

📄 [Building Nested Forms in Rails with Stimulus](https://railsdesigner.com/rails-nested-form-with-stimulus/) Rails Designer  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/li9sh1625mng7stkibl5.jpg)](https://rbspy.github.io/)  

[rbspy 0.25.0: A Sampling Profiler for Ruby](https://rbspy.github.io/) — What's better than a profiler report for optimizing app? Profiling in real time! rbspy lets you profile an app without even having to restart it. v0.25.0 extends support to Ruby 3.3.5. [GitHub repo.](https://github.com/rbspy/rbspy) 

Evans, Jensen, et al.   

🌐 [i18n_data 1.0: Country/Language Names in 85 Languages](https://github.com/grosser/i18n_data) — Present users with country and language names in their own language. Also covers 2 letter country codes and conversion back and forth. 

Michael Grosser   

[The VP of Engineering Guide to CapEx Vs OpEx Budgeting](https://link.testdouble.com/9h1) — Understand how CapEx vs OpEx decisions impact not only your team, but also the broader org. (And impress your boss!) 

Test Double sponsor   

[pg-locks-monitor: Observe PostgreSQL Locks in Rails Apps](https://github.com/pawurb/pg-locks-monitor) — A way to observe database locks generated by a Rails app. By default, lock status isn’t persisted in any logs, so monitoring it requires a little more live analysis. 

Paweł Urbanek   

101101.. [ActiveFlag: A Bit Array for Active Record](https://github.com/kenn/active_flag) — Store up to 64 multiple binary flags as a bit field/array in a single integer column with Active Record. 

Kenn Ejima   

[ruby-oembed 0.18: An oEmbed Consumer Library for Ruby](https://github.com/ruby-oembed/ruby-oembed) — [oEmbed](https://oembed.com/) is a type of URL-specific metadata numerous Web sites support (such as when linking to YouTube videos or blog posts). 

Magnus Holm, et al.   

[ActiveRecordTracer: A Tracer for Active Record Queries](https://github.com/fatkodima/active_record_tracer) — Trace queries and report on them by frequency, location, models loaded, and other dimensions to track down DB and SQL performance issues faster. 

Dima Fatko   

[minitest-rerun-failed: Easily Rerun Failed Tests with Minitest](https://github.com/houen/minitest-rerun-failed) 

Søren Houen   

- 🔍 [Linguist 8.0](https://github.com/github-linguist/linguist/releases/tag/v8.0.0) – GitHub's system for detecting programming languages used in files. v8.0 switches from a Bayesian classifier to [a centroid-based one.](https://github.com/github-linguist/linguist/pull/5103)
- ☑️ [SmartTodo 1.9](https://github.com/Shopify/smart_todo) – Shopify's library for bringing extra structure to handling `TODO` comments in your Ruby code.
- 💰 [Money 3.0](https://github.com/Shopify/money/releases/tag/v3.0.0) – Shopify's `Money` class for handling amounts of currency in a safe way. [Code examples.](https://github.com/Shopify/money?tab=readme-ov-file#usage)
- [Sequel 5.84](https://github.com/jeremyevans/sequel) – Popular database toolkit. Now supports VIRTUAL tables on SQLite and docs have been removed from the gem for a much smaller download.
- [PgParty 1.8](https://github.com/rkrage/pg_party) – Create Postgres partitions from Active Record in Ruby.
- [transformers-ruby 0.1.1](https://github.com/ankane/transformers-ruby) – State-of-the-art transformers for Ruby.
- 💌 [ValidEmail2 5.3](https://github.com/micke/valid_email2) – ActiveModel validation for email addresses.
- [HairTrigger 1.2](https://github.com/jenseng/hair_trigger) – Manage database triggers in a Rails-y way.
- [Ahoy 5.2](https://github.com/ankane/ahoy) – Simple, powerful, first-party analytics for Rails.
- [Devise::OTP 0.8](https://github.com/wmlele/devise-otp) – Two-factor auth extension for Devise.
- [Ruby Units 4.1](https://github.com/olbrich/ruby-units) – Unit-handling library.
- [RuboCop 1.66](https://github.com/rubocop/rubocop/releases/tag/v1.66.0)
- [Sidekiq 7.3.2](https://github.com/sidekiq/sidekiq/blob/main/Changes.md#732)         

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