Ruby Mad Science — Practical Ruby & Rails Engineering

Where Ruby engineers come to think clearly about hard problems

Deployment, internals, debugging and performance. Structured paths, practical guides and experiment notes from years of shipping, breaking and fixing Rails applications in production.

Workbench with Ruby code fragments, server diagrams and engineering notes

Core Topics

All topics →
Topic

Rails Deployment

Server setup, process management, reverse proxying, secrets handling and the real failure modes that hit small production stacks first.

Topic

Rails Internals

How the request cycle actually works, middleware ordering, autoloading, the asset pipeline and the parts of Rails that most tutorials skip.

Topic

Ruby Performance

Memory allocation, GC tuning, object shape optimisation, YJIT effects and how to measure what actually matters in production.

Topic

Debugging & Maintenance

Production triage, log analysis, dependency audits, safe refactoring patterns and making inherited Rails codebases less frightening.

Structured Learning

Learning Paths

All paths →

Each path is a sequence of topics and steps designed to build real competence, not just awareness. Work through them in order, or jump to the step that matches where you are right now.

Learning Path · 6 steps

Deploy Rails on Your Own Server

From blank VPS to production traffic. Ruby versioning, Nginx, PostgreSQL, Puma, background jobs, SSL, monitoring and the things that break first.

Learning Path · 5 steps

Understand Rails Internals

How a request becomes a response, what Rack does, how autoloading works, and why understanding the framework makes debugging ten times faster.

Learning Path · 7 steps

Make an Old Rails App Safer to Change

Dependency audits, test coverage gaps, safe upgrade strategies, dead code removal and building confidence in a codebase you inherited.

Practical Reference

Latest Guides

All guides →
Guide · 12 min

Deploy Ruby on Rails on a VPS

Step-by-step deployment covering server prep, Ruby versioning, Nginx reverse proxy, PostgreSQL, Puma and background jobs.

Guide · 9 min

Rails 8 Upgrade Checklist

What to audit, test and fix before upgrading a production Rails app. Deprecation triage, gem compatibility and rollback planning.

Guide · 10 min

Nginx for Rails Apps

Reverse proxy configuration, SSL termination, gzip, static asset serving and the Nginx directives Rails developers actually need.

Guide · 11 min

PostgreSQL Indexing for Rails

Which indexes matter, how to read EXPLAIN output, partial indexes, composite keys and the queries that slow down first as tables grow.

Editorial
Post · Deployment

Twenty Small Reasons That Deploying a Rails App Is Hard

Deployment is not one big problem. It is twenty small ones, each capable of wasting a weekend. Here is the real list.

Post · Reflection

2014 Year in Review

Looking back at a year of Ruby engineering, side projects, conference work and the business of writing about software.

Lab Notes

Experiment Notes

All experiments →
Experiment

Performance Notes

Observations from benchmarking Ruby versions, GC settings, YJIT effects and memory behaviour under production-like load.

Experiment

Deployment Failure Modes

A running catalogue of deployment failures, root causes and mitigation patterns collected from real production incidents.

Site Activity

Recent Updates

Full changelog →
contentAdded PostgreSQL indexing guide with composite key coverage and EXPLAIN walkthroughFeb 2026
taxonomyRestructured debugging topic to separate triage patterns from log analysisJan 2026
designRefined code block typography and improved mobile reading widthDec 2025