I do read more than science fiction and fantasy. Recently I've read:
Ryu Murakami: In the Miso Soup. I really liked Ryu Murakami's novels Almost Transparent Blue and Coin Locker Babies. In the Miso Soup is a story about an American serial killer and sex tourist in Japan. It's a weird tale, but I didn't find it entirely convincing. Perhaps some stories about Japan just don't work that well in translation, because it is hard to believe a country could really be like that?
Also by Ryu Murakami: 69. This is a coming-of-age story about the author's high school experience in 1969. A little smoother going down than In the Miso Soup. If you felt alienated in high school you'll be very familiar with the narrator's persona, which is a layer of carefully crafted artificial sophistication on top of tremendous insecurity. The revelation of what happens when the narrator actually gets the girl is also very funny and feels utterly true. The book is a little short, and the author has an annoying habit of name-dropping the names of bands and books from the period which, unless you know them, might feel a little meaningless. Still, I recommend it.
Richard Bird: Introduction to Functional Programming Using Haskell, Second Edition. OK, maybe this should count as science fiction. Because it enforces lazy evaluation, referential transparency, and a lack of side effects, your program becomes a sort of idealized representation, nearly a mathematical proof. Whether I can actually apply such a thing of beauty in the real world -- that is, if the practical implementations really live up to the theory -- remains to be seen. I have only completed a few pages, but already Bird's exposition is helping to improve my understanding of functional programming. The style is a bit dry and this is an overpriced, under-designed (read: ugly) paperback, but I'd consider it required reading if you want to understand how Haskell is meant to be understood and used.