I've been reading Cryptonomicon (Stephenson), Code Complete 2 (McConnel), and Algorithms: A Functional Programming Approach (Rabhi, Lapalme). Those first two are well-known and commonly recommended; the last one I just happened upon recently, and have really enjoyed it. It's the first algorithms/data structures text that I've seen targeting functional languages.
I've been meaning to read Godel, Escher, Bach (Hofstadter) for awhile now, but I'm not sure if/when I'll get around to it. Next on my list are some introductory number theory texts.
Currently, Code Complete 2 by McConnell. I'm in chapter 5 right now. Also, Dead Reckoning: Calculating Without Instruments by Doerfler. It's extremely difficult for me to follow, so I'm still in the first chapter.
Sometime in the future, I might read Essential Java and Unit Testing in Java: How Tests Drive the Code.
Robert Pirsig's follow-up to "Zen and the Art of Motorcycle Maintenance", that being "Lila". I started it some years ago but didn't get too far. However, his addressing the concept of quality, plus the impression Zen had on me, leave me feeling I really should give it another go. And I just turned up my paperback copy the other week.
It's been quite a number of years, and memory fades somewhat, but for me, Zen was one of the most profound reads of my life. I just checked the Wikipedia page for Pirsig, which states (somewhat unclearly, with regard to what "Board" is being described):
Pirsig's publisher's recommendation to his Board ended with "This book is brilliant beyond belief, it is probably a work of genius, and will, I'll wager, attain classic stature."
That was certainly my impression. I should revisit Zen, as well. Unfortunately, my old copy -- full of my scribbled notes -- was I believe lost to water damage.
I've been meaning to read Godel, Escher, Bach (Hofstadter) for awhile now, but I'm not sure if/when I'll get around to it. Next on my list are some introductory number theory texts.