[ ] If your pages load, that means you have a somewhat functioning rails 3.0 application. Commit your changes and get it on heroku for your staff/helpers/friends&family to go to

[ ] Let's talk about Authentication. Don't continue to run acts_as_authenticatable or auth_modules just because its there. My recommendation: replace with devise and send your users a link to reset their password. This is controversial, as your users will know something's up… but: something IS up, you're not as secure as you need to be

[ ] Update your mailers to the new syntax (and add tests to cover this case)

Let's talk about your database:

Let's talk about deprecated gems:

[ ] You have 1 major version before they'll stop working and nobody will care.

[ ] What about if you're using a gem with no upgrade path: Remove or Replace the feature

Let's talk about how to prevent this from happening in the future:

[ ] ABU -- always be upgrading. Use it like this: Hey, what are you doing this monday: Upgrading dude. Always be upgrading.

[ ] Don't get more than a release behind --- Rails moves quickly and you can be obsolete (no help, no security updates) very quickly.

Does this process suck?

YES: OMG SUCKS

BUT: Rails 4.0 is a flipping dream. If you go back to Rails 2.3 you will hate life. Rails 3.0: less hate, but melancholy. Rails 3.1: you're ok, and glad you're skipping the whole attr_accessible things.