---
title: "A playground for Active Record experiments"
publication: "Ruby Weekly"
issue: 616
published_at: "2022-08-11"
canonical_url: "https://rubyweekly.com/issues/616"
---

Plus thoughts on how to make Ruby even faster, and a single file Rails app. |        

#​616 — August 11, 2022 

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

☀️ If you don't receive _Ruby Weekly_ next week (August 18), don't panic – we're taking a week off for summer vacation :-) We'll be back on August 25.
__
_Peter Cooper, your editor._  

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/dyxjszu58cfbnss00wyk.jpg)](https://www.mgaudet.ca/technical/2022/8/9/faster-ruby-thoughts-from-the-outside)  

[Faster Ruby: Thoughts from the Outside](https://www.mgaudet.ca/technical/2022/8/9/faster-ruby-thoughts-from-the-outside) — Earlier this week, the author wrote an [interesting retrospective](https://www.mgaudet.ca/technical/2022/8/8/faster-ruby-a-rubyomr-retrospective) on Ruby+OMR, a now-abandoned 2015 effort to boost Ruby’s performance via [OMR](https://github.com/eclipse/omr), but has now moved on to thinking about **how he’d approach making Ruby faster these days,** taking some lessons from JavaScript. Hacker News ended up [with a lengthy discussion](https://news.ycombinator.com/item?id=32408716) on this topic, too. 

Matthew Gaudet   

[Karafka 2.0: Multi-Threaded Kafka Processing Framework](https://mensfeld.pl/2022/08/karafka-framework-2-0-announcement/) — This _huge_ release has some big-time features such as multi-threading, Active Job support, and [“virtual partitions”](https://github.com/karafka/karafka/wiki/Pro-Virtual-Partitions) for concurrent processing of messages from a single partition. There’s now also a Sidekiq-esque _Pro_ commercial option if you want to support the project. [GitHub repo](https://github.com/karafka/karafka). 

Maciej Mensfeld   [![\](https://copm.s3.amazonaws.com/57dddf34.png)](https://pganalyze.com/ebooks/advanced-database-programming-rails-postgres?utm_source=RubyWeeklyPrimary08112022) 

[Free eBook: Advanced Database Programming with Rails and Postgres](https://pganalyze.com/ebooks/advanced-database-programming-rails-postgres?utm_source=RubyWeeklyPrimary08112022) — 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   

[A Further Dive into Memory Leaks in Ruby](https://blog.appsignal.com/2022/08/10/a-deep-dive-into-memory-leaks-in-ruby.html) — We linked to [the first post](https://blog.appsignal.com/2022/07/27/how-to-track-down-memory-leaks-in-ruby.html) in this series two weeks ago; here’s the promised follow-up that goes into several tools and techniques to actually track down leaks. 

Tony Rowan (AppSignal)   

[From Byebug to `ruby/debug`](https://st0012.dev/from-byebug-to-ruby-debug) — A cross between an introduction, cheat sheet, and direct comparison with how Byebug and Ruby’s newest debugging tool work. Very useful. 

Stan Lo   

**Quick Bits:** 

- Kevin Murphy has spoken at numerous Ruby events and [reflects on his proposals and how to craft your own](https://kevinjmurphy.com/posts/sharing-past-conference-proposals/) if you'd ever like to speak too.
- If you're an early career Rubyist seeking mentorship, or a developer looking to _provide_ mentorship, the [FirstRubyFriend project](https://firstrubyfriend.org/) is worth checking out – over 400 folks have signed up already.  

📖 Articles, Stories & Videos  

[A Single File Rails Application⁉️](https://greg.molnar.io/blog/a-single-file-rails-application/) — We’ve seen this before, but willing to bet there are plenty of people out there that haven’t. It’s a neat experiment, but also a good learning experience. 

Greg Molnar   

[Ruby 3.2 Introduces `Regexp.timeout`](https://blog.saeloun.com/2022/08/09/ruby-introduces-regexp-timeout.html) — This helps to mitigate problems around regular expressions that take a long time to process. [Original discussion here](https://bugs.ruby-lang.org/issues/17837). 

Agnidipta Bhattacharjee   

[Naming Things is Hard](https://www.fastruby.io/blog/rails/naming-things-is-hard.html) — Named after an oft-quoted developer maxim, this post focuses on what _not_ to call things in Ruby, lest you unintentionally break something that was already there. 

Ariel Juodziukynas   

[Announcing Incident Management For Honeybadger Status Pages 🤩](https://www.honeybadger.io/blog/incident-management-annoucement/?utm_source=rubyweekly&utm_medium=email&utm_campaign=ruby) — Now you can report incidents in real time (or retroactively) and schedule alerts for planned maintenance. [Check it out](https://www.honeybadger.io/blog/incident-management-annoucement/?utm_source=rubyweekly&utm_medium=email&utm_campaign=ruby). 

Honeybadger sponsor   

['How We Use Authorization as a UX Tool'](https://www.linkedin.com/pulse/how-we-use-authorization-ux-tool-jonathan-loos/) — A look at how one team works with [Pundit](https://github.com/varvet/pundit), an OO oriented authorization library, to improve end-user experience. 

Jonathan Loos   

[How to Generate Sitemaps for Hanami Apps](https://hanamimastery.com/episodes/26-sitemap-generation-in-hanami-apps) — While this tutorial is focused on Hanami, [sitemap_generator](https://github.com/kjvarga/sitemap_generator) is a framework agnostic library. 

Hanami Mastery   

▶[Setting Up Ruby on a Modern Ubuntu Desktop](https://www.driftingruby.com/episodes/ubuntu-desktop) — Takes the [RVM](https://rvm.io/) approach. (Other approaches exist, including [asdf](https://github.com/asdf-vm/asdf-ruby) and [rbenv](https://github.com/rbenv/rbenv)). 

Drifting Ruby  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/ojodlr755bnjaxil6k9u.jpg)](https://bhserna.com/active-record-playground-runner-introduction.html)  

[The Active Record Playground Runner](https://bhserna.com/active-record-playground-runner-introduction.html) — This is an interesting idea. Benito is working on a tool that will let you play with Active Record to show off or test ideas without attaching it to an entire webapp. It’s early days but this is a cute idea. 

Benito Serna   

[Shale 0.7: Ruby Object Mapper and Serializer for JSON, YAML, TOML and XML](https://github.com/kgiszczak/shale) — You can now specify whether or not to render nil values, amongst [other things](https://github.com/kgiszczak/shale/releases/tag/v0.7.0). 

Kamil Giszczak   

[Don’t Let Your Issue Tracker Be a Four-Letter Word. Use Shortcut](https://shortcut.com/?utm_source=cooperRubyWeekly&utm_medium=spon_nl&utm_campaign=prospecting&utm_content=issuetrack) 

Shortcut (formerly Clubhouse.io) sponsor   

[Sync Scroll: A VS Code Extension to Scroll Split Panes Simultaneously](https://marketplace.visualstudio.com/items?itemName=dqisme.sync-scroll#syncscroll) — This isn’t a language specific thing, but I found it useful this week when doing a manual (non diff) comparison of two files. 

Visual Studio Marketplace   

[JiraAdf: Builder-Like Syntax for Atlassian Document Format (ADF)](https://github.com/maxim/jira_adf) — It’s _“how Jira and friends format rich text.”_ 
Max Chernyak   

[WP2TXT 1.0: Extract Text and Data from Wikipedia Dump Files](https://github.com/yohasebe/wp2txt) 
Yoichiro Hasebe   

**⚡️ QUICK RELEASES:** 

[Brakeman 5.3](https://github.com/presidentbeef/brakeman) – Static analysis vulnerability scanner for Rails apps.
 [Hamlit 3.0](https://github.com/k0kubun/hamlit) – High perf Haml implementation.
 [Faraday 2.5.1](https://github.com/lostisland/faraday) – The flexible HTTP client library.
 [dnsimple-ruby 8.0](https://github.com/dnsimple/dnsimple-ruby) – DNSimple API client for Ruby.
 [pg 1.4.3](https://github.com/ged/ruby-pg) – Postgres client library.     

Jobs  

[Senior Ruby on Rails Backend Engineer - Integrations](https://apply.workable.com/leadfeeder/j/09A43DF4EA/) — Are you a self-starter looking to learn and grow? We are hiring around the world to strengthen our rapid growth. Join our journey. 
Leadfeeder   

[Senior Software Engineer - Consumer - Remote (to GMT+2) / Dublin](https://careers.phorest.com/jobs/1837614-senior-software-engineer-consumer-remote-to-gmt-2-dublin?promotion=457656-trackable-share-link-ruby-weekly) — You will architect and implement new software component designs and enhancements to our existing consumer products. 
Phorest Salon Software   

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