Books
The person who stops studying merely because they have finished school is forever hopelessly doomed to mediocrity, no matter what their calling.
# | Read | Title | Author | Pages | Skills |
105 | 2023 | The Rust Programming Langauge 2nd Edition | Steve Klabnik, Carol Nichols | 868/868 | Software Engineering, Rust |
104 | 2023 | Serious Cryptography: A Practical Introduction to Modern Encryption | Jean-Philippe Aumasson | 313/313 | Security, Cryptography |
103 | 2023 | Practical Linux Forensics: A Guide for Digital Investigators | Bruce Nikkel | 400/400 | Linux, Security |
102 | 2023 | PoC or GTFO, Volume 2 | Manul Laphroaig | 788/788 | Security, Reverse Engineering |
101 | 2023 | PoC or GTFO | Manul Laphroaig | 768/768 | Security, Reverse Engineering |
100 | 2023 | Effective C | Robert C. Seacord | 272/272 | Software Engineering, C |
99 | 2023 | Black Hat Rust | Sylvain Kerkour | 362/362 | Security, Software Engineering, Rust |
98 | 2022 | Underground | Julian Assange | 321/321 | Security, History |
97 | 2022 | The Best of 2600: A Hacker Odyssey | Emmanuel Goldstein | 888/888 | Security |
96 | 2022 | Silence on the Wire - A Field Guide to Passive Reconnaissance and Indirect Attacks | Michal Zalewski | 224/224 | Security |
95 | 2022 | Schneier on Security | Bruce Scheier | 336/336 | Security |
94 | 2022 | Rootkits and Bootkits: Reversing Modern Malware and Next Generation Threats | Alex Matrosov, Eugene Rodionov, Sergey Bratus | 448/448 | Security, Operating Systems, Reverse Engineering |
93 | 2022 | Mastering the FreeRTOS Real Time Kernel - a Hands On Tutorial Guide | Richard Barry | 399/399 | Software Engineering, Embedded Systems, Operating Systems |
92 | 2022 | Malware Analyst’s Cookbook | Michael Ligh, Steven Adair, Blake Hartstein, Matthew Richard | 744/744 | Security |
91 | 2022 | Gray Hat Python: Python Programming for Hackers and Reverse Engineers | Justin Seitz | 232/232 | Software Engineering, Security, Python |
90 | 2022 | Countdown to Zero Day: Stuxnet | Kim Zetter | 448/448 | Security |
89 | 2022 | C++ 17 The Complete Guide | Nicolai M. Josuttis | 208/208 | Software Engineering, C++, Programming Languages |
88 | 2022 | BIOS Disassembly Ninjutsu Uncovered | Darmawan Salihun | 450/450 | Security |
87 | 2021 | Zero to Monero | Kurt M. Alonso, Koe | 85/85 | Security, Distributed Systems |
86 | 2021 | War 2.0 | Thomas Rid, Marc Hecker | 280/280 | Security |
85 | 2021 | The Hacker Playbook: Practical Guide To Penetration Testing | Peter Kim | 294/294 | Security |
84 | 2021 | The Cuckoo’s Egg: Tracking a Spy Through the Maze of Computer Espionage | Clifford Stoll | 326/326 | Security, History |
83 | 2021 | The Browser Hacker’s Handbook | Wade Alcorn, Christian Frichot, Michele Orru | 648/648 | Security |
82 | 2021 | The Art of Deception | Kevin Mitnick | 368/368 | Security |
81 | 2021 | Security Engineering: A Guide to Building Dependable Distributed Systems | Ross Anderson | 1080/1080 | Security, Software Engineering, Cryptography |
80 | 2021 | Making Embedded Systems: Design Patterns for Great Software | Elecia White | 325/325 | Software Engineering, Embedded Systems |
79 | 2021 | Identifying Malicious Code Through Reverse Engineering | Abhishek Singh | 188/188 | Security |
78 | 2021 | C++ Best Practices | Jason Turner | 122/122 | Software Engineering, C++, Programming Languages |
77 | 2020 | War 2.0: Irregular Warfare in the Information Age | rid-thomas-hecker-marc | 292/292 | Security, History |
76 | 2020 | The Rootkit Arsenal | Bill Blunden | 784/784 | Security, Operating systems, API design, Computer Architecture |
75 | 2020 | The Art of Intrusion | Kevin Mitnick | 288/288 | Security, Social Engineering |
74 | 2020 | Red Team: How to Succeed By Thinking Like the Enemy | Micah Zenko | 338/338 | Security |
73 | 2020 | Learning Linux Binary Analysis | Ryan “elfmaster” O’Neill | 282/282 | Security, Linux |
72 | 2020 | Gray Hat Hacking The Ethical Hackers Handbook | Allen Harper, Shon Harris, Jonathan Ness | 720/720 | Security |
71 | 2020 | Designing BSD Rootkits | Joseph Kong | 142/142 | Security, Operating Systems |
70 | 2020 | Carry On: Sound Advice From Schneier on Security | Bruce Schneier | 384/384 | Security |
69 | 2020 | A Tour of C++ | Bjarne Stroustrup | 192/192 | Software Engineering, C++, Programming Languages |
68 | 2020 | A Bug Hunter’s Diary | Tobias Klein | 208/208 | Security, Reverse Engineering |
67 | 2019 | The Tangled Web | Michal Zalewski | 344/344 | Security, Web Application Security, Web Browsers |
66 | 2019 | The Art of Software Security Assessment | Mark Dowd, John McDonald, Justin Schuh | 1200/1200 | Security, Source Code Auditing |
65 | 2019 | The Art of Computer Virus Research and Defense | Peter Szor | 744/744 | Security, Reverse Engineering |
64 | 2019 | SELinux System Administration | Sven Vermeulen | 120/120 | SELinux, Mandatory Access Controls, Linux Administration, Security |
63 | 2019 | Radare2 | Various | 75/75 | Tools, Debugging, Reverse Engineering |
62 | 2019 | Programming from the Ground Up | Jonathan Bartlett | 326/326 | Software Engineering, x86 assembly |
61 | 2019 | Hacking the Xbox - An introduction to reverse engineering | Andrew “Bunnie” Huang | 286/286 | Security, Electronics, Reverse Engineering |
60 | 2019 | Hacking Exposed Malware & Rootkits | Michael Davis, Sean Bodmer, Christopher Elisan | 400/400 | Security |
59 | 2019 | Dissecting the hack | Jayson Street | 360/360 | Security |
58 | 2018 | Unit Test Frameworks | Paul Hamill | 292/292 | Software Engineering, Unit Testing, Test Driven Development, xUnit |
57 | 2018 | The Theory of Computer Science | J.M. Brady | 250/250 | Computer Science |
56 | 2018 | The Rust Programming Language | Various | 225/225 | Software Engineering, Programming Languages, Rust |
55 | 2018 | The Object Constraint Language: Precise Modeling with UML | Jos Warmer, Anneke G. Kleppe | 144/144 | OCL, UML, Design By Contract, Object Oriented Design |
54 | 2018 | The Mythical Man-month | Fred Brooks | 336/336 | Software Engineering, Management |
53 | 2018 | The Joy of Clojure | Chris Houser, Michael Fogus | 520/520 | Software Engineering, Programming Languages, Clojure, Lisp, Functional Programming, Logic Programming |
52 | 2018 | The Art of Unix Programming | Eric S. Raymond | 560/560 | Software Engineering, Linux |
51 | 2018 | Test Driven Development for Embedded C | James W. Grenning | 326/326 | Software Engineering, C, Testing |
50 | 2018 | Software Exorcism: A Handbook for Debugging and Optimizing Legacy Code | Bill Blunden | 380/380 | Software Engineering, Debugging, Tools |
49 | 2018 | Sketchy LISP | Nils M Holm | 164/164 | Software Engineering, Programming Languages, Functional programming, Scheme |
48 | 2018 | Secure Coding | Mark G | 224/224 | Software Engineering, Programming Languages, C, Security |
47 | 2017 | Understanding Cyber Conflict: 14 Analogies | George Perkovich | 312/312 | Security, History |
46 | 2017 | The Shellcoder’s Handbook: Discovering and Exploiting Security Holes | Jack Koziol, Chris Anley, John Heasman | 718/718 | Security, Operating Systems |
45 | 2017 | The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win | Gene Kim, Kevin Behr, George Spafford | 345/345 | Software Engineering, Management |
44 | 2017 | The Car Hacker’s Handbook: A Guide for the Penetration Tester | Craig Smith | 304/304 | Security, Reverse Engineering, Embedded Systems |
43 | 2017 | The Art of Designing Embedded Systems | Jack Ganssle | 312/312 | Software Engineering, Embedded Systems |
42 | 2017 | Linux Kernel Development | Robert Love | 480/480 | Software Engineering, Linux Internals |
41 | 2017 | Android Hacker’s Handbook | Joshua J. Drake, Zach Lanier, Collin Mulliner | 576/576 | Operating Systems, Security |
40 | 2017 | Advanced Linux Programming | Mark L. Mitchell | 340/340 | Software Engineering, Linux & Unix system internals |
39 | 2016 | Understanding Computation: From Simple Machines to Impossible Programs | Tom Stuart | 329/329 | Computer Science |
38 | 2016 | Tmux: Productive Mouse-Free Development | Brian P. Hogan | 88/88 | Tools |
37 | 2016 | The Passionate Programmer | Chad Fowler | 232/232 | Software Engineering |
36 | 2016 | The Little Schemer | Friedman, Felleisen, Biddy | 216/216 | Software Engineering, Programming Languages, Functional programming, Scheme, Lisp |
35 | 2016 | The Inmates Are Running the Asylum | Alan Cooper | 288/288 | Software Engineering |
34 | 2016 | Software Design | David Budgen | 468/468 | Software Engineering |
33 | 2016 | Soft Skills The software developer’s life manual | John Z. Sonmez | 506/506 | Management |
32 | 2016 | Dark Territory: The Secret History of Cyber War | Fred Kaplan | 339/339 | Security, History |
31 | 2015 | Rust by Example | Various | 112/112 | Software Engineering, Programming Languages, Rust |
30 | 2015 | Refactoring: Improving the Design of Existing Code | Martin Fowler, Kent Beck | 464/464 | Software Engineering |
29 | 2015 | Raspberry Pi Hacks | Ruth Suehle, Tom Callaway | 394/394 | Embedded Systems |
28 | 2015 | Programming Pearls | Jon Bentley | 256/256 | Software Engineering, Computer Science |
27 | 2015 | Programming Embedded Systems in C and C++ | Michael Barr | 200/200 | Software Engineering, C, C++, Programming Languages, Embedded Systems |
26 | 2015 | Practical Programming in Tcl | Welch | 960/960 | Software Engineering, Programming Languages, TCL |
25 | 2015 | Practical OCaml | Joshua B. Smith | 260/488 | How not to write a book |
24 | 2015 | Practical Clojure | Luke VanderHart, Stuart Sierra | 228/228 | Software Engineering, Programming Languages, Clojure, Lisp, Functional Programming |
23 | 2015 | PeopleWare | Tom DeMarco, Timothy Lister | 264/264 | Software Engineering, Management |
22 | 2015 | Modern C++ Design | Andrei Alexandrescu | 352/352 | Software Engineering, C++, Programming Languages, Template Metaprogramming, Design Patterns |
21 | 2015 | Linkers and Loaders | John R. Levine | 256/256 | Software Engineering |
20 | 2015 | Extreme Programming Explained | Kent Beck, Cynthia Andres | 224/224 | Software Engineering, Agile Methodology |
19 | 2014 | Writing Solid Code | Steve Maguire | 256/256 | Software Engineering, Programming Languages, C |
18 | 2014 | Why’s (Poignant) Guide to Ruby | Why | 176/176 | Software Engineering, Programming Languages, Ruby |
17 | 2014 | The Definitive Guide to the Xen Hypervisor | David Chisnall | 320/320 | Virtualization, Xen, Operating Systems |
16 | 2014 | The Career Programmer | Christopher Duncan | 300/300 | Software Engineering, Management |
15 | 2014 | Realm of Racket | Felleisen, Barski, Horn | 312/312 | Software Engineering, Programming Languages, Functional programming, Scheme, Racket |
14 | 2014 | Practical Perforce | Laura Wingerd | 362/362 | Software Engineering, Perforce, Source Control Management |
13 | 2014 | OCaml from the Very Beginning | John Whitington | 204/204 | Software Engineering, OCaml, Programming Languages, Functional Programming |
12 | 2014 | More Effective C++ | Scott Meyers | 337/337 | Software Engineering, C++, Programming Languages |
11 | 2014 | Expert C Programming | Peter van der Linden | 290/290 | Software Engineering, C, Programming Languages |
10 | 2014 | Effective C++ | Scott Meyers | 320/320 | Software Engineering, C++, Programming Languages |
9 | 2014 | Code Complete | Steve McConnell | 950/950 | Software Engineering |
8 | 2014 | Bluetooth Low Energy | Robin Heydon | 368/368 | Blueooth, Wireless communication |
7 | 2014 | Bluetooth 1.1 | Jennifer Bray, Charles F. Sturman | 624/624 | Bluetooth, Wireless communication |
6 | 2013 | The Pragmatic Programmer | Andrew Hunt | 352/352 | Software engineering |
5 | 2013 | The C++ Programming Language | Bjarne Stroustrup | 1025/1025 | Software Engineering, Programming Languages, C++ |
4 | 2013 | Practical Vim | Drew Neil | 300/300 | Vim, Tools |
3 | 2013 | Modern Perl | Chromatic | 276/276 | Software Engineering, Perl, Programming Languages |
2 | 2013 | Linux System Programming | Robert Love | 400/400 | Software Engineering, Linux system internals |
1 | 2013 | Algorithms + Data Structures = Programs | Niklaus Wirth | 366/366 | Computer Science, Software Engineering |