Learning Python, The Hard Way