Short Ruby News - Edition #36
Briefly about everything happening in Ruby world - week 13 of 2023
Notice:
Starting next week, I will split the newsletter into two sections and thus send two separate newsletters. Please read more about the why and how here
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: ๐ฅ ๐ง ๐ย (courses, books, articles, podcasts, videos, and newsletters)
๐ค Founding Members supporting this newsletter
๐ Our Community
A series of new Ruby versions were released last week: Ruby 2.7.8, Ruby 3.0.6, Ruby 3.1.4, Ruby 3.2.2 to fix two vulnerabilities:
Also, please notice Ruby 2.7 reached EOL:
๐ Friendly.rb conference announced a rolling CFP until 1st July. Checkout the website at friendlyrb.com
๐ Ruby Unconf shared more details about what an unconference means. Check out their website at 2023.rubyunconf.eu
๐ Rails Conf announced that the schedule for RailsConf 2023 was published. Checkout the agenda at railsconf2023.sessionize.com
๐ Andrew Hodson announced that Go Rails would start monthly Office Hours - Join their Discord to participate
๐ Greg Molnar announced they are starting a newsletter โ railstricks.com: A weekly newsletter with a Rails trick!
๐ค Enjoy the free subscription to Short Ruby Newsletter! Subscribe to receive it weekly in your inbox:
Becoming a paid subscriber can support this Ruby community for just $1.5/week ($6.5/month). Your contribution aids growth and maintains the quality of ShortRuby for everybody:
If you consider upgrading and want more information, please read Why to subscribe to paid
๐ All about Code and Ruby
๐ Postmodern shared about using Proc#[]
Here is the documentation for Proc#[] alias of Proc#call in Ruby 3.2
๐ Kay Rhodes shared a code sample showing how to define methods inside methods in Ruby:
He then added:
and Noel replied with an explanation:
๐ Aaron Patterson shared a code sample showing how to use RubyVM to change the code at compile time:
๐ Shane Becker asked who wants to help and fix the issue Add support for create_operator ยท teoljungberg/fx
๐ Salma Elbadawi shared a thread with tips about Ruby data types:
๐ Noel Rappin shared about how File.join works:
Thanks to Keith Gable's suggestion here, I found this conversation on Twitter where Arron Patterson shared a similar reflection about File.join
in 2017 when he discovered and fixed a bug related to File::SEPARATOR. Ryan Bigg shared the location where the separator is defined in the source code.
๐ Joel Drapper shared a code sample in a Github issue showing how to use Dry::Initializer with Phlex:
๐Jason Swett asked about the systematic approach to performance-profiling test suites:
Among the replies, Nate Matykiewicz shared a tip to disable logging while running tests:
๐Vinicius Stock announced that VSCode now includes Ruby LSP in their documentation about Ruby with Visual Studio Code
๐Shiva Kumar shared a thread about another Rails design pattern called the decorator pattern
๐Jeremy Smith asked about naming the state of the app when transitioning:
He then added:
It would be best if you read the conversation in the thread. There are some name proposals and solutions about how to deal with it. Here are some naming proposals:
โtransitional stateโ
โliminalโ
โStranglerFigApplicationโ
โLegacyDisplacementโ
โTransitional Architectureโ
๐ Kaka Ruto shared a code sample showing how to create 135 million records:
They later added:
๐ Nate Hopkins shared a code sample showing how to use ActiveRecord to configure an in-memory SQLite database:
๐ Matt Swanson shared a code sample showing webhook processing:
๐ Greg Navis shared a Ruby code that is valid (please read this as an April Fool's Day joke)
If you like this content and want to receive it every week by email
๐งฐ Gems, Libraries, and Updates
๐งฐ Avo announced a new release of v.2.29.0, read the release notes here
๐งฐ Carl Mercier published a demo app showing a simple way to display a model with Hotwire cmer/ultimate-turbo-modal:
๐งฐ Sam Ruby announced a demo of Live Elements for Rails. Check out the tutorial , the Github Rails demo repository or directly to check the JS library
๐งฐ Nate Berkopec announced the Release 6.2 - Speaking of Now ยท puma/puma
๐งฐ Stimulus Reflex announced a new version v5.0.0.rc1 Read the pre-release notes
๐งฐ Vladimir Dementyev announced that Rails will adopt Rubocop markdown snippets
๐งฐ Marco Roth announced an update for Phlexing.fun by launching version 0.4.0, read the release notes
๐งฐ DHH announced a new release of mrsk Release v0.10.0 ยท mrsked/mrsk
๐งฐ Prabin Poudel announced they added their first open-source PR to boring-generators. Check Adds Overcommit generator for RuboCop
๐งฐ Dima Fatko announced a new gem job_enqueue_logger: Log background jobs enqueued by your application (additionally with backtraces)
๐งฐ Heartcombo announced a new release of Devise. Read the changelog
๐งฐ Jeremy Evans announced a new version of Sequel v5.67.0 Read the changelog
Marian Posฤceanu also shared a PR from yjit-bench (a small set of benchmarks and scripts for the YJIT Ruby JIT compiler) that Improve the Sequel benchmark to avoid many singleton classes. Here are two small benchamarks shared in the discussion from that PR:
๐งฐ Lรกzaro Nixon announced that authentication-zero added an email invitation strategy Read the changelog
๐งฐ Tim Riley announced a series of PRs about implementing views in Hanami 2:
๐งฐ Justin Searls announced a new version of standard v.1.26.0 Read the commit
๐งฐ tailwindcss-rails was updated to version 2.0.27 that now supports Tailwind CSS v3.3.1
๐ค Related (but not Ruby-specific)
๐ค Paul shared a tip about how to report time for how long a process took
๐ค Ernesto shared about how to help open-source projects:
๐ค Paul Mucur shared about the difference between urgency and importance:
๐คAdam Wathan announced the release of Tailwind CSS v3.3: Extended color palette, ESM/TS support, logical properties, and more
๐ค Tobias Petry shared a new SQL tip about Time Ranges without Overlapping - Database Tip
๐ค Chris Wanstrath shared a thread about the Github pricing model and free repos:
๐ค Eleftheria Batsou asked about anxiety for an interview:
And received a lot of answers where people shared how they felt.
๐ค Donn Felker asked about what is the first thing one does when joining a new codebase:
Here are just three of the answers received, but you should read the replies as they contain more strategies about how to get familiar with a new codebase:
โRead documentation if it exists, run tests and search about unfamiliar technologies and patternsโ (@Zahra_HY)
โIntentionally break something and look at the stacktrace go brr. Can usually tell me more about the codebase than any docs can.โ (@IanIsSoAwesome)
โRead by refactoring. Delete all the refactorings when I'm doneโ (@SDiamante13)
If you like this content and want to receive it every week by email:
More content: ๐ฅ ๐ง ๐
Courses and Books
๐ Pragmatic Bookshelf shared that Programming Ruby 3.2 has an update:
๐ Graceful.Dev announced their course about Reproducible Development with Containers is now free:
๐ Newsletters
๐ Women On Railsย published a new edition Newsletter #46: what happens when typing in the terminal, sexism in tech in India, pixel art. There is also a French version, anย Italian version and aย Spanish version
๐Justin Searls shared a new edition of Test Double Dispatch, March Newsletter
๐Ruby On Rails published a new edition This Week in Rails: March 31st 2023 edition
๐๏ธย Ruby Weeklyย published a new edition:ย Progress on Ruby's newest parser
๐๏ธย Ruby LibHuntย published a new edition of theย Awesome Ruby Newsletter
Podcasts
๐งHanami Mastery published a new episode about Behind the scenes of GoRails screencasts with Collin Jilbert
๐ง Rooftop Ruby published a new episode about 6: Favorite Developer Tools โ Rooftop Ruby
๐ง Jason Swett published a new episode 176 - How to Build a Feature with Irina Nazarova, CEO of Evil Martians
๐ง The Ruby On Rails Podcast published a new episode about Episode 463: The Tightly Coupled Book Club (with Mina and Aji Slater)
๐ง The Rails Changelog published a new episode about 002: Rails 7.1 Preps For CPKs & Async Background Records Destruction
๐ง Ruby For All published a new episode about We Hired a Junior Dev with Mike Munroe
๐ง Ruby Rogues published a new episode with Jeremy Smith about Organizing Local Ruby Conferences (like Blue Ridge Ruby Conference)
๐ง Remote Ruby published a new episode about Jason and Andrew Brain Dump | RailsConf, Shoes, DragonRuby, ChatGPT4, Python, mRuby
Videos
Talks
๐ฝ๏ธ Ayush shared that the video of their presentation about Turbo Native at The London Ruby User Group has been published
๐ฝ๏ธ The Rubber Duck Dev Show published a new episode Hosting After Heroku With Chris Oliver
Screencasts
๐ฅ Aaron Patterson published a video about working on their LSP concept: LSP Hacking
๐ฅ Justin Searls published a new episode from their series Searls After Dark #6 - GPT 4 and Beyond!
๐ฅ Drifting Ruby published a new episode about Episode 394 - Push Notifications from Scratch
๐ฅ Avo published a video showing how to use the new release features Avo 2.29 - Search result path and better mount point discovery
๐ฅ Yaroslav Shmarov published a new episode about Ruby on Rails #121 Turbo Broadcasts CRUD Demystified
๐ฅDeanin published new episodes:
Articles
Whatโs new
Siddharth Shringi published an article about Rails 7.1 Improves Support for Custom Namespaces
Brad Gessler published an article where he used GPT-4 to create a Ruby script โ Pairing with GPT-4
Fast Ruby published an article about The Two Different Approaches We Take to Upgrade an Application
Avdi Grimm published an article about Why grace matters (for software development)
Nathan Thomas published an article about Getting Started โ โMy coding journey began in 2018 when I heard Ruby on Rails discussed on a podcast. My brother taught himself to code, so why canโt I? Quitting my job was out of the question and paying for a bootcamp was out of my reach financially. Self-learning was the path for me.โ
Vinicius Porto published a new article about Using Value Objects in Ruby on Rails
How-Tos
Rรฉmi Mercier published an article about How to test your Rails models with RSpec โ โWeโll cover the fundamental testing strategies with RSpecโs built-in features. And for fun, weโll check some extra tools to amp up your modelsโ coverageโ
Andrei Kaleshka published an article about Make your Ruby on Rails app 80x faster with SQL โ โThis article will explore the importance of SQL for Ruby on Rails experts. It will show why itโs a must-have skill in todayโs development landscapeโ. The author published at https://github.com/widefix/demo-fast-sql
Avishek Jana published a new article about Set up an SSO Server in Rails 7
Bazย published a new article about Using ViewComponents with stimulus controllers and import maps
Royce Threadgill published an article about Metaprogramming in Ruby: Intermediate Level
Justin Searls shared an article written by Vladimir Dementyev about RuboCoping with legacy: Bring your Ruby code up to Standard
Cassey Lottman published an article about CSV.generate behavior change in Ruby 3 vs Ruby 2.7
Abdullah Esmail published an article about how to use Custom fonts in production in Rails 7.0
Deep Dives:
Akshay published a new deep dive about Sessions in Rails: Everything You Need to Know โ โIn this post, weโll learn about Rails sessions, including what is a session, why we need them, and why they're so important. Iโll also take you behind the scenes and show you how Rails implements sessions and where the `session` method actually comes from.โ
Paweล Dฤ browski published a deep dive about Delegating things in Ruby โ โThis article is a deep dive into the delegation with Ruby to understand how we can implement it and when. There are a few ways to achieve delegation and it is good to know when to use whichโ
๐ค 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