Sponsored links

Valid XHTML 1.0!
Valid CSS!
Product: Book - Paperback
Title: C++ Coding Standards : 101 Rules, Guidelines, and Best Practices (C++ in Depth Series)
Publisher: Addison-Wesley Professional
Authors: Herb Sutter, Andrei Alexandrescu
Rating: 4/5
Customer opinion - 4 stars out of 5
Many good ideas

I have great respect for both authors from reading their other books/articles, and there are many good ideas in this book, but I was expecting to agree with the authors here much more than I do.

Item 0: Don't sweat the small stuff. The authors say not to overlegislate naming and bracing standards, but they also say "do be consistent" and don't mix styles. From personal experience, I can say the only way to get a group of programmers to be consistent is by "sweating the small stuff" and having well-defined policies that are strictly enforced.

Item 1: Zero tolerance of warnings. Eliminating Level 4 warnings (in Visual C++) from a complex application (as opposed to a library intended for third-party use) is more trouble than it's worth. The authors' suggestion to decrease code readability (Examples 2 and 3) to get around these warnings is quite a bad idea, in my opinion.

Item 59: I wish somehow there could be a better answer to the C++ namespace issue. Giving many symbols (but not all, like preprocessor macros, classes not in a namespace, etc.) two names (the qualified and the unqualified) based on where that symbol appears seems so wrong and at the very least makes searching and cut-and-pasting more difficult.

The authors clearly prefer use of stl over custom containers (although they have not always followed their own advice), but they don't address many issues related to this, like are teams using stl supposed to use the peculiar stl naming practices across the board in all code, so stl dictates naming and all projects would use naming like some_stl_vector.push_back()? Or would code like m_object.DoSomething() be mixed together with the above statement so there really is no standard? What are programmers to do when the stl containers don't cut it and a custom container is needed? Should they write it in the stl idiom or consistent with their own naming standard?

Many of the examples refer to std::string, and even a few use const char *, in a book like this I would prefer not to see uses of these types that are not localization-friendly, since it is a best practices type of book, after all.

The book's proofreaders are very good but I believe they missed one error on Item 61, page 112, near the bottom: "Do not definite..." I'm assuming should be "Do not define..."

Anyway, I do recommend this book, and I do agree with most of the items, the authors raise many good points to consider when a team is deciding on its own coding standard.

Product: Book - Paperback
Title: Adobe Photoshop CS Down & Dirty Tricks
Publisher: New Riders Press
Authors: Scott Kelby
Rating: 2/5
Customer opinion - 2 stars out of 5
Don't Quit Your Day Job, Scott

Scott Kelby's 'Photoshop CS Down & Dirty Tricks' did teach me one or two new things I never knew before (the rest were acquired for free on Adobe's Studio Exchange website), but at what cost? First, the author subjects his readers to the most juvenile, inane humor(insert question mark here) in the introduction ("Preamble") and at the beginning of each chapter to make us believe he not only is the Messiah of Photoshop but also way cool. Second, most of the effects in the book are geared for graphic designers. There's very little usable information for the digital photographer. What is written concerning improving or tweaking an image is gimmicky and really doesn't do anything to improve the overall image. As a photographer, I wouldn't recommend this book at all for someone who is looking to improve the overall quality of their images.

Product: Book - Paperback
Title: Stealing the Network: How to Own the Box
Publisher: Syngress
Authors: Ryan Russell, Ido Dubrawsky, FX, Joe Grand, Tim Mullen
Rating: 5/5
Customer opinion - 5 stars out of 5

"Stealing the Network" (STN) is an entertaining and informative look at the weapons and tactics employed by those who attack and defend digital systems. STN is similar to the "Hacker's Challenge" books published by Osborne, although the stories are not separated into evidence and resolution sections. Rather, a collection of authors use mildly fictional tales to introduce readers to tactics and techniques used by black and white hat hackers.
My favorite chapter was written by FX of Phenoelit, where a female black hat battles white hat defenders. The playing field includes HP printers, GRE tunnels between routers, and other novel tricks. Reading both sides of the story was fun and educational. I also liked Joe "Kingpin" Grand's insider theft case (ch 3), featuring Palm hacks and Blackberry sniffing. The worm disassembly chapter by Ryan Russell and Tim Mullen is worth reading as well. This book is worth reading, but it's $... cover price is steep. While the stories are fictional, much of it is probably based on the author's experiences either consulting or studying similar incidents. This book can best be used by security professionals to test how they would have responded to the threats presented by the fictional adversaries profiled in STN. There's plenty to be learned by reading STN, and I hope to see sequels.

Product: Book - Paperback
Title: The Guru's Guide to SQL Server Stored Procedures, XML, and HTML (With CD-ROM)
Publisher: Addison-Wesley Professional
Authors: Ken Henderson
Rating: 5/5
Customer opinion - 5 stars out of 5
Thorough and innovative

The basic message of this book is one we would all do well to learn: that t-sql is a real language and you have to work at like any other language to be good at it.
The book is a great mix of expert instruction and great code that you can put to use. For example, the xp_exec xproc lets you run any code you want from a user-defined function (UDF). That is huge. At the same time, the chapter on query performance is a great tour through the internals of the query processor. The chapters on sql-xml are a great combination of the two - thorough instruction and great code samples. This is a theme you will find throughout the book.
I liked the essays at the end of the book, too. Particularly the one on the need for testing was great. The mixing of personal experiences with technical info was done just right.
You get a very thorough book and one that is chalk-full of innovative code. It would be a bargain at ten times the price.
Jim F.