Short Ruby News - Edition #99
Stay up-to-date on the latest launches, events, code samples, videos, and articles in the Ruby world. Don't miss out on what's happening in our community!
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
🤝 Related (but not Ruby-specific)
More content: 📚 🗞 🎧 🎥 ✍🏾 (articles, podcasts, videos, newsletters)
🚀 Launches and discounts
🚀 Julian Rubisch launched the overhaul for betterstimulus.com
📅 Events
📅 Ruby Conf announced Tickets are on sale
📅 Richie Khoo announced that tickets are on sale for Ruby Retreat 2024:
📅 Irina Nazarova announced that on August 13 YCombinator will be hosting the SF Ruby meetup:
📅 Nairuby shared they are looking for companies that use Ruby in Kenya. Please fill out the linked form:
📅 Meetups and conferences around the world happening this week:
18 July, Ruby in London with BEAM
19 July, Ruby Warsaw Community Conference 2024 Summer Edition
👉 All about Code and Ruby
👉 Takashi Kokubun announced Ruby 3.3.4 Released
There is also a Release Schedule presented:
Postmodern announced that ruby-install supports Ruby 3.3.4 Released
👉 David Heinemeier Hansson shared Solid Queue now runs close to 20 million jobs daily
💻 Code Samples
️💻 Matt Swanson shared a tweet demonstrating the power of the Hash#dig method
💻 Haseeb shared Ruby’s deep_merge method works
💻 Xavier Noria shared how bin/rails runner can go inside a shebang. Really helpful for the one-off scripts
️💻 Nate Hopkins shared about documenting complex Rails partials with strict locals:
💻 Avo shared Override the field method to add default values to field options · Avo
💻 Greg Navis shared a thread on ActionDispatch::RequestId. This thread will help deepen you’re understanding of the Rails middleware:
️💻 Ruby Cademy reminded us that Ruby allows function composition:
💻 Ro Rvs Wild shared about using any?, exists? and present?
💻️ sczi published a script to add fzf completions in IRB (see it in action in this short video):
️💻 Ismael Celis shared an example of how a declarative Ruby data structure looks like in action.
💻 Okura Masafumi shared a code sample showing how nested attributes can be used from alba - is a JSON serializer for Ruby, JRuby and TruffleRuby:
️💻 Ahmed Nadar shared about using OOP in WriteBook:
️💻 Haseeb shared how handy ActiveSupport’s delegate method
️💻 Haseeb shared how we can use update_all to move calculations to the DB for increased performance
💻 Ruby Cademy shared how to use regex constraints to validate dynamic segments in routes
💻 Valentino Stoll shared a code sample using Sublayer to generate RSpec files:
💻 Haseeb shared how ActiveSupport’s `in?` method works in action
️💻 Prem Sichanugrist shared rack/lib/rack/utils.rb at v3.1.6 · rack/rack
️💻 Haseeb shared Pluck in batches - combines the efficiency of pluck with the memory-friendly approach of find_in_batches
️💻 Haseeb shared about sanitize_sql_array method in Rails:
📐 Thinking about Code Design
️📐 Svyatoslav Kryukov shared a thread on how we the alternative approach to building web applications using Vite/Interjia.js works.
Here is a reply from DHH:
️📐 Lucian Ghinda asked Akinori MUSHA about the introduction of hash value omission
Akinori took the time to respond:
️📐 John Pollard asked about usage of defining namespaces:
Here are some replies:
📐 ️Greg Navis shared a thread on working with the `itself` method. The Twitter thread details how he used it.
📐 Avi Flombaum shared how he works with restful APIs - here is the code sample for the client:
📐 Steven Wanderski shared Todoist | A To-Do List to Organize Your Work & Life
️📐 Greg Navis shared a detailed thread about how reset_association and reload_association work.
📐 Michael Chaney shared why naming things is very important.
💡 Around code (news, findings, books, and more - all about Ruby)
💡 Joel Drapper shared about how Heroku influences the adoption of PostgreSQL:
There are a lot of replies to this post, here are some of them:
And here are some other posts (not direct replies to Joel question but related):
❤️ Why Choose Ruby
❤️ Amanda Brooke Perino shared she’s noticed a definite uptick on the Rails Job Board
❤️ Keshav Biswa shared how easy it was upgrade his hobby projects.
🧰 Gems, Libraries, Tools and Updates
🆕 New Gems and Repos
🆕 Dima Fatko announced a new gem active_record_tracer: A tracer for Active Record queries
🆕 Matt Brictson published a new gem called bundle_update_interactive - Adds an update-interactive command to Bundler
🆕 Marco Colli published a new gem called dnf - Convert any boolean expression to disjunctive normal form (DNF)
🆕 Scott Werner announced a new gem called testing_agent - Pair with an LLM that continuously watches a test file and an implementation file for changes see a video here Introduction to SubLayer AI Agent Ruby Gem
🧰 Updates
🧰 Vinicius Stock announced a new version of Ruby LSP
🧰 Janko Marohnić 💙💛 announced a new version of Minimagick v5.0.0
🧰 Jason Zimdars announced a new version of ONCE Writebook - Changelog
🧰 Santiago Bartesaghi announced a new version of yaaf: Easing the form object pattern in Rails applications
🧰 Bozhidar Batsov announced a new version of Release RuboCop 1.65 · rubocop/rubocop · GitHub
🧰 Jeremy Evans announced a new version of Roda 3.82.0 Released · jeremyevans/roda · Discussion #361 · GitHub
🧰 Greg Molnar announced a new version of Release v4.2.0 · activerecord-hackery/ransack · GitHub
🧰 Dima Fatko announced a new version of Add ability to configure default settings for new connections by fatkodima · Pull Request #177 · ruby/net-http · GitHub
🤝 Related (but not Ruby-specific)
🤝 Mike Dalessio shared about their career change:
🤝 Joe Pea shared @property - CSS: Cascading Style Sheets | MDNd
🤝 Gokul ⚡️ shared fabulous Career advice over this twitter thread. Do give it a read:
🤝 Adrian Marin shared a detailed thread on domain hunting
🤝 Zed shared Zed on Linux is here!
More content: 📚 🗞 🎧 🎥 ✍🏾
📚 Chris Blunt announced the launch of the book RailsOnDocker
🗞 Newsletters
🗞 Ruby On Rails published a new edition about Ruby on Rails — New Rails beta release, immutable option in http_cache_forever and more
🗞 Ruby Weekly published a new edition about All the talks from RailsConf
🗞 Hotwire Weekly published a new edition about Week 28 - RailsConf 2024 videos, managing connection avalanches, and more!
🗞 Awesome Ruby Newsletter published a new 💎 Issue 425
🎧 Podcasts
🎧 The Ruby on Rails podcast published a new podcast about Joel Hawksley on Web Accessibility
🎧 Creston Jamison published a new podcast about PgBouncer Breaking Change | Scaling Postgres 323
🎧 The Bike Shed published a new podcast about The Bike Shed: 432: The Semantics and Meaning of Nil
🎧 Ruby Rogues published a new podcast about Choosing the Right Audit Trail Approach in Ruby
📽️ 🎥 Videos
Screencasts
🎥 Rails Conf published RailsConf 2024 Videos
🎥 Igor Alexandrov published a new video about the ONCE’s Writebook codebase
🎥 Collin published a new video about Exploring the new Rails console prompt
🎥 Julián Pinzón published a new video about Discovering Turbo 8 refreshes in Ruby on Rails
🎥 Jason Swett published a new video about Adding Live Runtime Counter - Live Coding on SaturnCI, about Rethinking My Sloppy Build Status Logic - Live Coding on SaturnCI and about Intro to Testing - Mentorship Session with Michael Kihanya
🎥 Arkency published a new video about Build Read Models with Subscription Checkpoint + Testing concurrency!
✍🏾 Articles
✍️ Ryan Bigg published a new article about Debugging Checklist
✍️ Avo published a new article about Delegated Types and and building the ultimate Kanban Board in Rails · Avo
✍️ Julian Rubisch published a new article about Stimulus - Adding Markers to a Wavesurfer Element
✍️ Jijo Bose published a new article about Rails 7.2 Adds app:update Task to be a Rails Command
✍️ Vladimir Dementyev published a new article about how to deal with connection avalanches when working with Websockets
✍️ Prasanth Chaduvula published a new article about Rails Add ActiveRecord.after_all_transactions_commit Callback | Saeloun Blog
✍️ Ben Sheldon published a new article about Notes from Carrierwave to Active Storage
✍️ Prasanth Chaduvula published a new article about Puma-dev And Using It With Rails Applications
✍️ Jijo Bose published an article about Rails 7.2 Adds app:update Task to be a Rails Command
What’s new 🆕
🆕 Jason Zimdars published a new article about Tools for builders
🕵️ Deep-Dive
🕵️ Peter Zhu published a new article about Finding Memory Leaks in the Ruby Ecosystem
🕵️ Matt Stuchlik published a new article about Syscall Showdown: Python vs. Ruby
🕵️ Mohammad A. Ali published a new article about The Write Stuff: Concurrent Write Transactions in SQLite
🕵️ Cj Avilla published a new article about Common Sense Troubleshooting For Web Devs
How-TOs 📝
📝 Harut Margaryan published a new article about Using Async in Ruby on Rails for CSV export - DEV Community
📝 Kevin Murphy published an article about Access Request Headers in a Rails Controller
📝 Ganesh K. published a new article about Deploy Rails with Capistrano, Puma, Nginx
📝 Rails Designer published a new article about Add a custom Tailwind CSS class for reusability and speed
Related
✍️ My Sql announced the launch of MySQL 9.0
✍️ Zeno Rocha published a new article about Spotflow’s journey towards better email deliverability - part 1