Short Ruby News - Edition #32
Briefly about everything happening in Ruby world - week 9 of 2023 (web version)
You can jump directly to a section:
๐ย Our Community
๐ย All about Code and Ruby
๐งฐย Gems, Libraries, and Updates
๐คย Related (but not Ruby-specific)
More content: ๐ฅ ๐ง ๐ย (articles, podcasts, videos, and newsletters)
๐ค Founding Members supporting this newsletter
โ I am helping organise the Friendly.rb conference:
There are still few (but not so many) early-bird tickets available and of course the call for speakers is still open in case you are thinking to submit a talk proposal.
๐ Our Community
๐ ๐ข I am launching a new section in this newsletter called Community. The main purpose of this section is to publish content related to this newsletter or to have calm conversations about important topics about the Ruby community.
You can read more about what I plan to do with this new section in the Community - introduction.
๐ Aurelie Verrot shared a piece from Hired report

Here are two more quotes from the report:


And maybe graph showing the hottest IC skills vs average:

๐Ruby Central announced that they support Mastodon Development:

๐ Andy Croll shared that FirstRubyFriend is looking for Portuguese speaking mentors and people from Asian and African countries.
Register as a mentor or mentee on FirstRubyFriend.org:
๐ Tom De Bruijn announced they updated the Rails Girls Guides:

If you know someone interested to learn Ruby, you can recommend them the Introduction to Ruby section from RailsGirls that was recently added.
๐ Brad Gessler shared a thread about how they think Rails is losing juniors:

I will not try to summarize the thread here as I think it is good to read it as it was shared because it includes explanations for each point. If you are not on Twitter you can read the thread via nitter here or via threadreaderapp here
Here are some replies to that thread trying to look at various causes than the technology:





There are many great replies there ,so you should read the entire discussion.
It is also worth mentioning two resources shared in that thread:
It is also worth reading the thread shared by Devanil Junior:

๐ Chris Oliver announced BeginnerBounties - a place where people can post bounties about programming tasks for juniors:

๐ R Spec Bdd For Ruby announced that RelishApp is down and invited us to read the article published by Matt Wynne about Relish:
If you like this content and want to receive it every week by email
๐ All about Code and Ruby
๐Nate Berkopec shared performance advice saying that upgrading Ruby usually pays off:

๐Noel Rappin shared an update about Programming Ruby 3.2 book:

He also added:

๐Cรฉdric Delalande shared how to a documentation showing that using blocks for log messages allows running interpolation only when the log level is matched:

Adam shared another nice trick:

๐Joel Drapper shared a performant result of a Ruby web stack he is using:

๐Mika Henriksson shared a performance improvement from running Ruby via jemalloc:

๐Rishi Pithadiya shared a code sample showing ActiveSupport inflectors:

๐Nate Berkopec shared an advice about performance between select and pluck:

๐Sam Saffron replied with a PR from discourse showing discourse fast_pluck.rb patch:
๐Mika Henriksson shared a TIL about Active Record pick:

๐Kirill Shevchenko shared a code sample showing Composite pattern in Ruby:

๐Kow shared a series of code samples exploring various ways to define routes in Camper:

๐Greg Molnar shared how to use each_with_index to start counting from 1:

๐Marc Kรถhlbrugge shared a thread with resources (videos) about Ruby:

Here are the channels shared in that thread:
๐Mario Schรผttel shared a code sample showing how min and max behave on negative ranges:

Benoit Daloze replied explaining why this happens:

๐ Andrea Rocca continues the series about Hotwire. Here a screenshot from only one of the many tips shared this week:

He shared about:
Hotwire tip 8/30 Ridiculously simple real-time chat (source code)
Hotwire tip 9/30 How about some tic tac toe? (source code)
Hotwire tip 10/30 Multi-step forms (source code)
Hotwire tip 11/30 Flash messages w/o page reload (source code)
Hotwire tip 12/30 Command palette with keyboard shortcut (source code)
Hotwire tip 13/30 Quick and easy reactive maps (source code)
Hotwire tip 14/30 Hotwire with ViewComponents (source code)
Hotwire tip 15/30 ChatGPT ๐ค Hotwire (source code)
Read all the threads shared so far from this mega-thread
๐Rishi Pithadiya shared another tip about using ActiveSupport::Inflector:

๐Kirill Shevchenko shared how to use RSpec output matcher:

๐Kevin Newton shared a code sample showing that in Ruby almost anything can go in a rescue clause:

๐Prabin Poudel shared a code sample about how to create a Rails generator:

๐Kevin Newton shared an interesting behavior of Ruby:

๐Moses Gathuku shared a code sample showing two ways:

And the second way to achieve that is:

๐Joel Moss shared a code sample showing how they use Phlex to render a form:

๐Shiva shared a thread with Rails console tips:

You should read the thread, there are examples about sandbox mode, showing annotations (FIXE/OPTIMIZE/TODO), showing versions info and Rails stats.
๐Brad Gessler shared two commands that can be used to precompile Ruby code (bootsnap precompile
and assets::precompile
)

๐Shiva shared a how to hide sensitive data from Rails logs:

๐Prabin Poudel shared a good reminder to start relying less on OpenStruct:

A couple of resources mentioned in the conversation:
Lucian Ghindaย suggested to use Date.define when possible:

๐ You can subscribe for free if you like this kind of content
Or you can consider upgrading to paid
Investing in the Ruby Weekly Newsletter as a paid subscriber is a valuable way to support the community around you. For ~1.5$/week (6.5$ per month), you can support its growth and ensure that high-quality information about the latest developments in Ruby continues to be available to everyone, both paying and non-paying subscribers alike.
If you consider upgrading and want more information, please read Why to subscribe to paid
๐งฐ Gems, Libraries, and Updates
๐งฐ DHH announced MRSK - check the Github repo and the website mrsk.dev:

๐งฐ Iainbeeston shared an update for Turbo frames: Read the PR: Don't break out of frames when frame missing #863

๐งฐAvo announced a new release. Check out the release notes:

๐งฐAdrian Marin shared that usage of Avo increased:

๐งฐKarol Bฤ k announced they released a new version of sidekiq-debouncer. The new version โallows to group and postpone the execution of similar jobs.โ
๐งฐRyan Davis announced the release of minitest v.5.18.0 which introduces assert-pattern:
๐งฐ Any Cable announced they released version 1.3 Read release notes
๐งฐ Yusuke Iwaki announced the release of version 1.31.1 of playwright-ruby-client
๐งฐ Maciej Mensfeld announced the release of version 2.5.0 of karafka/waterdrop: Standalone Karafka library for producing Kafka messages
๐ค Related (but not Ruby-specific)
๐ค Nate Berkopec shared about the risks of coupling web requests with third parties:

๐คCatalin Pit shared an advice that I would like to read it to myself every week:

๐Nate Berkopec shared why they think long-running jobs are like a DoS:

Maciej Mensfeld added what to do when one cannot split these jobs:

๐คJeffrey Chupp praised using feature flags:

๐คKent Beck shared how to pitch time investment in code health:


๐คJeremy Smith shared a thread about getting into consultancy/freelancing:

Here are the main points, but your should read the full thread:
Practice mapping your skills to market needs
Practice packaging and differentiating your offerings
Practice connecting with and serving people without a transaction
Practice identifying and qualifying leads
Practice converting leads
๐คMarc Cornellร shared a linux tip about clearing typed chars in sudo prompt:

More content: ๐ฅ ๐ง ๐
๐ Newsletters
๐ Ruby On Rails announced a new edition of This Week in Rails โ ๐ First edition of March curated by zzak
๐๏ธย Ruby Weeklyย published a new edition:ย Ruby turns 30
๐ Ruby Radar published a new edition Ruby Radar #92 - Suddenly I Want to Make a Rails Course
๐๏ธย Ruby LibHuntย published a new edition of theย Awesome Ruby Newsletter
Podcasts
๐ง Ruby For All published a new episode about Debugging Rails: Essential Tools and Where to Start
๐ง Remote Ruby published a new episode about BeagleBones, mRuby, and Devise 4.9 with Hotwire support!
๐ง The Ruby on Rails Podcast published a new episode Episode 459: Blue Ridge Ruby with Jeremy Smith and Mark Locklear
Videos
Talks
๐ฝ๏ธ Samuel Williams shared their talk about "Asynchronous Rails" - Samuel Williams (RubyConf AU 2023)
๐ฝ๏ธ The Rubber Duck Dev Show published a new show about Failing in Public!
๐ฝ๏ธ Jason Swett published a new episode of Code with Jason meetup about Adding tests to an existing Rails project (2023-03-02)
Screencasts
๐ฅ DHH published a video Introducing MRSK: โMRSK basically is Capistrano for Containers, without the need to carefully prepare servers in advanceโ
๐ฅYaroslav Shmarov published a new episode about Ruby on Rails #115 Multitenancy, Teams and Roles without a gem
๐ฅ Justin Searls shared episode 2 of this series of building live an application with Rails: Searls After Dark #2 - the Root Route
๐ฅ Deanin published a couple of videos:
Generate QR Codes with Active Storage | Ruby on Rails 7 Tutorial
Spina CMS Gem with Hotwire and Turbo | Ruby on Rails 7 Tutorial
๐ฅ Brandon Weaver published a new episode about Ruby Learning Center - Complete Guide to Rails Performance - S6
๐ฅ Pete Hawkins shared on Twitter a video about Rails tip: Customise your generators
๐ฅ Pete Hawkins published a new video about The BEST way to build Infinite Scroll using Hotwire
Articles
Whatโs new
Ryan Bates published an article about RailsCasts Retrospective Part 1: The Fuel
How-Tos
Rob Lacey published Fun with classes and constants
Davide Santangelo published Rails Service Objects: A Tiny Guide
Thomas Cannon published an article about HTTPS, Subdomained System Tests in Ruby on Rails
Lucas Barret published a new article about The Secret Ingredient for Transactional Consistency
Will Pickeral published Computed columns with the find_by_sql method in a Rails application
Andrey Novikov shared an older but excellent article about Arel through examples - Sunfox
Scott Watermasysk shared a short article about Pretty-print JSON in Ruby
Tabrez Syed published Build AI into a Rails app with BoxCars
Deep Dives
More general
Jorge Manrubia published an article about Pending tests
Rob Lacey published Do We Really Need SimpleForm?
Related
Ryan Bigg published an article with an excellent explanation of Elastic Search
๐ค Founding Members supporting ShortRuby
Drew Bragg, host of Code and the Coding Coders who Code it
Avi Flombaum, the founder of Flatiron School, is a product engineer interested in full-time/contract work.
Adrian Marin, creator of Avo - a Ruby on Rails application building framework
Adam McCrea, creator of Judoscale (formerly Rails Autoscale)โtheย dead-simple autoscalerย for Rails, Sidekiq, etc.
Stephen Ierodiaconou from www.diaconou.com
Harry Lascelles
Jason Charnesย from Remote Ruby
Andy Croll fromย One Ruby Thingย and FirstRubyFriend
Read more about what is a Founding Member or about Why pay for ShortRuby newsletter