Developer Reading List, July 01, 2014 The best summer reads.
Penetration Testing: A Hands-On Introduction to Hacking
by Georgia Weidman
Penetration testing is the white-hat equivalent (that is, work done by the good guys) of black-hat hacking and cracking. Its principal mission is to detect small chinks in the armor of a piece of software through which someone could take control of the software in a way not intended by the developers. This book is an introductory volume to this kind of work. It explains the basic techniques of penetration testing as well as the common tools available for cracking your own software. The book is clear, easy-to-read, and filled with numerous illustrations. Many processes are explained via step-by-step directions. While it might breed a new generation of script kiddies, it's likely to also breed software developers who give such attackers much less to exploit.
The Book of F#
by Dave Fancher
While many functional programming enthusiasts were delighted to see Microsoft release F# to the world, they must surely have found their excitement short-lived as adoption proved to be slow and promotion by the Redmond giant minimal. This situation is evident in the few number of books on the language. Dave Fancher's new volume hopes to address this lack of materials by providing an introduction for developers to functional programming in the large and, in the small, how functional concepts are brought to life in F#.
The text is clear, remarkably approachable, and instructive. It's great place to start on the path to F# mastery. The one notable flaw is, curiously, the cover, which mocks classical musicians while at the same time drawing them playing impossibly, such as a cellists and violinists bowing their instruments with their left arms. Fortunately, this sort of uninformed attempt at humor does not carry through into the core subject matter of the book.
Murach's Java Servlets and JSP, 3rd Ed.
by Joel Murach and Michael Urban
While it's not clear that enough has happened in Java Servlets and JSP to warrant a whole new edition, the editors at Murach felt that an update was worthwhile to cover advances in ancillary areas such as HTML5, CSS3, JPA, etc., so as to keep their tutorial current with the times. This thick book is the result. As with all Murach books, it presents the information as a sequence of two-page chunks that present a problem and a code solution side by side. This approach, which is unremittingly hands-on, works well in good part because it's been perfected over the years at Murach. As with other titles from this publisher, we recommend it especially to readers who are new to a topic and need to become productive quickly.