This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
There is an old book that was very popular in Russia: Etudes for Programmers by Charles Wetherell I wonder how well known it is here... There is only one review on Amazon. Have anybody read it? Another one is probably classic: How to Solve It by G. Polya. -- it is about mathematical problems, but generalizations are so broad that they can be applied to just about any pronlem. What other books can you recommend?