Originally posted by Justin Gehtland:
Shift 2: Ability to modify the framework without re-writing the source. I "monkey-patch" Rails (and Ruby) on almost every project. I never do it by opening up the source code, but rather by mixing my changes into the framework (or language) at runtime. This is an enormously powerful shift that people tend to ignore at the beginning.