▶️ Short Ruby News - Edition #50

Discover the world of Ruby in this comprehensive newsletter covering week 27 of 2023. Find code samples, community updates, gems, resources, and thought-provoking discussions.

You can jump directly to a section:

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

👐 Phil Smy shared  the feeling of using Stimulus JS and Rails:

👐 Friendly.Rb proposed a trip schedule for attending all 3 conferences in Europe in September-October 2023:

👐 Rob Zolkos asked to connect with solo Ruby developers:

There are a lot of replies there, so if you want to connect with people working alone at a Ruby app you should see the replies (if you don’t have a twitter account try the nitter version)

👐 Jason Swett announced a new speaker for Sin City Ruby - Las Vegas Ruby Conference

👐 Xavier Noria shared they setup their OSS sponsors page on Github:

👐Greg Molnar announced a new project Pombo Mailer Newsletter Tool

👐 Avi Flombaum shared ShadcnRails (you can find the Gihub repo at aviflombaum/shadcn-rails)

👐 Harrison Broadbent announced they have a newsletter for RailsNotes

▶️ If you enjoy this type of content and want to support this newsletter, consider upgrading to paid:

👉 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 [email protected] I'll do my best to draft an email for you to send inside your organization.

👉Matt Swanson shared a piece of code showing how good Github Copilot autocomplete is for logging and migrations:

👉 Aristóteles Coutinho shared a piece of code showing how to use dry-rb:

👉 Sharon Rosner shared a gist assessing the performance of passing blocks to methods  Which is faster, loop or while?

👉 Lucian Ghinda published a thread about generative AI tools for programming:

 Kasper Timm Hansen replied with a couple of more ways how to generate this code:

👉 Scott shared a piece of code showing how to copy to clipboard from Ruby:

He also added how to add this to IRB:

👉 Joel Drapper shared a piece of code introduction Literal::Variant

👉 Henrik Nyh shared a piece of code showing a class inheriting from a module (see it here used in Rails)

If you like this here is an old (2017) but excellent article about this pattern by Chris Salzberg: The Ruby Module Builder Pattern

👉 Maxim Gurin shared a code sample showing how to use Reactor API for non-Reactor needs:

👉 Adrian Marin shared a command to update index.js file:

👉 Joe Masilotti shared they want to build an easy starting kit/generator for iOS to kick start working with Turbo Native:

👉 Cachix shared a code sample showing how to configure Ruby with devenv.sh

👉 Chris Oliver shared a code sample showing how to use concerns in routes to DRY:

👉 Matt Swanson shared a code sample showing how to implement dry_run concept:

👉 Dorian shared  a code sample showing how to use meta-programming:

👉 Ruby Cademy shared a thread about tap and here is one way to use it while debugging:

👉 Pierre Adrien Buisson shared a code sample showing how to use Vim: syntax.txt to fold class, module, and method definitions by default:

👉 Ruby Cademy shared a code sample showing the change in behavior for a transaction blocks before and after Rails 7:

👉 Igor Alexandrov asked for feedback about limitations of Devise:

 There are a couple of replies there but please do contribute if you are using Devise (in case you don’t have a Twitter account you can see replies with nitter)

🧰 Gems, Libraries, Tools and Updates

🧰 Avo announced a new release of their full-featured Admin backend - version 2.36.1

🧰 Joel Drapper announced that literal will support

🧰 Thomas Cannon announced of a new release of device-passkey → Release v0.2.0 · ruby-passkeys/devise-passkeys

🧰 Shrine announced the release of a new version of Shrine 3.5.0

🤝 Related (but not Ruby-specific)

🤝 Prabin Poudel shared a short tip about calculating time distance in SQL for MariaDB:

🤝 Phil Smy shared about what he think is a good colleague:

More content: 📚 🗞 🎧 🎥 ✍🏾

🗞 Newsletters

🗞 Sara Jackson published a new edition of This Week in Open Source (July 7, 2023) - “This week we saw updates to Bourbon, Shoulda Context, and PropsTemplate. We also saw the release of a new tool, Form Props!”

🗞 Greg Molnar published a new edition about Automate some of your security - Rails Tricks Issue 13“This week, I will show you how you can automate some of the security necessities of a Rails application. If you follow this guide, you will be safe from one of the OWASP Top 10 security issues(A9-Using Components with Known Vulnerabilities) and lower the chances of having other vulnerabilities in your codebase”

🗞 Harrison Broadbent published a new edition of RailsNotes Newsletter → “Like my blog, I’m trying to keep this newsletter focused, informative and to the point. And a bit of fun. If you enjoy reading this or have some feedback, reach out! You can reply to this email to get in touch”

🗞Ruby On Rails published a new edition of This Week in Rails about Preprocessed Active Storage variants and more → “Let’s see what changed in the Rails codebase”

🗞️ Ruby Libhunt published a new edition of Awesome Ruby Newsletter - Issue 372

🗞 Ruby Weekly published a new edition about Can AI tools write good Rails code? Well..

🎧 Podcasts

🎧 Remote Ruby published a new edition Hmmm, Maybe It's The Garbage Collector

🎧 Drew Bragg published a new episode about Alan and Fito - Cisco Meraki

🎧 Jason Swett published a new podcast about 188 - Sin City Ruby Speaker Irina Nazarova

🎧 The Ruby On Rails Podcast published a new podcast about Episode 477: YARP has been merged!! (Brittany + Jemma + Kevin)

🎧 Remote Ruby published a new podcast about Hmmm, Maybe It's The Garbage Collector

🎧 Ben Orenstein published a new podcast about How to not suck at project management

🎧 Jason Swett published a new episode about 188 - Sin City Ruby Speaker Irina Nazarova - The Code with Jason Podcast

📽️ 🎥 Videos

Talks

📽️ Andy Maleh published a video with their talk about Import Spreadsheets in Ruby on Rails with Flatfile.com

Screencasts

🎥 Dean De Hart published new videos about:

🎥 Timnan published a new video about Epsiode31 Introduction to Rake in Ruby

🎥 Drifting Ruby published videos about:

✍🏾 Articles

What’s new

Paweł Dąbrowski published a new article about Discovering Rails Routes: Unfamiliar Features → “This article covers non-standard usage examples that you might find useful when building the next web application with Rails”

Peter Zhu published a new article about Garbage Collection in Ruby. This is a deep-down and very well-written explanation of how garbage collection works in Ruby.

Nar Srini published a new article about Rails Way of Background Processing → “we will compare Sidekiq, Resque, Delayed Job, and Active Job, providing insights and examples to help you choose the ideal background worker for your Rails application”

Ruby Cademy published a new article about Ruby is a Multi-paradigm programming language → “In this post, we'll cover the different programming paradigms present in Ruby”

Ariel Juodziukynas published an article about The History of the Asset Pipeline → “Over the years, Rails has been changing the default way to handle assets while also adding different alternative options at the same time.”

Lucian Ghinda published an article about A comparison of multiple generative AI tools when asking for Ruby on Rails code → “Comparing Rix, Cody, Phind, Copilot Chat, and ChatGPT's responses to a basic Ruby on Rails query”

Alkesh Ghorpade published an article about Rails 7.1 makes ActiveRecord query cache an LRU “In Rails 7.1, significant changes are made to the ActiveRecord query cache implementation, introducing an LRU (Least Recently Used) caching strategy. The query cache continues storing query results in memory, but when a certain threshold gets reached, the system removes the least recently accessed queries to prevent excessive memory usage”

Deep Dives

Akshay Khot published an article about Understanding the Concept of Binding in Ruby → “Binding is an elegant way to access the current scope (variables, methods, and self) in Ruby. Typically, you use it for building view templates and executing strings of Ruby code. The Ruby REPL also makes abundant use of binding. In this post, we'll learn what binding is and how it works”

Andrei Maxim published a new article about The Rails database.yml File → “most of the Rails developers I've worked with in the last 15 years thought it was a best practice to not store config/database.yml in the version control system. But is it still a best practice for modern Rails applications? Let's explore”

How-Tos

Lucas Dohmen published an article about Network Programming Basics in Ruby → “In this series of blog posts, we want to pull back the curtain on building web applications. In my experience, most developers use a framework and application server and do not look behind the curtain to see what happens inside of them”

William Kennedy published a new article about Turbo Native Authentication Part 1 - Rails Backend → “In this Turbo Native series, we’re going to build native auth. Part 1 will cover the server side. Part 2 will cover Turbo iOS, and then we’ll end with Android” Read also Turbo Native Authentication Part 2 - IOS Client

Brad Gessler published a new article about Pattern Matching on Ruby Objects → “In this article we'll explore the basics of how pattern matching can make your Ruby code more readable, then look at how you can implement it on your very own Ruby objects, like an ActiveRecord model or a Ruby class”

Vlad Hilko published a new article about Managing Platform-Specific Features in Rails: The Right Way to Customize App Behavior → “In this article, we will discuss the usage of Platform Settings in a Rails application. We will explore why we need them and the specific problems they aim to solve”

Ankit Pariyar published a new article about Linked List with Ruby → “In this blog post, we will explore a simple implementation of a linked list in Ruby and discuss each method along with its time complexity”

Justin published a new article about Smoothly Growing and Shrinking Sprites in DragonRuby → “This post demonstrates two concepts: changing the anchors for a sprite, and using "easing" to set the size of a sprite. Easing is a general-purpose concept that can be used for any applications, such as smooth movement”

Rafael PEÑA-AZAR published a new article about Getting Started with Jekyll: A Powerful Ruby-Based Static Site Generator → “In this article, we will explore the fundamentals of Jekyll and guide you through the process of getting started with this versatile tool”

Jeff Morhous published a new article about Eloquent Ruby in 10 Minutes → “Over the last few month's I've been diving much deeper into Ruby, going through the famous Eloquent Ruby book. It's been a crazy helpful book, about both RULES and CONVENTIONS. Here's a massive brain dump of of Ruby goodness”

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.

Reply

or to participate.