header image
Here's a way to view and search all the books I own (that google's database knew about).

Fantasy:

My favorite fantasy series is George R. R. Martin's "Song of Fire and Ice". That consists of A Game of Thrones, A Clash of Kings, A Storm of Swords and the forthcoming A Feast for Crows. Don't spend your time on Jordan -- at least give Martin a try first.

I think Terry Brooks second book, The Elfstones of Shannara, is his best work. I also enjoy Robin Hobb's stuff and some of the more recent David Gemmell novels. Deborah Chester's series that starts with The Ring is quite good too.

Science Fiction:

I recently read Neal Stephenson's Cryptonomicon and really liked it. I also read Diamond Age which was not as good but was still enjoyable. I liked Ender's Game by Orson Scott Card but I didn't really like anything else I've ever read by him. The parallel novel about Bean, Ender's Shadow is ok.

General Fiction:

A friend of mine recommended Life of Pi. I was a little dubious after reading the jacket summary but I bought it and read it anyway. It's a great story... a book that can be read on a lot of different levels with a lot of symbolism. But at the same time an interesting story... and a story that your mind keeps revisiting once you've finished it.

I read The Curious Incident of the Dog in the Night-Time and enjoyed it.

I recently read Dan Brown's The DaVinci Code and thought it was entertaining and had an interesting premise. I also read Angels and Demons by the same author. It's even better than DaVinci. I have read two other books by Brown though (Deception Point and something about the NSA and didn't like either one of them).

I did like The Sun, the Moon and the Stars by Steven Brust. A friend of mine told me to read A Prayer for Owen Meanie by John Irving which I really enjoyed. From there I read a couple of other Irving books and have enjoyed them all. I liked Ken Follet's The Pillars of the Earth.

Chess:

One of my hobbies is working on a chess playing computer program. The problem is that I am a pretty lousy chess player... so to write the parts of the engine that require chess skill (in addition to just programming skill) I've resorted to reading books. These are the best ones I've found:

Pawn Power in Chess by GM Hans Kmoch is the basis of a lot of my pawn evaluator code. How to Reassess Your Chess by IM Jeremy Silman is another good book for writing chess evaluation code.

Non-fiction:

Books about the world in which we live.

Fog Facts: Searching for Truth in the Land of Spin by Larry Beinhart. And The Best Democracy Money Can Buy by Greg Palast. Similar books in some ways -- they deal with, among other things, why some news stories are "Big News" and others are buried in the back of the paper. How much do you trust your news source? How much should you? Even when most mainstream news outlets report a contraversial story they usually end up bogging it down with so much spin that is it difficult to get a true picture of what happened. If journalists had more integrity and courage than it would have been much harder for George Bush to steal the 2000 election.

Beyond Fear: Thinking Sensibly About Security in an Uncertain World by Bruce Schneier. Schneier is a computer security consultant and expert. Another book by him, Applied Cryptography is the classis reference on the subject. In Beyond Fear... Schneier applies his extensive knowledge about security in the incorporeal world of computers to the physical world. He makes several profound observations about security procedures and what is being done in the United States post 9/11.

War Is a Force That Gives Us Meaning by Chris Hedges. This is a very thought-provoking book written by a war correspondent about the affects of war on human beings and his observations about the psyche of war. In many ways its a sad and unsettling book, full of first hand accounts of what happens in a country at war and deep insight into the mankind's depravity. At the same time it's an insightful book that will definitely provoke thought. There are also some inspirational first hand accounts of people's self-sacrifice, courage and resolve. Highly recommended.

Gödel, Escher, Bach: an Eternal Golden Braid and I Am A Strange Loop both by Douglas Hofstadter. Both are books that touch on so many different topics that they are hard to categorize into one genre of non fiction. Each is about the human mind, philosophy, artificial intelligence, mathematics, logic, formal languages, and thought... among other things. Very interesting stuff. GEB is harder to read while I Am A Strange Loop is more readily accessible. Both are great.

Technical Books:

These are some technical books that I have found to be well written, informative and generally useful. If you are interested in their subject matter, I highly recommend them.

First, general programming books. My first job out of college was at Microsoft. At the time I thought that I knew quite a lot about writing good code. A hell of a lot more than the hacks writing crash-prone Win9x or Office, I was certain. The first book that my new boss gave me to read, years ago, was Writing Solid Code by Steve Maguire. I can honestly say this book changed the way I code and is partly responsible for me becoming a more mature, professional software developer. I can highly recommend this book to anyone.

When I moved to the Windows Kernel group I wanted to come up to speed on the kernel quickly without reading the entire codebase. So I read Inside Windows NT which has been revised and improved in Inside Windows 2000, 3rd Edition by Solomon and Russinovich. There's simply no better guide to the inner workings of the NT kernel without access to the source code. I also highly recommend Undocumented Windows NT by Dabak, Phadke and Borate. Undocumented Windows 2000 Secrets by Sven B. Schretber is good as is Windows NT Native API Reference by Gary Nebbett.

Some recommended books for x86 assembly language and machine architecture are Assembly Language Step-by-Step by Duntemann, The Undocumented PC, 2nd Edition by Frank van Gilluwe. The guys at Mindshare (Tom Shanley) publish a great series on the x86 architecture. Specifically I have read and can recommend ISA System Architecture, 3rd Edition and Protected Mode Software Architecture. The latter is much clearer and more readable than the relevant Intel manuals.

A lot of people have asked me what books I read to learn about computer chess programming. Well there are very few books out there on computer chess and even fewer good ones. All the Right Moves: A VLSI Architecture for Chess by Carl Ebeling is good but more geared towards hardware. Ernst Heinz's Scalable Search in Computer Chess excellent but much of the book's material can be found on his website. The best sources of computer chess information for the prospective programmer around are the Computer Chess Club and the ICCA Journals.

Some other excellent miscellaneous technical books: Bruce Schneier's Applied Cryptography

index.html was last updated 19 July 2013 and is Copyright (C) 2002-2015 by Scott Gasch (scott.gasch@gmail.com).