Upgrading AngularJS Part 1: Getting AngularJS to Best Practices by Sam Julien