GitHub User: schneems
Authorization and mass assignment protection can reasonably be moved to a controller and actually makes more sense there in many cases. Model validations should reside in the model or you risk having inconsistent data. Having different validations based on state of your model isn't all that hacky or uncommon, though it does require rigor to set that state variable re: https://github.com/schneems/wicked/wiki/Partial-Validation-of-Active-Record-Objects
I would recommend just directing a user to an after register flow rather than over-riding the create method totally, i've tried both, and it will cause you less pain.
Let me know if you have problems with validations
Heroku's db:pull functionality was formerly based on yaml_db and has since moved to taps. I have had less problems with taps, though, i've used yaml_db to change schema in mass on existing data.
Love the screencast, thanks for mentioning my hstore article :)
I know you've gotten some responses but I'll throw in my 2 cents. If you're doing this for fun only then go with whatever you enjoy or challenges you. If you're doing it for money or for recognition, determine what your competitive advantage is/could-be and if either a VPS or Heroku can help you provide your customers with an advantage choose them. If neither of those are true pick one that you trust and can use effectively. I learned a ton by building systems in VPS and on various cloud providers, but at the end of the day rails is my passion (p.s. I work for Heroku). Everyone should know something about how servers are set up, only you can choose which provider is right for you.