#​722 — October 3, 2024

Read on the Web

Together with  Honeybadger

Ruby Weekly

▶  DHH's Rails World 2024 Opening KeynoteRails World took place last week, and by all accounts it was an amazing experience. DHH took to the stage to introduce Rails 8.0 beta 1, talk about the idea of the ‘One Person Framework’, espouse import maps, getting off the cloud, and more besides.

David Heinemeier Hansson

Eliminating Intermediate Array Allocations — Sure, all most things in Ruby are objects, but do all objects cause memory allocations? The answer is “no,” but the logic behind allocations is worth knowing, as understanding Ruby’s behavior can help you make your code more efficient.

Aaron Patterson (Tenderlove)

Log Everything, Ask Anything with Honeybadger — Paying for an APM you rarely use? Honeybadger Insights is a powerful query engine for your logs and application events. It's a bit like New Relic or DataDog but with just the good parts and a price you can afford. Check it out!

Honeybadger sponsor

IN BRIEF:

How to Fix Tricky Sidekiq Memory Issues“We’ll touch briefly on finding and trying to fix background jobs that are consuming too much memory, but we’ll focus mostly on mitigating the damage a memory-hungry background job can do.”

Jeff Morhous

Writing More Expressive Ruby with the it Shorthand — Note that this is a Ruby 3.4 (currently in preview) feature.

Mintbit

The Decide, Evolve, React Pattern in Ruby — This pattern feels like if event sourcing and state machines had a baby.

Ismael Celis

🌳 Ready for Rails 8? Need to Upgrade? Try Bonsai by FastRuby.io — Stuck on Rails 4.2? Stop postponing your upgrade; ship it with our fixed-cost monthly maintenance service. 🚀

Bonsai by FastRuby.io sponsor

📄 Achieve Static Typing Benefits with Keyword Args and Class Constants David Bryant Copeland

📄 Deploy Multiple Rails Apps to the Same Server with Puma + Nginx“If Kamal is not for you then this article is for you.” Given Ncube

📺 Customizing Rubocop Rails Omakase Rules Chris Oliver

📄 ActiveStorage Direct Upload with Stimulus Rails Designer

📄 Debugging Rails in Docker Suleyman Musayev

🛠 Code & Tools

Kamal 2.0 Released: The Tool to Deploy Anything Anywhere — A major release of 37signals’ increasingly popular deployment tool. v2 focuses on scale and replaces Traefik with its more efficient Kamal Proxy. We also get automatic HTTPS via Let’s Encrypt and the ability to deploy multiple apps to the same server. It’ll come by default with Rails 8.

Donal McBreen (37signals)

💡 While Kamal 2.0 is the big news, Kamal 2.1 also landed yesterday.

Spectator Sport: An Early Stage Browser Recording Engine — A Rails engine that enables ‘video-like recording’ of user actions in an app, so you can see how people (testers, perhaps) are really using your site. It’s early days, but the demo is functional.

Ben Sheldon

Why Every Dev Team Needs a Product Manager Partner 🤩 — A great product manager unlocks your team's potential, for fast delivery and high-quality software without the stress.

Test Double sponsor

Solid Queue v1.0: Database-Backed Active Job Backend — Another release that was made in time for Rails World. Designed to run against MySQL, Postgres or SQLite, Solid Queue supports delayed and recurring jobs, priorities, and bulk enqueuing. It, too, will come by default with Rails 8.

Rosa Gutiérrez (37signals)

Minitest::Verify: Minitest Plugin to Prevent False Negative TestsHere’s an explanation of why negative tests are to be avoided.

Thomas Marshall

Tailwindcss::Ruby: A Self-Contained Tailwind CSS Gem — Wraps the standalone executable version of the Tailwind CSS framework into a form that can be installed simply via a gem.

Mike Dalessio and DHH

📰 Classifieds

Spending too much on GitHub Actions? RunsOn is the modern way to run self-hosted runners at scale on your AWS infrastructure - 10x cheaper.


🐘 Postgres user? We have a newsletter for that.