About this collection
Ruby and Rails are treated here as working systems rather than collections of isolated idioms. The investigations follow objects across process boundaries, transactions, queues, HTTP streams, asset pipelines and database queries. Several begin with a small surprise: a job that ran before commit, an eager load that changed query behavior, a profiler report that implicated object shape rather than raw traffic, or a deployment layout whose simplicity hid shared infrastructure.
Read together, the notes show where framework conventions help and where the underlying Ruby, Unix, HTTP or PostgreSQL model still matters. The curated entries are useful starting points; the chronological list keeps the narrower experiments visible, including language design, Fibers, Ractors, C extensions and comparisons with other runtimes. This is a map of practical trade-offs, not a substitute for version-specific Rails documentation or measurement in the application being changed.
Start here
- The Rails job that ran before checkout committed Why a Rails background job can read old database state when checkout is still committing, how nested transactions hide the race, and how to fix it.
- Callbacks, invariants, and durable events in Rails Where Rails business rules can live, when callbacks are acceptable, and when state changes need durable event and delivery records.
- Using memory_profiler to reduce Rails memory pressure How to use memory_profiler as part of a broader Rails memory investigation: allocations, query shapes, object graphs, and practical fixes.
- Zero-allocation HTTP servers in Ruby terms Zero-allocation HTTP servers through Ruby examples: OxCaml's httpz experiment, span-based parsing, GC pressure, and pipelining.
- SICP ideas in practical Ruby How SICP design ideas appear in Ruby through blocks, higher-order methods, data barriers, streams, state, and small languages.
All investigations
- Ruby, Rails, COVID and the LLM wave
- APoSD and Clean Code from a Ruby point of view
- Callbacks, invariants, and durable events in Rails
- Rails includes, find, and eager loading
- SICP ideas in practical Ruby
- Supply-chain attacks, npm, Laravel, and Ruby teams
- PostgreSQL temp files and Rails pagination
- A Ruby AVIF conversion script with adaptive quality
- The Rails job that ran before checkout committed
- Brotli, gzip, and Propshaft in Rails
- Ruby, Go, Rust, and Zig for simple CLI apps
- Zero-allocation HTTP servers in Ruby terms
- Optimistic locking for editing a CRUD app
- Deploying multiple Rails apps on one VM with Capistrano
- Propshaft versus Sprockets in Rails assets
- Private and protected methods in Ruby
- SSE, proxy buffering, and long-polling fallbacks
- Service objects and Rails conventions
- Handling Server-Sent Events from a Rails backend
- SIMD string processing in a Ruby C extension
- Ruby Fibers and cooperative concurrency
- Relational algebra, SQL, and Arel
- Ruby, Lisp ideas, and Ripper S-expressions
- Rendering Hiccup-style HTML from JRuby
- Using memory_profiler to reduce Rails memory pressure
- Weighted full-text search and trigrams in PostgreSQL
- dRuby, Unix pipes, and forked worker pools
Related main-site work
- Rails Dependency Pruner An experimental Rails 8 tool for measuring and reviewing boot-time dependency pruning.
- API Redux A maintained HTTP API design guide with versioned Rails examples.
- Ruby writing on marianposaceanu.com The main-site archive of Ruby articles, including older historical work.