An open API service indexing awesome lists of open source software.

https://github.com/bobeff/programming-math-science

This is a list of links to different freely available learning resources about computer programming, math, and science.
https://github.com/bobeff/programming-math-science

List: programming-math-science

awesome-list math programming science

Last synced: 11 days ago
JSON representation

This is a list of links to different freely available learning resources about computer programming, math, and science.

Awesome Lists containing this project

README

        

# Programming, Math, Science

This is a list of links to different freely available learning resources about computer programming, math, and science.

## Table of contents

* [AI](#ai)
* [Machine Learning](#machine-learning)
* [Large Language Models](#large-language-models)
* [Machine Learning Online Courses](#machine-learning-online-courses)
* [Mathematics for Machine Learning](#mathematics-for-machine-learning)
* [Reinforcement learning](#reinforcement-learning)
* [Computer Games AI](#computer-games-ai)
* [Algorithms](#algorithms)
* [Art](#art)
* [Biology](#biology)
* [Command Line and Tools](#command-line-and-tools)
* [Curl](#curl)
* [Linux command line](#linux-command-line)
* [Compilers and Interpreters](#compilers-and-interpreters)
* [Computer Graphics](#computer-graphics)
* [Curves and Surfaces](#curves-and-surfaces)
* [DirectX 12](#directx-12)
* [Image Processing](#image-processing)
* [Dithering](#dithering)
* [Metal](#metal)
* [OpenGL](#opengl)
* [Ray Tracing](#ray-tracing)
* [Shaders](#shaders)
* [Vulkan](#vulkan)
* [WebGPU](#webgpu)
* [Computer Networks and Network Programming](#computer-networks-and-network-programming)
* [Cryptography](#cryptography)
* [Data Science](#data-science)
* [Debuggers](#debuggers)
* [Databases](#databases)
* [Databases Development](#databases-development)
* [PostgreSQL](#postgresql)
* [Demoscene](#demoscene)
* [Design Patterns](#design-patterns)
* [Digital Signal Processing](#digital-signal-processing)
* [Distributed Systems](#distributed-systems)
* [Electronics](#electronics)
* [Emulators and Virtual Machines](#emulators-and-virtual-machines)
* [Game Programming](#game-programming)
* [Game Engines](#game-engines)
* [Game Physics](#game-physics)
* [Geographic Information Systems](#geographic-information-systems)
* [GUI Programming](#gui-programming)
* [Hardware](#hardware)
* [Logical Games](#logical-games)
* [Low Level Stuff](#low-level-stuff)
* [Math](#math)
* [Algebra](#algebra)
* [Calculus](#calculus)
* [Vector Calculus](#vector-calculus)
* [Category Theory](#category-theory)
* [Competitive Math](#competitive-math)
* [Diferential Equations](#deferential-equations)
* [Geometry](#geometry)
* [Diferential Geometry](#diferential-geometry)
* [Graph Theory](#graph-theory)
* [Mathematical Logic](#mathematical-logic)
* [Measure Theory](#measure-theory)
* [Number Theory](#number-theory)
* [Operations Research](#operations-research)
* [Probability and Statistics](#probability-and-statistics)
* [Proofs](#proofs)
* [Theoretical Computer Science](#theoretical-computer-science)
* [Topology](#topology)
* [Multithreading and Concurrency](#multithreading-and-concurrency)
* [Operating Systems](#operating-systems)
* [Operating Systems Development](#operating-systems-development)
* [Photography](#photography)
* [Physics](#physics)
* [Programming Languages](#programming-languages)
* [Ada](#ada)
* [Assembly](#assembly)
* [Bash](#bash)
* [Basic](#basic)
* [C](#c)
* [C++](#cpp)
* [CMake](#cmake)
* [Cuda](#cuda)
* [D](#d)
* [Datalog](#datalog)
* [Erlang](#erlang)
* [Forth](#forth)
* [Go](#go)
* [Haskell](#haskell)
* [Java](#java)
* [JavaScript](#javascript)
* [Lean](#lean)
* [Lisp dialects](#lisp-dialects)
* [Clojure](#clojure)
* [Common Lisp](#common-lisp)
* [Racket](#racket)
* [Scheme](#scheme)
* [Nim](#nim)
* [OCaml](#ocaml)
* [Oberon-2](#oberon-2)
* [Odin](#odin)
* [Pascal](#pascal)
* [PostScript](#postscript)
* [Prolog](#prolog)
* [Pyret](#pyret)
* [Python](#python)
* [R](#R)
* [Regular expressions](#regular-expressions)
* [Ruby](#ruby)
* [Rust](#rust)
* [Smalltalk](#smalltalk)
* [Zig](#zig)
* [Retrocomputing](#retrocomputing)
* [Advent of Code on retro machines](#adevent-of-code-on-retro-machines)
* [Apple II](#apple-ii)
* [Commodore 64](#commodore-64)
* [DOS](#dos)
* [Mega 65](#mega-65)
* [ZX Spectrum and Z80 CPU](#zx-spectrum-and-z80-cpu)
* [Reverse engineering](#reverse-engineering)
* [Robotics](#robotics)
* [SIMD programming](#simd-programming)
* [System programming](#system-programming)
* [Text editors](#text-editors)
* [Emacs](#emacs)
* [Vim](#vim)
* [Unicode](#unicode)
* [Version control tools](#version-control-tools)
* [Web programming](#web-programming)
* [CSS](#css)
* [Other](#other)
* [Other lists](#other-lists)

## AI

* [Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp](https://norvig.github.io/paip-lisp) by *Peter Norvig*

### Machine Learning

* [A Comprehensive Guide to Machine Learning](https://snasiriany.me/files/ml-book.pdf) by *Soroush Nasiriany*, *Garrett Thomas*, *William Wang*, *Alex Yang*, *Jennifer Listgarten*, *Anant Sahai* **[pdf]**

* [A Course in Machine Learning](http://ciml.info) by *Hal Daumé III*

* [A Gentle Introduction to Graph Neural Networks](https://distill.pub/2021/gnn-intro) by *Benjamin Sanchez-Lengeling*, *Emily Reif*, *Adam Pearce* and *Alexander B. Wiltschko*

* [Algorithmic Aspects of Machine Learning](https://people.csail.mit.edu/moitra/docs/bookexv2.pdf) by *Ankur Moitra* **[pdf]**

* [Algorithms for Artificial Intelligence](https://web.stanford.edu/~mossr/pdf/alg4ai.pdf) by *Robert J. Moss* **[dpf]** **[Stanford]**

* [Alice’s Adventures in a differentiable wonderland](https://www.sscardapane.it/alice-book) by *Simone Scardapane*

* [An Introduction to Statistical Learning](https://www.statlearning.com) by *Gareth James, Daniela Witten, Trevor Hastie, Rob Tibshirani*

* [Applied Machine Learning for Tabular Data](https://aml4td.org) by *Max Kuhn* and *Kjell Johnson*

* [Books by Andriy Burkov](https://www.thelmbook.com)
* [The Hundred Page Machine Learning Book](http://themlbook.com/wiki)
* [The Hundred-Page Language Models Book](https://www.thelmbook.com)
* [Machine Learning Engineering Book](http://www.mlebook.com/wiki)

* [Concise Machine Learning](https://people.eecs.berkeley.edu/~jrs/papers/machlearn.pdf) by *Jonathan Richard Shewchuk* **[pdf]**

* [Crash Course in Deep Learning (for Computer Graphics)](https://gpuopen.com/learn/deep_learning_crash_course/) by *Jakub Boksansky* [[alternative link]](https://boksajak.github.io/blog/DeepLearning)

* [Data Science and Machine Learning: Mathematical and Statistical Methods](https://people.smp.uq.edu.au/DirkKroese/DSML) by *Dirk P. Kroese*, *Zdravko I. Botev*, *Thomas Taimre*, *Radislav Vaisman*

* [Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and Control](https://faculty.washington.edu/sbrunton/DataBookV2.pdf) by *Steven L. Brunton and J. Nathan Kutz* **[pdf]**

* [Deep Learning](https://www.deeplearningbook.org/) by *Ian Goodfellow, Yoshua Bengio and Aaron Courville*

* [Deep Learning Course](https://fleuret.org/dlc) by *François Fleuret*

* [Deep Learning: Foundations and Concepts](https://www.bishopbook.com) by *Chris Bishop with Hugh Bishop*

* [Deep Learning Interviews](https://arxiv.org/abs/2201.00650) by *Shlomo Kashani* and *Amir Ivry*

* [Deep Learning on Graphs](https://yaoma24.github.io/dlg_book) by *Yao Ma* and *Jiliang Tang*

* [Deep Learning with Python, Second Edition](https://sourestdeeds.github.io/pdf/Deep%20Learning%20with%20Python.pdf) by *François Chollet* **[pdf]**

* [Dive into Deep Learning](https://d2l.ai)

* [Dive into Deep Learning Compiler](https://tvm.d2l.ai/)

* [Dummy's Guide to Modern LLM Sampling](https://rentry.co/samplers)

* [Foundations of Machine Learning](https://cs.nyu.edu/~mohri/mlbook) by *Mehryar Mohri*, *Afshin Rostamizadeh*, and *Ameet Talwalkar* **[MIT]**

* [Information Theory, Inference, and Learning Algorithms](https://inference.org.uk/itila/book.html) by *David MacKay*

* [Introduction to Flow Matching and Diffusion Models](https://diffusion.csail.mit.edu) by *Peter Holderrieth* and *Ezra Erives*

* [Introduction to ggml](https://huggingface.co/blog/introduction-to-ggml) by *Xuan Son NGUYEN*, *Georgi Gerganov* and *slaren*

* [Introduction to Machine Learning](https://alex.smola.org/drafts/thebook.pdf) by *Alex Smola* and *S.V.N. Vishwanathan* **[pdf]**

* [Introduction to Machine Learning](https://princeton-introml.github.io/files/COS324_Course_Notes.pdf) by *Sanjeev Arora*, *Simon Park*, *Dennis Jacob* and *Danqi Chen* **[pdf]** **[Princeton]**

* [Introduction to Machine Learning](https://introml.mit.edu/_static/spring24/LectureNotes/6_390_lecture_notes_spring24.pdf) **[pdf]** **[MIT]**

* [Introduction to Machine Learning Interviews](https://huyenchip.com/ml-interviews-book) by *Chip Huyen*

* [Learning Theory from First Principles](https://www.di.ens.fr/%7Efbach/ltfp_book.pdf) by *Francis Bach* **[pdf]**

* [Lecture Notes for Machine Learning and Data Science Courses Information School, University of Washington](https://faculty.washington.edu/otoomet/machineLearning.pdf) by *Ott Toomet* **[pdf]**

* [Machine Learning Engineering Open Book](https://github.com/stas00/ml-engineering) by *Stas Bekman*

* [Machine Learning Lecture Notes](https://cs229.stanford.edu/main_notes.pdf) by *Andrew Ng* and *Tengyu Ma* **[pdf]** **[Stanford]**

* [Machine Learning Systems](https://mlsysbook.ai) by *Vijay Janapa Reddi*

* [Machine learning with neural networks](https://arxiv.org/pdf/1901.05639) by *Bernard Mehling* [pdf]

* [Neural Networks and Deep Learning](http://neuralnetworksanddeeplearning.com) by *Michael Nielsen*

* [Physics-based Deep Learning](https://physicsbaseddeeplearning.org/intro.html) by *N. Thuerey, P. Holl, M. Mueller, P. Schnell, F. Trost, K. Um*

* [Probabilistic Artificial Intelligence](https://arxiv.org/abs/2502.05244) by *Andreas Krause*, *Jonas Hübotter*

* [Probabilistic Machine Learning: An Introduction](https://probml.github.io/pml-book/book1.html) by *Kevin Patrick Murphy*

* [Probabilistic Machine Learning: Advanced Topics](https://probml.github.io/pml-book/book2.html) by *Kevin Patrick Murphy*

* [Speech and Language Processing, 3rd edition](https://web.stanford.edu/~jurafsky/slp3/) by *Daniel Jurafsky* and *James H. Martin*

* [The Elements of Differentiable Programming](https://arxiv.org/abs/2403.14606) by *Mathieu Blondel and Vincent Roulet*

* [The Engineer's Guide To Deep Learning](https://www.interdb.jp/dl) by *Hironobu Suzuki*

* [The Little Book of Deep Learning](https://fleuret.org/francois) by *François Fleuret*

* [The Principles of Deep Learning Theory](https://arxiv.org/abs/2106.10165) by *Daniel A. Roberts*, *Sho Yaida*, *Boris Hanin*

* [Theory of Deep Learning](https://www.cs.princeton.edu/~arora/TheoryDL.pdf) by *Zhao Song* **[pdf]**

* [Tutorial on Diffusion Models for Imaging and Vision](https://arxiv.org/abs/2403.18103) by *Stanley H. Chan*

* [Understanding Deep Learning](https://udlbook.github.io/udlbook) by *Simon J.D. Prince*

* [Understanding Machine Learning: From Theory to Algorithms](https://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning) by *Shai Shalev-Shwartz* and *Shai Ben-David*

#### Large Language Models

* [A Visual Guide to Quantization: Demystifying the Compression of Large Language Models](https://newsletter.maartengrootendorst.com/p/a-visual-guide-to-quantization) by *Maarten Grootendorst*

* [Foundations of Large Language Models](https://arxiv.org/abs/2501.09223) by *Tong Xiao* and *Jingbo Zhu*

#### Machine Learning Online Courses

* [Google Machine Learning Education](https://developers.google.com/machine-learning)

* [Neural Networks: Zero to Hero](https://karpathy.ai/zero-to-hero.html) - A course by *Andrej Karpathy*

* [Practical Deep Learning for Coders](https://course.fast.ai)

#### Mathematics for Machine Learning

* [Linear Algebra for Computer Vision, Robotics, and Machine Learning](https://www.cis.upenn.edu/~cis5150/linalg-I-f.pdf) by *Jean Gallier* and *Jocelyn Quaintance* **[pdf]**

* [Mathematical Analysis of Machine Learning Algorithms](https://tongzhang-ml.org/lt-book.html) by *Tong Zhang*

* [Mathematical Foundations of Machine Learning](https://nowak.ece.wisc.edu/MFML.pdf) by *Robert Nowak* **[pdf]**

* [Mathematical Introduction to Deep Learning: Methods, Implementations, and Theory](https://arxiv.org/abs/2310.20360) by *Arnulf Jentzen, Benno Kuckuck, Philippe von Wurstemberger*

* [Mathematics for Artificial Intelligence Lecure Notes](https://www.imo.universite-paris-saclay.fr/~gilles.blanchard/teaching/Lecture_Notes_MAI.pdf) by *Gilles Blanchard* **[pdf]**

* [Mathematics for Machine Learning](https://mml-book.github.io/) by *Marc Peter Deisenroth, A. Aldo Faisal, and Cheng Soon Ong*

* [Mathematics for Machine Learning](https://gwthomas.github.io/docs/math4ml.pdf) by *Garrett Thomas* **[pdf]**

* [Mathematics for Inference and Machine Learning](https://www.doc.ic.ac.uk/~dfg/ProbabilisticInference/InferenceAndMachineLearningNotes.pdf) by *Marc Deisenroth* and *Stefanos Zafeiriou* **[pdf]**

* [Mathematics of Machine Learning](https://ocw.mit.edu/courses/18-657-mathematics-of-machine-learning-fall-2015/pages/lecture-notes) by *Philippe Rigollet*

* [Mathematics of Neural Networks](https://arxiv.org/abs/2403.04807) by *Bart M.N. Smets*

* [Matrix Calculus (for Machine Learning and Beyond)](https://arxiv.org/abs/2501.14787) by *Paige Bright*, *Alan Edelman*, and *Steven G. Johnson*
* [MIT course](https://ocw.mit.edu/courses/18-s096-matrix-calculus-for-machine-learning-and-beyond-january-iap-2023)
* [GitHub repository](https://github.com/mitmath/matrixcalc)

* [Optimization for Data Science](https://n.ethz.ch/~jiaxie/graduate_projs/notes_eth.pdf) by *Bernd Gartner*, *Niao He* and *Martin Jaggi* **[pdf]**

* [Pen and Paper Exercises in Machine Learning](https://arxiv.org/abs/2206.13446) by *Michael U. Gutmann*

* [The Matrix Calculus You Need For Deep Learning](https://explained.ai/matrix-calculus) by *Terence Parr* and *Jeremy Howard*

#### Reinforcement learning

* [A Little Bit of Reinforcement Learning from Human Feedback](https://rlhfbook.com) by *Nathan Lambert*

* [Deep Reinforcement Learning](https://deep-reinforcement-learning.net) by *Aske Plaat*

* [Deep Reinforcement Learning: Zero to Hero!](https://github.com/alessiodm/drl-zh)

* [Distributional Reinforcement Learning](https://www.distributional-rl.org) by *Marc G. Bellemare*, *Will Dabney* and *Mark Rowland*

* [Mathematical Foundations of Reinforcement Learning](https://github.com/MathFoundationRL/Book-Mathematical-Foundation-of-Reinforcement-Learning) by *Shiyu Zhao*

* [Multi-Agent Reinforcement Learning: Foundations and Modern Approaches](https://www.marl-book.com) by *Stefano V. Albrecht*, *Filippos Christianos* and *Lukas Schäfer*

* [Reinforcement Learning: An Introduction, Second Edition](http://incompleteideas.net/book/the-book-2nd.html) by *Richard S. Sutton* and *Andrew G. Barto*

* [Reinforcement Learning: An Overview](https://arxiv.org/abs/2412.05265) by *Kevin Murphy*

### Computer Games AI

* [Artificial Intelligence and Games](https://gameaibook.org) by *Georgios N. Yannakakis* and *Julian Togelius*

* [Game AI Pro](http://www.gameaipro.com) by *Steve Rabin*

* [Programming Starcraft AI](https://makingcomputerdothings.com/an-index-for-the-starcraft-ai-posts) by *Peter Kis*

## Algorithms

* [A First Course on Data Structures in Python](https://donsheehy.github.io/datastructures/fullbook.pdf) by *Donald R. Sheehy* **[dpf]**

* [Advanced Algorithms](https://www.cs.cmu.edu/~15850/notes/cmu850-f20.pdf) by *Anupam Gupta* **[pdf]** **[CMU]**

* [Advanced Algorithms](https://people.inf.ethz.ch/aroeyskoe/AA23_materials/AAscript.pdf) by *Mohsen Ghaffari* **[pdf]** **[ETH]**

* [Algorithms](http://jeffe.cs.illinois.edu/teaching/algorithms/) by *Jeff Erickson*

* [Algorithms](https://courses.grainger.illinois.edu/cs473/fa2021/lec/book.pdf) by *Sariel Har-Peled* **[pdf]**

* [Algorithms and Data Structures](https://people.mpi-inf.mpg.de/~mehlhorn/ftp/Mehlhorn-Sanders-Toolbox.pdf) by *Kurt Mehlhorn and Peter Sanders* **[pdf]**

* [Algorithms Books](https://algorithmsbook.com) by *Mykel J. Kochenderfer*
* [Algorithms for Optimization](https://algorithmsbook.com/optimization) by *Mykel J. Kochenderfer*, and *Tim A. Wheeler*
* [Algorithms for Decision Making](https://algorithmsbook.com/decisionmaking) by *Mykel J. Kochenderfer*, *Tim A. Wheeler*, and *Kyle H. Wray*
* [Algorithms for Validation](https://algorithmsbook.com/validation) by *Mykel J. Kochenderfer*, *Sydney M. Katz*, *Anthony L. Corso*, and *Robert J. Moss*

* [Algorithms Design (in C)](https://www.ime.usp.br/~pf/algorithms) by *Paulo Feofiloff*

* [Algorithms for Competitive Programming](https://cp-algorithms.com)

* [Algorithms for Massive Data](https://arxiv.org/abs/2301.00754) by *Nicola Prezza*

* [Algorithms for Modern Hardware](https://en.algorithmica.org/hpc) by *Sergey Slotin*

* [Algorithms in C](https://theswissbay.ch/pdf/Gentoomen%20Library/Algorithms/Algorithms%20in%20C.pdf) by *Robert Sedgewick* **[pdf]**

* [An Open Guide to Data Structures and Algorithms](https://pressbooks.palni.org/anopenguidetodatastructuresandalgorithms) by *Paul W. Bible* and *Lucas Moser*

* [Approximation Algorithms](https://courses.grainger.illinois.edu/cs583/fa2021/approx-algorithms-lecture-notes.pdf) by *Chandra Chekuri* **[pdf]**

* [Bloom filters](https://eli.thegreenplace.net/2025/bloom-filters) by *Eli Bendersky*

* [Clever Algorithms: Nature-Inspired Programming Recipes](https://github.com/clever-algorithms/CleverAlgorithms) by *Jason Brownlee*

* [Collision Detection](https://www.jeffreythompson.org/collision-detection) by *Jeff Thompson*

* [Competitive Programmer's Handbook](https://cses.fi/book/index.php) by *Antti Laaksonen*

* [Competetive Programming](https://www.comp.nus.edu.sg/~stevenha/myteaching/competitive_programming/cp2.pdf) by *Steven Halim* **[pdf]**

* [Competitive Programming in Python: 128 Algorithms to Develop your Coding Skills](https://ia804600.us.archive.org/14/items/competitive-programming/Competitive%20Programming.pdf) by *Christoph Dürr* and *Jill-Jênn Vie*

* [Data Structures & Algorithm Analysis](https://people.cs.vt.edu/~shaffer/Book) by *Clifford A. Shaffer*

* [Data Structures & Algorithms in C++, Second Edition](https://eduarmandov.wordpress.com/wp-content/uploads/2017/05/c_c-data-structures-and-algorithms-in-c.pdf) by *Michael T. Goodrich*, *Roberto Tamassia*, and *David M. Mount* **[pdf]**

* [Data Structures for Data-Intensive Applications: Tradeoffs and Design Guidelines](https://cs-people.bu.edu/mathan/publications/fnt23-athanassoulis.pdf) by *Manos Athanassoulis
, Stratos Idreos and Dennis Shasha* **[pdf]**

* [Exact String Matching Algorithms](http://www-igm.univ-mlv.fr/~lecroq/string) by *Christian Charras and Thierry Lecroq*

* [Foundations of Data Science](https://www.cs.cornell.edu/jeh/book%20no%20so;utions%20March%202019.pdf) by *Avrim Blum*, *John Hopcroft*, and *Ravindran Kannan* **[pdf]**

* [How does B-tree make your queries fast?](https://blog.allegro.tech/2023/11/how-does-btree-make-your-queries-fast.html) by *Mateusz Kuźmik*

* [Introduction to Algorithms: A Creative Approach](https://doc.lagout.org/science/0_Computer%20Science/2_Algorithms/Introduction%20to%20Algorithms_%20A%20Creative%20Approach%20%5BManber%201989-01-11%5D.pdf) by *Udi Manber* **[pdf]**

* [Kalman Filter from the Ground Up](https://www.kalmanfilter.net) by *Alex Becker*

* [Lecture Notes on Quantum Algorithms](https://www.cs.umd.edu/~amchilds/qa/qa.pdf) by *Andrew M. Childs* **[pdf]**

* [Matters Computational: Ideas, Algorithms, Source Code](https://www.jjj.de/fxt/fxtbook.pdf) by *Jörg Arndt* **[pdf]**

* [Monte-Carlo Graph Search from First Principles](https://github.com/lightvector/KataGo/blob/master/docs/GraphSearch.md) by *David J Wu*

* [Planning Algorithms](http://lavalle.pl/planning) by *Steven M. LaValle*

* [Principles of Algorithmic Problem Solving](https://www.csc.kth.se/~jsannemo/slask/main.pdf) by *Johan Sannemo*

* [Problem Solving with Algorithms and Data Structures using Python](https://runestone.academy/runestone/books/published/pythonds/index.html) by *Brad Miller and David Ranum*

* [Purely Functional Data Structures](https://www.cs.cmu.edu/~rwh/students/okasaki.pdf) by *Chris Okasaki* **[pdf]**

* [Sequential and Parallel Data Structures and Algorithms: The Basic Toolbox](https://people.mpi-inf.mpg.de/~mehlhorn/ToolboxNew.html) by *Peter Sanders, Kurt Mehlhorn, Martin Dietzfelbinger, and Roman Dementiev*

* [The Arcane Algorithm Archive](https://www.algorithm-archive.org/)

* [The Skyline algorithm for packing 2D rectangles](https://jvernay.fr/en/blog/skyline-2d-packer/implementation) by *Julien Vernay*

## Art

* [Pixel art articles and tutorials](https://saint11.org) by *Pedro Medeiros*

## Biology

* [Introduction to Genomics for Engineers](https://learngenomics.dev)

* [The Algorithmic Beauty of Plants](http://algorithmicbotany.org/papers/abop/abop.pdf) by *Przemyslaw Prusinkiewicz* and *Aristid Lindenmayer* **[pdf]**

## Command Line and Tools

* [Driving Compilers](https://fabiensanglard.net/dc) by *Fabien Sanglard*

* [Getting started with tmux](https://ittavern.com/getting-started-with-tmux) by *ittavern*

* [How I'm still not using GUIs: A guide to the terminal](https://lucasfcosta.com/2019/02/10/terminal-guide-2019.html) by *Lucas Fernandes da Costa*

* [How is a binary executable organized? Let's explore it!](https://jvns.ca/blog/2014/09/06/how-to-read-an-executable) by *Julia Evans*

* [Learn Makefiles: With the tastiest examples](https://makefiletutorial.com) by *Chase Lambert*

* [NixOS & Flakes Book](https://nixos-and-flakes.thiscute.world) - An unofficial book for beginners by *Ryan Yin*

* [Terminal colours are tricky](https://jvns.ca/blog/2024/10/01/terminal-colours) by *Julia Evans*

* [The Definitive Guide To Docker](https://masteringbackend.com/posts/docker-tutorial)

* [Use Midnight Commander like a pro](https://klimer.eu/2015/05/01/use-midnight-commander-like-a-pro) by *Igor Klimer*

* [Writing Programs with NCURSES](https://invisible-island.net/ncurses/ncurses-intro.html) by *Eric S. Raymond* and *Zeyd M. Ben-Halim*

### Curl

* [Curl Cookbook](https://catonmat.net/cookbooks/curl)

* [Curl Exercises](https://jvns.ca/blog/2019/08/27/curl-exercises) by *Julia Evans*

* [Mastering curl: interactive text guide](https://antonz.org/mastering-curl) by *Anton Zhiyanov*

### Linux command line

* [Effective Shell](https://effective-shell.com/) by *Dave Kerr*

* [Linux command line for you and me](https://lym.readthedocs.io/en/latest/index.html) by *Kushal Das*

* [The Linux Command Handbook](https://www.freecodecamp.org/news/the-linux-commands-handbook) by *Flavio Copes*

* [The Linux Command Line](https://linuxcommand.org/tlcl.php) by *William Shotts*

## Compilers and Interpreters

* [A Compiler Writing Journey](https://github.com/DoctorWkt/acwj) by *Warren*

* [Build Your Own Lisp](https://buildyourownlisp.com) by *Daniel Holden*

* **Building a Toy Programming Language in Python** by *Miguel Grinberg*
* [Part 1](https://blog.miguelgrinberg.com/post/building-a-toy-programming-language-in-python)
* [Part 2](https://blog.miguelgrinberg.com/post/building-a-toy-programming-language-in-python-part-2)

* **Building the fastest Lua interpreter.. automatically!** by *Haoran Xu*
* [Part 1](https://sillycross.github.io/2022/11/22/2022-11-22)
* [Part 2: Building a baseline JIT for Lua automatically](https://sillycross.github.io/2023/05/12/2023-05-12)

* [Compiling to Assembly from Scratch](https://keleshev.com/compiling-to-assembly-from-scratch) by *Vladimir Keleshev*

* [Crafting Interpreters](http://craftinginterpreters.com) by *Robert Nystrom*

* [Creating the Bolt Compiler](https://mukulrathi.co.uk/create-your-own-programming-language/intro-to-compiler) by *Mukul Rathi*

* [Essentials of Compilation: An Incremental Approach](https://iucompilercourse.github.io/tutorial-web-page) by *Geremy G. Siek*

* [How Clang Compiles a Function](https://blog.regehr.org/archives/1605) by *John Regehr*

* [How LLVM Optimizes a Function](https://blog.regehr.org/archives/1603) by *John Regehr*

* [Let's Build a Compiler](https://xmonader.github.io/letsbuildacompiler-pretty) by *Jack Crenshaw*

* **Let's make a Teeny Tiny compiler** by *Austin Z. Henley*
* [Part 1](https://austinhenley.com/blog/teenytinycompiler1.html)
* [Part 2](https://austinhenley.com/blog/teenytinycompiler2.html)
* [Part 3](https://austinhenley.com/blog/teenytinycompiler3.html)

* **Let's Write a Compiler** by *Brian Robert Callahan*
* [Part 1: Introduction, selecting a language, and doing some planning](https://briancallahan.net/blog/20210814.html)
* [Part 2: A lexer](https://briancallahan.net/blog/20210815.html)
* [Part 3: A parser](https://briancallahan.net/blog/20210816.html)
* [Part 4: Testing](https://briancallahan.net/blog/20210817.html)
* [Part 5: A code generator](https://briancallahan.net/blog/20210818.html)
* [Part 6: Input and output](https://briancallahan.net/blog/20210819.html)
* [Part 7: Arrays](https://briancallahan.net/blog/20210822.html)
* [Part 8: Strings, forward references, and conclusion](https://briancallahan.net/blog/20210826.html)

* [Low-Level Software Security for Compiler Developers](https://llsoftsec.github.io/llsoftsecbook) by *Bill Wendling*, *Lucian Popescu*, and *Anders Waldenborg*

* [Make A Language](https://arzg.github.io/lang) - A series about making a programming language called *Eldiro* using the *Rust* programming language.

## Computer Graphics

* [3D Math Primer for Graphics and Game Development](https://gamemath.com/book/intro.html) by *Fletcher Dunn* and *Ian Parberry*

* [A fast and precise triangle rasterizer](https://kristoffer-dyrkorn.github.io/triangle-rasterizer) by *Kristoffer Dyrkorn*

* [A trip through the Graphics Pipeline](https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index) by *Fabian Giesen*

* **A Quick Introduction to Workgraphs** by *Kostas Anagnostou*
* [Part 1](https://interplayoflight.wordpress.com/2024/06/29/a-quick-introduction-to-workgraphs)
* [Part 2: Performance](https://interplayoflight.wordpress.com/2024/09/09/an-introduction-to-workgraphs-part-2-performance)

* **Building Real-Time Global Illumination** by *Jason McGhee*
* [Part 1: Naive GI: A Foundation](https://jason.today/gi)
* [Part 2: Radiance Cascades](https://jason.today/rc)

* [Collection of AMD Research Publications](https://gpuopen.com/learn/publications)

* [Computer Graphics from Scratch](https://gabrielgambetta.com/computer-graphics-from-scratch) by *Gabriel Gambetta*

* [Crash Course in BRDF Implementation](https://boksajak.github.io/blog/BRDF) by *Jakub Boksansky*

* [Fundamentals of Radiance Cascades](https://m4xc.dev/articles/fundamental-rc)

* [Noise is Beautiful: Part 1: Procedural textures](https://liu.diva-portal.org/smash/get/diva2:1954979/FULLTEXT01.pdf) by *Stefan Gustavson* **[pdf]**

* [Radiometry: Overview](https://momentsingraphics.de/RadiometryOverview.html) by *Christoph Peters*

* **GPU Gems Books Series**
* [GPU Gems](https://developer.nvidia.com/gpugems/gpugems/contributors)
* [GPU Gems 2](https://developer.nvidia.com/gpugems/gpugems2/copyright)
* [GPU Gems 3](https://developer.nvidia.com/gpugems/gpugems3/contributors)

* [GPU Performance for Game Artists](http://fragmentbuffer.com/gpu-performance-for-game-artists) by *Keith O’Conor*

* [GPU Programming Primitives for Computer Graphics](https://gpu-primitives-course.github.io) by *Daniel Meister*, *Atsushi Yoshimura*, and *Chih-Chen Kao*

* [Implementing a tiny CPU rasterizer](https://lisyarus.github.io/blog/posts/implementing-a-tiny-cpu-rasterizer.html) by *Nikita Lisitsa*

* [Implementing Order-Independent Transparency](https://osor.io/OIT) by *Rubén Osorio López*

* [Inigo Quilez's Website](https://iquilezles.org) - Articles, tutorials, code, and presentations related to computer graphics.

* [Learn Computer Graphics From Scratch](https://www.scratchapixel.com)

* [Let's Make a Voxel Engine](https://sites.google.com/site/letsmakeavoxelengine)

* [Lode's Computer Graphics Tutorial](https://lodev.org/cgtutor) by *Lode Vandevenne*

* [Marching Cubes, Explained Using Marching Squares](https://blog.42yeah.is/algorithm/2023/07/15/marching-cubes.html)

* [Matrix Compendium](https://gpuopen.com/learn/matrix-compendium/matrix-compendium-intro) by *Łukasz Izdebski* - The main purpose of this article is to gather information in the field of transformation in computer graphics and put it in one place.

* [Optimizing Software Occlusion Culling](https://fgiesen.wordpress.com/2013/02/17/optimizing-sw-occlusion-culling-index) by *Fabian Giesen*

* **Order Independent Transparency** by *Kostas Anagnostou*
* **Rasterized**
* [Part 1](https://interplayoflight.wordpress.com/2022/06/25/order-independent-transparency-part-1)
* [Part 2](https://interplayoflight.wordpress.com/2022/07/02/order-independent-transparency-part-2)
* [Part 3](https://interplayoflight.wordpress.com/2022/07/10/order-independent-transparency-endgame)
* **Raytraced**
* [Part 1](https://interplayoflight.wordpress.com/2023/07/15/raytraced-order-independent-transparency)
* [Part 2](https://interplayoflight.wordpress.com/2023/07/30/raytraced-order-independent-transparency-part-2)

* [Physically Based Rendering in Filament](https://google.github.io/filament/Filament.md.html) by *Romain Guy* and *Mathias Agopian*

* **Probability Theory for Physically Based Rendering** by *Jacco Bikker*
* [Part 1](https://jacco.ompf2.com/2019/12/11/probability-theory-for-physically-based-rendering)
* [Part 2](https://jacco.ompf2.com/2019/12/13/probability-theory-for-physically-based-rendering-part-2)

* [Rasterising a triangle](https://jtsorlinis.github.io/rendering-tutorial) by *Jason Tsorlinis*

* [RasterTek toturials](https://rastertek.com/tutindex.html)

* **Recreating Nanite** by *Xavier Niochaut*
* [Part 1 - The Plan](https://jglrxavpok.github.io/2023/11/12/recreating-nanite-the-plan.html)
* [Part 2 - Visibility buffer](https://jglrxavpok.github.io/2023/11/26/recreating-nanite-visibility-buffer.html)
* [Part 3 - Cluster rendering](https://jglrxavpok.github.io/2023/12/07/recreating-nanite-cluster-rendering.html)
* [Part 4 - LOD generation](https://jglrxavpok.github.io/2024/01/19/recreating-nanite-lod-generation.html)
* [Part 5 - A basic material pass](https://jglrxavpok.github.io/2024/02/06/recreating-nanite-material-pass.html)
* [Part 6 - LOD generation - faster, better, simpler](https://jglrxavpok.github.io/2024/03/12/recreating-nanite-faster-lod-generation.html)
* [Part 7 - Runtime LOD selection](https://jglrxavpok.github.io/2024/04/02/recreating-nanite-runtime-lod-selection.html)
* [Part 8 - Mesh shader time](https://jglrxavpok.github.io/2024/05/13/recreating-nanite-mesh-shader-time.html)
* [Part 9 - Raytracing](https://jglrxavpok.github.io/2024/08/21/recreating-nanite-raytracing.html)

* [Software rasterizing hair](https://www.sctheblog.com/blog/hair-software-rasterize) by *Marcin Matuszczyk*

* [Texture-less Text Rendering](https://poniesandlight.co.uk/reflect/debug_print_text) by *Tim Gfrerer*

* [WebGL2 Fundamentals](https://webgl2fundamentals.org/)

### Curves and Surfaces

* [A Primer on Bézier Curves](https://pomax.github.io/bezierinfo)

* [Cubic spline interpolation](https://eli.thegreenplace.net/2023/cubic-spline-interpolation) by *Eli Bendersky*

* [Curves and Surfaces](https://ciechanow.ski/curves-and-surfaces) by *Bartosz Ciechanowski*

### DirectX 12

* [A Gentle Introduction to D3D12](https://alextardif.com/DX12Tutorial.html) by *Alex Tardif*

* **Compute with DirectX 12** by *Stefan Pijnacker*
* [Part 1: the Theory](https://www.stefanpijnacker.nl/article/compute-with-directx12-part-1)
* [Part 2: The Setup](https://www.stefanpijnacker.nl/article/compute-with-directx-12-part-2)

* [DirectX-Graphics-Samples](https://github.com/microsoft/DirectX-Graphics-Samples)

* [Getting Started With DirectX Raytracing](https://renderingpixels.com/2022/07/getting-started-with-directx-raytracing) by *Seppe Dekeyser*

* [GPU Work Graphs mesh nodes in Microsoft DirectX® 12](https://gpuopen.com/learn/work_graphs_mesh_nodes/work_graphs_mesh_nodes-intro) by *Max Oberberger*

### Image Processing

#### Dithering

* [Atkinson Dithering](https://beyondloom.com/blog/dither.html) by *John Earnest*

* [Dithering in Colour](https://obrhubr.org/dithering-in-colour) by *Niklas Oberhuber*

* [Ditherpunk — The article I wish I had about monochrome image dithering](https://surma.dev/things/ditherpunk) by *Surma*

* [Image Dithering: Eleven Algorithms and Source Code](https://tannerhelland.com/2012/12/28/dithering-eleven-algorithms-source-code.html) by *Tanner Helland*

* [Writing My Own Dithering Algorithm in Racket](https://amanvir.com/blog/writing-my-own-dithering-algorithm-in-racket) by *Amanvir Parhar*

### Metal

* [Drawing Graphics on Apple Vision with the Metal Rendering API](https://github.com/gnikoloff/drawing-graphics-on-apple-vision-with-metal-rendering-api) by *Georgi Nikolov*

* [Metal Tutorial](https://metaltutorial.com) by *Will Martin*

### OpenGL

* [A Guide to Modern OpenGL Functions](https://github.com/fendevel/Guide-to-Modern-OpenGL-Functions)

* [Best Practices for Modern OpenGL](https://juandiegomontoya.github.io/modern_opengl.html)

* [Learn OpenGL](https://learnopengl.com) by *Joey de Vries*

* [Learning Modern 3D Graphics Programming](https://paroj.github.io/gltut) by *Jason L. McKesson*

* [OGLdev: Modern OpenGL tutorials](https://ogldev.org) by *Etay Meiri*

* [OpenGL Tutorial](https://www.opengl-tutorial.org)

### Ray Tracing

* [A raycasting engine in 7 easy steps](https://austinhenley.com/blog/raycasting.html) by *Austin Z. Henley*

* [Amanatides and Woo's fast Voxel Traversal](https://m4xc.dev/articles/amanatides-and-woo)

* [Demystifying multiple importance sampling](https://lisyarus.github.io/blog/posts/multiple-importance-sampling.html) by *Nikita Lisitsa*

* [How to build a BVH](https://jacco.ompf2.com/2022/04/13/how-to-build-a-bvh-part-1-basics) by *Jacco Bikker*

* **Introduction of the Raytracing Technology**
* [Part 1](https://blog.en.uwa4d.com/2022/12/14/introduction-of-the-raytracing-technology-part-1)
* [Part 2](https://blog.en.uwa4d.com/2022/12/21/introduction-of-the-raytracing-technology-part-2)

* [Physically Based Rendering: From Theory To Implementation](https://www.pbr-book.org/) by *Matt Pharr*, *Wenzel Jakob*, and *Greg Humphreys*

* [Ray-Casting Tutorial For Game Development And Other Purposes](https://permadi.com/1996/05/ray-casting-tutorial-table-of-contents) by *F. Permadi*

* [Ray Tracing Gems](https://link.springer.com/book/10.1007/978-1-4842-4427-2) by *Eric Haines and Tomas Akenine-Möller*

* [Ray Tracing Gems II](https://link.springer.com/book/10.1007/978-1-4842-7185-8) by *Adam Marrs, Peter Shirley, and Ingo Wald*

* [Ray Tracing in One Weekend: The Book Series](https://raytracing.github.io) by *Peter Shirley*

* [Ray Tracing with Voxels in C++](https://jacco.ompf2.com/2024/04/24/ray-tracing-with-voxels-in-c-series-part-1) by *Jacco Bikker*

### Shaders

* [3D Game Shaders For Beginners](https://github.com/lettier/3d-game-shaders-for-beginners)

* **A Beginner's Guide to Coding Graphics Shaders** by *Omar Shehata*
* [Part 1](https://gamedevelopment.tutsplus.com/tutorials/a-beginners-guide-to-coding-graphics-shaders--cms-23313)
* [Part 2](https://gamedevelopment.tutsplus.com/tutorials/a-beginners-guide-to-coding-graphics-shaders-part-2--cms-24111)
* [Part 3](https://gamedevelopment.tutsplus.com/tutorials/a-beginners-guide-to-coding-graphics-shaders-part-3--cms-24351)

* **A Journey Into Shaders** by *Antoine Mayerowitz*
* [Part I: The blob](https://www.mayerowitz.io/blog/a-journey-into-shaders)

* [GM Shaders](https://gmshaders.com) - All about shaders for GameMaker!

* [Introducing GPU Reshape - shader instrumentation for everyone](https://gpuopen.com/learn/introducing-gpu-reshape-shader-instrumentation-toolset) by *Miguel Petersen*

* [Introduction to Shaders](https://www.hexaquo.at/pages/introduction-to-shaders) by *Karl Bittner*

* [Learn Shader Programming with Rick and Morty](https://danielchasehooper.com/posts/code-animated-rick) by *Daniel Hooper*

* [Mesh Shaders on RDNA™ Graphics Cards](https://gpuopen.com/learn/mesh_shaders/mesh_shaders-index) by *Max Oberberger*, *Bastian Kuth* and *Quirin Meyer*

* [On Crafting Painterly Shaders](https://blog.maximeheckel.com/posts/on-crafting-painterly-shaders)

* [Post-Processing Shaders as a Creative Medium](https://blog.maximeheckel.com/posts/post-processing-as-a-creative-medium)

* [Shaders For People Who Don't Know How To Shader](https://github.com/Xibanya/ShaderTutorials) by *Manuela Malasaña*

* [Shader Tutorials by Ronja](https://www.ronja-tutorials.com)

* [The Best Darn Grid Shader (Yet)](https://bgolus.medium.com/the-best-darn-grid-shader-yet-727f9278b9d8) by *Ben Golus*

* [The Book of Shaders](https://thebookofshaders.com/) by *Patricio Gonzalez Vivo and Jen Lowe*

### Vulkan

* [I Am Graphics And So Can You](https://www.fasterthan.life/blog) - a series of blog posts about implementing a Vulkan renderer for Doom 3 by *Dustin H. Land*

* [How I learned Vulkan and wrote a small game engine with it](https://edw.is/learning-vulkan) by *Elias Daler*

* [NVIDIA Vulkan Ray Tracing Tutorials](https://github.com/nvpro-samples/vk_raytracing_tutorial_KHR)

* [Vulkan Guide](https://vkguide.dev)

* [Vulkan Raytracing Tutorials](https://iorange.github.io)

* [Vulkan Tutorial](https://vulkan-tutorial.com) by *Alexander Overvoorde*

* [Vulkan Tutorial (Rust)](https://kylemayes.github.io/vulkanalia) by *Kyle Mayes*

### WebGPU

* [Learn WebGPU](https://eliemichel.github.io/LearnWebGPU) by *Elie Michel*

* [Learn Wgpu](https://sotrh.github.io/learn-wgpu) by *Ben Hansen*

* [Migrating from WebGL to WebGPU](https://hackernoon.com/migrating-from-webgl-to-webgpu) by *Dmitrii Ivashchenko*

* [WebGPU Fundamentals](https://webgpufundamentals.org)

* [WebGPU Unleashed: A Practical Tutorial](https://shi-yan.github.io/webgpuunleashed) by *Shi Yan*

* [Your first WebGPU app](https://codelabs.developers.google.com/your-first-webgpu-app) by *Brandon Jones* and *François Beaufort*

## Computer Networks and Network Programming

* [A comprehensive guide for Linux Network (Socket) programming](https://github.com/nguyenchiemminhvu/LinuxNetworkProgramming)

* [An Introduction to Computer Networks](http://intronetworks.cs.luc.edu/current2/html) by *Peter L. Dordal*

* [Computer Networks: A Systems Approach](https://book.systemsapproach.org) by *Larry Peterson and Bruce Davie*

* [Computer Network Tutorials](https://www.geeksforgeeks.org/computer-network-tutorials)

* [Concurrent Servers](https://eli.thegreenplace.net/2017/concurrent-servers-part-1-introduction) by *Eli Bendersky*

* [HTTP2 Explained](https://daniel.haxx.se/http2) by *Daniel Stenberg*

* [HTTP/3 explained](https://http3-explained.haxx.se) by *Daniel Stenberg*

* [Implementing TCP In Rust](https://github.com/Ghvstcode/Rust-Tcp) by *Ghvst Code*

* **Let's code a TCP/IP stack** by *Sami Niiranen*
* [Part 1: Ethernet & ARP](https://www.saminiir.com/lets-code-tcp-ip-stack-1-ethernet-arp)
* [Part 2: IPv4 & ICMPv4](https://www.saminiir.com/lets-code-tcp-ip-stack-2-ipv4-icmpv4)
* [Part 3: TCP Basics & Handshake](https://www.saminiir.com/lets-code-tcp-ip-stack-3-tcp-handshake)
* [Part 4: TCP Data Flow & Socket API](https://www.saminiir.com/lets-code-tcp-ip-stack-4-tcp-data-flow-socket-api)
* [Part 5: TCP Retransmission](https://www.saminiir.com/lets-code-tcp-ip-stack-5-tcp-retransmission)

* [Mediocre Engineer’s guide to HTTPS](https://devonperoutky.super.site/blog-posts/mediocre-engineers-guide-to-https) by *Devon Peroutky*

* [Networking 101](https://internalpointers.com/post-group/networking-101) by *Internal Pointers*

* [Visual guide to SSH tunneling and port forwarding](https://ittavern.com/visual-guide-to-ssh-tunneling-and-port-forwarding)

## Cryptography

* [A Graduate Course in Applied Cryptography](https://toc.cryptobook.us) by *Dan Boneh* and *Victor Shoup*

* [All I Know About Certificates](https://www.pixelstech.net/article/1722045726-All-I-Know-About-Certificates----Certificate-Authority) by *Ke Pi*

* [Coding Theory & Cryptography](http://www.mathstat.ualberta.ca/~bowman/m422/m422.pdf) by *John C. Bowman* **[pdf]**

* [Cryptography: An Introduction (3rd Edition)](https://www.cs.umd.edu/~waa/414-F11/IntroToCrypto.pdf) by *Nigel Smart* **[pdf]**

* [Practical Cryptography for Developers](https://cryptobook.nakov.com) by *Svetlin Nakov*

## Data Science

* [Advanced Data Science: Statistics and Prediction Algorithms Through Case Studies](https://rafalab.dfci.harvard.edu/dsbook-part-2) by *Rafael A. Irizarry*

* [Data Science at the Command Line](https://jeroenjanssens.com/dsatcl) by *Jeroen Janssens*

* [Fundamentals of Data Visualization](https://clauswilke.com/dataviz) by *Claus O. Wilke*

* [Hands-On Data Visualization](https://handsondataviz.org) by *Jack Dougherty* and *Ilya Ilyankou*

* [Introduction to Data Science: Data Wrangling and Visualization with R](https://rafalab.dfci.harvard.edu/dsbook-part-1) by *Rafael A. Irizarry*

* [Mathematical Methods in Data Science (with Python)](https://mmids-textbook.github.io) by *Sebastien Roch*

* [Mining Social Media](https://socialdata.site) by *Lam Thuy Vo*

## Debuggers

* [Debugging with GDB](https://sourceware.org/gdb/current/onlinedocs/gdb.html)

* [How Does a C Debugger Work?](https://blog.0x972.info/?d=2014/11/13/10/40/50-how-does-a-debugger-work) by *Kevin Pouget*

* [Writing a Linux Debugger](https://blog.tartanllama.xyz/writing-a-linux-debugger-setup) by *Simon Brand*

* **Writing a Debugger From Scratch** by *Tim Misiak*
* [Part 1 - Attaching to a Process](https://www.timdbg.com/posts/writing-a-debugger-from-scratch-part-1)
* [Part 2 - Register State and Stepping](https://www.timdbg.com/posts/writing-a-debugger-from-scratch-part-2)
* [Part 3 - Reading Memory](https://www.timdbg.com/posts/writing-a-debugger-from-scratch-part-3)
* [Part 4 - Exports and Private Symbols](https://www.timdbg.com/posts/writing-a-debugger-from-scratch-part-4)
* [Part 5 - Breakpoints](https://www.timdbg.com/posts/writing-a-debugger-from-scratch-part-5)
* [Part 6 - Stacks](https://www.timdbg.com/posts/writing-a-debugger-from-scratch-part-6)
* [Part 7 - Disassembly](https://www.timdbg.com/posts/writing-a-debugger-from-scratch-part-7)
* [Part 8 - Source and Symbols](https://www.timdbg.com/posts/writing-a-debugger-from-scratch-part-8)

## Databases

* [B-trees and database indexes](https://planetscale.com/blog/btrees-and-database-indexes) by *Benjamin Dicken*

* [Database Design for Google Calendar: a tutorial](https://kb.databasedesignbook.com/posts/google-calendar) by *Alexey Makhotkin*

* [Database Fundamentals](https://tontinton.com/posts/database-fundementals) by *Tony Solomonik*

* [MySQL for Developers](https://planetscale.com/courses/mysql-for-developers) by *Aaron Francis*

* [SQL for the Weary](https://gvwilson.github.io/sql-tutorial) by *Greg Wilson*

* [The Theory of Relational Databases](http://web.cecs.pdx.edu/~maier/TheoryBook/TRD.html) by *David Maier*

### Databases Development

* [Build Your Own Database From Scratch in Go](https://build-your-own.org/database) by *James Smith*

* **Build your own SQLite** by *Geoffrey Copin*
* [Part 1: Listing tables](https://blog.sylver.dev/build-your-own-sqlite-part-1-listing-tables)
* [Part 2: Scanning large tables](https://blog.sylver.dev/build-your-own-sqlite-part-2-scanning-large-tables)
* [Part 3: SQL parsing 101](https://blog.sylver.dev/build-your-own-sqlite-part-3-sql-parsing-101)
* [Part 4: reading tables metadata](https://blog.sylver.dev/build-your-own-sqlite-part-4-reading-tables-metadata)
* [Part 5: Evaluating queries](https://blog.sylver.dev/build-your-own-sqlite-part-5-evaluating-queries)

* [Build Your Own Redis with C/C++](https://build-your-own.org/redis) by *James Smith*

* [Let's Build a Simple Database](https://cstack.github.io/db_tutorial) by *Connor Stack*

### PostgreSQL

* [PostgreSQL 14 Internals](https://postgrespro.com/community/books/internals) by *Egor Rogov*

* [PostgreSQL Tutorial](https://www.postgresqltutorial.com)

* [The Internals of PostgreSQL](https://www.interdb.jp/pg) by *Hironobu Suzuki*

## Demoscene

* [Graphics Tricks from Boomers](https://arnaud-carre.github.io/2024-09-08-4ktribute) - Technical details about a 4096 bytes Atari-STE intro, by *Arnaud Carré*.

* [How a 64k intro is made](https://www.lofibucket.com/articles/64k_intro.html) by *Pekka Väänänen*

* The making of Immersion
* [Part 1: A dive into the making of Immersion](https://www.ctrl-alt-test.fr/2018/a-dive-into-the-making-of-immersion)
* [Part 2: Texturing in a 64kB intro](http://www.ctrl-alt-test.fr/2018/texturing-in-a-64kb-intro)
* [Part 3: Procedural 3D mesh generation in a 64kB intro](https://www.ctrl-alt-test.fr/2023/procedural-3d-mesh-generation-in-a-64kb-intro)

## Design Patterns

* [Data Engineering Design Patterns (DEDP)](https://www.dedp.online)

* [Data-Oriented Design](https://www.dataorienteddesign.com/dodbook) by *Richard Fabian*

* [Design Patterns & Refactoring](https://sourcemaking.com) *SourceMaking*

* [Handles are the better pointers](https://floooh.github.io/2018/06/17/handles-vs-pointers.html) by *Andre Weissflog*

* [From design patterns to category theory](https://blog.ploeh.dk/2017/10/04/from-design-patterns-to-category-theory) by *Mark Seemann*

* [Game Programming Patterns](http://www.gameprogrammingpatterns.com) by *Robert Nystrom*

* [The Architecture of Open Source Applications](http://aosabook.org/en/index.html)

## Digital Signal Processing

* [PySDR: A Guide to SDR and DSP using Python](https://pysdr.org) by *Dr. Marc Lichtman*

* [Software-Defined Radio for Engineers](https://www.analog.com/media/en/training-seminars/design-handbooks/Software-Defined-Radio-for-Engineers-2018/SDR4Engineers.pdf) by *Travis F. Collins*, *Robin Getz*, *Di Pu*, and *Alexander M. Wyglinski* **[pdf]**

* [The Scientist and Engineer's Guide to Digital Signal Processing](http://www.dspguide.com) by *Steven W. Smith, Ph.D.*

## Distributed systems

* [Distributed systems for fun and profit](https://book.mixu.net/distsys) by *Mikito Takada*

* [Implementing Raft](https://eli.thegreenplace.net/2020/implementing-raft-part-0-introduction) by *Eli Bendersky*

* [Notes on Theory of Distributed Systems](http://www.cs.yale.edu/homes/aspnes/classes/465/notes.pdf) by *James Aspnes* **[pdf]**

* [Patterns of Distributed Systems](https://martinfowler.com/articles/patterns-of-distributed-systems) by *Unmesh Joshi*

* [Testing Distributed Systems](https://asatarin.github.io/testing-distributed-systems) - Curated list of resources on testing distributed systems by *Andrey Satarin*.

## Electronics

* [ANALOG SEEKrets: DC to daylight … a master class in electronics design](https://www.eevblog.com/files/seekPDF.pdf) by *Leslie Green* **[pdf]**

* [Lessons in Electric Circuits](https://www.allaboutcircuits.com/textbook)

* [Ultimate Electronics](https://ultimateelectronicsbook.com)

## Emulators and Virtual Machines

* [5 Days To Virtualization: A Series On Hypervisor Development](https://revers.engineering/7-days-to-virtualization-a-series-on-hypervisor-development) by *Daax Rynd, Aidan Khoury and Nick Peterson*

* [GameBoy Emulation in JavaScript](http://imrannazar.com/GameBoy-Emulation-in-JavaScript:-The-CPU) by *Imran Nazar*

* **Roll your own JavaScript runtime** by *Bartek Iwańczuk*
* [Part 1](https://deno.com/blog/roll-your-own-javascript-runtime)
* [Part 2](https://deno.com/blog/roll-your-own-javascript-runtime-pt2)
* [Part 3](https://deno.com/blog/roll-your-own-javascript-runtime-pt3)

* [Write your Own Virtual Machine](https://justinmeiners.github.io/lc3-vm) by *Justin Meiners* and *Ryan Pendleton*

* [Writing NES emulator in Rust](https://bugzmanov.github.io/nes_ebook) by *Rafael Bagmanov*

## Game Programming

* [2D Game Development: From Zero To Hero](https://therealpenaz91.itch.io/2dgd-f0th) by *Daniele Penazzo*

* [3D Game Engine Programming](https://www.3dgep.com) by *Jeremiah van Oosten*

* [CSCI 181G PO: Game Engine Programming Course](https://cs.pomona.edu/classes/cs181g)

* [Game Development, Shader Coding & Artificial Intelligence](https://www.alanzucconi.com) by *Alan Zucconi*

* [How to program a text adventure in C](https://helderman.github.io/htpataic/htpataic01.html) by *Ruud Helderman*

* [Isometric Projection in Game Development](https://pikuma.com/blog/isometric-projection-in-games) by *Gustavo Pezzi*

* [Isometric Tutorials](https://clintbellanger.net/articles) by *Clint Bellanger*

* [Procedural Content Generation in Games](https://www.pcgbook.com) by *Noor Shaker*, *Julian Togelius*, and *Mark J. Nelson*

* [Retro Rampage](https://github.com/nicklockwood/RetroRampage) - A tutorial series in which you will learn how to build a Wolfenstein-like game from scratch, in Swift by *Nick Lockwood*

* [Red Blob Games](https://www.redblobgames.com) - Interactive visual explanations of math and algorithms, using motivating examples from computer games by *Amit Patel*

* [Roguelike Tutorial - In Rust](https://bfnightly.bracketproductions.com) by *Herbert Wolverson*

* [Reverse engineering the rendering of The Witcher 3](https://astralcode.blogspot.com/2018/11/reverse-engineering-rendering-of.html)

* [Terrain programmig](https://www.shamusyoung.com/twentysidedtale/?p=141) by *Shamus Young*

* [The guide to implementing 2D platformers](http://higherorderfun.com/blog/2012/05/20/the-guide-to-implementing-2d-platformers) by *Rodrigo Monteiro*

* [Scroll Back: The Theory and Practice of Cameras in Side-Scrollers](https://docs.google.com/document/d/1iNSQIyNpVGHeak6isbP6AHdHD50gs8MNXF1GCf08efg/pub) by *Itay Keren*

* [The blog of Nikita Lisitsa](https://lisyarus.github.io/blog)

* [Write a First Person Game in 2KB With Rust](https://grantshandy.github.io/posts/raycasting) by *Grant Handy*

### Game Engines

* [C# and Shader Tutorials for the Unity Engine](https://catlikecoding.com/unity/tutorials) by *Jasper Flick*

* [Godot Engine 4 Tutorials](https://catlikecoding.com/godot) by *Jasper Flick*

* [Unofficial Bevy Cheat Book](https://bevy-cheatbook.github.io)

### Game Physics

* [2D Cloth Simulation in Odin with raylib](https://www.marianpekar.com/blog/2d-cloth-simulation-in-odin-with-raylib) by *Marian Pekár*

* [Gentle Introduction to Realtime Fluid Simulation for Programmers and Technical Artists](https://shahriyarshahrabi.medium.com/gentle-introduction-to-fluid-simulation-for-programmers-and-technical-artists-7c0045c40bac) by *Shahriar Shahrabi*

* [Simulating Fluids, Fire, and Smoke in Real-Time](https://andrewkchan.dev/posts/fire.html) by *Andrew Chan*

* [Ten Minute Physics](https://matthias-research.github.io/pages/tenMinutePhysics) by *Matthias Müller*

## Geographic Information Systems

* [Computational Modelling of Terrains](https://tudelft3d.github.io/terrainbook) by *Hugo Ledoux, Ken Arroyo Ohori, Ravi Peters, and Maarten Pronk*

## GUI Programming

* [A Book about Qt5](https://qmlbook.github.io) by *Jürgen Bocklage-Ryannel* and *Johan
Thelin*

* [Minimal Cross-Platform Graphics](https://zserge.com/posts/fenster) by *Serge Zaitsev*

* [Sol on Immediate Mode GUIs](https://solhsa.com/imgui/index.html) by *Jari Komppa*

* [theForger's Win32 API Programming Tutorial](http://www.winprog.org/tutorial)

* [X Window System Basics](https://magcius.github.io/xplain/article) by *Jasper St. Pierre*

## Hardware

* [Architecture of Consoles](https://www.copetti.org/writings/consoles) by *Rodrigo Copetti*

* [Computer Architecture, Fifth Edition: A Quantitative Approach](https://dl.acm.org/doi/book/10.5555/1999263) by *John L. Hennessy* and *David A Patterson*

* [How Microchips Work](https://exclusivearchitecture.com/03-technical-articles-IC-00-table-of-contents.html)

* [Modern Microprocessors: A 90-Minute Guide!](http://www.lighterra.com/papers/modernmicroprocessors) by *Jason Robert Carey Patterson*

* [Processor Design: An Introduction](http://www.gamezero.com/team-0/articles/math_magic/micro)

* [Simple CPU design](http://simplecpudesign.com)

* [What Every Programmer Should Know About Memory](https://people.freebsd.org/~lstewart/articles/cpumemory.pdf) by *Ulrich Drepper* **[pdf]**

* [Zen, CUDA, and Tensor Cores](https://www.computerenhance.com/p/zen-cuda-and-tensor-cores-part-i) by *Casey Muratori*

## Logical Games

* [Hex: A Strategy Guide](http://www.mseymour.ca/hex_book) by *Matthew Seymour*

* [The World's Fastest Scrabble Program](https://www.cs.cmu.edu/afs/cs/academic/class/15451-s06/www/lectures/scrabble.pdf) by Andrew W. Appel and Guy J. Jacobson **[pdf]**

## Low Level Stuff

* [A gentle introduction to two's complement](https://imapenguin.com/2023/11/a-gentle-introduction-to-twos-complement) by *Michael Doornbos*

* [Beginner's Guide to Linkers](https://www.lurklurk.org/linkers/linkers.html) by *David Drysdale*

* [Computer Science from the Bottom Up](https://www.bottomupcs.com) by *Ian Wienand*

* [CPU performance optimization guide - Preface](https://gpuopen.com/learn/cpu-performance-guide/cpu-performance-guide-preface) by *Hui Zhang*
* [Part 1](https://gpuopen.com/learn/cpu-performance-guide/cpu-performance-guide-part1)

* [Floating Point Visually Explained](https://fabiensanglard.net/floating_point_visually_explained) by *Fabien Sanglard*

* [Memory Management Reference](https://www.memorymanagement.org)

* [Memory Profiling](https://easyperf.net/blog/2024/02/12/Memory-Profiling-Part1) by *Denis Bakhvalov*

* [Onboarding floating-point](https://www.altdevarts.com/p/onboarding-floating-point) by *Mike Acton*

* [Performance Analysis and Tunning on Modern CPUs](https://github.com/dendibakh/perf-book) by *Denis Bakhvalov*

* **Understanding Memory Management** by *Eric Rescorla*
* [Part 1: C](https://educatedguesswork.org/posts/memory-management-1)
* [Part 2: C++ and RAII](https://educatedguesswork.org/posts/memory-management-2)
* [Part 3: C++ Smart Pointers](https://educatedguesswork.org/posts/memory-management-3)
* [Part 4: Rust Ownership and Borrowing](https://educatedguesswork.org/posts/memory-management-4)
* [Part 5: Fighting with Rust](https://educatedguesswork.org/posts/memory-management-5)

## Math

* [3Blue1Brown lessons](https://www.3blue1brown.com/#lessons) by *Grant Sanderson*

* [A Gentle Introduction to Tensors](https://www.ese.wustl.edu/~nehorai/Porat_A_Gentle_Introduction_to_Tensors_2014.pdf) by *Boaz Porat* **[pdf]**

* [A Gentle Introduction to the Art of Mathematics](https://giam.southernct.edu/GIAM) by *Joe Fields*

* [A Programmer's Introduction to Mathematics](https://pimbook.org/) by *Jeremy Kun*

* [Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Machine Learning](https://www.cis.upenn.edu/~jean/math-deep.pdf) by *Jean Gallier* by **[pdf]**

* [Almost Sure: A random mathematical blog](https://almostsuremath.com) by *George Lowther*
* [Stochastic Calculus](https://almostsuremath.com/stochastic-calculus)
* [Probability Theory](https://almostsuremath.com/probability-theory)
* [Absolutely Sure](https://almostsuremath.com/absolutely-sure)

* [An animated introduction to Fourier Series](https://www.andreinc.net/2024/04/24/from-the-circle-to-epicycles) by *Andrei Ciobanu*

* [An Infinite Descent into Pure Mathematics](https://infinitedescent.xyz) by *Clive Newstead*

* [An Infinitely Large Napkin](https://venhance.github.io/napkin/Napkin.pdf) by *Evan Chen* **[pdf]**

* [Approved Textbooks](https://aimath.org/textbooks/approved-textbooks) of the [*American Institute of Mathematics*](https://aimath.org/)

* [Books and papers by *Professor Dimitry P. Bertsekas*](https://web.mit.edu/dimitrib/www/home.html)

* [Books by *Dr. Kenneth Kuttler*](https://klkuttler.com/)

* [Books of Shlomo Sternberg](https://people.math.harvard.edu/~shlomo/)
* [Advanced Calcululs](https://people.math.harvard.edu/~shlomo/docs/Advanced_Calculus.pdf) **[pdf]**
* [Dynamical Systems](https://people.math.harvard.edu/~shlomo/docs/dynamical_systems.pdf) **[pdf]**
* [Lie algebras](https://people.math.harvard.edu/~shlomo/docs/lie_algebras.pdf) **[pdf]**
* [Semi-classical analysis](https://people.math.harvard.edu/~shlomo/docs/Semi_Classical_Analysis_Start.pdf) by *Victor Guillemin* and *Shlomo Sternberg* **[pdf]**
* [Semi-Riemann Geometry and General Relativity](https://people.math.harvard.edu/~shlomo/docs/semi_riemannian_geometry.pdf) **[pdf]**
* [Theory of functions of a real variable](https://people.math.harvard.edu/~shlomo/docs/Real_Variables.pdf) **[pdf]**

* [Courses and lecture notes by Jeffrey Robert Chasnov](https://www.math.hkust.edu.hk/~machas/?menu=1)
* [Calculus for Engineers](https://www.math.hkust.edu.hk/~machas/calculus-for-engineers.pdf) **[pdf]**
* [Matrix Algebra for Engineers](https://www.math.hkust.edu.hk/~machas/matrix-algebra-for-engineers.pdf) **[pdf]**
* [Differential Equations for Engineers](https://www.math.hkust.edu.hk/~machas/differential-equations-for-engineers.pdf) **[pdf]**
* [Vector Calculus for Engineers](https://www.math.hkust.edu.hk/~machas/vector-calculus-for-engineers.pdf) **[pdf]**
* [Numerical Methods for Engineers](https://www.math.hkust.edu.hk/~machas/numerical-methods-for-engineers.pdf) **[pdf]**
* [Flow Around a Cylinder](https://www.math.hkust.edu.hk/~machas/flow-around-a-cylinder.pdf) **[pdf]**
* [Fibonacci Numbers and the Golden Ratio](https://www.math.hkust.edu.hk/~machas/fibonacci.pdf) **[pdf]**

* [Cournse Notes and Books by Curtis T. McMullen](https://people.math.harvard.edu/~ctm/papers/index.html#books) **[Harvard]**
* **Books**
* [Complex Dynamics and Renormalization](https://people.math.harvard.edu/~ctm/papers/home/text/papers/real/real.pdf) **[pdf]**
* [Renormalization and 3-Manifolds which Fiber over the Circle](https://people.math.harvard.edu/~ctm/papers/home/text/papers/renorm/renorm.pdf) **[pdf]**
* **Course Notes**
* [Advanced Complex Analysis](https://people.math.harvard.edu/~ctm/papers/home/text/class/harvard/213a/course/course.pdf) **[pdf]**
* [Advanced Real Analysis](https://people.math.harvard.edu/~ctm/papers/home/text/class/harvard/212b/course/course.pdf) **[pdf]**
* [Algebra and Dynamics](https://people.math.harvard.edu/~ctm/papers/home/text/class/notes/pn/course.pdf) **[pdf]**
* [Complex Analysis on Riemann Surfaces](https://people.math.harvard.edu/~ctm/papers/home/text/class/harvard/213b/course/course.pdf) **[pdf]**
* [Ergodic theory, geometry and dynamics](https://people.math.harvard.edu/~ctm/papers/home/text/class/notes/ergodic/course.pdf) **[pdf]**
* [From Conformal Invariants to Percolation](https://people.math.harvard.edu/~ctm/papers/home/text/class/harvard/219/course/course.pdf) **[pdf]**
* [Probability Theory](https://people.math.harvard.edu/~ctm/papers/home/text/class/harvard/154/course/course.pdf) **[pdf]**
* [Real Analysis](https://people.math.harvard.edu/~ctm/papers/home/text/class/harvard/114/course/course.pdf) **[pdf]**
* [Riemann surfaces, dynamics and geometry](https://people.math.harvard.edu/~ctm/papers/home/text/class/notes/rs/course.pdf) **[pdf]**
* [Sets, Groups and Knots](https://people.math.harvard.edu/~ctm/papers/home/text/class/harvard/101/course/course.pdf) **[pdf]**
* [Topology](https://people.math.harvard.edu/~ctm/papers/home/text/class/harvard/131/course/course.pdf) **[pdf]**

* [Course notes by J.S. Milne](https://www.jmilne.org/math/CourseNotes)
* [Abelian Varieties](https://www.jmilne.org/math/CourseNotes/AV.pdf) **[pdf]**
* [Algebraic Geometry](https://www.jmilne.org/math/CourseNotes/AG.pdf) **[pdf]**
* [Algebraic Number Theory](https://www.jmilne.org/math/CourseNotes/ANT.pdf) **[pdf]**
* [Class Field Theory](https://www.jmilne.org/math/CourseNotes/CFT.pdf) **[pdf]**
* [Complex Multiplication](https://www.jmilne.org/math/CourseNotes/CM.pdf) **[pdf]**
* [Fields and Galois Theory](https://www.jmilne.org/math/CourseNotes/FT.pdf) **[pdf]**
* [Group Theory](https://www.jmilne.org/math/CourseNotes/GT.pdf) **[pdf]**
* [Lectures on Etale Cohomology](https://www.jmilne.org/math/CourseNotes/LEC.pdf) **[pdf]**
* [Lie Algebras, Algebraic Groups, and Lie Groups](https://www.jmilne.org/math/CourseNotes/LAG.pdf) **[pdf]**
* [Modular Functions and Modular Forms](https://www.jmilne.org/math/CourseNotes/MF.pdf) **[pdf]**
* [Reductive Groups](https://www.jmilne.org/math/CourseNotes/RG.pdf) **[pdf]**

* [Course notes by Kenneth R. Davidson](https://www.math.uwaterloo.ca/~krdavids)
* [Measure Theory](https://www.math.uwaterloo.ca/~krdavids/MT/PMath451Notes.pdf) **[pdf]**
* [Nest Algebras](https://www.math.uwaterloo.ca/~krdavids/nestbook.html)
* [Real Analysis](https://www.math.uwaterloo.ca/~krdavids/PM351/PMath351Notes.pdf) **[pdf]**
* [Rigorous Calculus](https://www.math.uwaterloo.ca/~krdavids/M148/CalculusNotes.pdf) **[pdf]**

* [Course notes by Rajen Shah](https://www.statslab.cam.ac.uk/~rds37) **[Cambridge]**
* [Mathematics of Machine Learning](https://www.statslab.cam.ac.uk/~rds37/machine_learning.html)
* [Modern Statistical Methods](https://www.statslab.cam.ac.uk/~rds37/modern_stat_methods.html)
* [Principles of Statistics](https://www.statslab.cam.ac.uk/~rds37/PoS.html)
* [Statistical Modelling](https://www.statslab.cam.ac.uk/~rds37/statistical_modelling.html)

* [Courses notes by Tom Leinster](https://golem.ph.utexas.edu/category/2024/08/galois_theory.html)
* [Category theory](https://arxiv.org/abs/1612.09375)
* [Fourier analysis](https://www.maths.ed.ac.uk/~tl/fa/fa_notes.pdf) **[pdf]**
* [Galois theory](https://arxiv.org/abs/2408.07499)
* [General topology](https://www.maths.ed.ac.uk/~tl/topology/topology_notes.pdf) **[pdf]**
* [Linear algebra](https://www.maths.ed.ac.uk/~tl/aa/aa.pdf) by **[pdf]**

* [Everything You Always Wanted To Know About Mathematics](https://www.math.cmu.edu/~jmackey/151_128/bws_book.pdf) by *Brendan W. Sullivan with Professor John Mackey* **[pdf]**

* [How do undergraduates do mathematics?](https://www.maths.ox.ac.uk/system/files/attachments/study_public_0.pdf) **[pdf]**

* [Introduction to Applied Mathematics](https://math.dartmouth.edu/~m46s21/Script_MATH46_2020.pdf) by *Jan Glaubitz* **[pdf]**

* [Introduction to Homotopy Type Theory](https://arxiv.org/abs/2212.11082) by *Egbert Rijke*

* [Introduction to Stochastic Calculus](https://jiha-kim.github.io/posts/introduction-to-stochastic-calculus) by *Ji-Ha*

* **Lecture Notes by Jacob Shapiro**
* [Calculus 1](https://web.math.princeton.edu/~js129/PDFs/teaching/calc1_spring_2019/LectureNotes.pdf) **[pdf]**
* [Complex Analysis with Applications](https://web.math.princeton.edu/~js129/PDFs/teaching/MAT330_spring_2024/MAT330_Lecture_Notes.pdf) **[pdf]**
* [Functional Analysis](https://web.math.princeton.edu/~js129/PDFs/teaching/MAT520_fall_2023/MAT520_Lecture_Notes.pdf) **[pdf]**
* [Measure Theory](https://web.math.princeton.edu/~js129/PDFs/teaching/MAT425_spring_2025/MAT425_Lecture_Notes.pdf) **[pdf]**
* [Topics in Mathematical Physics](https://web.math.princeton.edu/~js129/PDFs/teaching/MAT595_spring_2024/MAT595_PHY508_Lecture_Notes.pdf) **[pdf]**
* [Homeworks and other courses materials](https://web.math.princeton.edu/~shapiro/teaching.html)

* [Libre Texts Math Books](https://math.libretexts.org/Bookshelves)

* [Mathematical Methods for Computer Vision, Robotics, and Graphics](https://graphics.stanford.edu/courses/cs205a-13-fall/assets/notes/cs205a_notes.pdf) by *Justin Solomon* **[pdf]**

* [Mathematical Methods for Physics](https://www.ma.imperial.ac.uk/~dturaev/Mathematical_Methods2021.pdf) by *Dmitry Turaev* **[pdf]**
* [Problem sheets and solutions](https://www.ma.imperial.ac.uk/~dturaev/phys.php)

* [Mathematics for the Physical Sciences](https://www2.math.upenn.edu/~wilf/website/Mathematics_for_the_Physical_Sciences.html) by *Herbert S. Wilf*

* [Open Mathematics Depository](https://openmathdep.tuxfamily.org)

* [Open textbooks for undergraduate mathematics](https://openaccesstexts.com/math)

* [Paul's Online Math Notes](https://tutorial.math.lamar.edu/) by *Paul Dawkins*

* [Real Not Complex](https://realnotcomplex.com) - Discover Incredible FREE Resources to Study Mathematics.

* [Texts, exercises, problems and lecture notes by John Erdman](https://web.pdx.edu/~erdman)
* [Exercises and Problems in Calculus](https://web.pdx.edu/%7Eerdman/CALCULUS/CALCULUSlicensepage.html)
* [A ProblemText in Advanced Calculus](https://web.pdx.edu/%7Eerdman/PTAC/problemtext_pdf.pdf) **[pdf]**
* [Exercises and Problems in Linear Algebra](https://web.pdx.edu/%7Eerdman/LINALG/Linalg_licensepage.html)
* [Companion to Real Analysis](https://web.pdx.edu/%7Eerdman/CRA/CRAlicensepage.html)
* [Functional Analysis and Operator Algebras: An Introduction](https://web.pdx.edu/%7Eerdman/FAOA/functional_analysis_operator_algebras_pdf.pdf) **[pdf]**

* [The Lost Art of Logarithms](https://www.lostartoflogarithms.com) by *Charles Petzold*

* [The Matrix Cookbook](https://www2.compute.dtu.dk/pubdb/pubs/3274-full.html) by *Kaare Brandt Petersen* and *Michael Syskind Pedersen*

* [The Princeton Companion to Mathematics](https://sites.math.rutgers.edu/~zeilberg/akherim/PCM.pdf) by *Timothy Gowers - editor* **[pdf]**

* [The Tensor Cookbook](https://tensorcookbook.com) by *Thomas Dybdahl Ahle*

* [Trigonometry](https://mecmath.net/trig/index.html) by *Michael Corral*

* [Undergraduate Game Theory Lecture Notes](https://tamuz.caltech.edu/teaching/ps172/lectures.pdf) by *Omer Tamuz* **[pdf]**

### Algebra

* [Algebra: An Elementary Text-Book](http://onlinebooks.library.upenn.edu/webbin/book/lookupid?key=olbp36404) by [*George Chrystal*](https://en.wikipedia.org/wiki/George_Chrystal)

* [Immersive Linear Algebra](http://immersivemath.com/ila/index.html) by *J. Ström, K. Åström, and T. Akenine-Möller*

* [Interactive Linear Algebra](http://textbooks.math.gatech.edu/ila) by *Dan Margalit and Joseph Rabinoff*

* [Intermediate Algebra](https://saylordotorg.github.io/text_intermediate-algebra/index.html) by *Saylor Academy*

* [Introduction to Abstract Algebra](https://math.berkeley.edu/~apaulin/AbstractAlgebra.pdf) by *Alexander Paulin* **[pdf]**

* [Introduction to Applied Linear Algebra – Vectors, Matrices, and Least Squares](https://web.stanford.edu/~boyd/vmls) by *Stephen Boyd* and *Lieven Vandenberghe*

* [Linear Algebra](https://www.math.ucdavis.edu/~linear/linear-guest.pdf) by *David Cherney*, *Tom Denton*,
*Rohit Thomas* and *Andrew Waldron* **[pdf]**

* [Linear Algebra, Fourth edition](https://www.cs.ox.ac.uk/files/12921/book.pdf) by *Jim Hefferon* **[pdf]**

* [Linear Algebra Done Right](https://linear.axler.net) by *Sheldon Axler*

* [Linear Algebra Done Wrong](https://www.math.brown.edu/streil/papers/LADW/LADW.html) by *Sergei Treil*

* [Linear Algebra for Computer Science](https://la4cs.com) by *Manoj Thulasidas*

* [Linear Algebra Lecture Notes by Terence Tao](https://terrytao.wordpress.com/wp-content/uploads/2016/12/linear-algebra-notes.pdf) **[pdf]** **[UCLA]**

* [Notes for Computational Linear Algebra](https://web.eecs.umich.edu/u/g/grizzle/public_html/papers/ROB_101_ComputationalLinearAlgebra_Grizzle_2020_12_15.pdf) by *Jessy Grizzle* **[pdf]**

* [Numerical Linear Algebra](https://www.csc.kth.se/~barbel/nla/notes.pdf) by *Bärbel Janssen* **[pdf]**

### Calculus

* [Advanced Multivariable Calculus](https://sites.math.washington.edu/~awaw/teaching/math224_sp23/notes.pdf) by *Alex Wang* **[pdf]**

* [Calculus](https://ocw.mit.edu/courses/res-18-001-calculus-fall-2023/pages/textbook) by *Gilbert Strang*

* [Calculus 1 for Honours Mathematics](https://math.uwaterloo.ca/~baforres/UCM137/CourseNotes/Forrest_M137CN.pdf) by *Barbara A. Forrest* and *Brian E. Forrest* **[pdf]**

* [Calculus Made Easy](http://calculusmadeeasy.org/) by [*Silvanus P. Thompson*](https://en.wikipedia.org/wiki/Silvanus_P._Thompson)

* [Calculus with Julia](https://jverzani.github.io/CalculusWithJuliaNotes.jl) by *John Verzani*

* [CLP Calculus Textbooks](https://personal.math.ubc.ca/~CLP) by *Joel Feldman*, *Andrew Rechnitzer* and *Elyse Yeager*

* [Complex Analysis](https://courses.maths.ox.ac.uk/pluginfile.php/111560/mod_resource/content/8/A2%20complex%20analysis%20*2024.pdf) by *Dmitry Belyaev* **[pdf]**
* [Problems and Solutions](https://courses.maths.ox.ac.uk/mod/assign/view.php?id=60627)

* [Elementary Calculus](https://mecmath.net/calculus/index.html) by *Michael Corral*

* [Harmonic Function Theory](https://www.axler.net/HFT.html) by *Sheldon Axler*, *Paul Bourdon*, and *Wade Ramey*

* [Integration Theory](https://www.math.chalmers.se/Math/Grundutb/GU/MMA110/A12/integration.pdf) by *Johan Jonasson* **[pdf]**

* [Introduction to Calculus](https://arachnoid.com/calculus/resources/introduction_to_calculus.pdf) by *Paul Lutus* **[pdf]**

#### Vector Calculus

* [Vector and Complex Calculus for the Physical Sciences](https://people.math.wisc.edu/~thiffeault/lecturing/321/Full321-S16.pdf) by *Fabian Waleffe* **[pdf]**

* [Vector Calculus](https://mate.unipv.it/moiola/ReaDG/VC2016/VectorCalculus_LectureNotes_2016.pdf) by *Andrea Moiola* **[pdf]**

* [Vector Calculus](https://www.damtp.cam.ac.uk/user/tong/vc/benjonathan.pdf) by *B. C. Allanacha* and *J.M. Evansa* **[pdf]**

* [Vector Calculus](https://www.damtp.cam.ac.uk/user/tong/vc/vc.pdf) by *David Tong* **[pdf]**

* [Vector Calculus](https://mecmath.net) by *Michael Corral*

### Category Theory

* [Category Theory for Programmers](https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface) by *Bartosz Milewski*

* [Category Theory for Programming](https://arxiv.org/abs/2209.01259) by *Benedikt Ahrens* and *Kobe Wullaert*

* [Category Theory Illustrated](https://boris-marinov.github.io/category-theory-illustrated) by *Boris Marinov*

* [Category Theory in Programming](https://docs.racket-lang.org/ctp/index.html) by *Noah Ma*

* [Category Theory: Lecture Notes and Online Books](https://www.logicmatters.net/categories/) - collection by *Peter Smith*

* [Pragmatic Category Theory](https://chshersh.com/blog/2024-07-30-pragmatic-category-theory-part-01.html) by *Dmitrii Kovanikov*

* [Seven Sketches in Compositionality: An Invitation to Applied Category Theory](https://ocw.mit.edu/courses/18-s097-applied-category-theory-january-iap-2019/resources/18-s097iap19textbook) by *Brendan Fong* and *David I. Spivak*

### Competitive Math

* [Mathematical Problem Solving](https://www.cip.ifi.lmu.de/~grinberg/t/20f) by *Darij Grinberg*

### Diferential Equations

* [Fourier Series & PDEs](https://courses.maths.ox.ac.uk/course/view.php?id=4942) by *Philip Maini* **[Oxford]**

### Geometry

* [Euclid's Elements](https://mathcs.clarku.edu/~djoyce/java/elements/toc.html)

* [Planes in 3D space](https://alexharri.com/blog/planes) by *Alex Harri*

* [The Foundations of Geometry](https://math.berkeley.edu/~wodzicki/160/Hilbert.pdf) by *David Hilbert* **[pdf]**

#### Diferential Geometry

* [Functional Differential Geometry](https://groups.csail.mit.edu/mac/users/gjs/6946/calculus-indexed.pdf) by *Gerald Jay Sussman* and *Jack Wisdom* with *Will Farr* **[pdf]**

* [Manifolds and Differential Forms](https://pi.math.cornell.edu/~sjamaar/manifolds/manifold.pdf) by *Reyer Sjamaar* **[pdf]**

### Graph Theory

* [An introduction to graph theory](https://arxiv.org/pdf/2308.04512.pdf) by *Darij Grinberg* **[pdf]**

* [Graph Theory and Additive Combinatorics](https://yufeizhao.com/gtacbook) by *Yufei Zhao*

### Mathematical Logic

* [forall x: Calgary: An Introduction to Formal Logic](https://forallx.openlogicproject.org) by *P. D. Magnus*, *Tim Button*, *Robert Trueman*, and *Richard Zach*

* [Lecture Notes on The Lambda Calculus](https://www.cs.cmu.edu/~fp/courses/15814-f18/lectures/Notes-15814-f18.pdf) by *Frank Pfenning* **[pdf]**

* **Notes on Mathematical Logic** by *David W. Kueker*
* [Part 1](https://math.umd.edu/~dkueker/712.pdf) **[pdf]**
* [Part 2](https://math.umd.edu/~dkueker/713.pdf) **[pdf]**

### Measure Theory

* [An Introduction to Measure Theory](https://terrytao.wordpress.com/wp-content/uploads/2012/12/gsm-126-tao5-measure-book.pdf) by *Terence Tao* **[pdf]**

* [Measure, Integration & Real Analysis](https://measure.axler.net) by *Sheldon Axler*

* [Measure Theory Princeton University MAT425 Lecture Notes](https://web.math.princeton.edu/~js129/PDFs/teaching/MAT425_spring_2025/MAT425_Lecture_Notes.pdf) **[pdf]**

### Number theory

* [Elementary Number Theory: Primes, Congruences, and Secrets](https://wstein.org/ent) by *William Stein*

* [Theory of Numbers](https://ocw.mit.edu/courses/18-781-theory-of-numbers-spring-2012) by *Prof. Abhinav Kumar*

### Operations Research

* [Applied Mathematical Programming](https://web.mit.edu/15.053/www/AMP.htm) by *Stephen P. Bradley*, *Arnoldo C. Hax*, and *Thomas L. Magnanti*

* [Arkadi Nemirovski Books and Lecture Notes on Optimization](https://www2.isye.gatech.edu/~nemirovs)

* [Introduction to Operations Research, Tenth Edition](https://s23.middlebury.edu/MATH0318A/Hillier10th.pdf) by *Frederick S. Hillier*, and *Gerald J. Lieberman* **[pdf]**

* [MOSEK Modeling Cookbook](https://docs.mosek.com/modeling-cookbook/index.html)

### Probability and Statistics

* [Advanced Probability](https://noter.math.ku.dk/vidsand12.pdf) by *Alexander Sokol* and *Anders Rønn-Nielsen* **[pdf]**

* [Bayes Rules! An Introduction to Applied Bayesian Modeling](https://www.bayesrulesbook.com/) by *Alicia A. Johnson, Miles Q. Ott, Mine Dogucu*

* [Digital textbook on probability and statistics](https://www.statlect.com) by *Marco Taboga*

* [Elementary Probability for Applications](https://sites.math.duke.edu/~rtd/EP4A/EP4A_April2021.pdf) by *Rick Durrett* **[pdf]**

* [High-Dimensional Probability: An Introduction with Applications in Data Science](https://www.math.uci.edu/~rvershyn/papers/HDP-book/HDP-book.pdf) by *Roman Vershynin* **[pdf]**

* [Introduction to Modern Statistics (2nd Ed)](https://openintro-ims2.netlify.app) by *Mine Çetinkaya-Rundel and Johanna Hardin*

* [Introduction to Probability at an advanced level](https://www.stat.berkeley.edu/~aditya/resources/FullNotes201AFall2022.pdf) by *Aditya Guntuboyina* **[pdf]**

* [Introduction to Probability for Data Science](https://probability4datascience.com/index.html) by *Stanley H. Chan*

* [Lecture Notes on Probability](https://www.tamuz.caltech.edu/teaching/ma144a/lectures.pdf) by *Omer Tamuz* **[pdf]**

* [Lecture Notes on Probability Statistics and Linear Algebra](https://people.math.harvard.edu/~knill/teaching/math19b_2011/handouts/chapters1-19.pdf) by *C. H. Taubes* **[pdf]**

* [Markov Chains for programmers](https://czekster.github.io/markov) by *Ricardo M. Czekster*

* [Modern Discrete Probability: An Essential Toolkit](https://people.math.wisc.edu/~roch/mdp) by *Sebastien Roch*

* [Notes on Probability](https://web.stanford.edu/~oas/SI/QM/notes/ProbabilityText.pdf) by *Peter J. Cameron* **[pdf]**

* [One Thousand Exercises in Probability](https://amarinoo.ir/wp-content/uploads/2023/11/One_Thousand_Exercises_in_Probability_Third_Edition_Geoffrey_Grimmett-1.pdf) by *Geoffrey R. Grimmett* and *David R. Stirzaker* **[pdf]**

* [Probability 101, the intuition behind martingales and solving problems with them](https://nor-blog.codeberg.page/posts/2022-12-31-probability-and-martingales/)

* [Probability and Statistics: The Science of Uncertainty, Second Edition](https://www.utstat.toronto.edu/mikevans/jeffrosenthal) by *Michael J. Evans* and *Jeffrey S. Rosenthal*

* [Probability and Statistics Cookbook](https://pages.cs.wisc.edu/~tdw/files/cookbook-en.pdf) by *Matthias Vallentin*

* [Probability and Statistics for Data Science](https://cims.nyu.edu/~cfgranda/pages/stuff/probability_stats_for_DS.pdf) by *Carlos Fernandez-Granda* **[pdf]**

* [Probability for Computer Scientists](https://chrispiech.github.io/probabilityForComputerScientists) by *Chris Piech*

* [Probability for Computer Scientists](https://web.stanford.edu/~mossr/pdf/p4cs.pdf) by *Robert J. Moss* **[pdf]**

* [Probability in High Dimension](https://web.math.princeton.edu/~rvan/APC550.pdf) by *Ramon van Handel* **[pdf]** **[Princeton]**

* [Probability in High Dimensions](https://tropp.caltech.edu/notes/Tro21-Probability-High-LN-corr.pdf) by *Prof. Joel A. Tropp* **[pdf]** **[Caltech]**

* [Probability Theory](https://web.stanford.edu/class/stats310a/lnotes.pdf) by *Amir Dembo* **[pdf]** **[Stanford]**
* [Other course materials](https://web.stanford.edu/class/stats310a)

* [Probability Theory & Computational Mathematics](https://tropp.caltech.edu/notes/Tro24-Probability-Theory-LN.pdf) by *Prof. Joel A. Tropp* **[pdf]** **[Caltech]**

* [Probability with Engineering Applications](https://hajek.ece.illinois.edu/ECE313Notes.html) by *Bruce Hajek*

* [Probability: Theory and Examples](https://sites.math.duke.edu/~rtd/PTE/PTE5_011119.pdf) by *Rick Durrett* **[pdf]**

* [Seeing Theory](https://seeing-theory.brown.edu) - a book about statistics with interactive visualizations by *Daniel Kunin, Jingru Guo, Tyler Dae Devlin, and Daniel Xiang*

* [Statistics and Information Theory](https://web.stanford.edu/class/stats311/lecture-notes.pdf) by *John Duchi* **[pdf]**

* [Statistics Handbook](https://github.com/carloocchiena/the_statistics_handbook) by *Carlo Occhiena*

* [Theoretical Statistics](https://www.stat.berkeley.edu/~aditya/resources/FullNotes210BSpring2018.pdf) by *Aditya Guntuboyina* **[pdf]**

* [The Truth About Linear Regression](https://www.stat.cmu.edu/~cshalizi/TALR) by *Cosma Rohilla Shalizi*

### Proofs

* [An introduction to mathematical proof](https://personal.math.ubc.ca/~PLP/assets/plp.pdf) by *Seçkin Demirbaş* and *Andrew Rechnitzer* **[pdf]**

* [An Introduction to Mathematical Reasoning](https://sites.math.washington.edu/~conroy/m300-general/ConroyTaggartIMR.pdf) by *Matthew M. Conroy* and *Jennifer L. Taggart* **[pdf]**

* [Book of Proof](https://richardhammack.github.io/BookOfProof), Third Edition by *Richard Hammack*

* [Handbook of Mathematical Proof](https://www.ams.org/open-math-notes/files/course-material/OMN-202405-111405-1-Course_notes-v1.pdf) by *Edward D. Kim* **[pdf]**

* [Mathematical Reasoning & Proofs](https://alistairsavage.ca/mat1362) by *Alistair Savage* **[University of Ottawa]**

* [Reading, Discovering and Writing Proofs](https://cs.uwaterloo.ca/~cbruni/pdfs/Math135SeptDec2015/RDW_1.pdf_) **[pdf]**

* [The Mechanics of Proof](https://hrmacbeth.github.io/math2001) by *Heather Macbeth*

### Theoretical Computer Science

* [An Introduction to Abstract Mathematics](https://www.math.uci.edu/~ndonalds/math13/notes.pdf) by *Neil Donaldson* and *Alessandra Pantano* **[pdf]**

* [Analytic Combinatorics](https://algo.inria.fr/flajolet/Publications/book.pdf) by *Philippe Flajolet* and *Robert Sedgewick* **[pdf]**

* [Busy Beavers! - An interactive intro to Computability Theory](https://tigyog.app/d/C:tWWwvJDWlo/r/busy-beavers) by *Jim Fisher*

* [Discrete Mathematical Modeling](https://sites.math.washington.edu/~billey/classes/math.381.spring.2024/course.notes/381notes.pdf) by *Prof. Sara Billey* **[pdf]**

* [Discrete Mathematics](https://www.cs.ox.ac.uk/andrew.ker/docs/discretemaths-lecture-notes-mt2010.pdf) by *Andrew D. Ker* **[pdf]**

* [Discrete Mathematics: An Open Introduction, 4th Edition](https://discrete.openmathbooks.org/dmoi4.html) by *Oscar Levin*

* [Discrete Mathematics and Its Applications, Eighth Edition](https://faculty.ksu.edu.sa/sites/default/files/%5BBook%5D%20Discrete%20mathematics%20and%20its%20applications%20%282019%29_0.pdf) by *Kenneth H. Rosen*

* [Elements of Programming](http://elementsofprogramming.com) by *Alexander Stepanov and Paul McJones*

* [Foundations of Computer Science](http://infolab.stanford.edu/~ullman/focs.html) by *[Alfred V. Aho](https://en.wikipedia.org/wiki/Alfred_Aho)* and *[Jeffrey D. Ullman](https://en.wikipedia.org/wiki/Jeffrey_Ullman)*

* [Introduction to Theoretical Computer Science](https://introtcs.org) by [*Boaz Barak*](https://en.wikipedia.org/wiki/Boaz_Barak)

* [Introduction to University Mathematics](https://courses.maths.ox.ac.uk/pluginfile.php/30903/mod_resource/content/33/Introduction%20to%20University%20Mathematics.pdf) by *Ian Hewitt* **[pdf]**

* [Mathematical Foundations of Computing](https://web.stanford.edu/class/archive/cs/cs103/cs103.1184/notes/Mathematical%20Foundations%20of%20Computing.pdf) by *Keith Schwarz* **[pdf]**

* [Mathematical Techniques for Algorithm Analysis](https://pages.cs.wisc.edu/~cs809-1/lectures.pdf) by *Eric Bach* **[pdf]**

* [Mathematical Techniques for Computer Science](https://drive.google.com/file/d/1TRs0Yfdlm7UpY1LJ80ya8rLnmsWUVFi6/view) by *Andrea Schalk* **[pdf]**

* [Mathematics for Computer Science](https://people.csail.mit.edu/meyer/mcs.pdf) by *Eric Lehman*, *F. Thomson Leighton*, and *Albert R. Meyer* **[pdf]**

* [Notation as a Tool of Thought](https://www.jsoftware.com/papers/tot.htm) by *Kenneth E. Iverson*

* [Software Foundations](https://softwarefoundations.cis.upenn.edu) - A broad introduction to the mathematical underpinnings of reliable software.

* [What Can Be Computed?: A Practical Guide to the Theory of Computation](https://www.softouch.on.ca/kb/data/What%20Can%20Be%20Computed.pdf) by *John MacCormick* **[pdf]**

### Topology

* [Algebraic Topology for Data Scientists](https://arxiv.org/abs/2308.10825) by *Michael S. Postol*

* [Computational Algebraic Topology](https://people.maths.ox.ac.uk/nanda/cat) by *Vidit Nanda*

* [General Topology](https://www.maths.ed.ac.uk/~tl/topology/topology_notes.pdf) by *Tom Leinster* **[pdf]**

* [Metric and Topological Spaces](https://www.dpmms.cam.ac.uk/~twk10/Top.pdf) by *T. W. K¨orner* **[pdf]**

* [Topology Without Tears](https://www.topologywithouttears.net) by *Sidney A. Morris*

## Multithreading and Concurrency

* [A C++17 Thread Pool for High-Performance Scientific Computing](https://arxiv.org/abs/2105.00613) by *Barak Shoshany*

* [A Science of Concurrent Programs](https://lamport.azurewebsites.net/tla/science-book.html) by *Leslie Lamport*

* [Introduction to Parallel Computing Tutorial](https://hpc.llnl.gov/documentation/tutorials/introduction-parallel-computing-tutorial)

* [Is Parallel Programming Hard, And, If So, What Can You Do About It?](https://mirrors.edge.kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html) by *Paul E. McKenney*

* [POSIX Threads Programming](https://hpc-tutorials.llnl.gov/posix) by *Blaise Barney*

* [The Deadlock Empire](https://deadlockempire.github.io)

* [The Little Book of Semaphores](https://greenteapress.com/wp/semaphores) by *Allen B. Downey*

* [What every systems programmer should know about concurrency](https://assets.bitbashing.io/papers/concurrency-primer.pdf) by *Matt Kline* **[pdf]**

## Operating Systems

* [Advanced Linux Programming](https://agabroward.org/ourpages/auto/2017/10/14/52245814/advanced-linux-programming.pdf) by *Mark Mitchell*, *Jeffrey Oldham*, and *Alex Samuel* **[pdf]**

* [Exploring Operating Systems](https://mohitmishra786.github.io/exploring-os)

* [Linux Insides](https://0xax.gitbooks.io/linux-insides/content/) by *Alex Kuleshov*

* [Making our own executable packer](https://fasterthanli.me/series/making-our-own-executable-packer) by *Amos Wenger*

* [My Own Private Binary: An Idiosyncratic Introduction to Linux Kernel Modules](https://www.muppetlabs.com/~breadbox/txt/mopb.html)

* [Operating Systems: Three Easy Pieces](https://pages.cs.wisc.edu/~remzi/OSTEP/) by *Remzi H Arpaci-Dusseau* and *Andrea C Arpaci-Dusseau*

* [Systems Programming: Lecture Notes](http://web.eecs.utk.edu/~huangj/cs360/lecture_notes.html) by *Jian Huang*

* [The Art of Unix Programming](http://www.catb.org/esr/writings/taoup/html) by *Eric Steven Raymond*

* [The Linux Documentation Project](https://tldp.org)

* [The Linux Kernel Module Programming Guide](https://sysprog21.github.io/lkmpg) by *Peter Jay Salzman, Michael Burian, Ori Pomerantz, Bob Mottram, Jim Huang*

* [Unix as IDE](https://blog.sanctum.geek.nz/series/unix-as-ide) by *Tom Ryder*

### Operating Systems Development

* [A Journey in Creating an Operating System Kernel](https://539kernel.com) by *Mohammed Q. Hussain*

* [Baking Pi – Operating Systems Development](https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os) by *Alex Chadwick*

* [Making a RISC-V Operating System using Rust](https://osblog.stephenmarz.com) by *Stephen Marz*

* **Making an RISC-V OS**
* [Part 1 - Project Setup](https://traxys.me/riscv_os_setup.html)
* [Part 2 - Kernel in virtual addresses](https://traxys.me/riscv_os_2.html)
* [Part 3 - Managing free memory](https://traxys.me/riscv_os_buddy.html)

* [Operating System development tutorials in Rust on the Raspberry Pi](https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials) by *Andre Richter*

* [Operating System in 1,000 Lines](https://operating-system-in-1000-lines.vercel.app/en) by *Seiya Nuta*

* [Operating Systems: From 0 to 1](https://tuhdo.github.io/os01) by *Tu Do*

* [OSDev.org](https://wiki.osdev.org/Expanded_Main_Page)

* [The little book about OS development](https://littleosbook.github.io) by *Erik Helin* and *Adam Renberg*

* [Writing a Simple Operating System — from Scratch](https://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf) by *Nick Blundell*

* [Writing an OS in Rust](https://os.phil-opp.com) by *Philipp Oppermann*

* [Writing an OS in Nim](https://0xc0ffee.netlify.app) by *Khaled Hammouda*

## Photography

* [Photography for geeks](https://lcamtuf.coredump.cx/photo_basics) by *Michal Zalewski*

## Physics

* [A free introduction to quantum computing and quantum mechanics](https://quantum.country) by *Andy Matuschak and Michael Nielsen*

* [An introduction to Lagrangian and Hamiltonian mechanics](https://www.macs.hw.ac.uk/~simonm/mechanics.pdf) by *Simon J.A. Malham* **[pdf]**

* [An Intuitive Guide to Maxwell’s Equations](https://photonlines.substack.com/p/an-intuitive-guide-to-maxwells-equations) by *Nick M.*

* [Applications of Classical Physics](http://pmaweb.caltech.edu/Courses/ph136/yr2012) by *Roger D. Blandford* and *Kip S. Thorne*

* [Motion Mountain](https://www.motionmountain.net) by *Christoph Schiller* - A free physics textbook
in 5 volumes.

* [Percolation Theory](https://web.mit.edu/ceder/publications/Percolation.pdf) by *Dr. Kim Christensen* **[pdf]**

* [Physics for Mathematicians](https://nicf.net/articles/physics-for-mathematicians) by *Nicolas James Marks Ford*

* [Open textbooks for undergraduate physics](https://openaccesstexts.com/physics)

* [Relativity: A Modern Primer](http://ramp-book.com) by *Kevin Han*

* [Structure and Interpretation of Classical Mechanics](https://groups.csail.mit.edu/mac/users/gjs/6946/sicm-html) by *[Gerald Jay Sussman](https://en.wikipedia.org/wiki/Gerald_Jay_Sussman)* and *[Jack Wisdom](https://en.wikipedia.org/wiki/Jack_Wisdom)* with *[Meinhard E. Mayer](https://en.wikipedia.org/wiki/Meinhard_E._Mayer)*

* [The Feynman Lectures on Physics](https://www.feynmanlectures.caltech.edu)

* [Physics-Based Simulation](https://phys-sim-book.github.io) by *Minchen Li*, *Chenfanfu Jiang*, and *Zhaofeng Luo*

## Programming languages

* [Introduction to the Theory of Programming Languages](https://bertrandmeyer.com/itpl) by *Bertrand Meyer*

### Ada

* [Ada 95: The Craft of Object-Oriented Programming](https://adaic.org/resources/add_content/docs/craft/html/contents.htm) by *John English*

* [Ada Gem Archive](https://www.adacore.com/gems)

### Assembly

* **A friendly introduction to assembly for high-level programmers** by *Manuel Spagnolo*
* [Part 1: Hello](https://shikaan.github.io/assembly/x86/guide/2024/09/16/x86-64-conditionals.html)
* [Part 2: Conditionals](https://shikaan.github.io/assembly/x86/guide/2024/09/16/x86-64-conditionals.html)

* [A fundamental introduction to x86 assembly programming](https://www.nayuki.io/page/a-fundamental-introduction-to-x86-assembly-programming) by *Nayuki*

* [FFmpeg School of Assembly Language](https://github.com/FFmpeg/asm-lessons)

* [Learn Assembly Language](https://asmtutor.com) - NASM x86 assembly language tutorial on Linux.

* [Programming from the Ground Up](https://download-mirror.savannah.gnu.org/releases/pgubook/ProgrammingGroundUp-1-0-booksize.pdf) by *Jonathan Bartlett* **[pdf]**

* **Let's Learn x86-64 Assembly!**
* [Part 0 - Setup and First Steps](https://gpfault.net/posts/asm-tut-0.txt.html)
* [Part 1 - Metaprogramming in Flat Assembler](https://gpfault.net/posts/asm-tut-1.txt.html)
* [Part 2 - We're Writing a Virtual Machine](https://gpfault.net/posts/asm-tut-2.txt.html)
* [Part 3 - Arithmetic and Logic](https://gpfault.net/posts/asm-tut-3.txt.html)

* [NASM Tutorial](https://cs.lmu.edu/~ray/notes/nasmtutorial/)

* [PC Assembly Language](https://pacman128.github.io/pcasm) by *Paul A. Carter*

* [RISC-V Assembly Programming](https://riscv-programming.org) by *Prof. Edson Borin*

* [The Art of Assembly Language](https://www.plantation-productions.com/Webster/www.artofasm.com/Linux/HTML/AoATOC.html) by *Randall Hyde*

* [Understanding Windows x64 Assembly](https://sonictk.github.io/asm_tutorial) by *Siew Yi Liang*

* [x86-64 Assembly Language Programming with Ubuntu](http://www.egr.unlv.edu/~ed/x86.html) by *Ed Jorgensen*

### Bash

* [Introduction to Bash Scripting](https://github.com/bobbyiliev/introduction-to-bash-scripting) by *Bobby Iliev*

### Basic

* [BBC BASIC for SDL 2.0](https://www.bbcbasic.co.uk/bbcsdl/index.html)

### C

* [Compiler Options Hardening Guide for C and C++](https://best.openssf.org/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C++.html)

* [Coroutines in C](https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html) by *Simon Tatham*

* [Demystifying bitwise operations, a gentle C tutorial](https://www.andreinc.net/2023/02/01/demystifying-bitwise-ops) by *Andrei Ciobanu*

* [Few lesser known tricks, quirks and features of C](https://jorenar.com/blog/less-known-c)

* [Hacktical C: A practical hacker's guide to the C programming language](https://github.com/codr7/hacktical-c)

* [How to implement a hash table (in C)](https://benhoyt.com/writings/hash-table-in-c) by *Ben Hoyt*

* [Implementing smart pointers for the C programming language](https://snai.pe/posts/c-smart-pointers)

* [Moden C](https://gustedt.gitlabpages.inria.fr/modern-c) by *Jens Gustedt*

* [Object-Oriented Programming with ANSI-C](https://www.mclibre.org/descargar/docs/libros/ooc-ats.pdf) by *Axel-Tobias Schreiner* **[pdf]**

* [So You Think You Know C?](https://wordsandbuttons.online/SYTYKC.pdf) by *Oleksandr Kaleniuk* **[pdf]**

* [The C Book](https://publications.gbdirect.co.uk/c_book) by *Mike Banahan*, *Declan Brady* and *Mark Doran*

* [The Lost Art of Structure Packing](http://www.catb.org/esr/structure-packing) by *Eric S. Raymond*

* [Writing a Simple Garbage Collector in C](http://maplant.com/gc.html) by *Matthew Plant*

### C++

* [C++ Core Guidelines](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines) by *Bjarne Stroustrup* and *Herb Sutter*

* **C++ exceptions uner the hood** by *Nicolás Brailovsky*
* [Part 1](https://nicolasbrailo.github.io/blog/2013/2.html#cexceptionsunderthehood)
* [Part 2: A tiny ABI](https://nicolasbrailo.github.io/blog/2013/2.html#cexceptionsunderthehoodiiatinyabi)
* [Part 3: An ABI to appease the linker](https://nicolasbrailo.github.io/blog/2013/2.html#cexceptionsunderthehood3anabitoappeasethelinker)
* [Part 4: Catching what you throw](https://nicolasbrailo.github.io/blog/2013/2.html#cexceptionsunderthehood4catchingwhatyouthrow)
* [Part 5: Magic around __cxa_begin_catch and __cxa_end_catch](https://nicolasbrailo.github.io/blog/2013/3.html#cexceptionsunderthehood5magicaround__cxa_begin_catchand__cxa_end_catch)
* [Part 6: gcc_except_table and the personality function](https://nicolasbrailo.github.io/blog/2013/3.html#cexceptionsunderthehood6gcc_except_tableandthepersonalityfunction)
* [Part 7: A nice personality](https://nicolasbrailo.github.io/blog/2013/3.html#cexceptionsunderthehood7anicepersonality)
* [Part 8: Two-phase handling](https://nicolasbrailo.github.io/blog/2013/3.html#cexceptionsunderthehood8twophasehandling)
* [Part 9: Catching our first exception](https://nicolasbrailo.github.io/blog/2013/4.html#cexceptionsunderthehood9catchingourfirstexception)
* [Part 10: Unwind and call frame info](https://nicolasbrailo.github.io/blog/2013/4.html#cexceptionsunderthehood10unwindandcallframeinfo)
* [Part 11: Reading a CFI table](https://nicolasbrailo.github.io/blog/2013/4.html#cexceptionsunderthehood11readingacfitable)
* [Part 12: And suddenly, reflexion in C++](https://nicolasbrailo.github.io/blog/2013/4.html#cexceptionsunderthehood12andsuddenlyreflexioninc)
* [Part 13: Setting the context for a landing pad](https://nicolasbrailo.github.io/blog/2013/4.html#cexceptionsunderthehood13settingthecontextforalandingpad)
* [Part 14: Multiple landing pads & the teachings of the guru](https://nicolasbrailo.github.io/blog/2013/4.html#cexceptionsunderthehood14multiplelandingpadstheteachingsoftheguru)
* [Part 15: Finding the right landing pad](https://nicolasbrailo.github.io/blog/2013/5.html#cexceptionsunderthehood15findingtherightlandingpad)
* [Part 16: Finding the right catch in a landing](https://nicolasbrailo.github.io/blog/2013/5.html#cexceptionsunderthehood16findingtherightcatchinalanding)
* [Part 17: Reflecting on an exception type and reading .gcc_except_table](https://nicolasbrailo.github.io/blog/2013/5.html#cexceptionsunderthehood17reflectingonanexceptiontypeandreading.gcc_except_table)
* [Part 18: Getting the right stack frame](https://nicolasbrailo.github.io/blog/2013/5.html#cexceptionsunderthehood18gettingtherightstackframe)
* [Part 19: Getting the right catch in a landing pad](https://nicolasbrailo.github.io/blog/2013/5.html#cexceptionsunderthehood19gettingtherightcatchinalandingpad)
* [Part 20: Running destructors while unwinding](https://nicolasbrailo.github.io/blog/2013/5.html#cexceptionsunderthehood20runningdestructorswhileunwinding)
* [Part 21: A summary and some final thoughts](https://nicolasbrailo.github.io/blog/2013/6.html#cexceptionsunderthehood21asummaryandsomefinalthoughts)
* [Appendix I: The true cost of an exception](https://nicolasbrailo.github.io/blog/2013/6.html#cexceptionsunderthehoodappendixithetruecostofanexception)
* [Appendix II: Metaclasses and RTTI on C++](https://nicolasbrailo.github.io/blog/2013/6.html#cexceptionsunderthehoodappendixiimetaclassesandrttionc)
* [Appendix III: RTTI and exceptions orthogonality](https://nicolasbrailo.github.io/blog/2013/7.html#cexceptionsunderthehoodappendixiiirttiandexceptionsorthogonality)

* [C++ Stories](https://www.cppstories.com) by *Bartłomiej Filipek*

* [C++20 Coroutines: sketching a minimal async framework](https://www.jeremyong.com/cpp/2021/01/04/cpp20-coroutines-a-minimal-async-framework) by *Jeremy Ong*

* [C++20 Concepts: The Definitive Guide](https://thecodepad.com/cpp/c20-concepts-the-definitive-guide) by *Rajat Jain*

* [Effective Modern C++](https://ia902804.us.archive.org/23/items/EffectiveModernC/Effective-Modern-C%2B%2B.pdf) by *Scott Meyers* **[pdf]**

* [Fiber in C++: Understanding the Basics](https://agraphicsguynotes.com/posts/fiber_in_cpp_understanding_the_basics) by *Jiayin Cao*

* [Hacking C++](https://hackingcpp.com)

* [Learn C++](https://www.learncpp.com)

* [Microsoft C++ language documentation](https://docs.microsoft.com/en-us/cpp/cpp)

* [Modernes C++](https://www.modernescpp.com/index.php/table-of-content-2) by *Rainer Grimm*

* [My Favorite C++ Pattern: X Macros](https://danilafe.com/blog/chapel_x_macros) by *Daniel Fedorin*

* [Philosophy of coroutines](https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/coroutines-philosophy) by *Simon Tatham*

* [The Boost C++ Libraries](https://theboostcpplibraries.com) by *Boris Schäling*

### CMake

* [An Introduction to Modern CMake](https://cliutils.gitlab.io/modern-cmake/README.html) by *Henry Schreiner*

### Cuda

* [How To Write A Fast Matrix Multiplication From Scratch With Tensor Cores](https://alexarmbr.github.io/2024/08/10/How-To-Write-A-Fast-Matrix-Multiplication-From-Scratch-With-Tensor-Cores.html) by *Alex Armbruster*

### D

* [Programming in D](http://ddili.org/ders/d.en/index.html) by *Ali Çehreli*

### Datalog

* [Learn Datalog Today](https://www.learndatalogtoday.org) by *Jonas Enlund*

### Erlang

* [Adopting Erlang](https://adoptingerlang.org) by *Tristan Sloughter*, *Fred Hebert*, and *Evan Vigil-McClanahan*

* [Learn You Some Erlang for great good!](https://learnyousomeerlang.com) by *Fred Hebert*

* [Stuff Goes Bad: Erlang in Anger](https://www.erlang-in-anger.com) by *Fred Hebert*

### Forth

* [Starting FORTH](https://www.forth.com/starting-forth) by *Leo Brodie*

* [Thinking Forth](https://www.forth.com/wp-content/uploads/2018/11/thinking-forth-color.pdf) by *Leo Brodie* **[pdf]**

### Go

* [Go Optimization Guide](https://goperf.dev) by *Alexander Stavonin*

* [Practical Go Lessons](https://www.practical-go-lessons.com) by *Maximilien Andile*

* [REST Servers in Go](https://eli.thegreenplace.net/2021/rest-servers-in-go-part-1-standard-library) by *Ely Bendersky*

### Haskell

* [Learn Haskell by building a blog generator](https://lhbg-book.link/) *Gil Mizrahi*

* [Learn You a Haskell for Great Good!](http://learnyouahaskell.com) by *Miran Lipovača*

* [Monads for functional programming](https://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf) by *Philip Wadler* **[pdf]**

* [Monday Morning Haskell](https://mmhaskell.com)

* [Real World Haskell](http://book.realworldhaskell.org) by *Bryan O'Sullivan, Don Stewart, and John Goerzen*

### Java

* [How to Design Classes](https://felleisen.org/matthias/HtDC/htdc.pdf) by *Matthias Felleisen, Matthew Flatt, Robert Bruce Findler, Kathryn E. Gray, Shriram Krishnamurthi and Viera K. Proulx* **[pdf]**

### JavaScript

* [Eloquent JavaScript](https://eloquentjavascript.net) by *Marijn Haverbeke*

* [Exploring JS: JavaScript books for programmers](https://exploringjs.com) by *Dr. Axel Rauschmayer*

* [Structure and Interpretation of Computer Programs — JavaScript Edition](https://sourceacademy.org/sicpjs) by
- *Harold Abelson and Gerald Jay Sussman with Julie Sussman* — original authors
- *Martin Henz and Tobias Wrigstad with Julie Sussman* — adapters to JavaScript
- *Samuel Fang* — designer and developer of this Interactive SICP JS edition

* [The Modern JavaScript Tutorial](https://javascript.info) by *Ilya Kantor*

* [Mostly adequate guide to FP (in JavaScript)](https://mostly-adequate.gitbook.io/mostly-adequate-guide)

### Lean

* [Functional Programming in Lean](https://leanprover.github.io/functional_programming_in_lean) by *David Thrane Christiansen*

### Lisp dialects

#### Clojure

* [Babashka Babooka: Write Command-Line Clojure](https://www.braveclojure.com/quests/babooka) by *Daniel Higginbotham*

* [Clojure for the Brave and True](https://www.braveclojure.com/) by *Daniel Higginbotham*

#### Common Lisp

* **Gamedev in Lisp** by *Andrew Kravchuk*
* [Part 1: ECS and Metalinguistic Abstraction](https://gitlab.com/lockie/cl-fast-ecs/-/wikis/tutorial-1)
* [Part 2: Dungeons and Interfaces](https://gitlab.com/lockie/cl-fast-ecs/-/wikis/tutorial-2)

* [Learn Lisp The Hard Way](https://llthw.common-lisp.dev) by *"the Phoeron" Colin J.E. Lupton*

* [On Lisp](https://www.paulgraham.com/onlisptext.html) by *Paul Graham*

* [Practical Common Lisp](https://gigamonkeys.com/book) by *Peter Seibel*

* [Successful Lisp: How to Understand and Use Common Lisp](https://dept-info.labri.fr/~strandh/Teaching/MTP/Common/David-Lamkins/cover.html) by *David B. Lamkins*

* [The Common Lisp Cookbook](https://lispcookbook.github.io/cl-cookbook)

* [Typed Lisp, A Primer](http://alhassy.com/TypedLisp) by *Musa Al-hassy*

#### Racket

* **A Functional Introduction To Computer Science** by *Prabhakar Ragde*
- [Part I](https://cs.uwaterloo.ca/~plragde/flaneries/FICS)
- [Part II](https://cs.uwaterloo.ca/~plragde/flane/FICS2)

* [Beautiful Racket](https://beautifulracket.com/) by *Matthew Butterick*

* [How to Design Programs](https://htdp.org/), Second Edition by *Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi*

* [Programming Languages: Application and Interpretation](https://www.plai.org) by *Shriram Krishnamurthi*

#### Scheme

* [Structure and Interpretation of Computer Programs](https://xuanji.appspot.com/isicp/index.html) by *Harold Abelson and Gerald Jay Sussman with Julie Sussman*

* [(learn 'scheme)](https://jaredkrinke.github.io/learn-scheme) by *Jared Krinke*

### Nim

* [Computer Programming with the Nim Programming Language](https://ssalewski.de/nimprogramming.html) by *Dr. Stefan Salewski*

### OCaml

* [OCaml Programming: Correct + Efficient + Beautiful](https://cs3110.github.io/textbook/cover.html) by *Michael R. Clarkson*

* [Real World OCaml](https://dev.realworldocaml.org) by *Yaron Minsky*, *Anil Madhavapeddy* and *Jason Hickey*

### Oberon-2

* [Object-Oriented Programming in Oberon-2](https://ssw.jku.at/Research/Books/Oberon2.pdf) by *Hanspeter Mössenböck* **[pdf]**

### Odin

* ["Handles are the better pointers": An Odin gamedev follow-up](https://zylinski.se/posts/handle-based-arrays) by *Karl Zylinski*

* [Introduction to the Odin Programming Language](https://zylinski.se/posts/introduction-to-odin) by *Karl Zylinski*

* [Mistakes and cool things to do with arena allocators](https://zylinski.se/posts/dynamic-arrays-and-arenas) by *Karl Zylinski*

### Pascal

* [Modern Object Pascal Introduction for Programmers](https://castle-engine.io/modern_pascal_introduction.html) by *Michalis Kamburelis*

### PostScript

* [Learning PostScript by Doing](https://staff.science.uva.nl/a.j.p.heck/Courses/Mastercourse2005/tutorial.pdf) by *Andre Heck* **[pdf]**

### Prolog

* [The Power of Prolog](https://www.metalevel.at/prolog) by *Markus Triska*

* [Game Programming in Prolog](https://thingspool.net/morsels/list.html) by *Youngjin Kang*

### Pyret

* [Programming and Programming Languages](https://papl.cs.brown.edu/2020) by *Shriram Krishnamurthi, Benjamin S. Lerner, Joe Gibbs Politz, Kathi Fisler*

* [A Data-Centric Introduction to Computing](https://dcic-world.org/2022-08-28/index.html) by *Kathi Fisler, Shriram Krishnamurthi, Benjamin S. Lerner, Joe Gibbs Politz*

### Python

* [30 Days Of Python](https://github.com/Asabeneh/30-Days-Of-Python) by *Asabeneh*

* [Architecture Patterns with Python](https://www.cosmicpython.com) by *Harry Percival* and *Bob Gregory*

* [Automate the Boring Stuff with Python](https://automatetheboringstuff.com/2e) by *Al Sweigart*

* [Composing Programs](https://www.composingprograms.com) by *John DeNero*

* [Computational Discovery on Jupyter](https://computational-discovery-on-jupyter.github.io/Computational-Discovery-on-Jupyter) by *Rob Corless*

* [Data Structures and Information Retrieval in Python](https://allendowney.github.io/DSIRP) by *Allen B. Downey*

* [From Python to Numpy](https://www.labri.fr/perso/nrougier/from-python-to-numpy) by *Nicolas P. Rougier*

* [Full Stack Python](https://www.fullstackpython.com) by *Matt Makai*

* [How Python Asyncio Works: Recreating it from Scratch](https://jacobpadilla.com/articles/recreating-asyncio) by *Jacob Padilla*

* [How to Think Like a Computer Scientist: Interactive Edition](https://levjj.github.io/thinkcspy) by *Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers*

* [Introduction to Python Programming](https://assets.openstax.org/oscms-prodcms/media/documents/Introduction_to_Python_Programming_-_WEB.pdf) by *Udayan Das*, *Aubrey Lawson*, *Chris Mayfield*, *Narges Norouzi* **[pdf]**

* [Learn Python the Right Way](https://learnpythontherightway.com)

* [NumPy Illustrated: The Visual Guide to NumPy](https://betterprogramming.pub/numpy-illustrated-the-visual-guide-to-numpy-3b1d4976de1d) by *Lev Maximov*

* [Pandas Illustrated: The Definitive Visual Guide to Pandas](https://betterprogramming.pub/pandas-illustrated-the-definitive-visual-guide-to-pandas-c31fa921a43) by *Lev Maximov*

* [Practical Python Programming](https://dabeaz-course.github.io/practical-python/Notes/Contents.html) by *David Beazley*

* [Python & OpenGL for Scientific Visualization](https://www.labri.fr/perso/nrougier/python-opengl) by *Nicolas P. Rougier*

* [Python Asyncio: The Complete Guide](https://superfastpython.com/python-asyncio) by *Jason Brownlee*

* [Python Data Science Handbook](https://jakevdp.github.io/PythonDataScienceHandbook) by *Jake VanderPlas*

* [Python Design Patterns](https://python-patterns.guide) by *Brandon Rhodes*

* [Python for Data Analysis, 3rd edition](https://wesmckinney.com/book) by *Wes McKinney*

* [Scientific Visualization: Python + Matplotlib](https://github.com/rougier/scientific-visualization-book) by *Nicolas Rougier*

* [Test-Driven Development with Python](http://www.obeythetestinggoat.com/pages/book.html) by *Harry Percival*

* [The Ultimate Guide to Error Handling in Python](https://blog.miguelgrinberg.com/post/the-ultimate-guide-to-error-handling-in-python) by *Miguel Grinberg*

* [Think Python, 2nd Edition](https://greenteapress.com/wp/think-python-2e) by *Allen B. Downey*

* [Think Python, 3rd Edition](https://allendowney.github.io/ThinkPython/index.html) by *Allen B. Downey*

### R

* [Big Book of R](https://www.bigbookofr.com) by *Oscar Baruffa*

* [Efficient R programming](https://csgillespie.github.io/efficientR) by *Colin Gillespie* and *Robin Lovelace*

* [R for Data Science (2e)](https://r4ds.hadley.nz) *Hadley Wickham*, *Mine Cetinkaya-Rundel*, *Garrett Grolemund*

### Regular expressions

* [Implementing Regular Expressions](https://swtch.com/~rsc/regexp) by *Russ Cox*

* [Learn RegEx step by step, from zero to advanced](https://regexlearn.com/)

* [RegexOne](https://regexone.com)

* [Regular-Expressions.info](https://www.regular-expressions.info) by *Jan Goyvaerts*

* [Rex Eats Regular Expressions for Breakfast](https://www.rexegg.com)

### Ruby

* [Building Games with DragonRuby](https://book.dragonriders.community) by *Brett Chalupa*

* [Ruby Hacking Guide](https://ruby-hacking-guide.github.io)

### Rust

* [100 Exercises To Learn Rust](https://rust-exercises.com)

* [A Gentle Introduction to Rust](https://stevedonovan.github.io/rust-gentle-intro/readme.html) by *Steve Donovan*

* [Async Rust in Three Parts](https://jacko.io/async_intro.html) by *Jack O'Connor*

* [Asynchronous Programming in Rust](https://rust-lang.github.io/async-book)

* [Beginner's guide to Error Handling in Rust](https://www.sheshbabu.com/posts/rust-error-handling) by *Shesh Babu*

* [Clear explanation of Rust’s module system](https://www.sheshbabu.com/posts/rust-module-system) by *Shesh Babu*

* [Comprehensive Rust](https://google.github.io/comprehensive-rust)

* [Dependency Injection like Bevy Engine from Scratch](https://promethia-27.github.io/dependency_injection_like_bevy_from_scratch)

* [Effective Rust](https://www.lurklurk.org/effective-rust) by *David Drysdale*

* [Exploring ways to make async Rust easier](https://carllerche.com/2021/06/17/six-ways-to-make-async-rust-easier) by *Carl Lerche*

* [Learning Async Rust With Entirely Too Many Web Servers](https://ibraheem.ca/posts/too-many-web-servers) by *Ibraheem Ahmed*

* [No-Panic Rust: A Nice Technique for Systems Programming](https://blog.reverberate.org/2025/02/03/no-panic-rust.html) by *Josh Haberman*

* [Rust Atomics and Locks: Low-Level Concurrency in Practice](https://marabos.nl/atomics) by *Mara Bos*

* [Rust Language Cheat Sheet](https://cheats.rs)

* [Things you can’t do in Rust (and what to do instead)](https://blog.logrocket.com/what-you-cant-do-in-rust-and-what-to-do-instead)

### Smalltalk

* [Smalltalk Resources](https://smalltalk.tech.blog/resources) - A list of free smalltalk books.

### Zig

* [Learning Zig](https://www.openmymind.net/learning_zig) by *Karl Seguin*

## Retrocomputing

* [A Guide to the Graphics of the Sega Mega Drive / Genesis](https://rasterscroll.com/mdgraphics)

* [Books by Fabien Sanglard](https://fabiensanglard.net/three_books_update/index.html)
- **Game Engine Black Book: Wolfenstein 3D**
- **Game Engine Black Book: DOOM**
- **The Book of CP-System**

* [Easy 6502](https://skilldrick.github.io/easy6502) by *Nick Morgan*

* [Famicom Party: Making NES Games in Assembly](https://famicom.party/book) by *Kevin Zurawel*

* [Gameboy Technical Reference for Homebrew Developers](https://gbdev.io/pandocs)

* [How PlayStation Graphics & Visual Artefacts Work](https://pikuma.com/blog/how-to-make-ps1-graphics) by *Gustavo Pezzi*

* [jsgroth's blog](https://jsgroth.dev/blog)

* [Learn Multiplatform Assembly Programming](https://www.chibiakumas.com) by *ChibiAkumas*

* [How pseudo-3d racing games work](http://www.extentofthejam.com/pseudo) by *Louis Gorenfeld*

* [Mark Moxon's Software Archaeology](https://www.bbcelite.com) - Fully documented source code for Elite, Revs, Lander, Aviator and more

* [MarkeyJester’s Motorola 68000 Beginner’s Tutorial](https://mrjester.hapisan.com/04_MC68)

* [Michael Abrash’s Graphics Programming Black Book, Special Edition](https://www.jagregory.com/abrash-black-book) by *Michael Abrash*

* [NeHe OpenGL Tutorials](https://nehe.gamedev.net)

* [Portals and Quake](https://30fps.net/pages/pvs-portals-and-quake) by *Pekka Väänänen*

* [Retro Game Coders](https://retrogamecoders.com)

* [Usborne 1980s Computer Books](https://usborne.com/row/books/computer-and-coding-books)

### Adevent of code on retro machines

* [Advent of Code 2022 on a MikroMikko 4TT m326](http://clb.confined.space/aoc2022) by *Jukka Jylänki*

* [Advent Of Code 2023 on a Commodore 64](http://clb.confined.space/aoc2023) by *Jukka Jylänki*

### Apple II

* [Apple II Documentation Project](http://mirrors.apple2.org.za/Apple%20II%20Documentation%20Project)

* [Apple II graphics: More than you wanted to know](https://nicole.express/2024/phasing-in-and-out-of-existence.html)

* [Neil Parker's Apple II page](https://llx.com/Neil/a2/index.html)

### Commodore 64

* [An Afterlife User's Guide to the C64](http://www.c64os.com/c64os/afterlifeguide) by *Gregorio Naçu*

* [C64 OS Programmer's Guide](https://www.c64os.com/c64os/programmersguide) by *Gregorio Naçu*

* [Commodore 64 Guides](https://pickledlight.blogspot.com/p/commodore-64-guides.html)

* [Commodore Bookmarks](https://commodore.bookmark.computer) - Bookmarks for the Commodore 64, 128, Plus4, C16, VIC20 & PET Community.

* [The Lost Ways of Programming: Commodore 64 BASIC](http://tomasp.net/commodore64) by *Tomas Petricek*

### DOS

* [256-Color VGA Programming in C](http://www.brackeen.com/vga/index.html) by *David Brackeen*

* [Beyond the 1 MB barrier in DOS](https://blogsystem5.substack.com/p/beyond-the-1-mb-barrier-in-dos) by *Julio Merino*

* [From 0 to 1 MB in DOS](https://blogsystem5.substack.com/p/from-0-to-1-mb-in-dos) by *Julio Merino*

* [How Cosmo’s Cosmic Adventure DOS game works?](https://cosmodoc.org)

### Mega 65

* [MEGA65 Documentation](https://files.mega65.org/manuals-upload)

* [MEGA65 Welcome Guide](https://dansanderson.com/mega65/welcome/index.html) by *Dan Sanderson*

### ZX Spectrum and Z80 CPU

* [First Steps in Z80 Assembly Language](http://ped.7gods.org/z80.pdf) by *Darryl Sloan* **[pdf]**

* [How to Write ZX Spectrum Games](https://spectrumcomputing.co.uk/zxdb/sinclair/entries/2001501/HowToWriteSpectrumGames%28v1.0%29.pdf) by *Jonathan Cauldwell* **[pdf]**

* [Sinclair ZX Spectrum BASIC programming](http://zxnext.narod.ru/manuals/Basic_Programming.pdf) by *Steven Vicker* **[pdf]**

* [Z80 User's Manual](https://zany80.github.io/documentation/Z80/UserManual.html)

* [ZX Spectrum Next: Assembly Developer Guide](https://github.com/tomaz/zx-next-dev-guide) by *Tomaz Kragelj*

## Reverse engineering

* [Applied Reverse Engineering Series](https://revers.engineering/applied-reverse-engineering-series) by *Daax Rynd, Aidan Khoury and Nick Peterson*

* [Reverse Engineering for Beginners](https://beginners.re) by *Dennis Yurichev*

* [Reverse Engineering For Everyone](https://0xinfection.github.io/reversing) by *Kevin Thomas*

* [Reversing for dummies - x86 assembly and C code](https://0x44.cc/reversing/2021/07/21/reversing-x86-and-c-code-for-beginners.html) by *Sami Alaoui*

* [Linux Reverse Engineering CTFs for Beginners](https://osandamalith.com/2019/02/11/linux-reverse-engineering-ctfs-for-beginners)

## Robotics

* [Introduction to Autonomous Robots](https://introduction-to-autonomous-robots.github.io) by *Nikolaus Correll, Bradley Hayes, Christoffer Heckman, and Alessandro Roncone*

* [Modern Robotics: Mechanics, Planning, and Control](http://hades.mech.northwestern.edu/index.php/Modern_Robotics) by *Kevin M. Lynch* and *Frank C. Park*

* [The open online robotics education resource](https://robotacademy.net.au)

* [Underactuated Robotics](https://underactuated.mit.edu/) by *Russ Tedrake*

## SIMD programming

[ARM NEON for C++ Developers](http://const.me/articles/simd/NEON.pdf) **[pdf]**

[Designing a SIMD Algorithm from Scratch](https://mcyoung.xyz/2023/11/27/simd-base64) by *Miguel Young de la Sota*

[SIMD for C++ Developers](http://const.me/articles/simd/simd.pdf) **[pdf]**

## System programming

* [Lord of the io_uring](https://unixism.net/loti/index.html) by *Shuveb Hussain*

## Text editors

* [Build Your Own Text Editor](https://viewsourcecode.org/snaptoken/kilo)

* [Design and Implementation of a Win32 Text Editor](https://www.catch22.net/tuts/neatpad) by *James Brown*

* [Text Buffer Reimplementation](https://code.visualstudio.com/blogs/2018/03/23/text-buffer-reimplementation) by *Peng Lyu*

* [Text Editor: Data Structures](https://www.averylaird.com/programming/the%20text%20editor/2017/09/30/the-piece-table.html) by *Avery Laird*

### Emacs

* **Emacs Config From Scratch** by *Arne Bahlo*
* [Part 1: Foundations](https://arne.me/articles/emacs-from-scratch-part-one-foundations)
* [Part 2: Projects and Keybindings](https://arne.me/articles/emacs-from-scratch-part-two)
* [Part 3: LSP & Tree-sitter](https://arne.me/blog/emacs-config-from-scratch-part-three)

* [Emacs Lisp Elements](https://protesilaos.com/emacs/emacs-lisp-elements) by *Protesilaos*

* **Emacs Mini Manual** by *Tu Do*
* [Part 1: The Basics](https://tuhdo.github.io/emacs-tutor.html)
* [Part 2: Lisp Primer - Why Parentheses Matter](https://tuhdo.github.io/emacs-tutor2.html)
* [Part 3: Customizing and Extending Emacs](https://tuhdo.github.io/emacs-tutor3.html)
* [C/C++ Development Environment for Emacs](https://tuhdo.github.io/c-ide.html)

* [How to learn Emacs](https://david.rothlis.net/emacs/howtolearn.html) by *David Röthlisberger*

* [Use GNU Emacs: The Plain Text Computing Environment](https://www2.lib.uchicago.edu/keith/emacs) by *Keith Waclena*

### Vim

* [Interactive Vim Tutorial](https://www.openvim.com) by *Henrik Huttunen*

* [Learn Vim (the Smart Way)](https://github.com/iggredible/Learn-Vim) by *Igor Irianto*

* [The Vi/Ex Editor](https://www.ele.uri.edu/faculty/vetter/Other-stuff/vi/009-index.html) by *Walter Alan Zintz*

* [Vim from the ground up](https://thevaluable.dev/vim-commands-beginner) by *Matthieu Cneude*

* [Vim Reference Guide](https://learnbyexample.github.io/vim_reference) by *Sundeep Agarwal*

## Unicode

* [Programming with Unicode](https://unicodebook.readthedocs.io) by *Victor Stinner*

* [The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets](https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses) by *Joel Spolsky*

* [The Absolute Minimum Every Software Developer Must Know About Unicode in 2023](https://tonsky.me/blog/unicode) by *Nikita Prokopov*

* [Unicode programming, with examples](https://begriffs.com/posts/2019-05-23-unicode-icu.html) by *Joe Nelson*

## Version control tools

* [Git from the Bottom Up](https://jwiegley.github.io/git-from-the-bottom-up) by *John Wiegley*

* [Learn the workings of Git, not just the commands](https://developer.ibm.com/tutorials/d-learn-workings-git) by *Andre Fachat*

## Web programming

* [A book about using Node.js](https://book.mixu.net/node) by *Mikito Takada*

* [FastCGI — The Forgotten Treasure](http://www.nongnu.org/fastcgi) by *Peter Simons and Ralph Babel*

* [HTML for People](https://htmlforpeople.com) by *Blake Watson*

* [Implementing React From Scratch](https://www.rob.directory/blog/react-from-scratch#conditional-elements) by *Robby Pruzan*

* [Intro to Web Dev](https://btholt.github.io/intro-to-web-dev-v2)

* [Josh Comeau's Website](https://www.joshwcomeau.com)

* [Modern JavaScript for Django Developers](https://www.saaspegasus.com/guides/modern-javascript-for-django-developers)

* [Single page apps in depth](https://singlepageappbook.com/) by *Mikito Takada*

* [The Copenhagen Book](https://thecopenhagenbook.com) - A general guideline on implementing auth in web applications.

* [The Flask Mega-Tutorial](https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world) by *Miguel Grinberg*

* [What happens when you type google.com into your browser's address box and press enter?](https://github.com/alex/what-happens-when) by *Alex Gaynor*

### CSS

* [A Complete Guide to CSS Grid](https://css-tricks.com/snippets/css/complete-guide-grid) by *Chris House*

* [Learn CSS Layout the pedantic way](https://book.mixu.net/css) by *Mikito Takada*

* [Modern CSS Solutions for Old CSS Problems](https://moderncss.dev) by *Stephanie Eckles*

## Other

* [Agner Fog's Website](https://www.agner.org)

* [Beej's Guides](http://beej.us/guide)

* [Explained from First Principles](https://explained-from-first-principles.com) by *Kaspar Etter*

* [Green Tea Press: Free books by Allen B. Downey](https://greenteapress.com)

* [How These Things Work](https://reasonablypolymorphic.com/book/preface.html) - a book about abstraction

* [Project Oberon: The Design of an Operating System, a Compiler, and a Computer](https://www.projectoberon.net) by *Niklaus Wirth* and *Jürg Gutknecht*

* [Rocket and Space Technology](http://www.braeunig.us)

* [Software Technical Writing: A Guidebook](https://jamesg.blog/book.pdf) by *James* **[pdf]**

* [Teach Yourself Computer Science](https://teachyourselfcs.com)

* [The Art of HPC](https://theartofhpc.com) by *Victor Eijkhout*

* [The Art of Insight in Science and Engineering: Mastering Complexity](https://ocw.mit.edu/courses/res-6-011-the-art-of-insight-in-science-and-engineering-mastering-complexity-fall-2014/resources/mitres_6-011f14_art_insfin) by *Sanjoy Mahajan*

* [The Fundamentals of Control Theory](https://engineeringmedia.com/books) by *Brian Douglas*

* [The Missing Semester of Your CS Education](https://missing.csail.mit.edu)

* [The Nature of Code](https://natureofcode.com) a book about how can we capture the unpredictable evolutionary and emergent properties of nature in software by *Daniel Shiffman*

## Other lists

* [Become a Programmer, Motherfucker](http://programming-motherfucker.com/become.html) - A list of free programming books.

* [Build Your Own X](https://github.com/danistefanovic/build-your-own-x/blob/master/README.md)

* [Electronic References](https://www.cs.drexel.edu/~csg63/books.html) by *Colin S. Gordon* - a loosely-categorized collection of links to CS textbooks in a variety of areas that are freely available online.

* [Free Computer Books](https://freecomputerbooks.com)

* [Free Tech Books](https://www.freetechbooks.com)

* [GPU Optimization for GameDev](https://gist.github.com/silvesthu/505cf0cbf284bb4b971f6834b8fec93d) by *Ken Hu*

* [Max Slater's Bookmarks](https://github.com/TheNumbat/Lists)

* [My favorite technical blogs](https://eatonphil.com/blogs.html) by *Phil Eaton*

* [Programming Notes for Professionals books](https://goalkicker.com)

* [Project Based Learning](https://github.com/practical-tutorials/project-based-learning/blob/master/README.md)