Short Ruby Newsletter

Share this post

Short Ruby News - Edition #32

newsletter.shortruby.com

Short Ruby News - Edition #32

Briefly about everything happening in Ruby world - week 9 of 2023 (web version)

Lucian Ghinda
Mar 6
1
Share this post

Short Ruby News - Edition #32

newsletter.shortruby.com

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

Source: @LiliVerrot

Here are two more quotes from the report:

Source: page 6 of Hiredโ€™s 2023 State of Software Engineers
Source: page 32 of Hiredโ€™s 2023 State of Software Engineers

And maybe graph showing the hottest IC skills vs average:

Source: page 39 from Hiredโ€™s 2023 State of Software Engineers

๐Ÿ‘Ruby Central announced that they support Mastodon Development:

Source: @rubycentral@ruby.social

๐Ÿ‘ 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:

Source: @tombruijn@ruby.social

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:

Source: @bradgessler

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:

Source: @rockatanescu
Source: @DevanilJr
Source: @aarondfrancis
Source: @alkslpz
Source: @robzolkos

There are many great replies there ,so you should read the entire discussion.

It is also worth mentioning two resources shared in that thread:

  • Why companies don't hire juniors by Alex Ghiculescu

  • Why Are We Afraid to Hire Junior Rails Developers? - by Joe Masilotti

It is also worth reading the thread shared by Devanil Junior:

Source: @DevanilJr

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

Source: @excid3

๐Ÿ‘ 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:

Source: @nateberkopec@ruby.social

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

Source: @noelrap@ruby.social

He also added:

Source: @noelrap@ruby.social

๐Ÿ‘‰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:

Source: @MoskitoHero@ruby.social

Adam shared another nice trick:

Source: @adam12@ruby.social

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

Source: @joeldrapper@ruby.social

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

Source: @mhenrixon

๐Ÿ‘‰Rishi Pithadiya shared a code sample showing ActiveSupport inflectors:

Source: @rishipi

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

Source: @nateberkopec

๐Ÿ‘‰Sam Saffron replied with a PR from discourse showing discourse fast_pluck.rb patch:

Source: https://github.com/discourse/discourse

๐Ÿ‘‰Mika Henriksson shared a TIL about Active Record pick:

Source: @mhenrixon

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

Source: @kirill_shevch

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

Source: @Kowfm@ruby.social

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

Source: @GregMolnar

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

Source: @marckohlbrugge

Here are the channels shared in that thread:

  • Rapid Ruby

  • CJ Avilla

  • Deanin

  • GoRails

  • Drifting Ruby

  • TypeFast

  • WebCrunch

  • SupeRails

๐Ÿ‘‰Mario Schรผttel shared a code sample showing how min and max behave on negative ranges:

Source: @marioschuettel

Benoit Daloze replied explaining why this happens:

Source: @eregontp

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

Source: @ilrock__

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:

Source: @rishipi

๐Ÿ‘‰Kirill Shevchenko shared how to use RSpec output matcher:

Source: @kirill_shevch

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

Source: @kddnewton

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

Source: @coolprobn

๐Ÿ‘‰Kevin Newton shared an interesting behavior of Ruby:

Source: @kddnewton

๐Ÿ‘‰Moses Gathuku shared a code sample showing two ways:

Source: @Gathukumose

And the second way to achieve that is:

Source: @Gathukumose

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

Source: @joelmoss

๐Ÿ‘‰Shiva shared a thread with Rails console tips:

Source: @_rshiva

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)

Source: @bradgessler

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

Source: @_rshiva

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

Source: @coolprobn

A couple of resources mentioned in the conversation:

  • Alternatives to Rubyโ€™s OpenStruct

  • ActiveSupport::OrderedOptions

  • Ruby global method cache invalidation impact on a single and multithreaded applications

Lucian Ghindaย suggested to use Date.define when possible:

Source:ย @lucianghinda

๐Ÿ‘‰ 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.

Support the newsletter for ~1.5$/week

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:

Source: https://github.com/mrsked/mrsk

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

Source: @iainbeeston@ruby.social

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

Source: @avo_hq

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

Source: @adrianthedev

๐Ÿงฐ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:

Source: @nateberkopec@ruby.social

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

Source: @catalinmpit

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

Source: @nateberkopec

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

Source: @maciejmensfeld

๐ŸคJeffrey Chupp praised using feature flags:

Source: @semanticart

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

Source: @KentBeck
Source: @KentBeck

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

Source: @jeremysmithco

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:

Source: @MarcCornella

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:

  • Turbo Frame Modals (Popups) | Ruby On Rails 7 Tutorial

  • Generate QR Codes with Active Storage | Ruby on Rails 7 Tutorial

  • Comparing 5 Admin Panels In Ruby On Rails 7

  • Avo Admin Panel Gem | 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

Share this post

Short Ruby News - Edition #32

newsletter.shortruby.com
Previous
Next
Comments
TopNewCommunity

No posts

Ready for more?

ยฉ 2023 Lucian Ghinda
Privacy โˆ™ Terms โˆ™ Collection notice
Start WritingGet the app
Substackย is the home for great writing