---
title: "DHH on SQLite"
publication: "Ruby Weekly"
issue: 705
published_at: "2024-05-30"
canonical_url: "https://rubyweekly.com/issues/705"
---

Plus Ruby 3.3.2 and 3.1.6 are released. |        

#​705 — May 30, 2024 

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

Together with [![JudoScale\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_500,h_122/e_make_transparent/co_white,e_outline:9/uimgjqpabq3x7sq0q631.png)](https://judoscale.com?ref=RubyWeekly)   

Ruby Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/bbwgrkuexumnuefh8aef.jpg)](https://evilmartians.com/chronicles/gemfile-of-dreams-libraries-we-use-to-build-rails-apps)  

[The _Gemfile of Dreams_ Returns for 2024](https://evilmartians.com/chronicles/gemfile-of-dreams-libraries-we-use-to-build-rails-apps) — First published almost 18 months ago, this article distilling several developers’ experiences into a curated selection of useful libraries to consider when building modern Rails apps has had a major update for 2024. 

Evil Martians   

[Ruby 3.3.2 Released](https://www.ruby-lang.org/en/news/2024/05/30/ruby-3-3-2-released/) — It’s the latest version, but there aren’t any new features. It’s a bug-fix release to fix, admittedly, [quite a lot of minor nits](https://github.com/ruby/ruby/releases/tag/v3_3_2) including being able to crash Ruby with [a rather odd string-related incantation.](https://bugs.ruby-lang.org/issues/20292) 

Takashi Kokubun   [![\](https://copm.s3.amazonaws.com/fd888c2f.png)](https://judoscale.com?ref=RubyWeekly) 

[Prod Alerts? You Should Be Autoscaling](https://judoscale.com?ref=RubyWeekly) — Workloads are variable, and we scale your capacity accordingly. Batch jobs? Scaled up. Quiet night? Scaled down. Traffic spike? No problem! Sidekiq, Solid Queue, Delayed Job? We support them all. 

Judoscale sponsor    

▶[David Heinemeier Hansson on SQLite](https://highperformancesqlite.com/interviews/dhh) — The creator of Rails caught up with Aaron Francis to discuss all things relating to the latest renaissance of SQLite and its use in production-facing Rails apps. It’s a 50-minute video, but with a complete written transcript. 

High Performance SQLite   

[Ruby 3.1.6 Released](https://www.ruby-lang.org/en/news/2024/05/29/ruby-3-1-6-released/) — [3.4.0 preview 1](https://www.ruby-lang.org/en/news/2024/05/16/ruby-3-4-0-preview1-released/) might be out, but Ruby 3.1 is still getting occasional security maintenance releases. v3.1.6 fixes two bugs with building Ruby 3.1, plus some Fiddle breakage. 

Hiroshi SHIBATA   

- 🚂 [The speaker list for Rails World 2024](https://rubyonrails.org/2024/5/28/rails-world-speaker-list) is up. If you didn't manage to get a ticket and really want to go, there's a second batch of tickets available on June 4 at 2pm Eastern from[here.](https://rubyonrails.org/world/2024)
- 🇧🇦 [EuRuko is back](https://2024.euruko.org/) for 2024 in Sarajevo, Bosnia & Herzegovina, and [the full line up and agenda](https://2024.euruko.org/#agenda) has just been revealed. So many great speakers including Matz, Victor Shepelev, Erica Weistrand, José Valim, Koichi Sasada, Dave Thomas, and.. truly many more.
- 📚 We have no connection with _Pragmatic Bookshelf_ but till June 5 they have 50% off with code `2024Redux` on [numerous books,](https://media.pragprog.com/newsletters/2024-05-29.html) including [the latest Pickaxe](https://pragprog.com/titles/ruby5/programming-ruby-3-3-5th-edition/), [Agile Web Development with Rails 7](https://pragprog.com/titles/rails7/agile-web-development-with-rails-7/), and [Rails Background Jobs with Sidekiq](https://pragprog.com/titles/dcsidekiq/ruby-on-rails-background-jobs-with-sidekiq/).
- 🚂 Say hello to [Rails 7.2 Beta 1.](https://rubyonrails.org/2024/5/29/Rails-7-2-0-beta-1-has-been-released)
- ⛏️ IDE [RubyMine's latest early access program](https://blog.jetbrains.com/ruby/2024/05/rubymine-2024-2-early-access-program-is-open/) is now open.  

📄 Articles, Tutorials & Videos  

[Destructuring the World (and any Object) in Ruby](https://joshfrankel.me/blog/destructuring-the-world-in-ruby/) — `deconstruct_keys` and `deconstruct` ([more on `deconstruct` here](https://docs.ruby-lang.org/en/3.0/syntax/pattern_matching_rdoc.html#label-Matching+non-primitive+objects-3A+deconstruct+and+deconstruct_keys)) are special methods you can use on your own classes and objects to define behavior/values when they're used in pattern matching. 

Josh Frankel   

⏰ [Scheduling with Ice Cube](https://ryanbigg.com/2024/05/scheduling-with-ice-cube) — Not the rapper, but the iCalendar-inspired [repeated event library.](https://github.com/ice-cube-ruby/ice_cube) It’s handy if you have tasks you need to complete on a very human-like repeating basis (e.g. the weekday closest to the 1st). 

Ryan Bigg   

[🔓 Is Your Rails App Secure? Need to Upgrade on a Budget?](https://www.fastruby.io/monthly-rails-maintenance?utm_source=cooperpress&utm_medium=paidplacement&utm_campaign=experience-is-king&utm_term=rails-upgrades-on-autopilot&utm_content=textonly) — Talk is cheap. [Experience is king](https://www.fastruby.io/blog/is-it-expensive-to-upgrade-rails.html#:~:text=We%20have%20invested%20more%20than%2030%2C000%20hours%20in%20total%20in%20upgrading%20Rails%20applications%2C%20having%20completed%20more%20than%20100%20upgrade%20projects.%20In%20this%20article%2C%20we%E2%80%99ll%20leverage%20our%20historical%20data%20and%20what%20we%20learned%20to%20help%20you%20answer%20this%20question%3A%20How%20much%20will%20this%20cost%3F). Bonsai by [FastRuby.io](https://www.fastruby.io/?utm_source=cooperpress&utm_medium=paidplacement&utm_campaign=experience-is-king&utm_term=rails-upgrades-on-autopilot&utm_content=textonly) is the monthly upgrade service for top-notch engineering teams 🚀 

Rails Upgrades on Autopilot sponsor   

[Better Know a Ruby Thing: Methods and Access Control](https://noelrappin.com/blog/2024/05/better-know-access-control-part-1/) — Noel has been writing [a series](https://noelrappin.com/tags/better_know/) on individual Ruby features he wants to look closer at. Today we get to look at methods and how `public`, `protected` and `private` affect their visibility. 

Noel Rappin   

[Why, After Six Years, I’m Over GraphQL](https://bessey.dev/blog/2024/05/24/why-im-over-graphql/) — It’s not a Ruby specific issue, but the author uses Ruby to demonstrate his qualms. 

Matt Bessey   

[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. Both a neat trick and cute exercise. 

Greg Molnar   

📄 [Getting Started: Your Rails App Hosted on DigitalOcean with AppSignal](https://blog.appsignal.com/2024/05/29/getting-started-your-ruby-on-rails-app-hosted-on-digitalocean-with-appsignal.html) Aestimo Kirina 

📄 [How to Reuse the Same Page in Different Turbo Frame Flows](https://radanskoric.com/articles/reuse-same-page-in-multiple-frames) Radan Skorić 

📄 [Production-Grade (ish) Rails Deployment on Hetzner with Kamal](https://www.luizkowalski.net/production-grade-ish-deployment-on-hetzner-with-kamal/) Luiz Kowalski 

📄 [Hanami's Place in the World of Rails?](https://2n.pl/blog/hanami-s-place-in-the-world-of-rails) – Very much an opinion piece. Krzysztof Kamil 

📄 [How I Saved 100 GB of Disk Space on my Mac](https://thoughtbot.com/blog/how-i-saved-100-gb-of-disk-space-on-my-mac) Rakesh Arunachalam (Thoughtbot)  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/c4yd5i0damgzylbfpsei.jpg)](https://github.com/ohbarye/pbt)  

[PBT: Property-Based Testing for Ruby](https://github.com/ohbarye/pbt) — Rather than writing individual tests for specific examples of functionality, property-based testing encourages defining general properties of a system to check if they always remain true. [This example of such a test](https://github.com/ohbarye/pbt?tab=readme-ov-file#basic-usage) for a sorting method shows off the idea. 

Masato Ohba   

[Positioning: Simple Positioning for Active Record Models](https://github.com/brendon/positioning) — As maintainer of [ActsAsList](https://github.com/brendon/acts_as_list) and [Ranked Model](https://github.com/brendon/ranked-model), Brendon knows a few things about bringing _order_ to AR objects ;-) Supporting multiple lists per table and offering relative positioning, _Positioning_ builds upon his earlier efforts. 

Brendon Muir   

[Scout Monitoring Launches Unlimited Free Tier - Signup Now](https://scoutapm.com/docs/ruby?utm_source=rubyweekly&utm_medium=affiliate&utm_campaign=5_30_24&utm_content=newsletter_ad) — Painless deployment and no need to talk to sales. Get performance insights you need on your own in less than 5 minutes. 

Scout Monitoring sponsor   

[Ruby on Jets 6.0: A New Way to Take Rails Serverless](https://blog.boltops.com/2024/05/23/ruby-on-jets-6-0-rails-support/) — [Ruby on Jets](https://docs.rubyonjets.com/) is a long standing commercial platform for deploying Ruby apps on AWS’s serverless _Lambda_ platform, and now it supports Rails apps too. You do get two weeks to try it out though and see if serverless Rails is for you. 

Tung Nguyen   

💡 [Lamby](https://github.com/rails-lambda/lamby) is another option to consider in this space.  

[recursive-open-struct: OpenStructs in OpenStructs in OpenStructs](https://github.com/aetherknight/recursive-open-struct) — An OpenStruct subclass that returns nested hash attributes as RecursiveOpenStructs. 

Various Contributors   

- [Suspenders](https://thoughtbot.com/blog/suspenders-rewrite) – Thoughtbot's Rails template app has some some big updates.
- [Textbringer 1.4](https://github.com/shugo/textbringer) – An Emacs-like text editor written in Ruby.
- [sqlite3-ruby 2.0.2](https://github.com/sparklemotion/sqlite3-ruby) – Say hello to [SQLite v3.46.0](https://sqlite.org/releaselog/3_46_0.html) this time.
- [Gemsmith 21.8](https://github.com/bkuhlmann/gemsmith) – CLI for smithing Ruby gems. [What's new.](https://github.com/bkuhlmann/gemsmith/blob/main/VERSIONS.adoc#2180-2024-05-25)
- [ruby-warning 1.4](https://github.com/jeremyevans/ruby-warning) – Add custom processing for warnings.
- [Maxitest 5.5](https://github.com/grosser/maxitest) – Minitest, plus lots of added features.
- [Stripe Ruby 11.5](https://github.com/stripe/stripe-ruby) – Ruby library for the Stripe API.
- [Rufo 0.18](https://github.com/ruby-formatter/rufo) – The opinionated Ruby formatter.
- [Rodauth 2.35](https://github.com/jeremyevans/rodauth) – Advanced auth framework.         

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