Self-Expiring Code

The trouble with temporary fixes is that they have a tendency to be not-so-temporary. They are forgotten, they accumulate, and sometimes they cause trouble. In…

Unary Operators in Ruby

A bit of seemingly-nonsensical Ruby behavior leads us to a discussion of unary operators, parsing heuristics, and the vital importance of whitespace.

RUBYOPT and the Sneaky Shim

You need to insert a compatibility shim, diagnostics, or tracing code into a Ruby process… but you don’t have control over how the program is…

Ask the Runtime

It’s hard to eat a sandwich with a spoon, and it’s hard to debug dynamic programs with static tools. In this episode, we look at…

Ruby Block-Local Variable

Ruby’s variable-scoping rules can be a little surprising if you’re coming from a C-like language. Learn how to introduce variable “shadowing” to Ruby blocks, and…

Bouncer Method in Ruby

In which we discover a micro-pattern for extracting method input validations… with a uniquely Ruby twist at the end.