The Programming Historian 2: A Participatory Textbook. - Adam Crymble; Alan MacEachern; William J. Turkel (DH, 2012)