Short Ruby News - Edition #85
The one where we discuss Ruby maintainability, how to convince C-level people to keep using Ruby, and that 2023 was the year with the most contributions to Ruby
You can jump directly to a section:
🚀 New Products & 📅 Events
👉 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)
[Promo ⬇] RailsCamp
Rails Camp USA is an outdoorsy un-conference series focused on connecting developers worldwide at summer camps in different locations across the US.
Our community is a place where tech conference attendees can relax and unwind. We engage in outdoor activities, collaborate on side projects, network, practice conference talks together, and have fun with kayaking, board games, hammock lounging, and karaoke. Our scholarship program covers ticket costs and potentially (with enough funding) cover travel expenses for those who need it.
🚀 New Products & Discounts
🚀 Josef Strzibny launched the Kamal Handbook.
💸 If you want a 10% discount, buy from this affiliate link. Josef was kind enough to offer a discount for our Short Ruby Community.
💸 Andrew Atkinson offered Short Ruby Community members a 35% discount using the code SinCityPostgreSQL
at checkout, a courtesy offer for the occasion of Sin City Ruby. Buy at Pragmatic Bookshelf and use the code SinCityPostgreSQL
🚀 Obie Fernandez pre-launched a new book Patterns of Application Development Using AI
🚀 Olly Headey launched Pagecord - Effortless blogging from your inbox
📅 Events
📅 Friendly.RB announced the first batch of speakers for this year's edition. Tickets are available at Friendly.rb
📅 Eu Ru Ko shared that the conference will only be in person and reduced the pricing by 10EUR → EuRuKo.org
📅 Ruby Conf announced the date for RubyConf 2024 – Chicago, IL – November 13–15, 2024: Sign-up to learn when more information about RubyConf is available!
📅 Helvetic Ruby announced CFP open for lightning talks Helvetic Ruby 2024 lightning talk submission
📅 Geneva Ruby Brigade announced a new meetup in Geneva RSVP here
📅 Balticruby announced a junior track
👉 All about Code and Ruby
💻 Code Samples
👉 Ruby On Rails shared a code sample showing how to use where with a hash condition where keys represent fields:
👉 Charles Oliver Nutter shared about making Ruby __method__ / __callee__ 10x faster in next JRuby version:
👉 Rémy Hannequin shared a code sample showing how to use astronoby gem to calculate the location of the Sun in the sky:
There are more examples in the thread Remy shared
👉 Kevin Newton shared a code sample showing writing to a local variable with named capture groups:
👉 Ahmed Nadar shared about how to set turbo cache to false:
👉 Ruby Cademy shared about using touch_all:
Robert Starsi added:
👉 John Mc Dowall shared about using Rails inflector:
👉 Joel Moss shared a code sample showing how they are planning to implement signature type checking at Runtime:
When comparing with Sorbet:
Joel also published a gem called delivered on Github.
👉 Juraj Kostolanský shared a rake task to keep only the last N container images in Github:
👉 Prabin Poudel shared about skipping all tests inside a folder in RSpec:
👉 Nate Hopkins shared Kamal Configuration
👉 Greg Navis shared a thread about Rack::Runtime. I am including here just the first post:
👉 Jan Klimo shared a reminder about the string column in Rails + PostgreSQL:
👉 Ruby Cademy shared a tip about running db:system:change to change the database,yml file:
👉 Nate Hopkins shared about using rails routes and fzf:
👉 Nate Hopkins shared a code sample showing what’s coming in turbo_boost-commands
👉 Fabian shared a code sample from websocket-client-simple/lib/websocket-client-simple/client.rb at master · ruby-jp/websocket-client-simple
📐 Thinking about Code Design
👉 Matt Swanson shared about Hotwire:
👉 Stephen Margheim shared about how to configure SQLite to be ready for production:
Until Rails 8 the recommendation is to use this gem activerecord-enhancedsqlite3-adapter or the litestack
He also added later:
👉 Matheus Richard shared about naming concerns/traits as nouns:
👉 Mika Henriksson asked a question about multi-step form build with Bootstrap tabs:
Here are some replies:
A step by step tutorial about how to build a multi step with Hotwire was sharaed last year by Andrea
👉 Matt Swanson asked about using solid_queue for 6M jobs per day:
Here is an excellent reply from Rosa, the author of solid_queue gem:
👉 Ryan Bates shared about the maintainability of Ruby:
There are replies on both Twitter and Ruby.Social. This is a good conversation to have about how to write maintainable Ruby code. I am selecting here some replies:
👉 Nate Hopkins asked about guarding against potential nil values:
Here are some replies:
👉 Samuel Williams asked about recommendations of Gems for Rails for tracking and logging Active Record field access:
👉 Brian Casel asked about how to use Hotwire in Rails. See the short video they presented describing the issue:
Some replies:
Mark Hesketh shared Pull requests · markahesketh/brian-casel-hotwire
Matt Swanson shared Thinking in Hotwire: Progressive Enhancement
👉 John Mc Dowall shared a tip about Rails domain modelling:
👉 Gavin Morrice asked about using jsonb column types to define flexible data store:
Some replies:
💡 Around code (news, findings, books and more - all about Ruby)
👉 Ruby On Rails shared two more guides are refreshes and invited for review and feedback: [RF-DOCS] Action View Overview Guide [ci-skip] by bhumi1102 · Pull Request #51435 · rails/rails
👉 John Gorriceta shared they want to read more content about building startups with Rails:
and it seems like Rails Foundation is working on it:
👉 Robert Pankowecki shared about using difftastic with Ruby:
👉 Matt Swanson shared a VSCode extension for multi-line commenting in ERB files ERB Commenter - Visual Studio Marketplace
👉 Martin Yanchev asked about creating beautiful emails:
Here are some recommendations:
Premailer gem
👉 Jeremy Smith shared a thread about Sin City Ruby and why it is good to participate to conferences:
❤️ Why Choose Ruby
❤️ Xavier Noria shared about working on Zeitwerk for 5 years:
❤️ Irina Nazarova shared about the experience at SinCityRuby:
❤️ Igor Alexandrov asked about how to convince a C-level officer that thinks Ruby is dying:
Here are some replies:
❤️ Prabin Poudel shared about the Ruby community
❤️ Zack Gilbert shared about the direction Rails is headed:
❤️ Nate Hopkins shared about the simplicity of Rails + Propshaft + Importmaps:
❤️ Mike Coutermarsh shared about the benefits of having a Rails console:
❤️ gaultierq asked on /r/rails about:
Here are some replies:
🧰 Gems, Libraries, Tools and Updates
🆕 New Gems and Repos
🆕 Radan Skorić announced a new project called Interactive Ruby Debug Tutorial
🆕 Ryan Bates announced a new fork of prettier-plugin-tailwind to make it work in ERB:
🆕 Joel Moss announced a new gem delivered: Simple runtime type checking for Ruby method signatures
🆕 Matt Schwager published a new gem called ruzzy - A coverage-guided fuzzer for pure Ruby code and Ruby C extensions
🧰 Updates
🧰 Stephann V. shared that overmind can be installed via Ruby overmind/packaging/rubygems/README.md at master · DarthSim/overmind
🧰 Rémy Hannequin announced a new version of astronoby - Ruby library based on astrometry books
🧰 Ryan Bates announced a new version compatible with Ruby 3.3 for ruby-warrior: Game written in Ruby for learning Ruby
🧰 Chris Oliver announced a new version of excid3/receipts: Easy receipts and invoices for your Rails applications
🧰 Samuel Williams announced a new version of Introduce `Async::Task#defer_stop` by ioquatix · Pull Request #310 · socketry/async
🧰 Alex Rudall announced a new version of Release v6.4.0 · alexrudall/ruby-openai
🧰 Allison shared a script to check for undocumented gem incompatibilities with Rails 7.1 see the discussion on Reddit at From the rails community on Reddit: Undocumented gem incompatibilities with Rails 7.1 and the script is at incompat_71.rb
👀 Keep an eye on
👀 Jean Boussier proposed a new feature request for Ruby about ObjectSpace.dump_all(string_value: false): skip dumping the String contents
🤝 Related (but not Ruby-specific)
🤝 Michael Buckbee published a guide about blocking AI bots:
🤝 Thomas Roccia shared an image with the XZ attack:
More content: 📚 🗞 🎧 🎥 ✍🏾
📽️ Slides
📽️ Vladimir Dementyev published the slides from [SF Ruby, March 2024] Rails on Wasm
📽️ Irina Nazarova also published their slides about How to do well in consulting by Evil Martians
🗞 Newsletters
🗞 Ruby Central published a new edition of March 2024 Newsletter
🗞 Emmanuel Hayford published a new edition about Retry known idempotent SELECT queries, New Active Record configurat...
🗞 Ruby Weekly published a new edition about Recurring tasks come to Solid Queue
🗞 Ruby Libhunt published a new edition about Issue 410 - Being laid off in 2023-2024 as an early-career developer
🗞 Hotwire Weekly published a new edition about Week 13 - Happy Easter!
🎧 Podcasts
🎧 The Bike Shed published a new podcast about The Bike Shed: 420: Test Database Woes
🎧 The Ruby on Rails Podcast published a new podcast about The Ruby on Rails Podcast Episode 512: RailsConf With Ufuk Kayserilioglu
🎧 Jason Swett published a new podcast about 216 - Andy Croll, Co-Chair of RailsConf 2024 - The Code with Jason Podcast
🎧 Ruby For All published a new podcast about The State of Debugging in Ruby — A Puts-tastic Journey
🎧 Ruby Rogues published a new podcast about Leveraging SQLite in Web Development - RUBY 630 - Ruby Rogues
📽️ 🎥 Videos
Screencasts
🎥 Chris Oliver published a new video about Refactoring local variables by extracting methods can help make testing, extending classes, and other things easier
🎥 Jason Swett published a new video about What is REST? - Mentorship Session with Jonathan Hilliard
🎥 Jose Farias published a new video about Swappable Data Providers (3/3) | Maybe Finance | Ruby on Rails Live Coding
🎥 Jason Swett published a new video about TDD'ing an ASCII Table - Mentorship Session with Kyle Law
🎥 Kasper Timm Hansen published a new video about Riffing on Rails: Onsite modeling for Dispatchers
🎥 Cezar Halmagean published a new video about Building a Property Management System (live stream)
🎥 Drifting Ruby published a new video about Episode 449 - Previous/Next Record | Drifting Ruby
🎥 Igor Alexandrov published a new video about Episode #1 – Basecamp's Kamal code walkthrough
🎥 Dean DeHart published a new video about Building my SAAS Deanout for Game Hosting on Rails
🎥 Roland Lopez published a new video about The Power of pgvector and Embeddings using ruby on rails
✍🏾 Articles
What’s new 🆕
Felipe Vogel published an article about Being laid off in 2023-2024 as an early-career developer
Stefanni Brasil published an article about thoughtbot at Sin City Ruby 2024. Andrew Atkinson also published an article about Sin City Ruby 2024
Ruby Central published a new article about RailsConf 2024 - Speaker Spotlight - Chris Oliver
Sam Saffron published a new article about Crafting Web Browser Specs for Discourse AI - AI Conversation - Discourse Meta
Piotr Jurewicz published an article about Do you tune out Ruby deprecation warnings?
Joé Dupuis published an article about 14 tools and gems every Ruby developer would love: My favorite for Ruby feedback loops, performance and debugging, and data management
Greg Molnar published a new article about Secure code review checklist
Reni Mercier published an article about Pick a standard and move on
Iddrisu Salley published an article about Ruby most useful Hash methods
Juraj Maťaše published a new article about Searching for the first job with rails backend
Jared White published an article about Ruby, Fully Stacked
Ben Sheldon published an article about Rails Active Record: Will it bind?
Mathieu Eustachy published an article about What is a Ruby implementation?
David Boureau published an article about Rollup vs Esbuild for Rails
Deep Dives 🔍
Joe Masilotti published a new article about Turbo Native iOS and Android apps in 15 minutes
Dmitirii Ivliev published an article about Rails Timestamping Guide
Jan Bajena published an article about Mastering Large Backfill Migrations in Rails and Sidekiq
Akshay Khot published an article about Build Your Own Router in Ruby
How-TOs 📝
Hans Schnedlitz published an article about Porting a Ruby Gem to the browser with ruby.wasm
Jack Curtis published an article about Creating Passkey Authentication in a Rails 7 Application - The Gnar Company
Steve Polito published an article about Configure GitHub Actions to work with rspec-rails
Gavin Morrice published an article about Using JSONB columns to create pseudo-attributes in Rails
RailsDesigner published a new article about Data-Attributes Magic with Tailwind CSS & Stimulus
Ariel Juodziukynas published an article about Speeding Up Assets Precompilation
Alkesh Ghorpade published an article about Keeping your database migrations strong with strong_migrations gem
Related
Yukihiro Matsumoto published an article about t 「不機嫌な上司から逃げるのは正しい」 まつもとゆきひろ氏が語る、心の健康を守り、キャリアを長持ちさせる方法 (read EN version translated with Google Translate at Health is the best survival strategy)
Cody Norman published a new article about Entering my Purple Cow Era
Ahmed Nadar published a new article about Your true value beyond the job title
Pascal Laliberté published a new article about Level 3 Sharpening: Generate New Product Ideas