Short Ruby News - Edition #97

You can jump directly to a section:

๐Ÿš€ Launches & ๐Ÿ“… Events

๐Ÿ‘‰ All about Code and Ruby: ๐Ÿ’ป Code, ๐Ÿ“Code Design,๐Ÿ’กAround, โค๏ธ Why Choose Ruby

๐Ÿงฐ Gems, Libraries, and Updates: ๐Ÿ†• New, ๐Ÿงฐ Updates and ๐Ÿ‘€ Keep an eye on

๐Ÿš€ Launches and discounts

๐Ÿš€ Rinas launched WhatWentWellToday.com:

๐Ÿš€ With days left to ship 37signals Writebook, Jason Fried shares The Writebook Manual published with Writebook. Take a look.

๐Ÿš€ Pragmatic Programmers released High Performance PostgreSQL for Rails

๐Ÿš€ Aaron Francis has his video course on High Performance SQLite live!

๐Ÿ“… Events

๐Ÿ“… A series of meetups will take place this week all around the world:

  • Paris.rb on 2nd July, in Paris, France

  • Bluegrass Ruby - 2nd July, in Lexington, KY, USA

๐Ÿ‘‰ All about Code and Ruby

๐Ÿ‘‰ J Ruby Dev Team announced a new version v9.3.15.0

๐Ÿฅณ Redmine.Jp shared that Redmine is now 18 years old:

๐Ÿ’ป Code Samples

๐Ÿ’ป Joel Drapper shows us how he models Postmark emails with Literal which highlights the DX(Developer Experience) benefits to using a dynamic type-checker for object properties in Ruby.

He also shared a benchmark about the Literal:

๐Ÿ’ป Prabin Poudel shared a tip on how to use Rails alongside Tailwind CSS elegantly

๐Ÿ’ป Chris Oliver shared his newly found knowledge on when to use __FILE__ or __dir__ to get a directory

๐Ÿ’ป Ruby Cademy shared a tip on how to use ActiveSupport::Duration to convert seconds to user friendly format.

They shared another tip on how to find records using signed IDs safely:

๐Ÿ’ป Greg Navis shared a detailed thread explaining how Rails makes it trivial to select records without a corresponding association. Go through the thread to get more context, but here is a gist of it.

If a Summary belongs to a job ad and a JobAd has at most one summary,

But instead of the above-said approach, you can easily attain the same result using where.missing:

๐Ÿ’ป Nate Berkopec asked about a way to check if has_many relation contains any unpersisted records without trying to load the relation from the DB:

Keygen replied, proposing target as the solution

๐Ÿ’ป Ruby Cademy shared about using pick instead of pluck:

๐Ÿ’ป Juraj Kostolanskรฝ shared a code sample about disabling CSP for ActiveStorage:

๐Ÿ’ป Ismael Celis shared about composable structural validation in Ruby:

๐Ÿ’ป Nate Hopkins shared a code sample about running Falcon with Rails:

๐Ÿ’ป Igor Alexandrov shared about Rails method upcase_first:

๐Ÿ’ป Brad Gessler shared about defining a method on the object:

Here are some interesting discussions about this:

๐Ÿ’ป Josef Strzibny shared that Rails now supports Cache-Control immutable:

๐Ÿ’ป Michael Koper shared about service objects:

๐Ÿ’ป Dima Fatko shared about sidekiq-iteration gem being merged into Sidekiq:

๐Ÿ’ป Maciej Mensfeld shared about implementing stateful, complex workflows as code in Karafka:

๐Ÿ’ป Ruby Cademy shared a reminder of some of the most popular naming conventions in Ruby:

๐Ÿ“ Thinking about Code Design

๐Ÿ“  Koichi Sasada posted research of how many times each and map was called in all Ruby gems:

 ๐Ÿ“ Nate Hopkins shared an idea that ActiveSupport::Cache::Memory store is under utilized pattern:

He gave an example:

 ๐Ÿ“ Mike Coutermarsh shared about Github Architecture:

๐Ÿ’ก Around code (news, findings, books, and more - all about Ruby)

๐Ÿ’ก Ruby On Rails shared a Rails 7.1 command to find unused routes, which may speed up boot time or help remove dead code

๐Ÿ’ก Lucian Ghinda shares his finding on how Ruby had a dotenv gem before Javascript and that the concept originated from Heroku which was first adopted in the Ruby community.

๐Ÿ’ก Chris Oliver shares a new update to noticed, which adds a recipients feature for defining recipients inside the notifier.

๐Ÿ’ก Jason Fried shared about using Writebook:

โค๏ธ Why Choose Ruby

โค๏ธ Igor Alexandrov shared about Rails being the most efficient tool in terms of speed and final results:

โค๏ธ Haseeb shared about how fast prototyping is with Rails:

๐Ÿงฐ Gems, Libraries, Tools and Updates

๐Ÿ†• New Gems and Repos

๐Ÿ†• Jacapo Beschi announced a new gem Homographic Spoofing: a new Ruby toolkit

๐Ÿ†• Mike Perham welcomes contributions to his new background job benchmark suite job_roundup.

๐Ÿงฐ Updates

๐Ÿงฐ Postmodern announced the release of Ronin 2.1.0 open beta that includes a lot of changes. Here is a list of new libraries supported:

๐Ÿงฐ Andrei Kaleshka announced a new version of actual_db_schema gem with new task to manually roll back phantom migrations.

๐Ÿงฐ Jeremy Evans announced a new version Tilt 2.4.0

๐Ÿ‘€ Keep an eye on

๐Ÿ‘€ Stan Lo has a new PR open tpo Provide code navigation features to erb files in Ruby LSP

๐Ÿค Related (but not Ruby-specific)

๐Ÿค Yaroslav Shmarov shows us how to make credentials diff readable in Git

๐Ÿค Jason Fried talks about The Golden Path and how his favorite thing about designing software is designing the defaults

๐Ÿค Justin Jackson discussed the marketing strategy employed by Aaron and Steve in selling their new course. Listen to his interesting analysis:

๐Ÿค Jon Yongfook shared about focusing on what to build:

More content: ๐Ÿ“š ๐Ÿ—ž ๐ŸŽง ๐ŸŽฅ โœ๐Ÿพ

๐Ÿ—ž Newsletters

๐Ÿ—ž Ruby Weekly published a new edition about In Ruby, a method without side effects should be public

๐Ÿ—ž Awesome Ruby Newsletter published Awesome Ruby Newsletter - Issue 423

๐Ÿ—ž Hotwire Weekly published a new edition about Week 26 - Hotwire Voting and Flash Messages, Django Components with Stimulus, and more!

๐ŸŽง Podcasts

๐ŸŽง The Rails Changelog published a new podcast episode 024: Structuring Rails Apps with Matt Swanson

๐ŸŽง Listen to the Bike Shed podcast The Bike Shed: 430: Test Suite Pain & Anti-Patterns

๐ŸŽง Remote Ruby published a new episode about Desks, Deployments, and Databases

๐Ÿ“ฝ๏ธ ๐ŸŽฅ Videos

Screencasts

๐ŸŽฅ Confreaks, Llc shared a playlist of Blue Ridge Ruby 2024

๐ŸŽฅ Dave Kimura published a new video about HotwireCombobox

๐ŸŽฅ Graceful.Dev published a new video about Ruby Symbol Literals

๐ŸŽฅ Rails Conf shared RailsConf 2024 Recap

๐ŸŽฅ Drifting Ruby published a new video about Using LLMs to Generate Tags

๐ŸŽฅ Jason Swett published a new video about Capturing the Leaky Stream Bug in a Test - Live Coding on SaturnCI

โœ๐Ÿพ Articles

Whatโ€™s new ๐Ÿ†•

๐Ÿ†• Ben Greenberg published an article about Rails Caching With Couchbase in Under 5 Minutes

๐Ÿ†• Eminkel published a new article on Easy Postgres backups

๐Ÿ†• Jeffery Morhous published an article about API versioning in Ruby on Rails

๐Ÿ†• Michael Chaney published an article about Refactoring fix_encoding

๐Ÿ†• Augusts Bautra published an article about TIL custom order with .in_order_of

๐Ÿ†• Michael Chaney published an article about Inserting and Selecting New Records - One Query

๐Ÿ†• Remi Mercier published an article about Add comments to your tables columns

๐Ÿ†• Max Mulatz published a new article about published an article about How even the simplest RAG can empower your team

๐Ÿ†• Andres Chacon published an article about ActiveRecord::Enum persisted in a string field. Is it a bad idea?

๐Ÿ•ต๏ธ Deep-Dive

๐Ÿ•ต๏ธ Ajithkumar P S published an article that dives deep into the asset pipeline of Rails 7 so, Do you know how the delivery of assets works in your Rails 7 app?

๐Ÿ•ต๏ธ Jp Camara published a new article - Your Ruby programs are always multi-threaded: Part 2

๐Ÿ•ต๏ธ Urszula Soล‚ogub published an article about The Deadly Sins in RoR security - SQL Injection

How-TOs ๐Ÿ“

๐Ÿ“ Learn How to fix a segfault in Ruby  from Dmitry Daw.

๐Ÿ“ Ryan Bigg published an article about Decreasing Ruby app build times

๐Ÿ“ Samuel Williams published a guide on How to get started with Async::HTTP

๐Ÿ“ Akshay Khot published an article on How to Access Raw POST Data in Rails

๐Ÿ“ Rails Designer published an article about How to add โ€œSave and add anotherโ€ feature to Rails apps

๐Ÿ“ Daniel Nolan published an article about Using OpenAI ChatGPT Assistants API to Build a Landscape Assistant

Related

โœ๏ธ Karl Oscar Weber published an article about Capsule - A Startup in a box

โœ๏ธ Keshav Biswa shared his talk slides on Journey of writing a programming language

Reply

or to participate.