Graphs, Surfaces and Homology by Peter Giblin