Chad Fowler gave a great Keynote address at Garden City Ruby 2014 that I just watched tonight. It’s about building decoupled systems that contain many small parts that you can change quickly and frequently. This way the system can last a long time even though its ever changing. This will hopefully save you from large rewrites every 5 years. Funny thing is that I’m currently in the middle of one of those large rewrites, so hopefully I can apply some of these things I learned in this video so that I can build a system that lasts.