Technical Books List

EN 6 min read

Books I Have Read Or May Read

Table of Contents

I’ve also made a list for non technical books

Books I read partially or fully

Professional Reads

Academic Reads

  • Discrete and Combinatorial Mathematics - Ralph P. Grimaldi
  • Calculus - Michael Spivak
  • Signals and Systems
  • Calculus 1
  • Calculus 2
  • Calculus 3
  • Linear Algebra
  • Number Theory

Book Backlog

  • Applied Cryptography - Bruce Schneier
  • Programming Rust 2nd Edition
  • Mastering Rust - Rahul Sharma and Vesa Kaihlavirta
  • The Rust Programming Language - Steve Klabnik and Carol Nichols
  • Hands-On Data Structures and Algorithms with Rust - Claus Matzinger
  • Mastering Bitcoin Programming the Open Blockchain - Andreas M. Antonopoulos
  • AI Engineering: Building Applications with Foundation Models
  • Mastering the Lightning Network
  • The Cathedral and the Bazaar
  • Peopleware Productive Projects and Teams - Tom DeMarco and Timothy Lister

What I may read before I die

  • Charles Petzold — The Annotated Turing
  • Eric S. Raymond — The Cathedral and the Bazaar
  • Structure and Interpretation of Computer Programs - Harold Abelson, Gerald Jay Sussman, Julie Sussman
  • But How do It Know? - J.Clark Scott
  • Crafting Interpreters - Robert Nystrom
  • Understanding the Linux Kernel - Marco Cesati, Daniel P. Bovet
  • The Annotated Turing - Charles Petzold
  • The Cathedral and the Bazaar - Eric S. Raymond
  • Code: The Hidden Language of Computer Hardware and Software - Charles Petzold
  • Advanced Programming in the UNIX Environment - W. Richard Stevens and Stephen A. Rago
  • Real-World Cryptography - David Wong
  • Graduate Course in Applied Cryptography - Dan Boneh (https://toc.cryptobook.us/)
  • Introduction to Algorithms - Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein
  • Modern Operating Systems - Andrew S. Tanenbaum
  • Structure and Interpretation of Computer Programs
  • Computer Systems: A Programmer’s Perspective
  • Distributed Systems 4
  • Operating Systems - Three Easy Pieces
  • Tanenbaum - Distributed Systems
  • Computer Architecture A Quantitative Approach - John L. Hennessy, David A. Patterson
  • Lecture Notes: Cryptographic Protocols - Berry Shchoenmakers (a,n)
  • Introduction to Modern Cryptography - Jonathan Katz, Yehuda Lindell (a,n)
  • Coders At Work Reflections on the craft of programming - Peter Seibel
  • How to Solve it: A New Aspect of Mathematical Method - George Polya (a,s)
  • Geometry, relativity and the fourth dimension - Rudolf v. B. Rucker (a,n)
  • Flatland: A Romance of Many Dimensions - Edwin Abbott Abbott
  • Agile Retrospectives Making Good Teams Great - Esther Der-, Diana Larsen
  • Mastering Monero - SerHack
  • Mastering Ethereum Building Smart Contracts and DApps - Andreas Antonopoulos, Gavin Wood
  • REST in Practice Hypermedia and Systems Architecture - Jim Webber, Savas Parastatidis, Ian Robbin
  • Understanding the Linux Virtual Memory Manager - nMel Gorman
  • Linux Kernel Networking Implementation and Theory - Rami Rosen
  • A Guide to Kernel Exploitation Attacking the Core - Enrica Perla, Massimiliano Oldani
  • The Art of Linux Kernel Design Illustrating the Operating System Design Principle and Implementation - Lixiang Yang
  • Mastering Regular Expressions - Jeffrey E.F. Friedl
  • UNIX Filesystems Evolution, Design, and Implementation - Steve D. Pate (a,n)
  • The C Programming Language - Brian W. Kernighan, Dennis Ritchie
  • Programming Pearls - Jon Bentley
  • 802.11 Wireless Networks The Definitive Guide - Matthew S. Gast
  • Linux Device Drivers 3rd Edition - Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman (twice read)
  • Refactoring Improving the Design of Existing Code - Martin Fowler
  • The Design of the Unix Operating System - Maurice J. Bach
  • The Clean Coder A Code of Conduct for Professional Programmers - Robert C. Martin
  • Essential Linux Device Drivers - Sreekrishnan Venkateswaran
  • Linux Kernel Development - Robert Love
  • Open Data Structures - Pat Morin
  • The Go Programming Language - Alan A. A. Donovan, Brian W. Kernighan
  • Pro Git - Scott Chacon
  • The Algorithm Design Manual - Steven S Skiena
  • Apprenticeship Patterns Guidance for the Aspiring Software Craftsman - David H. Hoover and Adewale Oshineye
  • Real World Haskell - Bryan O’Sullivan, John Goerzen and Don Stewart
  • Learn You a Haskell For Great Good - Miran Lipovaca
  • Structure and Interpretation of Computer Programs - Harold Abelson, Gerald Jay Sussman, Julie Sussman
  • The Scheme Programming Language - R. Kent Dybvig
  • The Little Schemer - Daniel P. Friedman, Matthias Felleisen
  • ARM Assembly Language - William Hohl
  • The Linux Programming Interface - Michael Kerrisk
  • Programming the World Wide Web - Rebert W. Sebesta
  • Python Essential Reference - David M. Beazley
  • Python the Hard Way - Zed A. Shaw
  • UNIX Network Programming - W. Richard Stevens, Bill Fenner, Andrew M. Rudoff
  • Advanced Programming in the UNIX Environment - W. Richard Stevens, Stephen A. Rago
  • UNIX Systems Programming - Kay A. Robbins, Steven Robbins
  • Intermediate Perl - Randal L. Schwartz, brian d foy, Tom Phoenix
  • Learning Perl - Randal L. Schwartz, brian d foy, Tom Phoenix
  • Beginning Linux Programming - Neil Matthew, Richard Stones
  • Version Control with Git - Jon Loeliger, Matthew McCullough
  • The Pragmatic Programmer - Andrew Hunt, David Thomas
  • The Art of UNIX Programming - Eric S. Raymond
  • Expert C Programming Deep C Secrets - Peter Van Der Linden
  • The Practice of Programming - Brian W. Kernighan, Rob Pike
  • How Linux Works - Brian Ward
  • Learning GNU Emacs - Debra Cameron, James Elliott, Marc Loy, Eric Raymond, Bill Rosenblatt
  • The Art of Computer Programming (volume 2) Seminumerical Algorithms - Donald E. Knuth
  • The Art of Computer Programming (volume 1) Fundamental Algorithms - Donald E. Knuth -
  • Command Line Kung Foo - Jason Cannon
  • Linux Shell Scripting with Bash - Ken O. Burtch
  • From Bash to Z Shell Conquering the Command - Oliver Kiddle, Jerry Peek, Peter Stephenson
  • Computer Networks A Systems Approach - Larry L. Peterson, Bruce S. Davie
  • A Concise Introduction to Pure Mathematics - Martin Liebeck
  • Computer Organization and Design - David A. Patterson, John L. Hennessy
  • Operating System Concepts - Abraham Silberschatz, Peter Baer Galvin, Greg Cagne

Random computer books (potentially interesting topics)

  • Compilers Principles, Techniques, and Tools - Aho Lam, Sethi Ullman
  • Math books (probably won’t get to all these)
  • Concrete Mathematics A foundation for computer science - Graham, Knuth, Patashnik
  • Modern Cryptography and Elliptic Curves: A Beginner’s Guid - Thomas R. Shemanske
  • The Art of Computer Programming (4 volumes) - Donald E. Knuth
  • Algorithms in C (5 parts) - Robert Sedgewick
  • Hackers Delight - Henry S. Warren, Jr.

Practical Statistics for Data Science

  • Mathematics for Machine Learning
  • Hands-On ML with Scikit-Learn, Keras, and TensorFlow
  • The Hundred-Page ML Book by Andriy Burkov
  • The Elements of Statistical Learning
  • Hands-On Large Language Models by Jay Alammar
  • Practical MLOps
  • AI Engineering by Chip Huyen

More Posts