- Short Ruby Newsletter
- Posts
- Short Ruby Newsletter - edition 115
Short Ruby Newsletter - edition 115
The one about conferences opening tickets or announcing speakers for 2025, where Samuel Williams announced async-cable, Puma 6.5.0 released
If you want to support the newsletter, you can upgrade to paid subscriber at https://subscribe.shortruby.com
Table of Contents
(ad π)
Learn AI in 5 Minutes a Day
AI Tool Report is one of the fastest-growing and most respected newsletters in the world, with over 550,000 readers from companies like OpenAI, Nvidia, Meta, Microsoft, and more.
Our research team spends hundreds of hours a week summarizing the latest news, and finding you the best opportunities to save time and earn more using AI.
π Launches and discounts
πΈ I am starting to compile a list of deals for Ruby developers π that I will probably send it next week as a separate email, but until then, I am compiling it as a page:
π Kuba Suder launched https://sdk.blue - a collection of all SDKs about Bluesky:
Source: @mackuba.eu
Source: https://instrumental.dev
πZack Gilbert launched https://susanssudoku.com - a simple in browser Sudoku:
Source: @zackgilbert.com
π Events
π Visuality announced the Ruby Community Conference - Winter 2025 and the first speaker:
Source: @visualitypl
π Paul Campbell shared they are thinking to organise a Ruby conference in Ireland:
Source: @paulca.com
π Balkan Ruby announced tickets for balkanruby.com
Source: @BalkanRuby
π All about Code and Ruby
(ad π)
Add file uploads instantly with Pinataβs developer-friendly File API
As a developer, your time is valuable. Thatβs why Pinataβs File API is built to simplify file management, letting you add uploads and retrieval quickly and effortlessly. Forget the headache of complex setupsβour API integrates in minutes, so you can spend more time coding and less time on configurations. With secure, scalable storage and easy-to-use endpoints, Pinata takes the stress out of file handling, giving you a streamlined experience to focus on what really matters: building your app.
π» Code Samples
π» Xavier Noria shared about alias_method
:
Source: @fxn.bsky.social
Jean Boussier added:
Source: @byroot.bsky.social
π» Henrik Nyh shared a code sample about combining uniq
and sole
to check object classes:
οΈπ» Ross Kaffenberger shared about using Rails excluding and with:
Source: @rossta
π» Josh Branchaud shared a code sample about executing a proc via ===
:
Source: @jbranchaud.bsky.social
If you want to understand more about how === works, I recommend this article by Brandon Weaver: Understanding RubyβTriple Equals
π» Postmodern shared about how split
handles trailing/leading occurrences:
Source: [email protected]
π» Kerrick Long shared about using the under-the-covers technique shared last week by Victor Shepelev in their article:
π» Stanislav Katkov shared a code sample about Rubygems offering a way to manage webhooks:
Source: @skatkov.com
π» Gabriele Renzi shared about the performance difference between sum
and doing the same with inject
:
π» Joe Clarke shared a code sample about implementing infinite scroll with Hotwire:
Source: @jclarke.xyz
Scott Watermasysk shared a code sample about running Brakeman in CI:
Source: @scottw.com
Andreas Finger added:
Source: @mediafinger.bsky.social
π» Anthony Drake shared a code sample about using Bluesky API:
π» Sean Roberts shared a code sample about about implementing a cva.style for working with Tailwind clsases in Phlex/ViewComponent:
Source: @seanroberts.codes
οΈπ» Ruby Cademy shared about using pick
and ids
vs pluck
:
Source: @RubyCademy
οΈπ» Greg Molnar shared about silencing the healthchecks in Rails 8:
Source: @GregMolnar
On the same topic of reducing the among of logging Rob Zolkos shared
Source: @robzolkos
π»οΈ Emmanuel Hayford shared a code sample about how Rails allows explain on methods like first
, pluck
and similar ones:
Source: @siaw23.bsky.social
Prem Sichanugrist shared a code sample about a small bash script to debug flaky tests:
Source: @sikac.hu
π» Onur Ozer shared a code sample about using truncate_words from Rails:
Source: @onurozer.me
οΈπ» Samuel Williams shared a code sample about testing Async::Cable:
Source: @ioquatix
οΈπ» Emmanuel Hayford shared what Minitest supports executing tests within specific line ranges:
Source: @siaw23
οΈπ» Adam Mc Crea asked about which version of the code would be good and why:
Source: @adamlogic
οΈπ» Emmanuel Hayford shared about using enqueue_after_transaction_commit
to change how jobs are scheduled from inside a transaction:
Here is the problem:
Source: @siaw23
and here how to configure the behavior:
Source: @siaw23
οΈπ» Rob Zolkos shared a script to benchmark See Rails parallel test speed with various cores Β· GitHub
Source: @robzolkos
οΈπ» Ruby Cademy shared how to use Bundler inline:
Source: @RubyCademy
οΈπ» Lucian Ghinda shared a thread about pattern matching:
Source: @lucianghinda
π»οΈ Kane Jamison shared a code sample about adding a canonical URL:
Source: @kanejamison.com
οΈπ» Maciej Mensfeld shared a performance improvement for Rails Make FileUpdateChecker faster with many extensions by jdelStrother Β· Pull Request #53680 Β· rails/rails
Source: @maciejmensfeld
οΈπ» Saeloun shared about generating controllers in Rails with --parent
option:
Source: @HiSaeloun
οΈπ» Samuel Williams shared a code sample asking about introducing Thread::Promise
in Ruby:
Source: @ioquatix
π Thinking about Code Design
οΈπRuss Olsen asked about whatβs the most exciting thing that happened in the last 5 years in Ruby:
Source: @russolsen.bsky.social
Here are some replies:
Source: @jan.dudulski.pl
Source: @jeremynt.bsky.social
Source: @skatkov.com
Source: @skillstopractice.com
Source: @mediafinger.bsky.social
Source: @batsov.net
Source: @manu-j.com
Source: @chastell.net
π Mike Perham shared a benchmark between Sidekiq and SolidQueue:
Source: @mike.contribsys.com
Andreas Finger added:
Source: @mediafinger.com
π Enrico Pilotto asked about advisory lock:
Rosa Gutierrez replied with:
οΈπ Brandon Weaver shared about modularity:
Source: @baweaver.bsky.social
οΈπ Benjamin Wood shared about the responsibility of a Rails controller:
Source: @benjaminwood.bsky.social
On the same topic οΈAdrien Siami shared:
Source: @Intrepidd
οΈπ Greg Molnar shared about security:
Source: @GregMolnar
οΈπ Dimitri Bosch shared about needing es-module-shims with Rails 8:
Source: @dimitribosch
οΈπ Rob Zolkos shared about config/environments/*
file being empty:
Source: @robzolkos
οΈπ Igor Alexandrov shared about performanc eimprovements from updating to Ruby 3.3.5 with jemalloc:
Source: @igor_alexandrov
β€οΈ Why Choose Ruby and Rails
β€οΈ Noel Rappin shared about Ruby stuff they want to try:
Source: @noelrappin.com
β€οΈ Rowen Willabus shared they are using Rails to deploy a Rails app to help farmers:
Source: @rowen.willabus.com
π§° Gems, Libraries, Tools and Updates
π New Gems and Repos
π Chris Oliver announced a new gem black_friday: Black Friday sales in your Rails apps (see a short video where Chris explains the gem)
π Samuel Williams announced a new repository socketry/async-cable
π Vladimir Dementyev published a new branch about Demo: pglite & electric-sql by palkan Β· Pull Request #7 Β· palkan/rails-on-wasm-playground
Source: @palkan_tula
π Lucas Mendelowski announced a new repository hotwire-htmx-unpoly: Simple TODO application built with Rails to compare Hotwire, HTMX and Unpoly
Source: @lcmen_
π Rails Designer published a new gem stealth_dom_id - Extends Rails dom_id
helper to support custom attribute-based identifiers
πEvgeniy Demin published a new gem called database_schema_ownership - Provide an easy way to manage code ownership over a database schema
π§° Updates
π§° Nate Berkopec announced a new version of Release 6.5.0 - Skyβs Version Β· puma/puma Β· GitHub
π§°Bridgetown announced a new version Performance Boost with Bridgetown 2.0 Beta 3
π§° Jeremy Evans announced a new version of Rodauth 2.37.0 Released Β· jeremyevans/rodauth Β· Discussion #455
Source: @jeremyevans0
π§°Bozhidar Batsov shared a conversation about deprecation of parser in Ruby: Soft deprecation of the project? Β· Issue #1046 Β· whitequark/parser. This is an important conversation for a variety of toll in Ruby including Rubocop:
Source: Ilya Bylich on https://github.com/whitequark/parser/issues/1046
Bozhidar Batsov added:
π§° Gift Egwuenu announced an update October 2024 RubyGems Updates
π§° Samuel Williams announced a new pull request for Ruby about Introduce Fiber::Scheduler#blocking_operation_wait
. (#12016) Β· ruby/ruby@9c26830
Source: @ioquatix
π§° John Nunemaker announced an update of Flipper gem:
π§° Mike Dalessio announced an update about sqlite3 gem:
Source: @flavorjon.es
π§° Josef Strzibny announced a new version of devise-otp: Two Factors authentication for Devise using Time Based OTP/rfc6238 tokens
π€ Git Hub shared Announcing GitHub Secure Open Source Fund: Help secure the open source ecosystem for everyone
Source: @github
π€ Stephen Margheim shared pglite-fusion: Embed an SQLite database in your PostgreSQL table. AKA multitenancy has been solved.
Source: @fractaledmind
π€ Jonathan Markwell shared an advice about how to choose the DB:
Source: @jot.is
π€ Gregory Brown shared about what a good architecture is:
Source: @skillstopractice.com
π€ Will Boyd shared about using infinity constant in CSS:
Source: @codersblock.com
π€ Prem Sichanugrist shared about separating personal emails for Git:
Source: @sikac.hu
π€ Adam Wathan announced Tailwind CSS 4.0 - beta1:
π€ JoΓ«l Quenneville shared about designing APIs:
Source: @joelquen
More content: π π π§ π₯ βπΎ
π Charles Oliver Nutter shared their slides about Building JRuby: How We Implement Ruby on the JVM - Speaker Deck
π Jeremy Evans shared their slides about 10 Years of Roda
π This Week In Rails published a new edition about Active Supportβs NotificationAssertions and sql.active_record
gets affected_rows
π Ruby Weekly published a new edition about DHH is screencasting again
π Hotwire Weekly published a new edition about Week 47 - Sweet Streams, Turbo considered harmful?, and more!
π Awesome Ruby Newsletter published a new edition about Issue 444 - Why did people rub snow on frozen feet? (2017)
π§ Podcasts
π§ Adrian Marin and Yaroslav Shmarov published a new episode of Friendly.show - November 2024. Black Friday deals, SupeRails PRO, Hotwire Native, Office Hours
π§ The Bike Shed published a new podcast about The Bike Shed: 447: How to (not) implement impersonation
π§ Alisa Cohn published a new podcast about Episode 80 - David Heinemeier Hansson
π§ Thoughtbot published a new podcast about Giant Robots Smashing Into Other Giant Robots: 551: System Design is a Team Sport with Tom Johnson
π§ Ruby Rogues published a new podcast about Embracing Human Factors and Rapid Development in Ruby on Rails Systems - RUBY 661
π½οΈ π₯ Videos
π₯ Ruby Central shared a video about The Challenges of Building a Sigstore Implementation from Scratch - Samuel Giddins, Ruby Central
π₯ Kaleb Lape published a new video about Rails development in 2024
π₯ Joe Masilotti published a new video about Hotwire Native live coding
π₯ Ruby TΓΌrkiye published a new video about Leveling Up Developer Tooling For The Modern Rails & Hotwire Era - Marco Roth
π₯ Thoughtbot published a new video about AI in Focus: Information summarization using an LLM
π₯ Jet Brains Ruby Mine published a new video about Whatβs New in Rails 8 and How RubyMine Supports It
π₯ Brad Gessler published a new video about Manage content with Sitepress in Rails apps or static websites
βπΎ Articles
Whatβs new π
Avo published an article about Whatβs new in Rails 8
Ruby Central published an article about Securing Rubyβs Future: How Ruby Central is Strengthening Security
Chetan Mittal published an article about Ultimate Rails Security Guide: Best Practices for Ruby on Rails Applications in 2025
HΓΉng LΓͺ published an article about Concurrency in Ruby: Thread and Fiber - DEV Community
Ayush Newatia published an article about Rack for Ruby: Socket Hijacking
Noel Rappin published an article about Object Constellations
Rails Designer published an article about Inheritance with Stimulus Controller
Lucas M. published a new article about Transaction Safety in Rails: Identifying and Addressing Non-Atomic Interactions
Prasanth Chaduvula published an article about Rails 7.1 Adds Rails.application.deprecators Method
Aysan Isayo published an article about Upgrade Rails From 7.2 to 8.0
Chetan Mittal published an article about Comprehensive Guide to Implementing Content Security Policies in Ruby on Rails 8
How-TOs π
Avo published an article about Adding a sitemap to a Rails app
Steve Polito published an article about Process slow network requests with Turbo and Active Model
Guillaume published an article about Deploying production, staging and review apps environments automatically with Kamal on CI/CD | Guillaume Briday
Ben Sheldon published an article about Keep your secrets.yml in Rails 7.2+
JD Gonzales published an article about Kamal Tip - Private Network only Database Server
Rails Designer published an article about Add Sign Up to Rails 8β Authentication
Steve Polito published a new article about Process slow network requests with Turbo and Active Model
Mintbit published a new article about Best Practices for Adding a Boolean Column in Rails: A Case Study
Jared White published an article about Dissecting Bridgetown 2.0βs Signalize-based Fast Refresh
Denis Defreyne published an article about The intricacies of implementing memoization in Ruby
Jeremy Kreutzbender published an article about Adding Email Address Verification in Rails 8
Reply