Book Reviews



By James Pyles

Beautiful Code: Leading Programmers Explain How They Think

Ask anyone in a technical field how they arrived at a solution to a difficult problem and you'll have opened the door to a detailed explanation of each step in the process and what methods, tools, and aspects of the problem-solver's personality were involved. Try to put that in a book, and the process is typically reduced down to the bare mechanics of the solution, without the nuances and insight. Beautiful Code brings those elements back.

Although Oram and Wilson receive cover credit as editors, almost 40 programmers contributed to this book. In essence, you get to hear those programmers "think out loud" about the approach to a problem and every step they take between start and finish, including false starts, dead ends, U-turns, and all.

This isn't a text from which to learn programming if you've never programmed before, and it won't teach you the basics of good programming because too many rules are bent, spindled, and mutilated. This book is more about stepping into the minds of different programmers - each an expert in particular areas - than about programming in general. The book compares their thought processes to yours, and perhaps you can graft in a bit here and there if you find a new way to look at problems.

One book reviewer said this book is "too eclectic to be of general value," which is both true and not true. Beautiful Code won't appeal to everyone interested in programming, but this book will appeal to readers who want to step beyond the nuts and bolts of coding and examine how programmers think about programming.

The value-added piece beyond the book's pages is the related website, which is continually updated and maintained by some of the programmers who made the book possible and acts as an ever-growing extension of the book. If what I've described makes you want to learn more, pick up a copy of Beautiful Code and visit the website at http://beautifulcode.oreillynet.com/.

Edited by Andy Oram and Greg Wilson

Paperback, 618 Pages

O'Reilly, 2007

ISBN-10: 0596510047

ISBN-13: 978-0596510046

£ 22.89, US$ 44.99, EUR 33.63

The Official Damn Small Linux Book

I am very impressed ... not just with this book, but also with Damn Small Linux (DSL). With DSL, it seems you can do it all. A ton of Live CDs are out there, so why should you care about DSL? Because it is more than just a Live CD that can be used to rescue cranky Windows boxes. First, like most Live CDs, DSL is a portable operating system. But you also can configure DSL and save your changes to either the computer's hard drive or a portable medium, such as a floppy, a Zip drive, or a USB pen drive. Just save your config settings, including additional applications you added via MyDSL, and then have them reinstall automatically on the next boot. In fact, you can save the OS and your additional settings and extensions on a pen drive and carry your entire computerized environment around in your pocket.

Damn Small Linux is fast - true to the original design, the CD that ships with the book is still only 50MB. You can run the whole thing directly from RAM and forget about the CD altogether. Breathe new life into that old Windows 98 box gathering dust in your closet, create a lightweight web server with XAMPP, use DSL as a music server, and - if you really must - actually do a traditional hard-drive install.

Despite my early problems getting it to boot, I am singularly impressed with DSL and also with the Shingledecker/Andrews/Negus book. They really did pour their collective heart and soul into this book and it shows.

Whether you just want to try out Linux, or want to explore the true potential of an adaptable and lightweight Linux distro, get this book and give Damn Small Linux a whirl.

Robert Shingledecker, John Andrews, and Christopher Negus

Paperback, 448 Pages

Prentice Hall PTR, 2007

ISBN-10: 0132338696

ISBN-13: 978-0132338691

£ 19.66, US$ 39.99, EUR 28.19

Linux Firewalls: Attack Detection and Response with iptables, psad, and fwsnort

This is more than just a simple book about how to configure a Linux-based firewall system. Michael Rash interweaves material from the psad, fwsnort, and fwknop projects with iptables functionality to produce a dynamic method of constructing defenses against network attacks. This book assumes that the reader has knowledge of general networking principles, such as the OSI Reference Model, and at least some background in network security. Some understanding of programming - particularly in Perl and C - is a bonus.

The first four chapters of the book introduce iptables and traces the route this tool takes in managing attacks and defenses at different network layers (network, transport, and application).

Rash doesn't use a "cookbook" approach that teaches you how to set up iptables from scratch; rather, he lays a foundation for the concepts and practices that follow. The subsequent chapters divide the book into areas addressing psad, fwsnort (Snort), and fwknop. Each of these tools work in conjunction with iptables to fill in the vital pieces of the security puzzle.

Port Scan Attack Detector (psad) is described as a tool that analyzes iptables log messages, with an eye to detecting port scans or other intrusive network traffic, and incorporates Snort signatures to detect said probes for backdoor, DDoS, and other threats. Before fwsnort is covered, a chapter on translating Snort rules into iptables rules bridges earlier sections of the book to what is about to be presented, then creates a bridge between psad and fwsnort. Port Knocking vs. Single Packet Authorization (SPA) is discussed, and fwknop (FireWall KNock Operator) is introduced as a utility that implements the SPA authorization scheme.

Information can be culled out of chapters, or the book can be read as a complete document. Rash maintains a website dedicated to this book at http://www.cipherdyne.org/LinuxFirewalls/ with supplemental material tailored for each chapter as well as for each utility described in the text. The documentation provides information in key areas, such as references, code examples, and definitions.

Linux Firewalls is a great book for anyone responsible for managing network security and with a background in open source.

Michael Rash

Paperback, 352 Pages

No Starch Press, 2007

ISBN-10: 1593271417

ISBN-13: 978-1593271411

£ 22.89, US$ 49.99, EUR 33.63