Defensive programming is one of those abstract ideas that seems great but is often unclear in practice.
In this talk we'll look at some of the extremely defensive patterns that have been driven out in RSpec through the years. We'll look at building Ruby that works across a range of interpreters (including 1.8.7!). We'll investigate how you can write code that defends against objects that redefine methods like send, method and is_a?.
You should come to this talk if you want to learn about method resolution in Ruby, and cross interpreter design patterns.