Sponsored links


Valid XHTML 1.0!
Valid CSS!



Product: Book - Paperback
Title: Head First Servlets & JSP
Publisher: O'Reilly
Authors: Bryan Basham, Kathy Sierra, Bert Bates
Rating: 2/5
Customer opinion - 2 stars out of 5
read this if your only goal is to pass the test


This book was largely a waste of my time. It's almost entirely focused on coaching you on how to pass the jsp exam. It starts out ok but then quickly devolves into cramming you full of what you'll need for the exam. If you want to really learn jsp, find a better book.

Also, I'm not a big fan of the Head First style which is a lot like a comic book, with clip art pictures and dopey dialog. They're physically big books but that's because they have so many pictures of these people "talking" to you and faux hand-written notes. It's cute at first but wears thin and not productive.



Product: Book - Paperback
Title: Anti-Hacker Tool Kit, Second Edition
Publisher: McGraw-Hill Osborne Media
Authors: Mike Shema, Bradley C. Johnson
Rating: 5/5
Customer opinion - 5 stars out of 5
Most practical security tool book on the market


"Anti-Hacker Toolkit" (AHT) is a first-rate, hands-on, learn-by-following-along security book. It's advertised as a complement to Foundstone's "Incident Response" and "Hacking Exposed" titles, but it contains more than enough original material to stand on its own. Even if you've used all of the tools described in AHT, you're sure to gain insight on using many of them in unique and creative ways. Throughout the book, I was impressed by the authors' attention to detail. They seem to have anticipated the sorts of questions both beginners and experts might have regarding numerous security tools. AHT contains balanced material on both UNIX and Windows applications. It is particularly strong with regard to integration of BSD tools. In a world where many believe "free" and "open source" equal "Linux", attention to BSD was very welcome. Several chapters were especially useful. These included discussions of netcat, the X Windows System, and Windows enumeration using the PStools. Furthermore, over two hundred pages are devoted to incident response and digital forensics. The authors discuss how to image and investigate systems using commercial and open source solutions. I appreciated their desire to steer clear of theory in favor of providing hands-on examples. AHT continues the recent Osborne McGraw-Hill tradition of including numerous case studies which reinforce the proper use of tools in real-world environments. AHT is a must-have book for 2002. (Note that it is NOT related in any way to the book "Hackers Beware," as alluded to by a previous reviewer.) Even if you've been using security tools for years, you're sure to find new approaches to better assess or secure your enterprise. This book belongs next to any of Foundstone's other titles on your bookshelf.



Product: Book - Hardcover
Title: Practical Common Lisp
Publisher: Apress
Authors: Peter Seibel
Rating: 5/5
Customer opinion - 5 stars out of 5
A very solid book with many practical examples


Practical Common Lisp does a few things very well:

1) It explains basic Lisp syntax, semantics and philosophy. Not beginner programmers, but for people who did some code crunching, perhaps in other languages. The explanations are lucid, followed by many examples that clarify the topics.

2) It presents practical, real-world examples, proving that you can write complete applications in Lisp.

3) It does well getting the essence of Lisp to the reader. No programatically-inclined person will stay indifferent to the grace and power of the examples provided by the author.



Product: Book - Hardcover
Title: Compilers
Publisher: Addison Wesley
Authors: Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman
Rating: 4/5
Customer opinion - 4 stars out of 5
Errors and obfuscation tarnish a definitive volume


An essential reference on lexical analysis, syntax analysis, and code generation. I think it does a particularly wonderful job of introducing the formal details of finite state machines, grammars, and regular expressions. Sadly, errors and bad writing turn a joy into an ordeal.
I must deduct a star for the uneven and frequently tortured prose, varying from needless repetition and obfuscation to incomplete or incorrect explanations. This is very irritating in a work of this stature.
A systemic problem with the book is the agonizing way the authors jump from high-level conceptual material to optimized-for-C implementations that discard all the structurally important elements of the chapter. I would have preferred more examples to illustrate the important concepts, with the C-optimizations omitted completely or at least left for a chapter on specific compiler implementations.
There are few examples, and no answers provided for the chapter exercises (the exercises do not serve as additional examples). For example, "Which of the [five] grammars in exercise 2.2 are ambiguous?" Great question, but sadly the only clue in the chapter is to find two parse trees for one grammar, which is akin to chapter 2 of your elementary algebra book asking you to show that 2^6972593-1 is not prime by finding all the factors, then leaving you to guess whether or not you're right.
Finally, there are numerous annoying errors in important material. For example, the sole example (p.172) in chapter 4 of an algorithm to turn an NFA into a grammar refers to an NFA in Fig. 3.23 and shows the resulting grammar, but careful inspection reveals that the grammar does not match the figure. In fact, figure 3.23 is a DFA, not an NFA, and the reference should be to Fig. 3.19, not 3.23. With a typical lack of further text to amplify the description of the algorithm, you'll be left wondering.
It is high praise that the pearls in the book are worth the linguistic Oyster-shucking required to extract them. I would have given a lesser book 3 stars or worse.
I wish Addison-Wesley would release an updated edition with the language cleaned up, and perhaps add a companion study guide with worked-out exercises.
(Refers to the "March 1986, Reprinted with corrections" edition.)