Current, past, and future. List is in approximate reverse chronological order. Some texts are good enough to deserve a second reading, if so the text appears in the list twice with ‘(second reading)’ appended.
Current
Took the year (2023) off reading computer books to read The Economist, this year I am reading non-computer related books.
Past
Hands-On Data Structures and Algorithms with Rust - Claus Matzinger (second reading) (a,a)
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 (m,-)
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 (a,-)
Applied Cryptography - Bruce Schneier (second reading) (a,-)
Agile Retrospectives Making Good Teams Great - Esther Derby, Diana Larsen (a,-)
Hands-On Data Structures and Algorithms with Rust - Claus Matzinger (a,a)
Mastering Rust - Rahul Sharma and Vesa Kaihlavirta (a,-)
Mastering Monero - SerHack (a,-)
Mastering Ethereum Building Smart Contracts and DApps - Andreas Antonopoulos, Gavin Wood (a,-)
Mastering Bitcoin Programming the Open Blockchain - Andreas M. Antonopoulos (a,-)
REST in Practice Hypermedia and Systems Architecture - Jim Webber, Savas Parastatidis, Ian Robbin (a,-)
Clean Code A Handbook of Agile Software Craftsmanship - Robert C. Martin (a,-) (second reading)
The Rust Programming Language - Steve Klabnik and Carol Nichols (a,a)
Understanding the Linux Virtual Memory Manager - nMel Gorman (a,-)
Computer Architecture A Quantitative Approach - John L. Hennessy, David A. Patterson (a,-)
Computer Organization and Design - David A. Patterson, John L. Hennessy (a,-) (second reading)
Linux Kernel Networking Implementation and Theory - Rami Rosen (a,-)
A Guide to Kernel Exploitation Attacking the Core - Enrica Perla, Massimiliano Oldani (a,-)
The Art of Linux Kernel Design Illustrating the Operating System Design Principle and Implementation - Lixiang Yang (a,-)
Mastering Regular Expressions - Jeffrey E.F. Friedl (a,-)
UNIX Filesystems Evolution, Design, and Implementation - Steve D. Pate (a,n)
Peopleware Productive Projects and Teams - Tom DeMarco and Timothy Lister (a,-)
Programming Pearls - Jon Bentley (a,s)
The Mythical Man-Month - Frederick P. Brooks, Jr. (a,-)
Code Complete - Steve McConnell (a,-)
802.11 Wireless Networks The Definitive Guide - Matthew S. Gast (m,-)
Linux Device Drivers 3rd Edition - Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman (a,-) (twice read)
Refactoring Improving the Design of Existing Code - Martin Fowler (a,-)
The Design of the Unix Operating System - Maurice J. Bach (a,-)
The Clean Coder A Code of Conduct for Professional Programmers - Robert C. Martin (a,-)
Modern Operating Systems - Andrew S. Tanenbaum (m,)
Essential Linux Device Drivers - Sreekrishnan Venkateswaran (a,-)
Linux Kernel Development - Robert Love (a,-)
Open Data Structures - Pat Morin (m,-)
The Go Programming Language (a,m) - Alan A. A. Donovan, Brian W. Kernighan
Pro Git - Scott Chacon (m,-)
Introduction to Algorithms - Thomas H. Cormen, Charles C. Leiserson, Ronald L. Rivest, Clifford Stein (m,-)
The Algorithm Design Manual - Steven S Skiena (a,n)
Apprenticeship Patterns Guidance for the Aspiring Software Craftsman - David H. Hoover and Adewale Oshineye (a,-)
Real World Haskell - Bryan O’Sullivan, John Goerzen and Don Stewart (s,s)
Learn You a Haskell For Great Good - Miran Lipovaca (m,m)
Structure and Interpretation of Computer Programs - Harold Abelson, Gerald Jay Sussman, Julie Sussman (m,m)
The Scheme Programming Language - R. Kent Dybvig (m,m)
The Little Schemer - Daniel P. Friedman, Matthias Felleisen (a,a)
ARM Assembly Language - William Hohl (a,m)
The Linux Programming Interface - Michael Kerrisk (m,m)
Programming the World Wide Web - Rebert W. Sebesta (a,-)
Applied Cryptography - Bruce Schneier (a,-)
Python Essential Reference - David M. Beazley (m,-)
Clean Code A Handbook of Agile Software Craftsmanship - Robert C. Martin (a,-)
Python the Hard Way - Zed A. Shaw (a,a)
UNIX Network Programming - W. Richard Stevens, Bill Fenner, Andrew M. Rudoff (a,a)
Advanced Programming in the UNIX Environment - W. Richard Stevens, Stephen A. Rago (a,a)
UNIX Systems Programming - Kay A. Robbins, Steven Robbins (a,m)
Intermediate Perl - Randal L. Schwartz, brian d foy, Tom Phoenix (a,a)
Learning Perl - Randal L. Schwartz, brian d foy, Tom Phoenix (a,a)
Beginning Linux Programming - Neil Matthew, Richard Stones (a,-)
Version Control with Git - Jon Loeliger, Matthew McCullough (a,-)
The Pragmatic Programmer - Andrew Hunt, David Thomas (a,-)
The Art of UNIX Programming - Eric S. Raymond (a,-)
Expert C Programming Deep C Secrets - Peter Van Der Linden (a,-)
The Practice of Programming - Brian W. Kernighan, Rob Pike (a,-)
How Linux Works - Brian Ward (a,-)
Learning GNU Emacs - Debra Cameron, James Elliott, Marc Loy, Eric Raymond, Bill Rosenblatt (a,-)
The Art of Computer Programming (volume 2) Seminumerical Algorithms - Donald E. Knuth (m,-)
The Art of Computer Programming (volume 1) Fundamental Algorithms - Donald E. Knuth (a,-) -
Command Line Kung Foo - Jason Cannon (a,-)
Linux Shell Scripting with Bash - Ken O. Burtch (a,-)
From Bash to Z Shell Conquering the Command - Oliver Kiddle, Jerry Peek, Peter Stephenson (a,-)
Computer Networks A Systems Approach - Larry L. Peterson, Bruce S. Davie (a,-)
A Concise Introduction to Pure Mathematics - Martin Liebeck (m,m)
Computer Organization and Design - David A. Patterson, John L. Hennessy (a,-)
Operating System Concepts - Abraham Silberschatz, Peter Baer Galvin, Greg Cagne (a,-)
The C Programming Language - Brian W. Kernighan, Dennis Ritchie (a,a)
Future (maybes)
Random computer books (potentially interesting topics)
Artificial Intelligence A modern Approach - Stuart Russell and Peter Norvig
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
Discrete and Combinatorial Mathematics - Ralph P. Grimaldi
Calculus - Michael Spivak
Linear Algebra And its Applications - Gilbert Strang
A Computational Introduction to Number Theory and Algebra - Victor Shoup
An Introduction to Mathematical Cryptography - Joffrey Hoffstein, Jill Pipher, Joseph H. Silverman
Algorithms
The Art of Computer Programming (4 volumes) - Donald E. Knuth
Algorithms in C (5 parts) - Robert Sedgewick
Hackers Delight - Henry S. Warren, Jr.
Key:
<Title> - <author> (<text read>, <exercises completed>)
- a : all
- m : most
- s : some
- n : none
- ‘-’ - no exercises in text