It's nice for a tutorial to acknowledge this and give you a VM to play around with.
But put it at the end of the tutorial, not at the beginning
Come on guys, they're doing the tutorial to learn Django, not "all the things around it" (which are important, but it is not Django).
I agree that to learn a language you should not focus on "operational" stuff, but once you get into web frameworks that line can get a little blurry.
This is the reason the VM was introduced. So that no matter what OS the user is running, they can follow along without having to go search for ways to get all this setup and running. The setup is very minimal thanks to Chef and Vagrant.
Kenneth is trying to teach best practices and tools to use. He also explained in the beginning of the video that you should be comfortable with a terminal and text editor that you like. This shouldn't be your first time looking at a terminal.
Heroku is a simple way to get your project out to the public and it's free. Nothing inspired me more as a developer than having others look at my work. I think it adds a little bit of excitement to be able to show your work to others almost immediately. Even if it's something small, it's still something to "show off" and feel good about.
Coming from rails, its weird to me that he seems to emphasize their 'gem install' equivalent over their bundler equivalent.
Otherwise, a great tutorial.
This article covers some of the equivalent jobs using Ruby and Python:
http://gillesfabio.com/blog/2011/03/01/rvm-for-pythonistas-v...
The article misses covering the freeze command in pip which is great for generating requirements.txt files:
pip freeze > requirements.txt
Covered in detail here: http://www.pip-installer.org/en/latest/requirements.html
Because in the real world, you need to know things like chef, vagrant, ubuntu, apt-get, pip, virtualenv, heroku, ssh... if you want to do anything beyond building a demo app that only runs locally. I use all this stuff every day and I'm looking forward to going through this tutorial.
I'm also quite excited about the prebuilt VM that targets Heroku as my colleagues and I were just about to do this ourselves to retool our deploy process. This'll be an awesome start, thanks!
This tutorial is so myopic. It reads more like a recipe from a beginner's cookbook than anything else.
What Kenneth is offering is obviously a guide with recommendations and not requiring you to use them for your projects. It's ultimately up to the developer to decide what to use.
Chef and vagrant are going a long way towards giving me most of the things I love about Heroku and dotCloud but with more control.
I'm only confused at why installing pip/python isn't done via the chef file also. If you ever wanted to destroy the VM instance it'd be nice to not have to re-run any setup.
This tutorial doesn't require you to learn chef or use it directly in anyway so I don't think that's fair to include on the list of complaints.
On a tangent, it really goes to show how heavy django development really is. Almost frustratingly so. I keep hearing that it's the web framework for developers on a deadline (it being developed by and for journalists from the get-go), but holy smokes does it take a while to get your stack set up. and for me, I've never done it all in one shot. Whenever I decide to sitdown and take a crack at django, I end up debugging the configuration for about a day and a half.