You can jump directly to a section:
👉 All about Code and Ruby: 💻 Code, 📐Code Design,💡Around, ❤️ Why Choose Ruby
🧰 Gems, Libraries, and Updates: 🆕 New, 🧰 Updates and 👀 Keep an eye on
🤝 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」 開催のお知らせ
👉 Yukihiro Matz shared "Namespace on read" for Ruby, FAQ
👉 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).
🆕 Lewis Buckley shared a repo kamal-prometheus-example: An example Rails app demonstrating using Prometheus metrics with Kamal
🧰 Updates
🧰 David Heinemeier Hansson announced a new version of Release v0.9.0 · rails/propshaft and it is now the default in Rails 8
🧰 Stanislav Katkov announced a new version of Posh TUI 0.7
🧰 Mohammad A. Ali announced a new version of litestack - Litestack is a Ruby gem that provides both Ruby and Ruby on Rails applications an all-in-one solution for web application data infrastructure.
🧰 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
🧰 Mike Dalessio announced a new version of Release 2.0.2 / 2024-05-23 · sparklemotion/sqlite3-ruby
🧰 Jeremy Evans announced a new version of ruby-warning 1.4.0 Released · jeremyevans ruby-warning · Discussion #23
🧰 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
Charles Oliver Nutter shared their slides JRuby 10: Ruby 3.3 on the Modern JVM
🗞 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
🎧 The Ruby On Rails Podcast published Episode 516: Catching Up On The Rails Foundation with Amanda Perino
🎧 Andrew Atkinson published a new podcast about Speaker: Andrew Atkinson | POSETTE: An Event for Postgres 2024
🎧 Aaron Francis published a new podcast David Heinemeier Hansson | High Performance SQLite
📽️ 🎥 Videos
Screencasts
🎥 Jason Swett published a new video about Refactoring RSpec Request Specs to be More Understandable - Mentorship Session with Yain Porter and about How Do We Write Tests for Job Streaming? and about Changing How Build/Job Navigation Works - Live Coding on SaturnCI
🎥 Yaroslav Shmarov published a new video about Tailwind on Rails #168 Mobile footer navigation
🎥 Dean De Hart published a new video about Idempotency in Ruby on Rails
🎥 Irina Nazarova published a new video about SF Bay Area Ruby Meetup, March 2024: Ben Sheldon, Marco Roth, Daniel Farina, Vladimir Dementyev
🎥 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
🆕 Jared White published an article about Expressive Class Hierarchies through Dynamically-Instantiated Support Objects.
🆕 Steven Harman shared his blog On Flaky Tests, Time Precision, and Order Dependence.
🆕 Maciej Mensfeld published a new article about From Sleep to Speed: Making Rdkafka Sync Operations 16 Times Faster
🆕 Aki published a new article RubyKaigi 2024 - From LALR to IELR: A Lrama's Next Step (Day3)
🆕 Martin Streicher published an article about Five Things to Avoid in Ruby
🆕 Prasanth Chaduvula published an article about Strict Loading Using :n_plus_one_only Mode Does Not Eagerly Load Child Associations In Rails 7.2
🆕 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
🕵️ Jason Swett shared Testing anti-pattern: merged setup data - Code with Jason.
🕵️ 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
📝 Cristian Molina published an article about Basic painting with Ruby: implementing a flood-fill algorithm with DragonRuby GTK
📝 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