Short Ruby News - Edition #97
You can jump directly to a section:
๐ย All about Code and Ruby: ๐ป Code, ๐Code Design,๐กAround, โค๏ธ Why Choose Ruby
๐งฐย Gems, Libraries, and Updates: ๐ New, ๐งฐ Updates and ๐ Keep an eye on
๐ค Related (but not Ruby-specific)
More content: ๐ ๐ ๐ง ๐ฅ โ๐พ (articles, podcasts, videos, newsletters)
๐ 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
๐ ย Ruby Confย sharedย about early bird tickets mailing list: RubyConf 2024 โ Chicago, IL โย November 13โ15, 2024: Sign-up to learn when more information about RubyConf is available!
๐ A series of meetups will take place this week all around the world:
๐ 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:
Samuel Williamsย sharedย a link to Browser Configuration for localhost
๐ปย 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:
He alsoย sharedย Top 1000 longest method names and the most used variable names.
ย ๐ย Nate Hopkinsย sharedย an idea that ActiveSupport::Cache::Memory store is under utilized pattern:
He gave an example:
ย ๐ย Nate Berkopecย sharedย rails/activerecord/lib/active_record/relation.rb at 19eebf6d33dd15a0172e3ed2481bec57a89a2404 ยท rails/rails
ย ๐ 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
๐ Hiroshi SHIBATA published a new project called gem-codesearch - Set up a full text code search engine for rubygems mirror
๐ Mike Perham welcomes contributions to his new background job benchmark suite job_roundup.
๐ Kuba Suder shared his project remindbot - a Simple Mastodon command line bot for sending single DMs
๐งฐ 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
๐งฐย Kasper Timm Hansenย announced a new version ofย oaken - A fresh blended alternative to Fixtures & FactoryBot for dev and test data - version 0.7.0
๐ Keep an eye on
๐ Valentino Stoll is building RubyLang.ai: A fine-tuned LLM for Ruby
๐ 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: ๐ ๐ ๐ง ๐ฅ โ๐พ
Marco Rothย sharedย their slides from Brighton Ruby The Hotwire Landscape After Turbo 8 @ Brighton Rubyย 2024
๐ Newsletters
๐ This Week in Rails published a newsletter on Immutable Rails Cache Header, Local Assigns in Strict Local Templates, Threaded Active Storage Mirror Service
๐ 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
๐ง Tune in to The Ruby on Rails Podcast Episode 518: Live From The Rails Conf Hallway Track!
๐ง Listen to the Bike Shed podcast The Bike Shed: 430: Test Suite Pain & Anti-Patterns
๐ง Jason Swett published a new podcast Matthew Kaliara, CTO and Co-Founder at Rescale - The Code with Jason Podcast
๐ง Remote Ruby published a new episode about Desks, Deployments, and Databases
๐ฝ๏ธ ๐ฅ Videos
Screencasts
๐ฅย Pascal Lalibertรฉย published a new video aboutย Hotwire's Morph has a small gotcha. If nothing changes on the page as you click a button or submit a form, you might have to remove a turbo frame.
๐ฅ Ben Curtis shared Debugging a slow Rails controller with Honeybadger Insights
๐ฅ Dean De Hart published a new video about Inertia JS on Rails Made Easy with React and Tailwind
๐ฅ Yaroslav Shmarov published Sell access to a Github Repository. Sell your code! and about Add a "Sign in with Apple" button to your app!ย
๐ฅ Confreaks, Llc shared a playlist of Blue Ridge Ruby 2024
๐ฅ Max Vel Dink shared his talk from Blue Ridge Ruby 2024 | Refactoring: The ASMR of Programming
๐ฅ Dave Kimura published a new video about HotwireCombobox
๐ฅ Graceful.Dev published a new video about Ruby Symbol Literals
๐ฅ Rails Conf shared RailsConf 2024 Recap
๐ฅย Top End Devsย published a new video aboutย Ruby as a sleeping giant for AI application development with Scott Werner
๐ฅย Samuel Williamsย published a new video aboutย Real time page reloading during editing using live WebSocketsย
๐ฅย 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
๐ Sara Jackson published an article A pragmatic guide for adding React to an existing Rails application (and still use Hotwire)
๐ 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
๐ Michael Chaneyย published an article aboutย Inserting and Selecting New Records - One Query and Making Common Table Expression SQL More Railsy
๐ Max Mulatzย published a new article about published an article aboutย How even the simplest RAG can empower your team
๐ Steve Polito published an article aboutย A pragmatic guide for adding React to an existing Rails application (and still use Hotwire)
๐ Andres Chaconย published an article aboutย ActiveRecord::Enum persisted in a string field. Is it a bad idea?
๐ต๏ธ Deep-Dive
๐ต๏ธ Stefan Wienert published an article about Using 'Packs' (a.k.a Packwerk) as code organization / Engine alternative' - Starting point and recipes
๐ต๏ธ 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
๐ย Yusuke Endoh published a new article aboutย RubyใงSlackใฎใใใใๆธใๆนๆณ๏ผใชใในใ่ชๅใง๏ผ - ใพใใใ / How to write a Slack bot in Ruby (preferably by yourself)
๐ 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