

Discover more from Short Ruby Newsletter
Short Ruby News - Edition #48
Discover the world of Ruby in this comprehensive newsletter covering week 25 of 2023. Find code samples, community updates, gems, resources, and thought-provoking discussions.
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, newsletters)
๐ธ For only $1.5 per week (just $6.5 a month), you can become a paid subscriber and contribute to the success of the flourishing Ruby community we all adore while receiving an ad-free version of the newsletter!!
๐ Our Community
๐ Adarshย shared an announcement from RubyCentral:

๐ Amanda Brooke Perinoย sharedย the LeWagon Online Job Fair invitation July 25th

๐ Evil Martiansย announced a new guest for their Bootstrapping & Fundraising โย DPL Ep. 4, Thu, Jun 29, 2023, 10:00 AM | Meetup

๐ Jason Swettย announced the keynote speaker atย Sin City Ruby - Las Vegas Ruby Conference

He also announced two more speakers:
Jason Charnes - โhost of the Remote Ruby podcast and a pillar of the Ruby community.โ
Jeremy Smith - organizer of Blue Ridge Ruby and co-organizer of the podcast IndieRails
๐ Women In Tech Clujย announced they are supporting Friendly.rb - Ruby conference:

๐ Ruby Conf Indiaย announced the dates for the conference:

๐ Taylor Otwell (creator of Laravel)ย shared the following:

๐ All about Code and Ruby
๐ชง Have you considered inviting your company to sponsor this newsletter? If you are using Ruby on Rails, I think your company is a perfect fit :)
You can send the sponsorship packages info to your marketing, HR, or product management teams.
I'm happy to assist you with drafting an email. Send me a message at hello@shortruby.com I'll do my best to draft an email for you to send inside your organization.
๐ Joel Drapperย shared a gist showing how to use Paquito to encode Sidekiq job parameters (read the full gist here):

๐ Karl Oscar Weberย shared a code sample about the beauty and flexibility of Ruby:

๐ Julian Rubischย published a new challenge for the Hotwire Club โ ย Challenge 5: Turbo Frames - Tabbed Navigation

๐ Hanami Masteryย shared a code sample showing a new layout for their snippets. But I included this here as it is rare to see a Hanami 2 code sample shared on social media:

๐ Benito Sernaย shared a thread about about truncating strings in Rails:

๐ Kevin Newtonย sharedย YARP Documentation

๐ Keith Pittย shared BuildKite engineering principles to work with Rails monolith:

๐ Nick Schwadererย announced a new theme color Spinel Light part of VSCode Shopify Ruby package

๐ Ruby Cademyย shared a code sample showing how to use Hash#default_proc to create nested hashes

๐ค I imagine that if you have read this so far, you find value in this newsletter.
๐งฐ Gems, Libraries, Tools and Updates
๐งฐ Kevin Newtonย announced that YARP has been mergedย Read the PR

๐งฐ Andy Maleh announced a new update of Glimmer
๐งฐ Kuba Suderย announced a new tool for extracting Twitter dataย bad_pigeon: A tool for extracting tweet data from GraphQL fetch requests made by the Twitter website
๐งฐ Mario Alberto Chรกvezย announced an new applicationย llm_server: Rack API application for Llama.cpp
They also published a llm_client: Ruby client to connect to LLM Server.
๐งฐ Karl Oscar Weberย announced the release of version 3.1 forย camping. Here is a part of the announcement:
In this release we've rewritten theย Reloaderย and formalized the directory structure for larger camping apps. The Reloader is now, just the loader, and it eager loads your camping apps in sequential, descending order. With the new Loader behaviour, you can reopen your Controller, Views, Helpers, and Model classes in a predictable manner. Ruby Gems are automatically loaded, so any Gem that adds an app can also have their constants reopened and redefined or modified.
We're very excited about this new release! I hope ya'll enjoy.
๐งฐ Igorย announced that their PR about Support for Docker multistage build cache was merged to mrsk
๐งฐ Samuel Williamsย announced they merged the Feature #19521: Support for `Module#name=` and `Class#name=`
๐งฐ Bozhidar Batsovย announced that RuboCop 1.53 now hasย LSP (Language Server Protocol) support. Read the full changelog here

Koichi Itoย added thatย RuboCop - Visual Studio Marketplace has support for RuboCop LSP:

๐งฐ Adrien Polyย sharedย a work in progress PR from Hotwire/Turbo about Support View Transition API for navigations
๐งฐ Guilleย announced a new gemย rails-htmx: htmx for Rails
๐งฐ Xavier Noriaย announced a new PR merged to Rails aboutย Introduce config.autoload_lib
Please consider becoming a paid subscriber to support this newsletter for just $1.5/week ($6.5/month). Your contribution aids growth and maintains the quality of ShortRuby for everybody while receiving an ad-free version:
If you consider upgrading and want more information, please read Why to subscribe to paid
๐ค Related (but not Ruby-specific)
๐ค Jason Swettย shared that there is a relation between quality of codebase and quality of UI:

๐ค Jim Nielsenย sharedย some thoughts about AR/VR devices displaying HTML content Thoughts from โMeet Safari for Spatial Computingโ

๐ค Drew Braggย asked about for course about Semnatic HTML:

There are a couple of good recommendations. I will share here one of them recommended by Konnor Rogersย โย WAI-ARIA Roles - Accessibility
More content: ๐ ๐ ๐ง ๐ฅ โ๐พ
๐ Newsletters
๐ Women On Railsย publishedย a new edition ofย Newsletter Women On Rails [FR version]
๐ Greg Molnar published a new edition of Rails Tricks โ Offline Ruby and Rails documentation โThe vacation season is starting and it can be helpful to have access without the internet to the documentation of Ruby, Rails, and the gems you use. If you are going on a trip and taking your laptop, you can prepare them in advance by following this little guideโ
๐ Allison Pike published a new edition of Once a Maintainer: Michael Grosser โ โEngineering Group Tech Lead at Zendesk and creator of multiple ruby gems, including single_cov, parallel, kennel, and ruco. We talked with Michael about moving from animation to programming, reading code you thought was dead, and building opinionated softwareโ
๐ Ruby Weeklyย published a new edition about Cataloging hundreds of Ruby videos
๐๏ธย Ruby Libhunt published a new edition of Issue 370 - ORMs are criticized for the wrong reasons
๐๏ธ Greg Molnar published a new edition of This Week in Rails: Rails World website and ticket sales, CPK improvements and more!
๐ Sara Jacksonย published a new edition ofย This Week in Open Source (June 16, 2023) โThis past week we saw updates to Administrate, Flightdeck, and Guidesโ
๐ Ruby Radar published a new edition Amsterdam Dreamin'
๐ง Podcasts
๐ง Drew Braggย published a new episode of Code and the Coding Coders who Code It. withย Episode 23 - Daniel Huss โDaniel is a Test Double agent and recently gave his first conference talk (Spoiler, it was great)! We talk about the differences between contract and product work, Dragon Ruby, and tending to your code like it's a garden. Daniel crush it on his first, of what I hope will be many, podcast appearancesโ
๐ง The Bike Shed published a new episode 389: Review Season โReview season is upon us. Stephanie and Joรซl think about growth and goals and talk about reviews: how to do them, how to write them for yourself, and how to write them for othersโ
๐งThe Ruby On Rails Podcastย published a new episode aboutย The Return of Rocky Mountain Ruby with Spike Ilacqua โRocky Mountain Ruby is baaaaaack! Conference organizer, Spike Ilacqua, joined Brittany to discuss why he was bringing the conference back to life in Boulder, CO on October 5th and 6th, 2023. They talk about the advice he has gotten, the open CFP and funding the conference. The wrap up talking about how Spike finds AI kinda cool and kinda scary.โ
๐ง Remote Rubyย published a new episode aboutย Jason Goes to Infinity (and Beyond) โOn this episode of Remote Ruby, Jason, Chris, and Andrew reunite after a hiatus, starting their conversation with a playful idea of starting a band and Andrew possibly recording a new podcast introโ
๐ง The Rails Changelogย published a new episode about 008: TLS/SSL on by default, New PostgreSQL migration commands
๐ฝ๏ธ ๐ฅ Videos
Talks
๐ฝ๏ธ Yaroslav Shmarovย and Adrian Marin published a new episode of Friendly Show ย about E3 The Ruby On Rails Interview Bible - Author Nezir Zahiroviฤ talks about his book
๐ฝ๏ธ Creston Jamisonย publishedย a new video aboutย The Future of Dragon Ruby with Amir Rajan | Rubber Duck Dev Show 89
๐ฝ๏ธ Jason Swettย published a new episode aboutย Adding tests to an existing application (Code with Jason Meetup session)
Screencasts
๐ฅย ย ย Dean De Hartย published a series of videos:
๐ฅ Joel Drapper and Kasper Timm Hansen published a Twitch stream about Exploring a new form pattern for Rails
๐ฅ Pete Hawkinsย publishedย new videos:
๐ฅ Drifting Rubyย publishedย new videos:"
โ๐พ Articles
Whatโs new
Julie Kent published an article about Intro to Propshaft: A new asset pipeline for Rails โExplore the future of asset pipelines in Rails with Propshaft! Discover how this cutting-edge technology enhances the management and delivery of assets while simplifying your development workflowโ
Gift Egwuenu published an article about May 2023 RubyGems Updates โAs part of our efforts at Ruby Central, we publish a recap of the work that weโve done the previous month. Read on to find out what updates were made to RubyGems and RubyGems.org in Mayโ
Gavin Morriceย publishedย a new article aboutย Avoid using SecureRandom when testing your Ruby code โusing SecureRandom when writing tests for your Ruby code can make your tests harder to debug and more prone to flakiness.โ
Deepak Mahakale published an article about Rails 7 extends enum support for Postgres adapter โNow, Rails 7 has extended the ability to rename an enum, add enum value and rename enum value for the Postgres database adapterโ
Collin Donnell published an article about MVC Isnโt MVC โabout where MVC started, the variations I've experienced on native and web, and some thoughts about thatโ
[Beginner] Gabrielle J.ย publishedย a new article aboutย Ruby: An Intro for the Curious-Minded โIf you're new to programming, Ruby is a great language to start learning. Ruby is a general-purpose, object-oriented programming language known for its readability and flexibilityโ
Konnor Rogersย publishedย a new article aboutย Pulling your dev.to posts down locally โI'm about to show you how I pulled all my writings on dev.to down locally into a new Bridgetown site I madeโ
How-Tos
Igor Alexandrov and Sergei Masiutinย publishedย a new article aboutย How To Use Basecampโs MRSK With AWS and GitHub
Richard Huang wrote an article about Use call_helper to set rails config.load_defaults โ โSynvert provides the ability to write code snippets that can automatically rewrite your source code. This video demonstrates how to use call_helper to set rails config.load_defaultsโ
Akshay Khotย wrote a new article about How to Split a List into N Equal Parts in Ruby (and Rails) โ โThis article shows you can split (or chunk) a list of items into n-equally sized parts using the `each_slice` method in Ruby and `in_groups_of` method in Railsโ
Matt Brictson published an article about Tips for writing Rails tasks with Thor instead ofย Rake
Mailsnag published an article about Rails 7 + Vuetify 3 (MPA Style) โIn this article, we will demonstrate how to set up a Rails 7 project with Vuetify 3 (and Vue 3 ) using the MPA approach. We will also use Turbo Drive to get the performance benefits of SPA without the added complexity.โ
Benito Serna published a new article about Truncate in the middle with truncate rails helper โ โImagine that you want to truncate a filename, but you want to keep showing the extension of the file. Like โA big file name thatโฆawesome.pdfโ. How would you do it?โ
Connor James and Tom de Bruijn published an article about Exceptional Error Reporting for Rails Exceptions โIf you want insights into your application's exceptions but don't have time to invest in adding verbose logic to your code, we've got some exceptional news: The AppSignal for Ruby gem 3.4.1 now supports the Rails error reporter!โ
Sam Rubyย published an article aboutย Around the World With SQLite3 and Rsync โFly.io runs apps close to users around the world. This same infrastructure can be used to route requests to where the data residesโ
Harrison Broadbent published an article about Custom Credentials in Your Rails App โ Replacing .env with Rails credentials โIn this article, we're going to dive into the basics of Rails credentials, explore the benefits and drawbacks of this approach, and demonstrate how easy it is to integrate this powerful tool into your Rails app development processโ
Antonย publishedย a new article aboutย The Service Object pattern in Ruby applications with unified approach โ โThe purpose of this post is to demonstrate how to prepare the base for further development of uniform services in Ruby projectsโ
Ahmad Razaย publishedย a new article aboutย Google Login in Rails 7 with devise โIn this comprehensive guide, we'll walk you through the steps to integrate Google login into your Rails 7 app, allowing users to authenticate using their Google accountsโ
Kevin Luoย published a new article aboutย Unleash Devise-Enabling All Modules โIn this article, I will enable all 10 modules on the User model one by one. I suggest reading this article sequentially and also following the codes in each chapterโ
Hรนng Lรชย publishedย a new article aboutย Rails nested form (new gem with Stimulus) โWhen Stimulus is came out, Rails devs is suggested to use Stimulus as Javascript library in their projects. So, I created a gem for handling dynamic nested forms with Stimulus JSโ
Deep Dives
Maciej Mensfeldย published an article about Inside Kafka: Enhancing Data Reliability Through Transactional Offsets with Karafka โThe crux of this article is about managing offsets - unique identifiers for messages within Kafka's partitions. Often, there's a need to manage offsets alongside database operations within a transaction, especially when handling potential process crashes and anomalies, minimizing the risk of double processingโ
Cody Normanย publishedย a new article aboutย Rails Console Deep Dive โHere are some handy tips and tricks to get the most from the Rails consoleโ
Steve Polito published an article about Inspecting Ruby's inspect method โIf youโve ever worked with a class in Rubyโs Core Library or Rails, you might not realize that special care was taken to print useful information when used in the context of an IRB sessionโ
Vishal Yadav published an article about Using enable-load-relative flag in building Ruby binaries โI'm working on building neetoCI, which is a CI/CD solution. While building pre-compiled Ruby binaries we ran into some challenges. This blog post explores the problems we faced and how we solved themโ
Tobias L. Maierย published an article aboutย Comparing Pundit RSpec test Approaches โI found two approaches to test Pundit policies with RSpec. Both approaches are described in the Pundit README and I want to compare them in this postโ
Darren Broemmerย published an article aboutย An Introduction to Lambdas in Ruby โIn this article, we'll explore how you can use Lambda functions in Ruby to simplify your code and make it more powerfulโ
Paweล Dฤ browskiย published an article aboutย Breaking down the Rails request cycle: โThis article is a journey from a moment when the visitor submits the website address to a moment when a view in your Rails application is rendered. Jump on board!โ
Related
Lucas Barretย publishedย a new article aboutย Logged VS Unlogged table Performance in Postgres โTo ensure this durability and consistency, relational databases use several techniques. One of these is to use a WAL file (Write-Ahead Log file). Let's see what this means and how it affects the performance of our read and writes operations. And determines what can suit more for an ETL process.โ
Please consider becoming a paid subscriber to support this newsletter 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.