I like to rehash old stuff, so here's a list of my favorite books read from 2004. It was originally posted in another website. Enjoy!
1. Influence: The Psychology of Persuasion
This book was so good I read it twice to make sure I remembered the new ideas and concepts it presented. It changed the way I looked at a lot of things. It shows you how and why people act in certain ways. How we are manipulated into doing things we don't like, and how to defend against these tricks. A wealth of information on human psychology and human nature.
2. Programming Pearls
Probably the best programming book you'll ever read. You can feel just how much Jon Bentley loves his craft. It will teach you how to think of the problem, evaluate different solutions, implement the best one for the given situation, make tradeoffs between performance and maintainability. I read the first edition of this book, and am looking forward to read the new chapters added in the second edition.
3. The Hitchhiker's Guide to the Galaxy
After I bought a used copy of this, I thought it would be a throwaway fiction book to pass the time. To my surprise it was one of the most enjoyable reads I've had in a long time. For some reason I could really relate to Arthur Dent's character and predicament.
4. Die Broke
Stephen Pollan, Mark Levine
I first read this book five years ago, then read it again this year after I came across a used copy in the bookstore. There are a lot of revolutionary ideas here on how to think about your career (quit today, don't retire), money (pay cash), and life (die broke). If you ever felt lost in your life or job, this book is a must read.
5. Maximum Achievement
I have to confess, this is a very cheesy book on Success. I cringed while reading some of the chapters, and don't necessarily agree with everything the author says. Still, there are a lot of great techniques and ideas here on utilizing the powers of your mind, setting goals, and how to find a parking space. Napoleon Hill to me is still the best Success writer, but Tracy manages to embrace and extend many of Hill's best teachings.
6. Tricks of the Windows Game Programming Gurus
I'm indebted to Andre Lamothe for his great work in writing this book. He's a hero to ordinary programmers everywhere who dream of being world-class developers. This is not just a book about game programming, but a book on how to write good quality, high-performance code. A lot of software development techniques with lots of working code you will learn from. Reading this book made me a better programmer.
(Update: I'm starting to read this again, being out of shape, programming-wise.)
7. Nightmares and Geezenstacks
Sometimes I crave for short stories that stimulate the imagination, that make you think of things you won't ordinarily think of. Fredric Brown fits the bill nicely. Lots of weird stories, crazy scenarios, haunting endings.
8. Awaken the Giant Within
Another cheesy Success book (I notice a pattern here) by renowned self-help guru Tony Robbins who cracks me up whenever I see him on TV. But this book did give me lots of useful techniques for managing my emotions, and on how to control and use them to my advantage. I like the chapters explaining how the mind works, how we can train it to serve us. The chapter on how to effect a revolutionary change in an instant is worth the price of the book alone. Also lots of good information on Neuro-Science and NLP techniques.
9. Relativity Simply Explained
A great science book. It explains difficult concepts in very simple terms. I didn't know anything about Einstein's theory of relativity before. Now I can at least start to grasp it. This is the type of book that will make you think.
10. Rebel Code
This book tells the stories of our open source heroes - the people who made sacrifices to give us the great computing environment we have today. I like the chapters on Richard Stallman, Larry Wall, and Linus Torvalds. It can get long-winded at times but if you want to get inspired after a long day of coding, this is the book for you.