This post is written as an IPython Notebook page, you can continue reading below or open it inside nbviewer.