Viewpoint by Garrett, Randall
 is a Project Gutenberg book, now on Github.