Here is a short list of books I've read, and still remember. I've read many more, but these are the ones that I wouldn't bother reading again or that I recommend reading.
- The Practice of programming, by Brian W. Kernighan and Rob Pike.
- Introduction to Algorithms, third edition, by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein. This book is one that you always go back always when you have to implement an algorithm, really useful book. I've read the majority of it.
- The Go Programming Language, by Alan A. Donovan and Brian W. Kernighan. I think this is one of the best books I've ever read about a programming language, with practical examples from the beginning to the end.
- Learn C the hard way, by Zed Shaw. This guy managed to teach C in an entertaining way.
- 64-bit assembly programming for Linux: The easy guide to get started, by Mark B. This book is not such a great book, but what I wanted was perfect. This is a book you can read, in one weekend, to learn the basics of Assembly through examples. For a more deep understanding, there are way better options.
- Python Tricks: A Buffet of Awesome Python Features, by Dan Bader. Oh, I loved this book. The author has a natural skill to keep you reading with small, but quite instructive recipes about Python.
- Reversing: Secrets of Reverse Engineering, by Eldad Eilam. I read this one quite recently, and I've been coming back to it every time I want to consult something about Reverse Engineering.
- Reverse Engineering for Beginners, by Denis Dennis Yurichev. Haven't read it completely, but a great part of it. I like the approach the author took to teach you about this subject, has a lot a lot of examples.
- Practical SQL A Beginner’s Guide to Storytelling with Data, by Anthony DeBarros. Another book that I loved, it doesn't make you lose time you start writing SQL queries from the beginning.
- Automate the boring stuffs with Python, by Al Sweigart. One of the first books I read, and still one of my favorites. For a beginner, this book is absolute treasure.
- Recreational Mathematics, by Yakov Perelman. This is the first book about math that I read.
- Atlas Shrugged, by Ayn Rand. By far the best book I've ever read.
- Ghost In The Wires: My Adventures as the World's Most Wanted Hacker, by Kevin Mitnick. Interesting story.
- Crime and Pubishment, by Fyodor Dostoevsky.
- The Black Swan: Second Edition: The Impact of the Highly Improbable: With a new section: "On Robustness and Fragility": 2, by Nassim Taleb. This book should be a must to read for all guys making statistics. In this case, I didn't read it but listened to the audiobook.
- Ada or ardor, by Vladimir Nabokob. Way better book than Lolita, in my opinion. Is not about the same theme. This author wrote so well, but so good, I haven't found an author that writes like this man.
- 1984, by George Orwell. This book doesn't need an introduction, this guy was describing Cuba...in the present and the past 64 years.
- The Fountainhead, by Ayn Rand. This is the book that more times I've read in my life, more than 3 or 4. Especially during college. This book gives me fuel. It's just awesome!
- "Surely You're Joking, Mr. Feynman!": Adventures of a Curious Character, by Richard P. Feynman. One of the few books I've enjoyed most.
Here is a short list of books I plan to read in the future.
- Applied Cryptography: Protocols, Algorithms, and Source Code in C, by Bruce Schneier. As soon as I finish my one month of learning the basics of Reverse engineering, I'll jump to this book. This is a subject that I've always been interested in. As always I'll take a practical approach.
- Atomic Habits, by James Clear. I've heard good things about this book.