#​664 — July 27, 2023

Read on the Web

Together with  pgAnalyze

Ruby Weekly

▶  Forecasting the Future: An Intro to Machine Learning in Ruby — Why let Python have all the fun? At RailsConf 2023, Landon Gray gave a talk about doing machine learning work in Ruby. Is it viable? Landon found a way through and shows off a complete process in just 15 minutes.

Landon Gray

All of Andrew Kane's libraries are worth exploring in this area, too, as he has been a huge proponent of doing ML in Ruby.

Active Storage in Production — It might just be a post on the Rails forum for now but Jeremy Smith noted on Twitter that this practical, experience-driven look at Rails’ Active Storage is: “one of the best overviews I’ve read on Active Storage. Feels like it almost belongs in official documentation.”

Breno Gazzola

Using Ruby and Postgres at Scale? Your App Probably Has VACUUM Issues — Stop worrying about autovacuum tuning. The new pganalyze VACUUM Advisor provides per-table recommendations for autovacuum settings to optimize table bloat, tune freezing, and improve query performance.

pganalyze sponsor

RubyMine 2023.2 Released, Complete with AI Assistant — The latest version of the commercial Ruby and Rails IDE gets on the AI train with a LLM-based assistant (that can even generate your commit messages), but also numerous other features like UI updates, improved RBS support, import map support, and code completion support for Turbo.

Iryna Pisklyarova (JetBrains)

❓ Rails 7.1 isn't quite here yet, but it's adding a way to identify unused routes by way of running rails routes --unused. Other 7.1 additions include ActiveJob#perform_all_later to enqueue multiple jobs at once and Action Mailer *_deliver callbacks.

👩‍💻 Rails Hackathon is a remote hackathon for Rails developers that starts tomorrow and runs through the weekend. You get 48 hours to build a Rails app (alone or in a small team). Maybe last year's winners can provide you with some inspiration.

📅 The Rails World speakers have been unveiled. If you were lucky enough to actually get a ticket and make it to Amsterdam this October, you'll get to see Aaron Patterson, Eileen Uchitelle, Adam Wathan, DHH, Irina Nazarova and others doing their thing.

🧪 Elixir is an interesting Ruby-inspired Erlang VM-based language with a lot of parallels to Ruby, but the author of Phoenix on Rails picks on three key diffferences between Ruby and Elixir..

📕 Tutorials, Articles, and Videos

Ruby Operators Explained — A nice list to add as a reference when you’re trying to remember bitwise or pattern-matching (or any) operators.

Kevin Newton

How to Date a Gem — No romance involved, alas, just the development of a library (called GemDating) to find out-of-date dependencies (handy if you’re doing a Ruby or Rails version upgrade).

Steve Jackson

Fixed Price Monthly Code Maintenance for Rails Apps — No time to do those small but critical updates and features? CodeCare will take care of necessary tweaks, bug fixes, upgrades and ongoing improvements for your app.

Reinteractive / CodeCare sponsor

Passkey Authentication with Rodauth — Rodauth’s feature set and flexibility keep getting stronger, as this support for the WebAuthn specification demonstrates, making MFA and passwordless login reasonably straightforward to implement.

Janko Marohnić

How to Auto-Generate Plain-Text Emails — Most email clients render HTML emails, but sending a plain text version at the same time is a good practice and Tom has a slightly hacky but quick way to pull it off here.

Tom Rothe

If you have the opposite problem and want to make good looking HTML emails, Drifting Ruby has you covered with ▶️ Fancy Emails with MJML.

Does Basecamp/Hey Use ViewComponents? — In short, no, and DHH popped up to explain what they do instead.

Ruby on Rails Discussions

How to Dynamically Create Instance Variables in Ruby — Say hello to instance_variable_set.

Akshay Khot

A Brief Introduction to Rails Initializers: Why, What, and How

Akshay Khot

Common Distance Metrics Implemented in Ruby
Domhnall Murphy

Exploring Genetic Algorithms with Ruby
Rafael Peña-Azar

🛠 Code & Tools

imap-backup 11.0: A Tool to Backup IMAP Accounts — A tool to mirror, migrate, or even restore email accounts accessible over IMAP. v11 includes a change to the downloading approach that yields significant performance improvements for downloading mailboxes with 100k+ messages.

Joe Yates

ruby-macho 4.0: Pure-Ruby Library for Parsing Mach-O Files — The Mach-O file format is used by macOS and iOS as a general purpose binary format. This library comes from the Homebrew package manager project which has just released Homebrew 4.1.2 which includes a new offline, signed and notarized installer.

Homebrew Project

Well, Crud … The Person Who Can Do That Is Gone — And yet you still need to get stuff done and ship features. We can help you figure it out and keep it that way. Let’s go.

Test Double sponsor

Strong Migrations 1.6: Catch Unsafe Migrations in Development — Detects potentially dangerous operations and prevents them running by default.

Andrew Kane

Win32::Screenshot: Capture Screenshots in Windows from Ruby — It uses FFI to directly call the relevant functions in the legacy Windows GDI system.

Jarmo Pertman


Senior Backend Engineer (Backend) — 12M user devices sent us data daily last week, 6M of them opened the app. Apply your knowledge and help make our users healthier.

Senior Fullstack Engineer - Core Team (Europe) — Booqable prides itself on being a global company with team members working together from across the world. We are remote-first, so you can join us from wherever you are.

Find Ruby Jobs with Hired — Hired makes job hunting easy-instead of chasing recruiters, companies approach you with salary details up front. Create a free profile now.