rails 60
- CI Gates, Test Result Caches, and the Code Graph That Might Tell Us What to Test
- When a Green Deployment Still Serves a 500
- When a Rails or LMS Platform Becomes Hard to Change
- When Ubuntu Builds Fail on libvips but macOS Does Not
- Local Gemma with Hermes: Cheap Delegation for Rails Maintenance
- The CI failures that moved every time you reran them
- Deterministic Rails CI failures: read the evidence first
- Rails Performance from the Metal Up: A Field Guide
- The callback that quietly doubled our database
- Rails UJS to Turbo: the event timing bug CI didn't catch
- Redis High Availability: Shared Sessions and Fault Tolerance
- Git Worktree for Parallel AI Development
- Faster Rails Docker Feedback Loop: Runtime Deps and HMR
- Polymorphic Indexes in MySQL: Type-First or ID-First?
- Migrating a Rails App from Yarn + Webpacker to pnpm + Vite
- Rails Style Guide: Transactions, Touch, and Async Derived Data
- Transactions, touch, and async rollups for derived data in Rails
- PostgreSQL on Ubuntu: install, user setup, and auth debugging
- load_async in Rails 8: loading associations concurrently
- Rails 8.1.1 + connection_pool 3.x: RedisCacheStore boot crash
- From 499 to 200: Fixing Nginx Timeouts in a Rails API
- The Ghost in the Test Suite: Fixing Rails Database Cleanup
- Why Using Business Logic for Test Setup Is a Rails Antipattern
- Active Storage Variants: Multiple Sizes and Testing Pitfalls
- User Impersonation in Rails with the Pretender Gem
- When to Mock and When to Hit the Real Thing in Rails Tests
- How button_to Changed in Rails 7 (and Broke Our CSS)
- Managing Temporary Data in Multi-Step Rails Forms
- Custom HTTP Headers in Rails: Picking the Right Format
- How Rails Sessions Work with Warden and Cookies
- Idempotent Rails Requests with a Redis Semaphore Lock
- Timezone Bugs in Ruby: BST vs UTC in CI and Cron
- Debugging Transaction Deadlocks in Rails Tests: A Case Study
- Avoiding Duplicate Record Errors in Rails Under Concurrency
- Handling Out-of-Order Updates in Async Rails Workflows
- Ordering by an Associated Column Without Breaking includes
- Building a Test Suite: Pyramid, Layers, and What to Skip
- N+1 Queries in Rails: What Silently Breaks `includes`
- Fixing Racing Background Job Updates: Rails to Laravel
- Ruby object IDs, anonymous modules, and Rails cache errors
- Migrating from Kaminari to will_paginate in Rails
- Why Kaminari's Anonymous Modules Break Rails Caching
- Rails in Kubernetes: Migrations, Jobs, and Puma
- Upgrading to Rails 7.2: Four Breaking Changes We Hit
- Speeding Up Nested JSON Serialization in Rails
- delete_all vs destroy_all in Rails: Callbacks and Associations
- Inspecting Sidekiq Jobs from the Rails Console
- Rails N+1 Queries: joins vs preload vs eager_load vs includes
- Production Debugging Techniques for Rails Apps
- Redis Memory Spikes: Tracking Down a Runaway Sidekiq Queue
- A .irbrc Full of Ruby Debugging and Introspection Helpers
- Rails Session Stores: Cookie, ActiveRecord, and Redis
- Rails Secrets: Credentials, 1Password, and Cloud Vaults
- How to Set a Breakpoint on Devise's current_user Method
- Fragment Caching a Large List That Changes Constantly
- Redis in Ruby on Rails: Cache Server and Job Queue
- Soft Delete in Rails: Discard vs ActsAsParanoid
- How Rails Loads Your App: Rake, Console, Server, and Tests
- Rails unscope: removing default scope conditions
- Database Auditing: pg_audit vs audited vs paper_trail