I've had this book for about 6 months now. I've read it, and I've worked through about a third of the code samples.
This book starts of with an intro on programming languages that touches on issues relevant to C, C++, Perl, Java, C#, and others that vulnerability researchers might be interested in. The 2nd chapter on NASL (Nessus) scripting is a little sparse, but is suitable for a quick reference.
The next three chapters are devoted to BSD, Windows, and Java sockets respectively. The information provided is good enough to code working sockets in all three. The BSD code samples seem to work okay.
The next two chapters are on writing portable code and portable network programming. These are probably two of the best chapters in this book. If I ever got heavy into vulnerability coding, I'd be referring to these.
The next two chapters are on writing shellcode. These are pretty good chapters. One issue with these chapters is that the author's s-proc program doesn't quite seem to work. This is a utility that prints your shellcode in hex (-p option) or executes the code to test it (-e option). This would come in handy indeed. I have some working shellcode, but I never got it to work with s-proc -e in chapter 9. I e-mailed the author twice, but he did not respond. I subtract one star for that. Still these chapters have some cool ideas for shellcode.
There are three chapters on writing exploits. The first two are kind of a whirlwind tour of traditional exploit issues (format string, stack & heap overflows, integer bugs). The last chapter is an introductory chapter on using Metasploit and an overview of how to write exploits for the framework.
The last two chapters are on writing security components, and writing a security tool. They are Microsoft centric, and I didn't roll up my sleeves and get into these.
This book brings together a lot of information in a single volume. This would make a great reference, for someone who doesn't have books covering all the other subjects. The chapters on porting are probably the most valuable and unique. There are also some really cool ideas in the chapters on shellcode. There are a few other cool things sprinkled throughout. Plenty of code samples; they are available from the publisher for download if you register the book. The index is really pretty good and suitable for reference. I give back the star I previously took away for that. This is nice as a reference and tutorial.