This is a really nice talk, and I wish I had something like it that was language-agnostic (or Java). Though I found it comprehensible as a non-rubyist, I suspect some people might convince themselves that they can't follow it because of the rails jargon.
I've read a lot about the benefits of immutability, but most discussions don't go so far as to describe how to a) refactor existing systems, b) structure the interacting parts that a web app might need.