The Curious Engineer

All blogs / Ruby / Rails

The Rails Tech Debt Blog

fastruby.io/blog

Articles on Technical Debt, Code Quality, Ruby on Rails, Rails Upgrade Projects, and Code Audits by the OmbuLabs Team

Ruby / RailsSoftware / engineering practiceAI / ML

Posts
280 from 1 Jul 2016 to 27 Oct 2026
Posting
weekly (61 in the last year)
Kind
company blog
Feed
https://www.fastruby.io/blog/rss.xml

2026 59

  1. Making AI Agents Safe to Retry
  2. Bootstrap 4 to 5, One Controller at a Time
  3. Can You Remove DatabaseCleaner?
  4. Rails World ‘26: Rails in the Agentic Era
  5. DHH, AI, and the Future of Rails
  6. Rails World ‘26: Hot Cell for Active Storage
  7. Rails World ‘26: The As-If Rule, Ractors & AI
  8. Rails World ‘26: The RubyGems Compact Index
  9. Rails World ‘26: Herb and ReActionView
  10. Run the Rails Agent Benchmark Yourself
  11. Rails World ‘26: Lexxy for Action Text
  12. What Happens to Your Ruby Tools With AI?
  13. Herb on Rails
  14. Rails 8.2: The HTTP QUERY Method
  15. Irish Chess Union Upgrades to Rails 8.1
  16. Upgrading a Deprecated Postgres on Heroku
  17. The Rails Deprecations You Missed This Summer
  18. Turning Audit Findings into CI Checks
  19. How to Avoid APM Bill Surprises
  20. Repay Tech Debt with the Strangler Fig Pattern
  21. What Replacing React with Hotwire Really Costs
  22. SimpleCov is now version 1!
  23. How to Distribute Private Gems
  24. Why To Use A Multi-Stage Dockerfile
  25. Measuring Code Coverage For Non-Ruby Runners
  26. Why Your Yarn App Suddenly Looks for Bun
  27. Opening a Repo Is Now an Execution Event
  28. Running a Ruby MCP Server in Production
  29. Why Patching the Gem Didn't Fix CVE-2026-66066
  30. Migrating from sass-rails to Dart Sass
  31. Tracking LLM Latency & Cost with Rails Events
  32. Rake Beyond Rails: A Build Tool You Know
  33. automating a tech debt audit opens a new window
  34. Automate Tech Debt Audits with Claude Code
  35. we covered deprecated associations in Rails 8.1 opens a new window
  36. Rails 8.1: Deprecated Associations
  37. From AI Opportunity to AI Feature in Rails
  38. Open-Source APM Tools for Rails
  39. Migrating from Secrets to Credentials
  40. The Hidden Cost of Your Test Suite
  41. Sidekiq & Rails Compatibility Table
  42. Painfully Simple Test Case Mistakes to Fix
  43. JRuby & Rails Compatibility Table
  44. No Node
  45. How to Parallelize Your RSpec Test Suite
  46. How to Leverage PurgeCSS in Your Rails App
  47. How to Choose a Gem Wisely
  48. Sidekiq & Ruby Compatibility Table
  49. Migrating From Sprockets to esbuild in Rails
  50. Usability Meets Accessibility
  51. Migrating a Rails App from Heroku to Railway
  52. Our Rails Upgrade Methodology as Claude Skills
  53. Reliable Maintenance for Solo SaaS Founders
  54. Upgrade Rails from 8.0 to 8.1
  55. optimize test performance opens a new window
  56. Time to Migrate from Heroku
  57. Ruby 4.0: ZJIT, Ruby Box, and Ractors
  58. Getting Started with Vite on Rails
  59. How We Fix the Broken Build During Upgrades

2025 27

  1. Hacktoberfest 2025: Our Open Source Work
  2. The Hidden Dangers in Your Gemfile
  3. Middleware in Rails
  4. Don’t Just Upgrade Rails: 7 CVEs to Patch
  5. Read more of Draining The Churn Swamp opens a new window
  6. Rails.event.notify(...) opens a new window
  7. The Forgotten Flag: How --trust-policy Works
  8. Rails 8.1 Local CI as First-Class Support
  9. Why Fixed-Cost Maintenance Beats “As-Needed”
  10. Rails and Ruby Compatibility in 2025
  11. Rails Versions You Shouldn't Be Using
  12. Ruby 3.4.0 Released: What's New
  13. Ruby's New Data Class (Ruby 3.2+) Explained
  14. The Automated Roadmap to Upgrade Rails
  15. Is It Ruby or Rails? Our New Discord Bot
  16. How Jekyll Keeps Our Blog Fast & Dev-Friendly
  17. The Hidden Costs of Technical Debt in Rails
  18. DIY Rails Upgrades: Open Source Tools
  19. Check If a Gem Is Loaded in Your Bundler
  20. Extracting Rails Deprecation Warnings
  21. Setting Up Rails with Dev Containers
  22. Heroku & Ruby Compatibility Table
  23. A Tale of 3 Aliases
  24. Valid Eval: 2-5x Performance Gains in Rails
  25. WAVE Accessibility Report
  26. Rails Database Migrations Best Practices
  27. From Elasticsearch Types to OpenSearch Indices

2024 49

  1. Segmentation Fault in Ruby
  2. What Is Cyclomatic Complexity?
  3. Refactoring Rails: Strategies for Models
  4. Refactoring Rails: Improving Code Quality
  5. Upgrade Rails from 7.2 to 8.0
  6. How to Grok a Rails App for the First Time
  7. Handling ERB Syntax Changes for Form Helpers
  8. RailsBump.org Is Maintained by FastRuby.io
  9. How to Fix the Gem Native Extension Error
  10. bundler-audit opens a new window
  11. Understanding the New Rails Maintenance Policy
  12. How to Create a Custom Gemfile for Development
  13. Upgrade Rails from 7.1 to 7.2
  14. accessibility testing in Rails applications opens a new window
  15. Exploring Ruby's # frozen_string_literal
  16. The Next Rails Gem
  17. Unlocking Value with Bonsai
  18. Upgrading Your Gem for Rails Compatibility
  19. Rails Applications with Multiple Databases
  20. How Outdated Are These Popular Ruby Projects?
  21. What Is Technical Debt?
  22. Ruby & Rails Compatibility Table
  23. Ruby & Hanami Compatibility Table
  24. upgrade Rails in increments opens a new window
  25. Can You Upgrade Rails in Increments?
  26. Managing Long-Running Branches
  27. Troubleshooting GitHub Actions with MySQL
  28. Getting to the Root of Slow Page Loads
  29. Speeding Up Assets Precompilation
  30. How Do You Know When Your App is Not Compliant? opens a new window
  31. Ruby & Sinatra Compatibility Table
  32. The Evolution of ActiveModel::Error in Rails
  33. Dual-Boot Ruby
  34. Rails Developer's Guide to PostgreSQL Indexes
  35. Ruby & Roda Compatibility Table
  36. Cracking the Case on Flaky Tests
  37. Dual-Boot Ruby on Rails Using Docker
  38. largest contentful paint opens a new window
  39. Largest Contentful Paint
  40. ReadyTech's Rails Upgrade Cuts Costs 5-10%
  41. How To Delay A Rails Upgrade
  42. previous article opens a new window
  43. Common Culprits in Rails Performance Issues
  44. A Step-by-Step Guide to Upgrading Ruby
  45. RubyConf 2023 – A Ruby Renaissance
  46. Serving ActiveStorage Attachments via a CDN
  47. How to Use Brakeman for Rails Security
  48. Rails Application with NoSQL Database
  49. Deploying Rails on Fly.io

2023 45

  1. A Comprehensive Guide to Our Roadmap Service
  2. What's New in Ruby 3.3.0
  3. libyear-bundler opens a new window
  4. Dual Boot with Rails' main Branch
  5. Exploring Ruby's Global Constants
  6. Strategies to Deal with load_defaults
  7. How to Reduce the Cost of Upgrading Rails
  8. ActionController::Parameters: Rails 4 to 5
  9. Test Doubles: Testing at the Boundaries
  10. Staying Ahead of the Rails Curve
  11. How Much Does It Cost to Upgrade Rails?
  12. My Journey Upgrading to Ruby 3.0
  13. Upgrade Rails from 7.0 to 7.1
  14. Finishing an Upgrade
  15. Response#content_type: Rails 5.2 to 6.1
  16. Dealing With Schema Changes in Rails 7
  17. Why You Shouldn't Run `rails app:update`
  18. i18n Gem Gotchas in Ruby 3.0
  19. Exploring Ruby Warnings
  20. 7 Techniques to Improve Your Debugging Skills
  21. 10 Strategies for Upgrading Low-Coverage Apps
  22. How to Run Multiple Rails Versions on Heroku
  23. Navigating Asset Management Madness in Rails
  24. Safeguarding Against Deprecation Regressions
  25. Fix Sneaky ArgumentErrors When Upgrading Ruby
  26. The History of the Asset Pipeline
  27. Fortify Rails: Defending Against Bad Actors
  28. Rails Security Audit opens a new window
  29. Readonly Associations and Upgrading to Rails 4
  30. RailsConf 2023: Our Rails Upgrade Workshop
  31. Introduction to Rails Engines
  32. Bonsai: Fixed-Cost Monthly Maintenance
  33. Power HRG Increases Server Speed by 40%
  34. Fixing Rails 6.1 Relation `merge` Deprecation
  35. regular security assessments opens a new window
  36. The AAA Pattern: Writing Robust Tests
  37. The Dangerous Query Method Deprecation
  38. Testing AJAX Controller Requests in Rails
  39. 7 Common Mistakes in Rails Upgrades
  40. doxo’s Rails Upgrade Boosts Performance 20%
  41. Two Approaches to Upgrading an Application
  42. Automate the Gem Release Process
  43. Smile.io Upgrades Rails, Boosts Speed, Revenue
  44. An Introduction to Race Condition
  45. Optimizing Images - Part 3

2022 22

  1. Optimizing Images - Part 2
  2. Request Queue and Why You Should Care About It
  3. Optimizing Images - Part 1
  4. Heroku-22-Stack-Upgrade-Guide
  5. percentile response times opens a new window
  6. How to Extend Rails Associations
  7. How to Split Rails Routes?
  8. Dual Booting with Engines and Gems
  9. SoundCloud Upgrades Its Ruby and Rails System
  10. Using SSH Keys in Docker for Private Repos
  11. What Does load_defaults Do?
  12. Be a Scholar or Guide at RubyConf/RailsConf
  13. Create a Custom Rubocop Cop
  14. How to Manually Release a Gem in rubygems.com
  15. An Introduction to Software Quality
  16. Naming Things Is Hard
  17. Migrate From Webpacker to Jsbundling-Rails
  18. Generating the Gemfile.next.lock
  19. Mocking JavaScript Requests During Tests
  20. What I Learned from My First Rails Upgrade
  21. Upgrade Rails from 6.1 to 7.0
  22. On How We Use RuboCop and StandardRB

2021 13

  1. JavaScript Test Code Coverage in Rails
  2. Upgrading To Zeitwerk
  3. Migrate from Paperclip to Active Storage
  4. Friendlier UUID URLs in Ruby
  5. Introducing Dotenv Validator
  6. 6.0 to 6.1 opens a new window
  7. Behind The Scenes: Rails UJS
  8. Upgrade Ruby from 2.7 to 3.0
  9. Nested Forms in Rails
  10. Why Wasn't Ruby 3 Faster?
  11. Solving Dual Booting Compatibility Issues
  12. Rails Upgrade Series opens a new window
  13. How to Upgrade Rails Without a Test Suite

2020 24

  1. this recent article opens a new window
  2. How to Prepare Your Rails App for an Upgrade
  3. Webpack VS Sprockets
  4. How to Pitch a Rails Upgrade to Your Boss
  5. How Fast Are Ractors?
  6. The Complete Guide to Rails Shims
  7. Migrating JS from Sprockets to Webpacker
  8. Best EC2 Instance Type for Rails Apps
  9. How We Estimate the Size of a Rails App
  10. How's the Performance of Ruby 3.0.0-preview1?
  11. Code Coverage Metrics for Ruby on Rails
  12. Is Your Test Suite Ready for a Rails Upgrade?
  13. OmbuLabs Open Source Guidelines
  14. Upgrading a Large Rails App From 5.0 to 5.1
  15. Two Commonly Used Rails Upgrade Strategies
  16. Migrating From Capybara Webkit to Webdrivers
  17. Churn vs. Complexity vs. Code Coverage
  18. we have a guide for that too opens a new window
  19. Our Rails Upgrade Process Explained
  20. Guide for Unmaintained Open Source Projects
  21. Calculate Tech Debt Using Skunk on GitHub
  22. Gemifying Your Style Guide to DRY Your CSS
  23. technical reasons opens a new window
  24. Guide to Migrate to Strong Parameters

2019 20

  1. Escaping the Tar Pit: Skunk v0.3.2 at RubyConf
  2. Merging Multiple SimpleCov Coverage Results
  3. Upgrading a Large Rails App From 4.2 to 5.2
  4. Skunk opens a new window
  5. RubyCritic opens a new window
  6. Three Libraries to Assess Code Quality in Ruby
  7. How to Keep Your Rails App Up to Date
  8. Debugging Non-Deterministic RSpec Tests
  9. Service Objects: Beyond Fat Models
  10. Introducing Bundler-Leak for Memory Leaks
  11. upgrade your Rails application opens a new window
  12. Tips for Writing Fast Rails: Part 3
  13. Upgrade Rails 101: Roadmap to Smooth Upgrades
  14. whether we work on a Rails upgrade project or not opens a new window
  15. upgraded Rails from 5.2 to 6.0 opens a new window
  16. Workshop - Upgrade Rails 101
  17. Dual-Boot technique opens a new window
  18. Legacy Rails: Silently Judging You
  19. Three Useful Data Migration Patterns for Rails
  20. Notes from the Rails Performance Workshop

2018 10

  1. Tips for Writing Fast Rails: Part 2
  2. Upgrading a Rails App From 2.3 to 4.2
  3. Upgrade Rails from 5.1 to 5.2
  4. Improving Performance with derailed_benchmarks
  5. Upgrade Rails from 5.0 to 5.1
  6. Announcing Gemfile.lock Audit Tool
  7. Upgrade Rails from 4.2 to 5.0
  8. has been doing upgrades with us for a few years now opens a new window
  9. ActiveRecord::Dirty 5.2 API Changes
  10. Upgrade Rails from 4.1 to 4.2

2017 5

  1. Upgrade Rails from 4.0 to 4.1
  2. Upgrade Rails from 3.2 to 4.0
  3. Upgrade Rails from 3.1 to 3.2
  4. Upgrade Rails from 3.0 to 3.1
  5. Upgrade Rails from 2.3 to 3.0

2016 5

  1. Present? vs Any? vs Exists?
  2. Brief Look at RSpec's Formatting Options
  3. Tips for Writing Fast Rails opens a new window
  4. Spy vs Double vs Instance Double
  5. previous post opens a new window

Undated 1

  1. skunk opens a new window