- Short Ruby Newsletter
- Posts
- 🖐️ Short Ruby News - Edition #63
🖐️ Short Ruby News - Edition #63
Discover the world of Ruby in this comprehensive newsletter covering week 40 of 2023. Find code samples, community updates, gems, resources, and thought-provoking discussions.
Please consider becoming a paid subscriber to support this newsletter for just $1.8/week ($7.5/month), and you will receive an ad-free version. Your contribution aids growth and maintains the quality of ShortRuby for everybody
You can jump directly to a section:
🚀 New Products & 📅 Events
More content: 📚 🗞 🎧 🎥 ✍🏾 (articles, podcasts, videos, newsletters)
🚀 New Products
🚀 Hotwire Weekly announced the first email was sent → Welcome To Hotwire Weekly!
🚀 Julian Rubisch shared they launched RailsReviews on Product Hunt → RailsReviews - Product Information and More 2023
🚀 Irina Nazarova shared the new page at Evil Martians: Product Development Consulting for Dev Tools Startups
🚀 Lucas Barret shared their gem has GemRuby Show
🚀 Arian Celina launched a script that can automate Rails deployment on Hetzner via Terraform → Buy or download for free the scripts here
📅 Events
📅 Ruby Conf announced the final list of scholars and guides for RubyConf 2023
📅 Juliana Dias shared the form to send proposals for Indicação Ruby Brasil Awards
📅 Rubyconftw shared the deadline for call for papers is closing soon RubyConf Taiwan 2023
📅 Visuality shared their first speaker for Polish Ruby User Group (PLRUG) meetup, Thu, Oct 19, 2023, 6:00 PM | Meetup
📅 Ruby Conf shared the form to submit questions for Matz at RubyConf → Google Forms: Sign-in
👉 All about Code and Ruby
👉 Petrik De Heus shared that Feature #19744: Namespace on read - Ruby master - Ruby Issue Tracking System was addressed during the last Ruby developer meeting:
👉 David Heinemeier Hansson shared they are running Hey.com on Ruby YJIT:
👉 Xavier Noria shared the Rails contributors website at contributors.rubyonrails.org
👉 Joel Drapper shared a code sample showing how they want to improve GreenDots testing framework:
👉Postmodern asked an interesting question that I had multiple times:
The consensus is for "N > max_things”. Xavier also shared an idea that maybe the name can be changed:
👉Marc Busqué shared about the limitations of #to_proc in terms of binding:
Support ShortRuby by subscribing for only $7.5/month ($1.8/week). Get an ad-free experience and help us maintain our quality for everyone.
👉 Noel Rappin announced that Programming Ruby 3.2 (5th Edition) would start be available as a print in November:
👉Prem Sichanugrist shared about using measure in IRB
👉 David Heinemeier Hansson shared Hey.com runs on no-build Javascript:
👉 Deepak Mahakale shared a code sample about using dig when accepting nested hash:
👉 John Nunemaker shared a code sample showing how to configure Net:HTTP retries (class Net::HTTP - Documentation for Ruby 3.3)
👉 Stanislav Katkov shared about Ruby scaling and a gem called autotuner to tune GC properly:
👉 Julian Rubisch published a new challenge for Hotwire Club at Challenge 13: Turbo Streams - Custom Stream Actions - Video Playlist Management | The Hotwire Club
👉 Nicolas Alpi shared a post about the evolution of Rails in the last 15 years. Here is a snapshot from it, but you should read it all (read on nitter)
👉 Xavier Noria shared about Turbo drive and client caching:
👉 Nate Berkopec shared some advice about using jemalloc:
👉 Jason Swett shared that their newsletter Nonsense Monthly - a snail mail newsletter - Code with Jason hit 300 people:
👉 Nate Hopkins shared about the Hotwire evolution, the possible effects on the Stimulus Reflex and Cable Ready, and the impermanent nature of code:
Julian Rubisch shared something along the same lines:
👉 Brad Gessler shared their gratitude for the painless Rails upgrades:
👉 Rafael França shared about open source work and expectations:
👉 Mohammad A. Ali shared about the benefits of using Litestack:
👉 Carlos Antonio asked what people want to see more or less in Devise. There are a lot of good ideas in the replies (read on nitter):
👉 Josef Strzibny shared a post with a summary from DHH keynote:
👉 Maciej Mensfeld shared a code sample about what’s coming in Karafka:
👉 Nick Schwaderer shared about remaining in the community:
👉 Greg Navis shared that 95% of the market uses Rails 4.2+
👉 Mayra Lucia Navarro shared about how the community got together to help her get the trip to RubyConf:
👉 Hello Max shared the name of the <=> operator (that I also forget how it is called from time to time):
👉 Josef Strzibny announced a survey for their started kit for Rails at Business Class Survey
👉 u/bracket17 asked in r/rails about learning Ruby on Rails and received a lot of responses. I am not adding them here as it will make the newsletter too big 🤭 but I invite you to read the thread there.
There was also a discussion on r/ruby about learning Ruby as a Java dev:
Please consider becoming a paid subscriber to support this newsletter for just $1.8/week ($7.5/month), and you will receive an ad-free version. Your contribution aids growth and maintains the quality of ShortRuby for everybody
🧰 Gems, Libraries, Tools and Updates
🧰 Ruby on Rails announced a new release for Rails 7.1.1
🧰 Koichi Sasada merged Feature #19842: Introduce M:N threads - Ruby master - Ruby Issue Tracking System to Ruby main:
🆕 🧰 Makoto Kuwata published a new gem called benry-cmdapp - a framework to create command-line application. If you want create command-line application which takes sub-commands like git, docker, or npm, Benry-CmdApp is the solution.
🆕 🧰 Marc Busqué announced they are working on a new gem called dry-operation - We introduce a thin DSL on top of dry-monads' result type to define operations that can fail
🆕 🧰 Stephen Margheim published a new gem called activerecord-enhancedsqlite3-adapter - ActiveRecord adapter for SQLite that enhances the default
You can also read Stephen Margheim’s article about SQLite On Rails
🧰 Heartcombo announced there are releases for Devise, Simple Form, Responders:
They also announced they are dropping support for older versions of Ruby and Rails:
🧰 Mohammad A. Ali announced a new release of Litestack that now contains a Litesearch Guide
🧰 Chris Oliver announced that Jumpstart Pro now runs on Rails 7.1:
🧰 Gabriel Arcangel Zayas announced a new release for masamune-ast - A Ruby source code analyzer based on Ripper’s Abstract Syntax Tree generator
🧰 Bozhidar Batsov announced a new version for Release RuboCop 1.57 · rubocop/rubocop
🆕 🧰 Geoff Wright released a new gem called hyperlayer - An entirely new way to visualise Ruby apps, combining application flow, state and the code itself (link to demo in the video)
🧰 Solidus announced a new release Solidus V4.2
🧰 Keshav Biswa announced a new version for seedie - A ruby gem to run seeds for you in your Ruby on Rails application
🧰 Jeremy Evans announced a new version for Roda 3.73.0 Released · jeremyevans roda · Discussion #335
🧰 Andrew Atkinson shared a PR opened a couple weeks ago about Reduce pg_stat_statements churn using `= any()` instead of `IN ()` by seanlinsley · Pull Request #49388 · rails/rails
🧰 Kirill Platonov announced a new version for hotwire-livereload - Live reload gem for Hotwire Rails apps.
🧰 Kevin Newton announced a new version Release v0.14.0 · ruby/prism
🤝 Related (but not Ruby-specific)
🤝 Dave Thomas shared they are looking to discuss with people about teams what works and what doesn’t → Pick a time
🤝 Cezar Halmagean shared about using Vim:
🤝 Dave Meier shared about productivity tools and efficiency:
More content: 📚 🗞 🎧 🎥 ✍🏾
👩🏫 Slides
Chris Oliver published their slides from Rails World about Rails World 2023: Powerful Rails Features You Might Not Know Talk Slides
Eileen M. Uchitelle published their slides from Rails World at [Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
Marco Roth published their slides from Rails World at The Future of Rails as a Full-stack Framework Powered by Hotwire @ Rails World 2023, Amsterdam
Yaroslav Shmarov published their slides from Rails World at RailsWorld 2023 Hotwire Cookbook Yaroslav Shmarov
🗞 Newsletters
🗞 Andy Croll published a new edition of One Ruby Thing about Customize And Abbreviate Number To Human
🗞 This Week in Rails published a new edition about Ruby On Rails &Mdash; Special Rails World Edition: Rails 7.1.1, Solid Queue, Solid Cache, Turbo 8, Etc
🗞 Greg Molnar published an article about Rack Attack 404 Errors And Custom Response Message Rails Tricks Issue 20
🗞 Ruby Weekly published a new edition about Ruby Weekly Issue 673: DHH's Lego hypercar
🗞 Awesome Ruby Newsletter published a new edition about Issue 386 - "Useless syntax sugar": Numbered block parameters
🗞 Any Cable published a new edition about Any Cables Monthly #14
🗞 Ruby Radar published a new edition about Virtual Top-Level Namespaces in Ruby
🗞 Hotwire Weekly published a new edition about Welcome to Hotwire Weekly!
🎧 Podcasts
🎧 The Ruby on Rails Podcast published a new episode about The Ruby On Rails Podcast Episode 491: Reflecting On Rocky Mountain Ruby With Bekki Freeman
🎧 The Rubber Duck Dev Show published two episodes about Revisiting Leaving The Cloud and Beyond Technical Complexity With Thiago Pinto
🎧 Yaroslav Shmarov and Adrian Marin published a new episode about Friendly Show E6 RailsWorld, EuRuKo, FriendlyRB
🎧 Jason Swett published a new podcast about 198 - TDD with Wisen Tanasa - The Code with Jason Podcast
🎧 The Rails Changelog published a new podcast about 013: Rails World Edition - Turbo Native with the Turbo Native Guy, Joe Masilotti | The Rails Changelog | Episode 13
📽️ 🎥 Videos
📽️ Talks
📽️ Sebastian Wilgosz published a new episode on Hanami Mastery about Special: Hanami Core Team Interview
📽️ Ruby On Rail published a new video about Rails World 2023 Opening Keynote - David Heinemeier Hansson
📽️ Ruby On Rails published a new video about Rails World
📽️ Boulder Ruby published a video about Rocky Mountain Ruby 2023 Conference Recap
Screencasts
🎥 Cj Avilla published a new video about Fun with Rails Generators
✍🏾 Articles
What’s new 🆕
Victor Shepelev published an article about “Useless Syntax Sugar” Numbered Block Parameters → “Let’s start with the feature that at the moment of its introduction I disliked to the extent of taking it as almost personal offense (the story was already told here): Numbered, or anonymous block parameters”
Jorge Manrubia published a new article about A happier happy path in Turbo with morphing → “Turbo 8 is coming with smoother page updates and simpler broadcasts”
Stephen Margheim published an article about SQLite Myths → “Today, I want to explore the myth that attempting concurrent writes from concurrent threads/processes to a single SQLite database file can corrupt that file. This isn’t true. Let’s dig into why” and about SQLite On Rails
Akshay Khot published an article about Interview With Miles Woodroffe, Former Global CTO of Cookpad → “Miles Woodroffe is a veteran Ruby & Rails developer who served as a Global CTO at Cookpad for many years and represents the company as a founding board member at the Rails Foundation”
Ben Sheldon published an article about Reflections On Good Job For Solid Queue → “I reflected on some of the design and motivations that became GoodJob, and that I believe are important regardless of the Active Job backend under development”
David Heinemeier Hansson published two articles about You can't get faster than No Build → “For the first time since the 2000s, I'm working on a new Rails application without using any form of real build steps on the front-end. We're making it using vanilla ES6 with import maps for Hotwire, and vanilla CSS with nesting and variables for styling. All running on a delightfully new simple asset pipeline called Propshaft. It's all just so... simple” and We tried that, didn’t work
Rafael Montas published an article about Rails World 2023 → “A quick recap of the amazing Rails World 2023 and also my first Rails related conference ever”
Stanko Krtalić published an article about Rails World → “I haven't been to Amsterdam since 2019 when I briefly meandered through it's streets on my way to EuRuKo in Rotterdam. This time I was going there for Rails World which was special to me since I've never been to Rails-specific conference before”
Miles published a new article about Spectacular Rails World → “I’m just home from the inaugural Rails World conference in Amsterdam, and the word that keeps popping in my head to describe it is simply «Spectacular»”
I published an article about Ruby On Rails Scalability: One Example → “A case study of an open source web app using Ruby on Rails, managing 300 million monthly visits”
Greg Navis published an article about Build The Framework You Need → “how to retain the vanilla Rails feel beyond the early stages”
Matt Brictson published an article about 7 Lesser Known Features And Changes In Rails 7.1 → “as I dug deeper into the 2,000+ pull requests merged since Rails 7.0, I realized that there are several interesting features and changes, many of which haven’t been widely promoted”
Alexis Bernard published an article about Background Job Queues And Priorities May Be The Wrong Path → “Indeed, defining latency queues (latency_15s, latency_15m, latency_8h) is much better. Because if the high priority queue is always busy, others will never start. However, with the idea of SLO latency, we could totally get rid of queues”
Deep Dives 🔍
Dmitry Tsepelev published an article about Service Objects In Rails: How To Find A Mess → “In this post we will discuss two things that are often missing: contracts and composability. After that I will share a list of anti–patterns I found while working on dozens of Rails applications”
Akshay Khot published an article about Length, Size, And Count In Ruby And Rails: When To Use Which? → “This post explores the difference between these methods and explains how you should choose which method to use according to the needs of your application”
Daniel Lempesis published an article about Expressive Ruby And Rails: Communicate Effectively With Your Code → “In this post, we'll look at why expressive code is important and its impact on your productivity as a developer. Then, we'll explore how to best use some of Ruby's methods”
Tiago Cardoso published an article about The State Of HTTP Clients, Or Why You Should Use HTTPx → “most http clients you’ve been using since the ruby heyday are either broken, unmaintained, or stale, and you should be using httpx nowadays”
How-Tos 📝
Kyle Keesling published a new article about Deploying a Rails App Using Kamal and SQLite → “When you combine that with my recent discovery of the litestack gem, the recent release of Kamal, and the recent GoRails series on building your own URL shortner, and the stars had aligned”
Harrison Broadbent published a new article about Some View Component Tips (How I Write Them) → “After spending years building with ViewComponents, including building an entire Rails email component library, I've got some handy tips to share!”
Brad Gessler published an article about Better Rails Forms with Superform → “Rails form helpers have been around for so long that they seem unquestionable, but did you know there’s a way to build forms in Rails that are easier to customize and permit their own strong parameters?”
Garrett Dimon and John Nunemaker published an article about 14 Ways To Reduce Risk With Feature Flags → “We’ve pulled together all of the ways that feature flags can make releases much less anxiety-inducing”
Lucas Barret published an article about Optimistic Locking (Rails Internals Again) → “Aside from the LISTEN/NOTIFY mechanism, another essential mechanism in GoodJob is advisory Locks. In this article, we will try to understand better what they are and how to use them in Rails”
Igor Alexandrov published an article about Upgrading Rails Application From 7.0 To 7.1 → “In this article, I will show you how I upgraded one of our projects, OneTribe, to the new major release within one day of my holidays”
James Garcia published an article about Javascript Embeddable Widget With Hotwire Turbo And Stimulus → “There are many articles on how to create an embeddable widget with Javascript, but I wanted to see if I could do the same with just Hotwire Turbo and Stimulus”
Jon Lunsford published an article about Refactoring Ruby: Extract Method Dev Community → “Extract Method can be used when you have several expressions, a code fragment, that can be grouped together”
🔂 Related
Kevin Murphy published an article about Preparing Conference Talk Delivery Kevin Murphy → “Conference Talk Preparation Series! A conference accepted my proposal and I’ve built a slide deck. I still have a lot to do before hitting the stage!”
Justin Searls published an article about 16 Things You Believe About Software: A Retrospective On The Searls Briggs Type Indicator® → “I’ll take a moment to reflect on each of these questions and what our answers might tell us about ourselves and the particular era of software development we exist in”
Nina Torgunakova published an article about 5 Best Practices For Preventing Chaos In Tailwind CSS → “as the application grows, the lists of classes grow. Then, one day you realize you can’t understand your code, you’re confused with the structure of the application and magic variables, and work becomes a struggle. This article is all about avoiding this scenario”
Please consider becoming a paid subscriber to support this newsletter for just $1.8/week ($7.5/month), and you will receive an ad-free version. 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