Exercises and notes from Learn Python the Hard Way, 3rd Edition