- Short Ruby Newsletter
- Posts
- Short Ruby News - Edition #82
Short Ruby News - Edition #82
This edition has new sections for Ruby code: Code Samples, Code Design, and Around Code. This way, you can go quickly to what is of interest to you!
Take advantage of the special promo for March & April to promote your product/service/book/agency in the Short Ruby Newsletter: π‘ 25% off Main Content Packageπ‘ 30% off Supporter Packageπ‘ 40% off Branding PackageDon't miss this opportunity to reach the Ruby community! Interested? Email [email protected] for details!
You can jump directly to a section:
π New Products & π Events
π All about Code and Ruby: π»Code Samples, πCode Design, π‘Around code, β€οΈWhy Choose Ruby
More content: π π π§ π₯ βπΎ (articles, podcasts, videos, newsletters)
[Sponsor β¬] KamalHandbook (affiliate link)
The patron copy for $21.99 gives you early access, lifetime updates, and future bonuses. You can also buy the simple copy for just $14.99 and you'll get the book once it's released.Josef Strzibny is a full-stack web developer and the author of Deployment from Scratch book, which sold over 1000 copies. He is also the creator Business Class kit - a SaaS template with subscriptions,SEO-optimized blog, and built-in Kamal deployment.
π New Products
π Nagendra Dhanakeerthi launched www.multiwoven.com - Effortlessly sync customer data into your business tools
π Pascal LalibertΓ© launched Hotwire Migration: 3 options, up-front pricing (see the video for an overview of the service being offered)
π Josef Strzibny announced early access for their new book called Kamal Handbook (affiliate link):
π Rinas shared gifsocial.com (code is open source at onerinas/gifsocial):
π Ayush launched an updated version of their book The update to The Rails and Hotwire Codex and is offering a 20% discount for Short Ruby Newsletter readers if you buy via this link (valid only for 48 hours)
π Andrea Fomera launched a new course Learn Hotwire by Building a Calendar
π Events
π Cody Norman launched a new event Rawhide Ruby
π Indie Rails shared they will host an IndieRails meetup β RSVP at IndieRails Meetup @ Sin City
π Genevarb announced a new meetup Contribute! (Dimiter Petrov, thoughtbot), Wed, Mar 27, 2024, 7:00 PM | Meetup
π Irina Nazarova shared that on 28 March a SF Bay Area Ruby meetup will take place. Register at lu.ma/r6d0lghm
π Ruby Frankfurt Meetup announced Ruby Frankfurt Meetup - April 2024, Tue, Apr 16, 2024, 6:30 PM | Meetup
π Euruko shared that Matz will attend in person EuRuKo 2024
π All about Code and Ruby
π» Code Samples
π Stephann V. shared about removing the initializer when adding a new input:
π Matheus Richard shared a code sample showing how to create a lambda/proc without an explicit block:
π John Mc Dowall shared a tip about fixing the UI flickering/glitch where Turbo preview is shown first:
π Cj Avilla shared about adding a turbo stream render in the application layout:
[Sponsor β¬] Business CLass kit (affiliate link)
π Keshav Biswa shared a bug they discovered with filtered params in Rails (see the bug report here):
π Stefan Botzenhart shared a code sample showing usage of `all_day` helper from Rails:
π Prabin Poudel shared about to_sentence helper in Rails:
π Ruby Cademy shared about using values_at for parallel assignment:
π Bhumi shared a tip about using the spacer templates in Rails:
π Brad Gessler shared a code sample showing pattern matching with Rails create action:
He also created a PR for Rails to support deconstruct keys on StrongParams.
π Jeremy Smith shared a thread about how they refactored a SignupForm form object. You can see here the initial object:
π Hans Schnedlitz shared a code sample showing how to pass named arguments to format:
π Jim Jones shared a tip about Rails Turbo 8 morphing:
π Benito Serna shared about using a custom context for Rails validations:
π Michael Buckbee shared a code sample for implementing a sanity check:
π Bhumi shared a code sample showing pattern matching in Ruby and asked about use cases in real applications:
π Monospace Mentor shared about operations on Ruby arrays:
πHans Schnedlitz shared a code sample showing that you can transform an array into a generator and work with it like that:
πJeremy shared a benchmark about value.digits β bench_base32.rb
π Ayush asked about sending HTTP headers when hijacking a Rack socket for server sent events:
π Thinking about Code Design
π David Heinemeier Hansson shared about running multiple Rails applications on a single server in Rails 8:
π Piotr Ch shared a long post about keeping a Rails codebase maintainable. I extracted here just the first part:
π Daniel Lopes shared about working on a large Rails codebases:
π Matt Swanson shared about how to design authorization. This is just the top part of the long post they shared. Please open it and read the entire post:
π Benoit started a discussion about a pattern of using .call to call .new:
Here are some of the replies:
π Pedro PiΓ±era asked about spawning multiple threads from a request/response in Rails:
Thibaut Barrère replied with a link to Parallelizing Queries with Rails 7's `load_async`
π Naofumi Kagami ε γ ηΎη΄ε² shared a thread about OOP. I choose here one of the posts in the thread:
π Benito Serna shared about organizing internationalization in Rails in separate files per model:
π Samuel Williams asked about how to improve a slow test suite that is spending 65% of time in javascript_pack_tag:
Among the suggested solutions:
π Greg Molnar shared Rails SQL Injection Examples list:
π Samuel Williams shared a benchmark between Rack/Falcon and Elixir/Cowboy:
π Rafael FranΓ§a shared that a Rails application is a Rails engine:
π John Nunemaker shared about how they fixed a SpeakerDeck performance issues:
π Chris Oliver shared a short video explaining how readable the Rails source code is:
π‘ Around code (news, findings, books and more - all about Ruby)
π Ruby On Rails asked for feedback for the documentation about Structuring the Active Record Query Guide Β· Issue #51262 Β· rails/rails
π Irina Nazarova shared ubicloud - Open, free, and portable cloud. Elastic compute, block storage (non replicated), virtual networking, managed Postgres, and IAM services in public beta.
π Aurelie Verrot shared about the lack of timezone support in Github actions. See add timezone support to scheduling workflow runs with cron Β· community Β· Discussion #13454
π Postmodern asked a couple of poll about Ruby community:
Here is the list of questions:
π Graceful.Dev announced a new episode for members with a free two weeks access at Pro Membership (Monthly)
π Chris Oliver shared they created the Rails Lazy Load Hooks Cheatsheet
A similar list can be found in Rails Docs at Rails Engines#available load hooks
π Bozhidar Batsov shared the issue that triggered the creationg of Rubocop β Automated Ruby file checker like PEP-8? Β· Issue #54 Β· rubocop/ruby-style-guide
It is so inspiring to discover in that issue the start of the rubocop repository:
π Felipe Vogel shared a list of repositories about Ruby programming games:
Here are the list of repos:
π Rich Steinmetz started a weekly question about SaaS built with Rails on Reddit. If you are working on one answer there: From the rails community on Reddit: Serious SaaS Monday π₯Έ#1
π Stephen Margheim shared about SQLite being ready for production:
π Piotr Ch asked about Rails job market in EU:
π KingOdinson_1212 asked about salaries for Rails developers with over 10 years of experience. There are over 60 replies there if you care curious about this:
β€οΈ Why Choose Ruby
β€οΈ Gregory Brown shared about 15 years since publishing Ruby Best Practices book:
β€οΈ Greg Navis published an article about Why Rails is a Great Choice for Startups in 2024
β€οΈ John Gorriceta shared their impression after 24 hours with Rails:
β€οΈ Monospace Mentor shared that Ruby allows expressing clearly the intention of the code:
β€οΈ Cameron Dutro shared about the difference between waiting for JS tools vs waiting on Ruby tools:
Noah Gibbs replies with detailing how Rails profiled and optimized the important stuff:
β€οΈ Tekin SΓΌleyman shared that pattern matching is a cool to use:
β€οΈ Cameron Youngblood shared about speed of development with Rails:
β€οΈ Alireza Bashiri shared they love building their project with Turbo:
β€οΈ Greg Molnar shared about their transition to Rails:
π Tobi Lutke shared about the super power of Rails:
π§° Gems, Libraries, Tools and Updates
π π§° Kevin McConnell published a new gem called Thruster - an HTTP/2 proxy for simple production-ready deployments of Rails applications. Read the announcement article here
π π§° Dima Fatko announced a new gem activerecord_cursor_paginate: Cursor-based pagination for ActiveRecord
π π§° Richie Khoo announced they started working on What's the recommended way to start a new calagator project in 2022? Β· Issue #706 Β· calagator/calagator
π π§° Shibata Hiroshi shared a new project old-ruby-build - This script is used to build old versions of Ruby for Apple Silicon
π π§° Johny Ho published a new gem called props_template - A very fast json builder for Rails. Read the announcement article here
π§° Bozhidar Batsov announced a new version of Rubocop suporting Prism β Release RuboCop 1.62 Β· rubocop/rubocop
π§° Stan Lo announced a new version of Release v1.12.0 Β· ruby/irb
π§° Svyatoslav Kryukov announced a new version of RunRuby.dev
π§° Samuel Williams announced a new version of Add `Scheduler#load` and `Async::Idler` for scheduling tasks when idle. by ioquatix Β· Pull Request #309 Β· socketry/async
π§° Rob Zolkos shared a gem called namecase: Properly case people's names
π§° Kevin Newton announced a new version of Add pattern matching for actioncontroller parameters by kddnewton Β· Pull Request #63 Β· kddnewton/rails-pattern_matching
π π§° Piotr Ch announced a new project (not written in Ruby) that can be deployed with Kamal called mediator
π€ Related (but not Ruby-specific)
π€ Greg Molnar shared how to configure 2FA on SSH access to a server:
π€ Rob Walling asked about the most controversial opinion about building startups:
Here are a few replies:
π€ Jason Swett shared about code review and domain review:
π€ Irina Nazarova shared about B2B sales:
π€ Ben Orenstein shared about pricing page:
More content: π π π§ π₯ βπΎ
π Newsletters
πHotwire Weekly shared Week 10 - Hotwire Codex Update, Hotwire videos, new Turbo Native app!
π Greg Molnar published a new edition of This Week in Rails about Illustrator file preview, deprecations and more!
π Ruby Weekly published a new edition about DHH's Windows odyssey
π Ruby LibHunt published a new edition about Awesome Ruby Newsletter - Issue 407, Mar 07, 2024
π§ Podcasts
π§ K.O.O published a new episode about A principle programmer at 34Signals taught me Rails Turbo
π§ The Rails Changelog published a new podcast about From Active Record Business Logic to DDD & Events with Andrzej Krzywda | The Rails Changelog | Episode 21
π§ Creston Jamison published a new podcast about Exploring 37 Signals Once Business Model | Rubber Duck Dev Show 117
π§ Indie Rails published a new podcast about IndieRails | Andy Croll - An Abundance of Work-Adjacent Hobbies
π§ The Bike Shed published a new episode about 417: Module Docs
π§ The Ruby on Rails Podcast published a new podcast about The Ruby on Rails Podcast Episode 510: Burnout with Dr. Katy Cook
π½οΈ π₯ Videos
Screencasts
π₯ Yaroslav Shmarov published a new video about Rails #161 Import ICS Calendar events with Gem iCalendar
π₯ Jason Swett published a series of videos about:
π₯ Sam Johnson published a new video about How to build an interactive UI with Rails and Turbo and part 2
π₯ Cezar Halmagean published a new video about Friday Live Coding
π₯ Toronto Ruby published a new video about Toronto Ruby | 2 Years of the Ruby LSP
π₯ Thoughtbot published a new video about Improving Rails Test Suite Performance
π₯ Dean De Hart published a new video about:
π₯ GoRails published a new video about ActionController Modules in Rails (Example)
Conference Talks
Visuality.pl started publishing the videos from the Ruby Warsaw Community Conference to their YouTube Channel
βπΎ Articles
Whatβs new π
Vladislav Kopylov published an article about Why I love Ruby
Bozhidar Batsov published an article about Weird Ruby: Incrementing Strings
Matias Korhonen published an article about Hash benchmarks with Ruby
BalΓ‘zs Kutil published an article about How Not to Benchmark a Rails App
Aestimo Kirina published an article about Active Record or Sequel: Which Best Fits The Needs of Your Ruby App?
Swaathi Kakarla published an article about Rails 7.1.2 now ignores implicitly passed locals in templates that use strict local definitions
RailsDesigner published an article about Why choose ViewComponent over Rails partials
Akshay Khot published an article about Honeybadger Now Supports Logging and Event Monitoring
Deep Dives π
Chirag Shah published an article about How we migrated from Sidekiq to Solid Queue
Deepak Chauhan published an article about Mastering Ruby Parallelism and Concurrency, From Basics to Real-World Applications
Jacopo Beschi published an article about 3My adventures hunting down a Ruby memory leak
Henrique Medeiros published an article about The Evolution of ActiveModel::Error in the Rails Framework
How-TOs π
John Skiles Skinner published an article about OpenSSL error installing Ruby
Jeffery Morhous published an article about How to deploy a Rails app to Render
Alkesh Ghorpade published an article about Empower Your Rails Application with CanCanCan Gem and about Debugging Made Easy with Pry
Miha Rekar published an article about (Ab)using Rails 7.1's #generates_token_for for List-Unsubscribe Headers
Pascal Zumkehr published an article about Configuring Puma Workers for the Cloud
Kevin Glowacz published an article about Rails Debugging with VS Code and puma-dev
Related
David Copeland published an article about Programmer Purity Tests
Reply