๐ซถ Short Ruby News - Edition #25
Briefly about everything happening in Ruby world - 2023 week 2
You can jump directly to one of the following sections if you like:
๐ Our Community
๐งฐ Gems, Libraries, and Updates
๐ค Related (but not Ruby-specific)
More content: ๐ฅ ๐ง ๐ (articles, podcasts, videos, slides, and newsletters)
If you want to read also the edition that covers the 2022 Winter holiday, I published it on the web but did not send it via email as it was too big:
๐ Our Community
๐ Yukihiro Matzย invited people to share what Ruby is for them:

Here is a selection from the replies that Matz retweeted:
โMakes me happyโ (@rahulballal7)
โ... makes you fall in love with programming!โค๏ธ Thank you Matz !!!โ (@ankurvyas27)
โPay the bills. Kudos to you ๐โ (@MarcelMonfort)
โ..is either a really fun programming language even for serious work. ...or is a fantastic song by the Kaiser chiefs.โ (@onghu)
โis memory hog with no type safety. I love coding in ruby though.โ (@smshuja)
โlove and hate relationship with Ruby. but it the end, it paid my bills. love your work, thank you.โ (@tegarlaga)
โRuby completely changed by life in highschool Programming finally felt accessible and Ruby laid the foundation of my engineering career and my time at startups and building products Thank you for your incredible workโ (@ian_dot_so)
๐ I asked on Ruby.social, Twitter and r/ruby:

Here are some of the answers:
Hotwire Dev Newsletter, Ruby Weekly, Code With Rails, Ruby Land, Daily.dev, Cezar Halmagean Blog, SupeRails Blog, Kevin J Murphy Newsletter, Caleb Hearth Blog, Andy Croll Newsletter, Karol Bak Blog, Jared White Full Stack Ruby, Noel Rappin Newsletter, Ryan Bigg Blog, Tim Riley Blog, David Young Newsletter, Hanami Mastery Blog, content_for :devs, rubyonrails.ba, Cangshi Xianye blog, Sreeram Venkitesh Blog, Rafal Piekara Ruby Mailing, Benito Serna Blog, Devanil Junior Blog, Notes to self by Josef Strzibny, Alchemist by Brooke Kuhlmann
Some are personal newsletters, some are just blogs, some are in English, and some are in other languages, but they are worth checking.
๐ Ryanย shared a new project they are working on Rails + Hotwire Jobs:

๐ Adrian Marin asked who is learning Ruby:

And I am happy to see people learning Ruby. Please read the thread, and follow them, and try to help them when they ask for help.
๐ All about Code and Ruby
๐ Xavier Noriaย shared that Zeitwerk surpassed 200 million downloads:

๐ Avdi Grimm shared a pice of code that shows Ruby flexibility and brevity:

๐ Cory Hutchison shared a take about static typing in Ruby:

You can read the original thread on Reddit here, and it is worth going through it if you think about developer experience in your project.
๐ Mike Perham shared a benchmark of running Sidekiq 7.0.3 on Ruby 3.2:

๐ Greg Navisย shared code samples showing how various ways to benchmark Ruby code:

๐ Josef Strzibnyย shared how to configure Puma workers:

๐ Kevin Newtonย shared how the not keyword works in Ruby:

๐ Greg Navisย shared a PostgreSQL-Rails problem:

I think you should read the thread where he described what he found and how he fixed it.
๐ Josef Strzibnyย shared a rake task that aborts execution if there are pending migrations:

๐ Cezar Halmageanย shared a code sample showing how to destroy associations asynchronously:

๐ Craigย shared a code sample showing how to keep old records when updating with accepts_nested_attributes_for:

They shared two resources to read more about this: Ruby on Rails accepts_nested_attributes_for is deleting my associated record! and link to Rails documentation
๐ Kevin Newtonย shared a piece of code showing how the expression in rescue clause can be a method call:

๐ Matt Swanson shared a piece of code showing how they include ApplicationJob inside the main model:

๐ Greg Navisย shared a thread about YARD, the documentation tool. Here is a screenshot showing how to use it to document the code:

๐ Marian Posฤceanuย shared a tip about how to check controller response in the console:

๐ Jean Boussierย shared the speed gained from upgrading the Shopify monolith to Ruby 3.2:

๐ Matt Swanson reminded us that we can now use an endless range in where:

๐ Jeremy Smithย shared a code sample showing an Active Storage gotcha:

He described the problem:

๐ Deepak Mahakaleย shared that Rails 7.1 has a built-in health check:

๐ Timnanย shared a sample code showing various ways to select a random element from an array:

๐ Simon Chiuย shared simple wisdom about how to approach Rails long-term maintenance:

๐ Collinย shared a code sample showing a less-than-usual way of defining a method:

๐ The Rubber Duck Dev Showย asked about how to add the values of 2 arrays of arbitrary length:

Here are two of the replies:


๐ Timnanย shared a code sample showing how to use lazy method to generate elements on demand:

If you have read so far and you like the content, maybe you take into consideration sharing this and subscribing:
๐งฐ Gems, Libraries, and Updates
๐งฐ Joel Drapper shared they released Phlex 1.1.0. Read the changelog
๐งฐ Petrik de Heus shared that Arron Petterson opened some PRs to upgrade Mastodon to Ruby 3.1 and 3.2:
๐งฐ Joel Drapper shared a new gem created by Marco Roth named turbo-ready that uses Phlex:
Turbo helpers without the requirement for Rails
๐งฐ Mike Dalessio announced a new version of Nokogiri v.1.14.0 with native (precompiled) support for Ruby 3.2. Read the release announcement
๐งฐ Chris Oliver announced they are starting to work on a new authentication gem for Rails:

๐งฐ Jeff Atwoodย shared a new version ofย Discourse 3.0 is Here!. You can check the open source version on Github
๐งฐ Jeremy Evansย shared they publishedย Roda 3.64.0 Released ยท Discussion #300 ยท jeremyevans/roda
๐งฐ Maciej Mensfeldย shared a screenshot about how the UI of the of Karafka UI will look like:

๐งฐ Steve Politoย sharedย the Release 20230113.0 of suspenders (a Rails template with standard defaults ready to deploy on Heroku from Thoughtbot) that now supports Rails 7 and Ruby 3.
๐งฐ Koichi Itoย shared a new release ofย Release RuboCop Minitest 0.26.0 ยท rubocop/rubocop-minitest
๐งฐ Ronin Rbย published a new version ofย Ronin. Read the changelog
๐ค Related (but not Ruby-specific)
๐คAndrejย shared a nice visual explaining the difference between space-between, space-around and space-evenly in CSS:

๐คForrest Brazealย shared a funny image about cloud architecture:

๐คAdrian Marinย shared what he does to deep dive into open-source:

๐ค Nate Berkopecย shared that setting up monitoring is a hard task:

๐ค Lucian Ghinda talked about code design inertia:

๐คXavier Noriaย talked about perfectionism in software:

๐คBrandonย asked about engineering skills:

Among the answers:
Curiosity
Perseverance
Communication
Thoroughness
Problem-Solving
Writing
Empathy
More content: ๐ฅ ๐ง ๐
Newsletters
๐ Emmanuel Hayfordย published a new edition of This Week in Rails:ย An endpoint for uptime monitors, an improved help command, etc
๐ย Ruby Radarย published a new edition:ย Ruby Radar #85
๐๏ธย Ruby Weeklyย published a new edition:ย Why Shopify's CLI dropped Ruby for Node
๐๏ธย Ruby LibHuntย published a new edition of theย Awesome Ruby Newsletter
Podcasts
๐ง Jason Swettย published a new episodeย 170 - Growing Large Rails Applications with Collin Donnell
๐งRuby For Allย published a new episodeย Integrations with Brittany Martin
๐ง Sebastian Wilgoszย sharedย a new episode Adventures in Note Taking with Seb Wilgozs | Rubber Duck Dev Show Jan 12, 2023
๐ง Remote Rubyย published a new episode aboutย Data Migrations in Rails
Videos
Talks
๐ฝ๏ธ Grant Willcox shared an old video (2014) where Katherine Wu talks about How to be a Better Junior Developer by Katherine Wu
๐ฝ๏ธ Chris Oliverย shared the record ofย Jumpstart Pro Office Hours
๐ฝ๏ธ Sebastian Wilgoszย sharedย the talk delivered by Drew Bragg at RubyConf Mini about Who Wants to be a Ruby Engineer?
๐ฝ๏ธ Jason Swettย published the recording of Code with Jason meeting aboutย ViewComponent (2023-01-12)
๐ฝ๏ธ Drifting Rubyย published their video version ofย This Week in Rails - Jan 13th, 2023
Screencasts
๐ฅ Dave Kimura published a new screencast showing how to build a TailwindUI calendar
๐ฅ Yaroslav Shmarov published a new video about Email Calendar Invite
๐ฅ Hanami Masteryย published a new episode aboutย Advanced CLI tools with Ruby and dry-cli!
๐ฅ Deaninย published a new episodeย about Deploy All Your Apps With SSL To One Nginx Server | Ruby On Rails 7.1 Tutorial
๐ฅ Deaninย published a new episoed aboutย Realtime Drawing With Action Cable - An Intro | Ruby On Rails 7 Tutorial
๐ฅ Hanami Masteryย published an episode aboutย Intro to Apps architecture - Level 1: Context
๐ฅ Ruby Lib Huntย shared a video showing how to create aย "Snow Fall" Effect + "The Matrix" Effect (~20 lines of code)
๐ฅ DriftingRuby published a new video about Rails Docked
Articles
Simon Chiu wrote an article about How to Create a Rails Gem from Your Existing Code
Yaroslav Shmarov published a new article about Omniauth without Devise
Kevin Murphy published a new article about Evaluating More Coverage in Ruby 3.2
Mike Coutermarshย shared an article about Solving N+1โs with Rails `exists?` queries
Adrian Marinย published a new article aboutย How to bundle assets in a Rails engine
Paweล ลwiฤ tkowskiย published a new article about Create a Business Language for a Rails Application
Angus Bower-Brown published the first article explaining SRP with Ruby code: Single Responsibility Principle for beginners (1/2)
The Ruby Devย shared an article written by Robert Nubel about ย A Tale of Hashery and Woe: How Mutable Hash Keys Led to an ActiveRecord Bug
Jason Swettย published a new article aboutย What causes flaky tests - Code with Jason
The Ruby Devย shared an article written by Kane Hooper aboutย How to integrate Ruby with OpenAI (GPT-3)
The Ruby Devย shared an article written by Pete Cheslock aboutย Optimizing Mastodon Performance: Finding and Fixing its N+1 Queries
Jude published a two-series article about:
Ruby On Rails Beginners - Demystify the magic. Part 1: The Ruby looks a little different
Ruby On Rails Beginners - Demystify the magic. Part 2: It's just a ruby method
Ahmed Nadar published a new article about Rails Hotwire: mastering techniques for streamlining inline editing in your user interface