learning python the hard way with zed shaw. because sense memory and reptition works.