Discover more from Short Ruby Newsletter
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:
👐 Xavier Noria shared they setup their OSS sponsors page on Github:
▶️ if you enjoy this type of content and want to receive it weekly in your inbox you should subscribe:
👉 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@example.com 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 autocomplete with Github Copilot works:
👉 Aristóteles Coutinho shared a piece of code showing how to use dry-rb:
👉 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:
👉 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:
👉 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:
👉 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
🧰 [Related] Mike Dalessio shared a Proposal: Meta Tag for AI Generated Content · Issue #9479 · whatwg/html
🧰 William Neal announced a new repo showing docker-rails-example: A production ready example Rails app that's using Docker and Docker Compose.
🧰 Justin Searls announced a new plugin for standard standard-sorbet: Standard Ruby Plugin providing configuration for rubocop-sorbet
🧰 Nate Hopkins published a repository showing how to work with Rails credentials hopsoft/credentials_demo: Demo of environment aware Rails encrypted credentials with environment variable override
🧰 Stan Lo shared an open pull request for IRB about Support helper registration by st0012 · Pull Request #624 · ruby/irb
🧰 Lázaro Nixon shared a new repository lazaronixon/css-properties-counter: The 35 CSS properties you must know to do 80% of the work.
🤝 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: 📚 🗞 🎧 🎥 ✍🏾
🗞 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..
🎧 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
📽️ Andy Maleh published a video with their talk about Import Spreadsheets in Ruby on Rails with Flatfile.com
🎥 Dean De Hart published new videos about:
🎥 Jesus Castello published a new video about Unlock the Full Power of Ruby 3 With Pattern Matching!
🎥 Ruby Cademy published a new video about Virtual Pair Programming: The Pragmatic Way to Debug a Rails App + 2 essential methods to know!
🎥 Drifting Ruby published videos about:
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”
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”
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.