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…