Short Ruby News - Edition #106

The one about Rails performance benchmarks, new Array#fetch_values method and Rails launched an official video series with tips and best practices.

The newsletter won't be sent for the next two Mondays. I'll be at EuRuKo (talk and workshop) and Friendly.rb (co-organizer) next week. I'll migrate the newsletter to Beehiiv for a better layout during this time. As a subscriber, you should not be affected.

You can jump directly to a section:

πŸš€ Launches & πŸ“… Events

πŸ‘‰ All about Code and Ruby: πŸ’» Code, πŸ“Code Design,πŸ’‘Around, ❀️ Why Choose Ruby

🧰 Gems, Libraries, and Updates: πŸ†• New, 🧰 Updates

More content: πŸ“š πŸ—ž 🎧 πŸŽ₯ ✍🏾 (articles, podcasts, videos, newsletters)

[Partner β¬‡] SupeRails.com

πŸ‘‹ Hi friends, Yaro here!After nearly 4 years and 200+ free videos on the SupeRails YouTube channel, I’m excited to launch SupeRails.com! πŸš€With a PRO subscription, you’ll unlock exclusive content focused on real-world business solutions in Ruby on Rails.Here’s what’s included:πŸ‘‘ PRO episodes & full source code accessπŸ” SupeRails.com source code access⏳ Early access to new contentπŸ’¬ Suggest screencast topics🚫 No ads with a custom playerYour support helps me continue creating top-tier Ruby on Rails tutorials. πŸ™ŒVisit SupeRails.com and join the community today! 🌟

πŸš€ Launches and discounts

πŸš€ Ruby On Rails launched a new series of videos about tips and best practices for Rails β†’ Rails in Focus

Source: @rails

πŸ“… Events

πŸ“… Friendly.Rb shared an update about speakers, tickets and outdoor activities. Read the full thread here

Source: @friendlyrb

Source: @friendlyrb

πŸ‘‰ All about Code and Ruby

πŸ‘‰ Charles Oliver Nutter published an article describing what’s next for JRuby:

πŸ‘‰ David Heinemeier Hansson announced that Solid Cache and Solid Queue are set as default for Rails 8:  

πŸ’» Code Samples

οΈοΈπŸ’» Xavier Noria shared about Ruby not having a syntax for types:

οΈπŸ’» Kevin Newton shared about Ruby grammar:

οΈπŸ’» Matt Swanson shared a code sample about implementing rate limiting in Rails 7.2:

πŸ’» Remi Mercier shared a code sample showing how they implemented chainable scopes:

οΈπŸ’» Igor Alexandrov shared a simple quiz about Ruby false values:  

I suspect you already know the answer, but if you need to see it, it is here or directly in the Ruby documentation

οΈπŸ’» Vincent Rolea shared how they built dialogs:

οΈπŸ’» Ruby Cademy shared how they implemented an OOP-style contract interface:

οΈπŸ’» Fabian shared about manually associate records in Rails:

οΈπŸ’» Ruby Cademy shared about using Array#none:

οΈπŸ’» Greg Molnar shared a code sample about creating a new rails app from main:

οΈπŸ’» Alazycoder shared about a rake task to check migrations:

οΈπŸ’» Andrea Fomera shared a code sample about organizing Rails routes:

οΈπŸ’» Joel Drapper shared they build only for documentation purposes a mini-version of Phlex:

οΈπŸ’» Seth Horsley shared a code sample about using defined? to check for a dependency:

️ πŸ’» Jean Boussier shared a thread about hash access:

οΈπŸ’» Ruby Cademy shared about using Active Record connection_pool.stat

οΈπŸ’» Ross Kaffenberger shared a code sample about mixing Phlex with ERB:

οΈπŸ’» Ruby Cademy shared about using Rails extract_options! method:

οΈπŸ’» Josef Strzibny shared a code sample about using EXPLAIN ANALYZE from Rails:

οΈπŸ’» Oli Nelson shared a code sample about using Sinatra to server static web server:

πŸ“ Thinking about Code Design

οΈπŸ“ Jorge Manrubia shared about system tests and running CI locally:

οΈπŸ“ Igor Alexandrov recommended using annotate_models gem to make it simpler for AI to understand Rails models:

οΈοΈπŸ“ Nate Berkopec shared about connection pool size:

οΈπŸ“ Jess Brown asked about morphing and scroll preserve:

Konnor Rogers shared a possible solution:

οΈπŸ“ Samuel Williams shared about making WebSockets proxy work between HTTP/1 and HTTP/2 for Falcon:

οΈπŸ“ Marc KΓΆhlbrugge shared about memory usage drop off after enabling Jemalloc for their Rails app:

οΈπŸ“ Jeremy Smith asked about building notifications for their new project:

Among many answers received, Stephen Margheim shared a gist detailing an analysis:

οΈπŸ“ Landon Gray asked about what vector DB are used by Rails shops:

Here are some answers:

  • faiss-ruby, storing on S3/GCS

  • pg_vector

  • Mongo Atlas Vector

  • Pinecone

οΈπŸ“ Jared Norman asked about RSpec or Minitest:

There are a lot of answers there; here is a short selection of some of them:

πŸ’‘ Around code (news, findings, books, and more - all about Ruby)

πŸ’‘ Nick Schwaderer shared a thread about how RubyGems web page evolved with time:

πŸ’‘ Juraj KostolanskΓ½ shared that they cannot use Rails in a domain name:

πŸ’‘ David Heinemeier Hansson shared this performance benchmark:

This post triggered some people outside the Ruby and Rails community, and then some people from the community responded. Here is a selection of replies:

πŸ’‘ Alex Rudall shared they reached 73 Ruby/Rails companies on their open repo:

❀️ Why Choose Ruby and Rails

❀️ Pierre Adrien shared about using Sinatra:

❀️ Chris Kottom shared about how Ruby is easy to read:

❀️ Donn Felker shared about rewriting an app from React and Node to Rails:

❀️ J Clarke shared about building startups with Rails:

🧰 Gems, Libraries, Tools and Updates

πŸ†• New Gems and Repos

🧰 Updates

🧰 Nate Berkopec announced a new version of benchmark-ips β†’ Release 2.14 Akagi Β· evanphx/benchmark-ips

🧰 Akira Matsuda announced a new version of simplecov-html

πŸ‘€ Keep an eye on

πŸ‘€ Ruby Dev Meeting happened on 5th September. See the meeting log here. Here are some parts of the meeting:

🀝️ Andrey Sitnik shared they updated the favicon guide How to Favicon in 2024: Six files that fit most needs

🀝 Uncle Bob Martin shared a thread about benefits of OOP:

🀝 Nate Berkopec shared about autoscaling based on CPU for background jobs:

🀝 Adrian Marin shared about adding the email to Github profile:

🀝 Guillermo Rauch shared 

More content: πŸ“š πŸ—ž 🎧 πŸŽ₯ ✍🏾

Kevin Newton shared their slides about Why Prism?

πŸ—ž Newsletters

πŸ—ž Ruby On Rails published a new edition about Ruby on Rails β€” Solid Cache and Queue as default backends and more

πŸ—ž Hotwire Weekly published a new edition about Week 36 - Lazy-load Turbo Frames early, Turbo Laravel Morphing Support, and more!

πŸ—ž Ruby Weekly published a new edition about Real-time Ruby profiling

πŸ—ž Awesome Ruby Newsletter published a new edition Issue 433 - Say No To Partials And Helpers For A Maintainable Rails Front-End

🎧 Podcasts

🎧 Jeremy Smith published a new video about Week 5 - Riffing on Topic Subscriptions

🎧 Ode To Rails Conf published a new podcast about Nadia Odunayo

🎧 John Nunemaker published a new podcast about Pricing

🎧 Indie Rails published a new podcast about Job Boarding with Jason Charnes

🎧 Thoughtbot published a new podcast about The Bike Shed: 438: Writing abstractions in tests

🎧 Luca Rossi published a new podcast with David Heinemeier Hansson 

🎧 Remote Ruby published a new podcast about Andrew is Triggered by Jason Cs JSON B Columns

πŸ“½οΈ πŸŽ₯ Videos

πŸŽ₯ Evil Martians published a new video about SF Bay Area Ruby Meetup #6 at GitHub on September 3

πŸŽ₯ Yaroslav Shmarov published a new video about Build an international company search engine

πŸŽ₯ Drifting Ruby published a new video about Ruby or Rails

πŸŽ₯ Josh Pigford published a new video about Rails multi-app servers with Hetzner, Digital Ocean and Hatchbox

✍🏾 Articles

What’s new πŸ†•

πŸ†• Adam McCrea published an article about Say No To Partials And Helpers For A Maintainable Rails Front-End

πŸ†• Zeke Gabrielse published a new article about Licensing is packaging

πŸ†• Bill Tihen published an article about Ruby 3.x - Lazy Evaluation, prioritized algorithms

πŸ†• Ruby Central published an article about Ruby Central Welcomes Marty Haught as Interim Lead for RubyGems and Bundler

πŸ†• Julian Rubisch published a new article about Betterstimulus | Targetless Controllers

πŸ†• Rails Designer published an article about Refactor Stimulus.js Controllers to Use Change Callbacks

πŸ†• Jonathan Greenberg published an article about How Can You Do it? Well, It Prepends...

πŸ†• Carlos Pohlod published an article about Understanding complex Rails projects – Ruby on rails stack trace made easy

πŸ†• Kevin Sylvestre published a new article about Using OmniAI to Convert PDFs to Markdown with LLMs

πŸ†• Prasanth Chaduvula published an article about Rails 7.1 Adds *_deliver Callbacks To ActionMailer

How-TOs πŸ“

πŸ“ Lawrence Gripper published a new article about shared  Beautiful, Short, IDs in GraphQL (or other things) with SQIDs

πŸ“ Akshay Khot published an article about Routing Concerns in Rails

πŸ“ Luigi Antonio Guillen published an article about Ruby Debugging, VS Code, Gems, and Bundler!

πŸ“ Luigi Antonio Guillen published an article about How to Install Ruby on Windows, macOS, and Linux

πŸ“ JT Dev published an article about Working with LLMs in Ruby on Rails: A Simple Guide

πŸ“ Edvardas Baravykas published an article about Ruby on Rails Boilerplate: Vite, Tailwind, Stimulus

πŸ“ Vijay Vinod published an article about Upgrade Ruby using dual boot

πŸ“ Radan Skoric published an article about How to load a lazy loaded turbo frame a bit before it scrolls into view

πŸ“ Rails Designer published an article about Building Nested Forms in Rails with Stimulus

Sara Soueidan published a new article about Should form labels be wrapped or separate?

Reply

or to participate.