Short Ruby News - Edition #92

The one where we deep dive into frozen strings

You can jump directly to a section:

🚀 Launches & 📅 Events

🤝 Related (but not Ruby-specific)

More content: 📚 🗞 🎧 🎥 ✍🏾 (articles, podcasts, videos, newsletters)

🚀 Launches

🚀 Stephen Margheim has listed the beta version of SQLite on Rails (affiliate link - use this if you want to support ShortRuby newsletter) on Gumroad:

🚀 Alex Rudall is releasing his new book RailsAI - Ship your AI MVP, fast !

🚀 Andrea Fomera launched a new project called RailsBuddy.com for pairing Rails developers together:

🚀 Mehdi Farsi launched RubyQuiz

📅 Events

📅 Ruby Kaigi announced the dates for RubyKaigi 2025!

📅 Visuality announced that ticket sales for Ruby Warsaw Community Conference - Summer 2024 has started.

📅 Balticruby announces 30% discount on “Personal” tickets

📅 Kevin Liebholz shared the event details for Ruby Frankfurt Meetup - Summer Edition

👉 All about Code and Ruby

👉 Xavier Noria warned about not deleting frozen string literal:

Jean Boussier added about the flag on CI:

Xavier Noria published a note where he details the frozen string literal and what the future holds for it. You should read it!

and later added:

👉 Maxime Chevalier shared about Rails performance:

👉 Satoshi Tagomori shared he’d be talking about Namespace on Read a proposal for Ruby at RubyKaigi and at 「Ruby Association Activity Report」 開催のお知らせ

👉 Xavier Noria shared his thoughts around the naming of the new feature

👉 Rob Zolkos shared a job from Apple where they describe that they are using Rails for Apple Music: (see job here)

Bram Jetten added:

💻 Code Samples

💻 Marc Köhlbrugge shared a Ruby script to manage Cloudflare domains

💻 Collin shared a code sample on Enumerable#partition

And this is how to use the same in code:

💻  Drew Bragg shared a code sample showing stack HEREDOCs:

💻 Yaroslav Shmarov shares an interesting code sample for ruby

💻 Ruby On Rails shares a streamlined method to both invalidate a cache and procure a fresh token in Rails 7.1

💻 John Mc Dowall shares on how you can quickly and dirtily grab a local PG database backup running as a Kamal accessory.

💻 Chris Oliver shares a pro tip for rake tasks in ruby

Here is a quick example:

💻 Prabin Poudel shares his learning about number_with_precision

💻 Ruby Cademy suggests to take advantage of accessed_fields and after_action callback to optimize high-traffic pages.

💻  Matt Swanson asked about making a View Helper faster:

 Here are some replies:

💻  Charles Oliver Nutter shared about JVM and JRuby integration:

💻  Matt Swanson shared a code sample:

💻  Mikel Lindsaar shared a benchmark comparison from JRuby 10: Ruby 3.3 on the Modern JVM

📐 Thinking about Code Design

📐 Peter Solnica shares a benchmark on Rails vs Hanami vs Phoenix.

Adrien Poly added their stats to Peter's benchmark:

📐 Andrei Maxim has something to add in response to Nate’s post discussed on our last edition

📐 Benjamín Silva H. explains why he thinks rails server handle more than 1.5 requests per server per vCPU:

📐 James Tucker shared about the performance he’s getting on a single vCPU using Rails

📐 Joel Drapper shared his thoughts about how many requests a Ruby/Rails application can handle.

📐 Gavin Morrice shared his experience working on Rails applications with millions of monthly users.

📐  Lucian Ghinda shared a thought about supporting pattern matching in arguments :

💡 Around code (news, findings, books, and more - all about Ruby)

💡 David Heinemeier Hansson shared a zero-config alternative to tmux

💡 Akshay Birajdar shared his learnings from reading the Down gem’s codebase

💡 Joël Quenneville shared tips for working with Turbo

💡 David Heinemeier Hansson discusses why Kamal1 needs Traefik for gap-less deploys.

💡 Piotr Ch shares why he thinks it’s time for a new game-changing framework

💡 Scott Watermasysk shared Hide files VS Code extension

💡 Adam Mc Crea shares three intriguing thoughts on Sidekiq queues:

💡 Matt Swanson shares about <bundle update --conservative GEM>

💡 Andrei Kaleshka talks about why he thinks pattern matching in Ruby is amazing and how it helped him with implementing his complex business logic.

💡 Ruby Cademy provides insights on what happens internally when ActiveRecord::RecordInvalid error is raised.

❤️ Why Choose Ruby

❤️ Spilth shares why he loves Ruby

❤️ Allometry shared about what they missed in other frameworks and why they will go back in Rails:

❤️ Conner says that he prefers Rails for its “batteries included” mentality

❤️ Jon Yongfook speaks for a lot of us as he quotes:

❤️ Jonathan Clem shared how the talks about Ruby being too slow

🧰 Gems, Libraries, Tools and Updates

🆕 New Gems and Repos

🆕 David Heinemeier Hansson announced a new editors supporting Markdown coming in the next 37Signal product called Workbook:

🆕 kokuyouwind announced a new gem called rbs_goose - RBS type inferrer with LLM

🆕 De Silva announced a new ruby gem danger-gem_changes: A Danger plugin to assist with Gemfile dependency changes.

🆕 Masato Ohba released pbt: Property-Based Testing tool for Ruby, supporting multiple concurrency methods (Ractor, multiprocesses, multithreads).

🧰 Updates

🧰 Stanislav Katkov announced a new version of Posh TUI 0.7

🧰 Bozhidar Batsov shared release of RuboCop 1.64 which is out with a bunch of new features and small improvements

🧰  Janko Marohnić happily shares that the Down gem, used for Streaming downloads using Net::HTTP, http.rb or HTTPX has reached 1K stars on Github

🧰 Yuichiro Kaneko announced a new version of Release v1.8.0 · ruby/racc. racc is Racc is an LALR(1) parser generator. It is written in Ruby itself, and generates ruby programs.

🧰 Rémy Hannequin announced a new version of Pull requests · rhannequin/astronoby , astronoby enables Ruby developers to compute astronomical data and events

🧰 Kevin Newton shared about Prism progress:

👀 Keep an eye on

👀 Hanami shared their Plans for Hanami 2.2. You are welcome to checkout the project board and contribute.

👀 Jason Fried shared a preview of the next ONCE product “Workbook”

🤝 Related (but not Ruby-specific)

🤝 Mohammad A. Ali announced a new version of SQLite Release 3.46.0 On 2024-05-23

🤝 Joshua Wood shared about inspiration:

🤝 William Kennedy shared about businesses:

🤝 Jose Farias shared about OOP:

More content: 📚 🗞 🎧 🎥 ✍🏾

Tomoya Ishida shared their slides Writing Weird Code

🗞 Newsletters

🗞 Ruby Central published a new edition about May 2024 Newsletter

🗞 Hotwire Weekly published a new edition about Week 21 - Turbo Native book update, Turbo LSP, and more!

🗞 Ruby Weekly published a new edition about Strings can only get better

🗞 Greg Molnar published a new edition of This Week in Rails about Better error message, opt-in devcontainers and more!

🗞 Ruby LibHunt published a new edition of Awesome Ruby newsletter - issue 418

🎧 Podcasts

🎧 Founder Quest published a new podcast about RailsConf recap with John Nunemaker

📽️ 🎥 Videos

Screencasts

🎥 Dean De Hart published a new video about Idempotency in Ruby on Rails

🎥 Drifting Ruby published a new video about Episode 458 - Feature Toggle from Scratch

✍🏾 Articles

What’s new 🆕

🆕 Mari Imaizumi compiled a big list of articles about RubyKaigi 2024

🆕 Andy Croll published a new article about Railsconf Detroit 2024: A Co-chair’s Perspective

🆕 Lewis Buckley published an article about Prometheus metrics with Rails and Kamal

🆕 Adam McCrea published an article about Planning your Sidekiq queues

🆕 Jason Swett published a new article about Testing anti-pattern: accessing private properties

🆕 Maciej Mensfeld published an article about From Sleep to Speed: Making Rdkafka Sync Operations 16 Times Faster

🆕 Dr. Milan Milanović published a new article about Inside Shopify’s Modular Monolith

🆕 Maciej Mensfeld published a new article about From Sleep to Speed: Making Rdkafka Sync Operations 16 Times Faster

🆕 Martin Streicher published an article about Five Things to Avoid in Ruby

🆕 Joel Warrington published an article about Building a Ruby on Rails MVP

🆕 Steven Harman published an article about On Flaky Tests, Time Precision, and Order Dependence

🕵️ Deep-Dive

🕵️ Krzysztof published an article about Hanami’s place in the world of Rails

How-TOs 📝

📝 Mohammad A. Ali published a new article about Full text search for Litestack Ruby apps with Litesearch

📝 Akshay Khot published an article about How to Setup Rails-like Integration Tests in Ruby

📝 Rails Designer published an article about Communicating between Stimulus Controllers using Outlets API

📝 Ahmed Nadar published an article about Normalization in Rails 7.1 era

📝 Roland Lopez published an article about Ruby on rails Cloudflare turnstile tutorial

📝 Ryan Bigg published an article on Scheduling with Ice Cube and about Thought Experiment: Without React or GraphQL

📝 Fito Von Zastrow published an article about Extension without Modification

📝 Jeffery Morhous published an article about Adding views to an API-only Rails app

📝 Garrett Gregor published an article about Fakeish

📝 Nithin Bekal published an article about Blocking AI bots with robots.txt in Jekyll

📝 Povilas Jurčys published an article about How to use custom gems without changing the Gemfile

📝 Bill Tihen published an article about Rails 7.1.x - GraphDB App with AGE

Related

Reply

or to participate.