Sponsored links

Valid XHTML 1.0!
Valid CSS!

Product: Book - Hardcover
Title: How to Be Invisible: The Essential Guide to Protecting Your Personal Privacy, Your Assets, and Your Life (Revised Edition)
Publisher: Thomas Dunne Books
Authors: J.J. Luna
Rating: 4/5
Customer opinion - 4 stars out of 5
You know too much, now I will have to .....

This was a super fun, quick read. Finished it in two days (I am a slow reader - I would usual chew on a book this size for a month or so) because it was so interesting; I just couldn't put it down. There are many things I will definitely do now and a few I will do when I win the lottery-all legal and morally relative! I really enjoyed learning about cell phones and beepers - who knew this could be so interesting - really, I am not being sarcastic here. My cell phone will forever be turned off, except when I make an out going call. ***Warning*** if you are predisposed to mild paranoia or have a mild (what I like to call "healthy") aversion to authority, this book will not make you more socially acceptable. You will become a little more distrustful of others and your government - but, is that really a bad thing?

Product: Book - Paperback
Title: AI Game Engine Programming (Game Development Series)
Publisher: Charles River Media
Authors: Brian Schwab
Rating: 4/5
Customer opinion - 4 stars out of 5
Just What I Was Looking For

Up to now, I have discovered books that contained AI code samples but out of context for what I needed. The code was specific and merely a part of collections of examples. I finally found this book. It explains all the game genres in terms of AI capability and requirements albeit rather technical in some places that I appreciated as reference. I have not completed the book yet but the contents are allowing me to create my own AI Engine that includes all the types in the book. Just to gain experience and knowledge and add to my portfolio. I strongly recommend this book for both it's content and the CD contents. --Joe

Product: Book - Paperback
Title: The Backup Book: Disaster Recovery from Desktop to Data Center
Publisher: Schaser-Vartan Books
Authors: E. L. Heiberger, Karsten Koop
Rating: 5/5
Customer opinion - 5 stars out of 5
The Bible of Disaster Recovery

This book is out of this world. It explains backup and disaster recovery such that one can actually understand it! The writer's style is funny and conversational, and it really helps you get through what would otherwise be rather, err...dry material... Put down your incomprehensible Backup Exec manuals, and Microsoft disaster recovery whitepapers. This one gives it to you in english, *and* gives you a worksheet at the end that is a perfect roadmap to actually getting these systems in place.

Product: Book - Paperback
Title: Programming Pearls (2nd Edition)
Publisher: Addison-Wesley Professional
Authors: Jon Bentley
Rating: 5/5
Customer opinion - 5 stars out of 5
The how-to for profile-based tuning

Bentley's classic, "Programming Pearls", makes an important point, namely that you won't get good performance without careful coding and profile-based tuning. And it's made clearly, concisely and with compelling examples. The choice of language (C), and the choice of problems (those from computer science 101 we all think we know cold) betrays the sophistication of Bentley's analyses.
Suppose, for the sake of argument, that you have a binary search that's holding up your loop. Or your Huffman coding just isn't snappy enough? "How is that possible?", you might say, fresh out of computer-science 201, "Didn't we just prove these algorithms are optimal?" Well yes, asymptotically up to an arbitrary constant multiplier. But this is the real world, and your code needs to go faster. If this sounds like your predicament, pull up a chair and read "Programming Pearls"; if it's not, you might wonder what all the fuss is about.
Next, fire up your favorite hardware (Sparc or x86 or PowerPC), favorite language (Perl, Java, or even C), favorite release of that language, along with your favorite interpreter or compiler (Hotspot or standard? GCC or Visual C++). And you'll need a profiler; might as well treat yourself to a good one if you're serious. Then fire up your code with a representative range realistic test data and observe what happens. Function by function, byte by byte. Then try to be as clever as Bentley in (a) figuring out why, (b) trying a range of alternatives, and (c) making it all go faster with minor tuning. Typically, you'll find a single bottleneck taking an order of magnitude more time than everything else, and work on that. Repeat until fast enough.
As well as this simple, yet surprisingly effective and realistic methodology, Bentley provides a range of concrete tips on making things go faster, from tweaking data structures to unfolding loops (especially precomputing low-order cases) to using accumulators and caching, all with an eye to underlying memory, communication and CPU resources.
Real code that has to run fast, like the code that we write at my current company for signal processing, speech recognition and speech synthesis, typically looks like the end-product of Bentley's refactorings. And it gets that way following exactly the path he lays out: analyze the problem, choose the right algorithm (or the right few to evaluate), and then tune it up using profiling.
"Programming Pearls" is the beginning of the road. You will need to look elsewhere for topics such as compression for memory saving, numerical algorithms, effective concurrency and memory sharing, efficient buffered I/O, garbage collection, and the wide range of dynamic programming and heuristic techniques.