For all book recommendations I would like to suggest that if you can, order books through your local brick and mortar bookstore. They are struggling, and if you love the feeling of browsing in a funky independent bookstore with the possibility of shop cats, plants, and the smell of coffee, and real live people who love to give reading suggestions, the only way to keep these places alive is to buy books from them. If you cannot buy from your local here is a list of online sites with better ethics than Amazon.

Bookshop.org - This site supports local bookstores all over by sharing a percentage of the profits with them

Powells City of Books - Powells is a huge independent bookstore here in Portland Oregon with new and used books. They are kind of like the soul of Portland, and while it's not as good as directly supporting your local bookstore if you live somewhere else, it is supporting a really important one. They employ well over 500 book loving people and ship all over.

Better World Books - this is an online used book seller. Buying used books is eco-friendly and cheap! And for every book purchased they donate a book to someone in need.

Book Mooch - this is a site where people give each other books. You join, you list what books you have to give away, and you list what books you are looking for - you can also search for books you want to see if anyone has listed them. The only cost is the postage to send your books to someone.

Alibris - for rare hard to find books.