# 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) * [Vibe Coding and Spec-Driven Development](#vibe-coding-and-spec-driven-development) * [Algorithms](#algorithms) * [Bloom Filters](#bloom-filters) * [Date-time](#date-time) * [Diff Algorithms](#diff-algorithms) * [Art](#art) * [Biology](#biology) * [Command Line and Tools](#command-line-and-tools) * [Curl](#curl) * [Linux command line](#linux-command-line) * [Nix](#nix) * [Competitions and Interview Preparation Websites](#competitions-and-interview-preparation-websites) * [Math](#math-competitions) * [Preparation Resources](#math-competitions-preparation) * [Physics](#physics-competitions) * [Programming](#programming-competitions) * [Preparation Resources](#programming-competitions-preparation) * [Compilers and Interpreters](#compilers-and-interpreters) * [Static Program Analysis](#static-program-analysis) * [Computer Graphics](#computer-graphics) * [Creative Coding](#creative-coding) * [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) * [NoSQL](#nosql) * [SQL](#sql) * [MySQL](#mysql) * [PostgreSQL](#postgresql) * [Oracle](#oracle) * [Demoscene](#demoscene) * [Design Patterns](#design-patterns) * [DevOps](#devops) * [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) * [General Programming](#general-programming) * [Lists of programming projects to try to implement](#lists-of-programming-projects-to-try-to-implement) * [Geographic Information Systems](#geographic-information-systems) * [GUI Programming](#gui-programming) * [Hardware](#hardware) * [Information Theory](#information-theory) * [IQ Tests](#iq-tests) * [Logical Games](#logical-games) * [Low Level Stuff](#low-level-stuff) * [GPU and TPU programming](#gpu-and-tpu-programming) * [SIMD programming](#simd-programming) * [Math](#math) * [Algebra](#algebra) * [Linear Algebra](#linear-algebra) * [Analysis](#analysis) * [Calculus](#calculus) * [Vector Calculus](#vector-calculus) * [Category Theory](#category-theory) * [Differential Equations](#defferential-equations) * [Game Theory](#game-theory) * [General problem solving](#general-problem-solving) * [Geometry](#geometry) * [Differential Geometry](#differential-geometry) * [Combinatorics](#combinatorics) * [Graph Theory](#graph-theory) * [High School Math](#high-school-math) * [Mathematical Finance](#mathematical-finance) * [Mathematical Logic](#mathematical-logic) * [Measure Theory](#measure-theory) * [Number Theory](#number-theory) * [Numerical Analysis](#numerical-analysis) * [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) * [Music Theory](#music-theory) * [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#](#c-sharp) * [C++](#cpp) * [CMake](#cmake) * [Cuda](#cuda) * [D](#d) * [Datalog](#datalog) * [Erlang](#erlang) * [Forth](#forth) * [Go](#go) * [Network programming in Go](#network-programming-in-go) * [Haskell](#haskell) * [Jai](#jai) * [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) * [Ya](#ya) * [Zig](#zig) * [Retrocomputing](#retrocomputing) * [Advent of Code on retro machines](#adevent-of-code-on-retro-machines) * [Apple II](#apple-ii) * [Commodore 64](#commodore-64) * [CP/M](#cpm) * [DOS](#dos) * [Game Boy](#game-boy) * [Mega 65](#mega-65) * [NES](#nes) * [ZX Spectrum and Z80 CPU](#zx-spectrum-and-z80-cpu) * [ZX Online Articles](#zx-online-articles) * [Reverse engineering](#reverse-engineering) * [Robotics](#robotics) * [System programming](#system-programming) * [Technical Writing](#technical-writing) * [Testing](#testing) * [Text editors](#text-editors) * [Emacs](#emacs) * [Vim](#vim) * [Unicode](#unicode) * [Version control tools](#version-control-tools) * [Web programming](#web-programming) * [CSS](#css) * [Django](#django) * [HTML](#html) * [Personal Websites and Blogs](#personal-websites-and-blogs) * [AI](#ai-blogs) * [C and C++](#c-and-cpp-blogs) * [Game and Graphics Programming](#game-and-graphics-programming-blogs) * [Hardware Blogs](#other-blogs) * [Math and Physics](#math-and-physics-blogs) * [Mixed Programming](#mixed-programming-blogs) * [Performance and Optimization](#performance-and-optimization-blogs) * [Web Development](#web-development-blogs) * [Other](#other) * [Other lists](#other-lists) ## AI * [Agentic Design Patterns](https://docs.google.com/document/u/0/d/1rsaK53T3Lg5KoGwvf8ukOUvbELRtH-V0LnOIFDxBryE/mobilebasic) by *Antonio Gulli* * [Maths, CS & AI Compendium](https://github.com/HenryNdubuaku/maths-cs-ai-compendium) by *Henry Ndubuaku* * [Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp](https://norvig.github.io/paip-lisp) by *Peter Norvig* ### Machine Learning * [A Brief Introduction to Machine Learning for Engineers](https://arxiv.org/abs/1709.02840) by *Osvaldo Simeone* * [A Brief Introduction to Neural Networks](https://dkriesel.com/en/science/neural_networks) by *David Kriesel* * [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* * [aman.ai](aman.ai) - The art of artificial intelligence one concept at a time by *Aman Chadha* * [An Illustrated Guide to Automatic Sparse Differentiation](https://iclr-blogposts.github.io/2025/blog/sparse-autodiff) by *Adrian Hill*, *Guillaume Dalle*, and *Alexis Montoison* * [An Introduction to Statistical Learning](https://www.statlearning.com) by *Gareth James, Daniela Witten, Trevor Hastie, Rob Tibshirani* * [Applied Causal Inference Powered by ML and AI](https://arxiv.org/abs/2403.02467) by *Victor Chernozhukov*, *Christian Hansen*, *Nathan Kallus*, *Martin Spindler*, and *Vasilis Syrgkanis* * [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) * [Computer Vision: Algorithms and Applications, 2nd Edition](https://szeliski.org/Book) by *Richard Szeliski* * [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](https://srdas.github.io/DLBook) by *Subir Varma* and *Sanjiv Das* - [Version with Python and R](https://srdas.github.io/DLBook2) * [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: Foundations, Architectures, and Engineering Practice](https://drive.google.com/file/d/1XJISCOICgEzozRpLHPC_TwT_ybfQwALp/view) by *Amer Hussein* **[pdf]** * [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 Computer Vision](https://visionbook.mit.edu) by *Antonio Torralba*, *Phillip Isola*, and *William Freeman* * [Foundations of Machine Learning](https://cs.nyu.edu/~mohri/mlbook) by *Mehryar Mohri*, *Afshin Rostamizadeh*, and *Ameet Talwalkar* **[MIT]** * [GNN From Scratch](https://cultured-avenue-f13.notion.site/GNN-From-Scratch-2a3dfe9550dd80ac87deee4fe6cd0696) by ** * [Harvard's undergraduate course in Machine Learning](https://github.com/harvard-ml-courses/cs181-textbook) by *William J. Deuschle* * [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/) by *Sanjeev Arora*, *Simon Park*, *Dennis Jacob* and *Danqi Chen* **[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* * [Introduction to Machine Learning Systems](https://mlsysbook.ai) by *Vijay Janapa Reddi* * [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]** * [Lecture Notes for Machine Learning Theory](https://tselilschramm.org/mltheory/ma.pdf) by *Tengyu Ma* **[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* * [Natural Language Processing](https://srdas.github.io/NLPBook/intro.html) by *Sanjiv Ranjan Das* * [Notes on AutoGrad](https://aschrein.github.io/jekyll/update/2025/08/23/compute_graph.html) by *Anton Schreiner* * [Patterns, Predictions, and Actions: A story about machine learning](https://mlstory.org) by *Moritz Hardt* and *Benjamin Recht* * [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* * [Statistical Learning Theory](https://web.stanford.edu/class/cs229t/notes.pdf) by *Percy Liang* **[pdf]** * [The Elements of Differentiable Programming](https://arxiv.org/abs/2403.14606) by *Mathieu Blondel and Vincent Roulet* * [The Elements of Statistical Learning](https://hastie.su.domains/ElemStatLearn) by *Trevor Hastie*, *Robert Tibshirani*, and *Jerome Friedman* * [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 Little Book of Generative AI Foundations: An Intuitive Mathematical Primer](https://arxiv.org/abs/2605.29713) by *Tianhua Chen* * [The Most Important Machine Learning Equations: A Comprehensive Guide](https://chizkidd.github.io//2025/05/30/machine-learning-key-math-eqns) by *Chizoba Obasi* * [The Principles of Deep Learning Theory](https://arxiv.org/abs/2106.10165) by *Daniel A. Roberts*, *Sho Yaida*, *Boris Hanin* * [The Principles of Diffusion Models: From Origins to Advances](https://arxiv.org/abs/2510.21890) by *Chieh-Hsin Lai*, *Yang Song*, *Dongjun Kim*, *Yuki Mitsufuji*, *Stefano Ermon* * [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* * [Undergraduate Fundamentals of Machine Learning](https://github.com/harvard-ml-courses/cs181-textbook) by *William J. Deuschle* * [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* * [Defeating Nondeterminism in LLM Inference](https://thinkingmachines.ai/blog/defeating-nondeterminism-in-llm-inference) by *Horace He* * [Foundations of Large Language Models](https://arxiv.org/abs/2501.09223) by *Tong Xiao* and *Jingbo Zhu* * [How to Scale Your Model: A Systems View of LLMs on TPUs](https://jax-ml.github.io/scaling-book) by *Jacob Austin*, *Sholto Douglas*, *Roy Frostig*, *Anselm Levskaya*, *Charlie Chen*, and *Sharad Vikram* * [How to run LLMs on PC at home using Llama.cpp](https://www.theregister.com/2025/08/24/llama_cpp_hands_on) by *Tobias Mann* * [Language Models Interview Handbook](https://drive.google.com/file/d/1SikCWxV8HfpuRwNk_DOYJBnXlHqL6i8p/view) by *Lamhot Siagian* **[pdf]** * [LLM Inference Handbook](https://bentoml.com/llm) * [Quantization from the ground up](https://ngrok.com/blog/quantization) by *Sam Rose* * [The Big Book of Large Language Models](https://book.theaiedge.io) by *Damien Benveniste* #### 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 Machine Learning](https://www.statslab.cam.ac.uk//~rds37/machine_learning.html) by *Rajen D. Shah* * [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* ### Vibe Coding and Spec-Driven Development * [AI-Assisted Coding: A Practical Guide for Software Engineers](https://frontendmasters.com/blog/ai-assisted-coding-a-practical-guide-for-software-engineers) by *Durgesh Rajubhai Pawar* * [Basic Claude Code](https://harper.blog/2025/05/08/basic-claude-code) by *Harper Reed* * [Disciplined AI Software Development](https://github.com/Varietyz/Disciplined-AI-Software-Development) by *Jay Baleine* * [Diving Into Spec-Driven Development With GitHub Spec Kit](https://developer.microsoft.com/blog/spec-driven-development-spec-kit) by *Den Delimarsky* * [How I program with Agents](https://crawshaw.io/blog/programming-with-agents) by *David Crawshaw* * [How I program with LLMs](https://crawshaw.io/blog/programming-with-llms) by *David Crawshaw* * [How I Use Every Claude Code Feature](https://blog.sshh.io/p/how-i-use-every-claude-code-feature) by *Shrivu Shankar* * [My LLM codegen workflow atm](https://harper.blog/2025/02/16/my-llm-codegen-workflow-atm) by *Harper Reed* * [Spec-driven development with AI: Get started with a new open source toolkit](https://github.blog/ai-and-ml/generative-ai/spec-driven-development-with-ai-get-started-with-a-new-open-source-toolkit) by *Den Delimarsky* * [Vibe Coding Terminal Editor](https://matklad.github.io/2025/08/31/vibe-coding-terminal-editor.html) by *Alex Kladov* ## Algorithms * [A First Course on Data Structures in Python](https://donsheehy.github.io/datastructures) by *Donald R. Sheehy* * [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]** * [Advanced Algorithms](https://ocw.mit.edu/courses/6-854j-advanced-algorithms-fall-2008) by *Prof. Michel Goemans* **[MIT]** * [Advanced Algorithm Design](https://www.cs.princeton.edu/courses/archive/fall15/cos521) by *Sanjeev Arora* **[Princeton]** **[Fall 2015]** * [Advanced Algorithm Design](https://www.cs.princeton.edu/courses/archive/fall18/cos521) by *Pravesh Kothari* and *Christopher Musco* **[Princeton]** **[Fall 2018]** * [Advanced Data Structures](https://courses.csail.mit.edu/6.897/spring03/scribe_notes) by *Erik Demaine* * [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 Course](https://www.cl.cam.ac.uk/teaching/2021/Algorithms) by *Prof. Frank Stajano* **[Cambridge]** * [Algorithms, 4th Edition](https://mrce.in/ebooks/Algorithms%204th%20Ed.pdf) by *Robert Sedgewick* and *Kevin Wayne* * [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 Inference](https://ocw.mit.edu/courses/6-438-algorithms-for-inference-fall-2014) by *Prof. Devavrat Shah* * [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]** * [Book of All-pairs Shortest Paths](https://olegkarasik.wordpress.com/category/developers-story/book-of-all-pairs-shortest-paths) by *Oleg Karasik* * [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* * [Data Structure Visualizations](https://www.cs.usfca.edu/~galles/visualization) by *David Galles* * [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]** * [Design and Analysis of Algorithms](https://stanford-cs161.github.io/winter2025) by *Nima Anari* and *Moses Charikar* * [Essential Coding Theory](https://cse.buffalo.edu/faculty/atri/courses/coding-theory/book) by *Venkatesan Guruswami*, *Atri Rudra*, and *Madhu Sudan* * [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]** * [Functional Data Structures and Algorithms: A Proof Assistant Approach](https://fdsa-book.net) by *Tobias Nipkow*, *Jasmin Blanchette*, *Manuel Eberl*, *Alejandro Gómez-Londoño*, *Peter Lammich*, *Christian Sternagel*, *Simon Wimmer*, *Bohua Zhan* * [Hello Algo](https://www.hello-algo.com/en) * [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]** * [Introduction to Multi-Armed Bandits](https://arxiv.org/abs/1904.07272) by *Aleksandrs Slivkins* * [Introduction to Parallel Algorithms](https://www.cs.cmu.edu/~guyb/paralg/paralg/parallel.pdf) by *Guy E. Blelloch*, *Laxman Dhulipala*, and *Yihan Sun* **[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]** * [Let's build a Full-Text Search engine](https://artem.krylysov.com/blog/2020/07/28/lets-build-a-full-text-search-engine) by *Artem Krylysov* * [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* * [Notes on Algorithms](https://www.cs.yale.edu/homes/aspnes/pinewiki/CS365(2f)Notes.html) by *James Aspnes* * [Notes on Data Structures and Programming Techniques](https://www.cs.yale.edu/homes/aspnes/classes/223/notes.html) by *James Aspnes* * [Notes on Randomized Algorithms](https://www.cs.yale.edu/homes/aspnes/classes/469/notes.pdf) by *James Aspnes* **[pdf]** * [Open Data Structures](https://opendatastructures.org) by *Pat Morin* * [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 Little Book of algorithms](https://github.com/little-book-of/algorithms) by *Duc-Tam Nguyen* * [The Skyline algorithm for packing 2D rectangles](https://jvernay.fr/en/blog/skyline-2d-packer/implementation) by *Julien Vernay* * [Think Data Structures](https://greenteapress.com/wp/think-data-structures) by *Allen B. Downey* * [Tim Roughgarden's Courses and Lecture Notes](https://timroughgarden.org) * [Algorithmic Game Theory](https://timroughgarden.org/f13/f13.html) ### Bloom Filters * [Bloom Filters](https://eli.thegreenplace.net/2025/bloom-filters) by *Eli Bendersky* * [Bloom Filters by Example](https://llimllib.github.io/bloomfilter-tutorial) * [Let's implement a Bloom Filter](https://onatm.dev/2020/08/10/let-s-implement-a-bloom-filter) by *Onat Yiğit Mercan* ### Date-time * [A Very Fast 64–Bit Date Algorithm](https://www.benjoffe.com/fast-date-64) by *Ben Joffe* ### Diff Algorithms * **Building Git** by *James Coglan* * **The Myers diff algorithm** * [Part 1](https://blog.jcoglan.com/2017/02/12/the-myers-diff-algorithm-part-1) * [Part 2](https://blog.jcoglan.com/2017/02/15/the-myers-diff-algorithm-part-2) * [Part 3](https://blog.jcoglan.com/2017/02/17/the-myers-diff-algorithm-part-3) * **Myers diff in linear space** * [Part 1: Theory](https://blog.jcoglan.com/2017/03/22/myers-diff-in-linear-space-theory) * [Part 2: Implementation](https://blog.jcoglan.com/2017/04/25/myers-diff-in-linear-space-implementation) * [Merging with diff3](https://blog.jcoglan.com/2017/05/08/merging-with-diff3) * [Why merges fail and what can be done about it](https://blog.jcoglan.com/2017/06/19/why-merges-fail-and-what-can-be-done-about-it) * [The patience diff algorithm](https://blog.jcoglan.com/2017/09/19/the-patience-diff-algorithm) * [Implementing patience diff](https://blog.jcoglan.com/2017/09/28/implementing-patience-diff) * [Diff Algorithms](https://flo.znkr.io/diff) * [Myers Diff Algorithm - Code & Interactive Visualization](https://blog.robertelder.org/diff-algorithm) by *Robert Elder* ## 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 * [Command Line Handbook](https://commandline.stribny.name) by *Petr Stribny* * [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*S * [rsync: Series](https://michael.stapelberg.ch/posts/2022-06-18-rsync-overview) by *Michael Stapelberg* * [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* * [Write a Shell in C](https://brennan.io/2015/01/16/write-a-shell-in-c) by *Stephen Brennan* * [Writing Programs with NCURSES](https://invisible-island.net/ncurses/ncurses-intro.html) by *Eric S. Raymond* and *Zeyd M. Ben-Halim* * [Writing Your Own Simple Tab-Completions for Bash and Zsh](https://mill-build.org/blog/14-bash-zsh-completion.html) by *Li Haoyi* ### 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* * [GameShell: a "game" to teach the Unix shell](https://github.com/phyver/GameShell) by *Pierre Hyvernat* * [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* * [Linux Commands Cheat Sheet](https://linux-commands.labex.io/) ### Nix * [NixOS & Flakes Book](https://nixos-and-flakes.thiscute.world) - An unofficial book for beginners by *Ryan Yin* * [Wombat’s Book of Nix](https://mhwombat.codeberg.page/nix-book) by *Amy de Buitléir* ## Competitions and Interview Preparation Websites ### Math * [Erdős](https://erdos.sdslabs.co) * [Erdős Problems](https://www.erdosproblems.com) * [International Mathematical Olympiad](https://www.imo-official.org) #### Preparation Resources * [Easy Putnam Problems](https://www.ms.uky.edu/~sohum/putnam/easy_putnam_problems.pdf) **[pdf]** * [Mathematical Problem Solving](https://www.cip.ifi.lmu.de/~grinberg/t/20f) by *Darij Grinberg* * [My Putnam Problems](https://www.ms.uky.edu/~sohum/putnam/myputnam.pdf) by *Avinash Sathaye* **[pdf]** * [Putnam Training Problems](https://www.ms.uky.edu/~sohum/putnam/training_problems-2014.pdf) **[pdf]** * [Virginia Tech Regional Mathematics Contest Problems](https://www.ms.uky.edu/~sohum/putnam/Virtech_probs.pdf) **[pdf]** * [Virginia Tech Regional Mathematics Contest Problems Solutions](https://www.ms.uky.edu/~sohum/putnam/Virtech_sols.pdf) **[pdf]** ### Physics * [International Physics Olympiad](https://ipho-unofficial.org) ### Programming * [Advent of Code](https://adventofcode.com) - An Advent calendar of small programming puzzles by *Eric Wastl* * [Code Golf](https://codegolf.stackexchange.com) - A site for recreational programming competitions. * [CodeAbbey](https://www.codeabbey.com) * [CodeChef](https://www.codechef.com) * [CodeForces](https://codeforces.com) * [Coderbyte](https://coderbyte.com) * [Codewars](https://www.codewars.com) * [Codility](https://app.codility.com/programmers) * [CodingBat](https://codingbat.com) - A free site of live coding problems to build coding skill in Java and Python. * [CodinGame](https://www.codingame.com) * [Daily Programmer](https://www.reddit.com/r/dailyprogrammer) * [Edabit](https://edabit.com) * [Exercism](https://exercism.org) * [Hacker Earth](https://www.hackerearth.com) * [HackerRank](https://www.hackerrank.com) * [International Collegiate Programming Contest](https://icpc.global) * [International Olympiad in Informatics](https://ioinformatics.org) * [Kaggle](https://www.kaggle.com) - ML specific. * [LabEx](https://labex.io) - Learn Linux, DevOps & Cybersecurity with Hands-on Labs. * [Learn OCaml](https://ocaml-sf.org/learn-ocaml-public) * [LeetCode](https://leetcode.com) * [NeetCode](https://neetcode.io) * [Project Euler](https://projecteuler.net) * [Rosalind](https://rosalind.info) - A platform for learning bioinformatics through problem solving. * [Skilled.dev](https://skilled.dev) * [Sphere Online Judge](https://www.spoj.com) * [SQLPad](https://sqlpad.io) * [takeUforward](https://takeuforward.org) * [Top Coder](https://www.topcoder.com/community/arena) #### Preparation Resources * [Algorithms for Competitive Programming](https://cp-algorithms.com) * [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* ## Compilers and Interpreters * [A Compiler Writing Journey](https://github.com/DoctorWkt/acwj) by *Warren* * [A practical introduction to parsing](https://jhwlr.io/intro-to-parsing) by *Jan Procházka* * [Advanced Compilers: The Self-Guided Online Course](https://www.cs.cornell.edu/courses/cs6120/2025fa/self-guided) by *Adrian Sampson* * [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) * [Compiler Design in C](https://holub.com/compiler) by *Allen I. Holub* * [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* * [Graal Truffle tutorial](https://www.endoflineblog.com/graal-truffle-tutorial-part-0-what-is-truffle) by *Adam Ruka* * [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* * [Introduction to Compilers](https://www.cs.cornell.edu/courses/cs4120/2026sp/notes) by *Andrew Myers* * [Introduction to Compilers and Language Design](https://dthain.github.io/books/compiler) by *Prof. Douglas Thain* * **Introduction to parser combinators** by *James Coglan* * [Part 1](https://blog.jcoglan.com/2017/07/06/introduction-to-parser-combinators) * [Part 2: Precedence and associativity in recursive descent](https://blog.jcoglan.com/2017/07/07/precedence-and-associativity-in-recursive-descent) * [Part 3: Packrat parsing: a top-down performance improvement](https://blog.jcoglan.com/2017/07/30/packrat-parsing-a-top-down-performance-improvement) * [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. * [Strategies for very fast Lexers](https://xnacly.me/posts/2025/fast-lexer-strategie) * [Threaded code](https://muforth.dev/threaded-code) * [Writing a C compiler in 500 lines of Python](https://vgel.me/posts/c500) by *Theia Vogel* * [Writing a C Compiler, in Zig](https://asibahi.github.io/thoughts/c-compiler-1-zig) by *Rahman Sibahi* ### Static Program Analysis * [Principles of Program Analysis](https://www.researchgate.net/publication/265352570_Principles_of_Program_Analysis) by *Flemming Nielson*, *Hanne Riis Nielson*, and *Chris Hankin* * [Secure Programming with Static Analysis](https://ptgmedia.pearsoncmg.com/images/9780321424778/samplepages/9780321424778.pdf) by *Brian Chess* and *Jacob West* * [Static Program Analysis](https://cs.au.dk/~amoeller/spa) by *Anders Møller* and *Michael I. Schwartzbach* ## Computer Graphics * [3D Gaussian Splatting in a Weekend](https://bfeldman.me/3dgs-weekend) by *Benjamin Feldman* * [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) * [Blocky Planet — Making Minecraft Spherical](https://www.bowerbyte.com/posts/blocky-planet) * **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* * [FrostKiwi's Secrets](https://blog.frost.kiwi) by *Wladislav Artsimovich* * [AAA - Analytical Anti-Aliasing](https://blog.frost.kiwi/analytical-anti-aliasing) * [How to (and how not to) fix color banding](https://blog.frost.kiwi/GLSL-noise-and-radial-gradient) * [How video games use LUTs and how you can too](https://blog.frost.kiwi/WebGL-LUTS-made-simple) * [Video Game Blurs (and how the best one works)](https://blog.frost.kiwi/dual-kawase) * [Fundamentals of Radiance Cascades](https://m4xc.dev/articles/fundamental-rc) * [Introduction to Computer Graphics](https://math.hws.edu/graphicsbook) by *David J. Eck* * [Noise is Beautiful: Part 1: Procedural textures](https://liu.diva-portal.org/smash/get/diva2:1954979/FULLTEXT01.pdf) by *Stefan Gustavson* **[pdf]** * **Noise is Beautiful** by *Stefan Gustavson* * [Part 1: Procedural textures](https://computer-graphics.se/TNM084/Files/Noise%20if%20beautiful%20Part%201%2020241103.pdf) **[pdf]** * [Part 2: Noise is beautiful](https://computer-graphics.se/TNM084/Files/Noise%20is%20beautiful%20Part%202%2020241103.pdf) **[pdf]** * [Radiometry: Overview](https://momentsingraphics.de/RadiometryOverview.html) by *Christoph Peters* * [Rotations with quaternions](https://imadr.me/rotations-with-quaternions) * **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* * [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. * [Ocean Rendering, Part 1 - Simulation](https://rtryan98.github.io/2025/10/04/ocean-rendering-part-1.html) by *Robert Ryan* * [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* * [Physically based rendering from first principles](https://imadr.me/pbr) * [Physically Based Shading in Theory and Practice](https://blog.selfshadow.com/publications/s2025-shading-course) by *Laurent Belcour*, *Naty Hoffman*, *Alain Hostettler*, *Peter Kutz*, *Kentaro Suzuki*, *Hajime Uchimura*, *Andrea Weidlich*, *Kenichiro Yasutomi * * **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* * [The Geometry Behind Normal Maps](https://www.shlom.dev/articles/geometry-behind-normal-maps) by *Shlomi Nissan* * [Voxel Engine in a Weekend](https://daymare.net/blogs/voxel-engine-in-a-weekend) * [WebGL2 Fundamentals](https://webgl2fundamentals.org/) ### Creative Coding * [Creative Coding Tutorials and Articles](https://bleuje.com/tutorials) by *Etienne Jacob* * [Inigo Quilez Website](https://iquilezles.org) * [Paul Bourke's Website](https://paulbourke.net) ### 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* * [All Sources of DirectX 12 Documentation](https://asawicki.info/news_1794_all_sources_of_directx_12_documentation) by *Adam Sawicki* * **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* * [Ten Years of D3D12](https://therealmjp.github.io/posts/ten-years-of-d3d12) by *Matt Pettineo* ### 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* * [Dithering on the GPU](https://alex-charlton.com/posts/Dithering_on_the_GPU) by *Alex Charlton* * [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* * [Raymarching explained interactively](https://imadr.me/raymarching-explained-interactively) ### 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* * [No More Shading Languages: Compiling C++ to Vulkan Shaders](https://diglib.eg.org/server/api/core/bitstreams/e3553000-9d53-4d13-a5b0-29dc16a116de/content) by *H. Devillers*, M. Kurtenacker*, *R. Membarth*, *S. Lemme*, *M. Kenzel3*, *Ö. Yazici1*, and *P. Slusallek* **[pdf]** * [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 * [A Vulkan introduction](https://www.4rknova.com//blog/2025/09/10/vulkan-intro) by *Nikos Papadopoulos* * [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 Tutorial](https://nvpro-samples.github.io/vk_raytracing_tutorial_KHR) by *Martin-Karl Lefrançois*, *Pascal Gautron*, *Nia Bickford*, *David Akeley* * [Vulkan – Cross platform 3D Graphics](https://www.vulkan.org) * [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* * **Concurrent Servers** by *Eli Bendersky* * [Part 1 - Introduction](https://eli.thegreenplace.net/2017/concurrent-servers-part-1-introduction) * [Part 2 - Threads](https://eli.thegreenplace.net/2017/concurrent-servers-part-2-threads) * [Part 3 - Event-driven](https://eli.thegreenplace.net/2017/concurrent-servers-part-3-event-driven) * [Part 4 - libuv](https://eli.thegreenplace.net/2017/concurrent-servers-part-4-libuv) * [Part 5 - Redis case study](https://eli.thegreenplace.net/2017/concurrent-servers-part-5-redis-case-study) * [Part 6 - Callbacks, Promises and async/await](https://eli.thegreenplace.net/2018/concurrent-servers-part-6-callbacks-promises-and-asyncawait) * [HTTP2 Explained](https://daniel.haxx.se/http2) by *Daniel Stenberg* * [HTTP/3 explained](https://http3-explained.haxx.se) by *Daniel Stenberg* * [Implementing fast TCP fingerprinting with eBPF](https://halb.it/posts/ebpf-fingerprinting-1) by *Alberto Ventafridda* * [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* * **MQTT broker from scratch** by *Andrea Baldan* * [Part 1: The protocol](https://codepr.github.io/posts/sol-mqtt-broker) * [Part 2: Networking](https://codepr.github.io/posts/sol-mqtt-broker-p2) * [Part 3: Server](https://codepr.github.io/posts/sol-mqtt-broker-p3) * [Part 4: Data structures](https://codepr.github.io/posts/sol-mqtt-broker-p4) * [Part 5: Topic abstraction](https://codepr.github.io/posts/sol-mqtt-broker-p5) * [Part 6: Handlers](https://codepr.github.io/posts/sol-mqtt-broker-p6) * [Part 7: Refactoring & eventloop](https://codepr.github.io/posts/sol-mqtt-broker-bonus) * [Networking 101](https://internalpointers.com/post-group/networking-101) by *Internal Pointers* * [Serving files over HTTP three ways: synchronous, epoll, and io_uring](https://theconsensus.dev/p/2026/05/18/serving-files-three-ways.html) by *Phil Eaton* * [Topics in High-Performance Messaging](https://ultramessaging.github.io/thpm/thpm.html) by *Robert A. Van Valzah*, *Todd L. Montgomery*, and *Eric Bowden* * [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* * [Advanced Topics in Cryptography: From Lattices to Program Obfuscation](https://advancedcrypto.github.io) by *Vinod Vaikuntanathan* * [All I Know About Certificates](https://www.pixelstech.net/article/1722045726-All-I-Know-About-Certificates----Certificate-Authority) by *Ke Pi* * [An Intensive Introduction to Cryptography](https://intensecrypto.org) by *Boaz Barak* * [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* * [The Beginner's Textbook for Fully Homomorphic Encryption](https://arxiv.org/abs/2503.05136) by *Ronny Ko* ## 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* * [Data Science: Theories, Models, Algorithms, and Analytics](https://srdas.github.io/MLBook) by *Sanjiv Ranjan Das* - [pdf](https://srdas.github.io/Papers/DSA_Book.pdf) - [Data for the book's examples](https://app.box.com/s/8uduwzfyezeoupqii76u7a6ro3somole) - [Version with Python and R](https://srdas.github.io/MLBook2) * [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 of Massive Datasets](http://www.mmds.org) by *Jure Leskovec*, *Anand Rajaraman*, and *Jeff Ullman* * [Mining Social Media](https://socialdata.site) by *Lam Thuy Vo* * [Topics in Mathematics of Data Science](https://ocw.mit.edu/courses/18-s096-topics-in-mathematics-of-data-science-fall-2015) by *Dr. Afonso Bandeira* * [Towards Data Science](https://towardsdatascience.com) - The world’s leading publication for data science, AI, and ML professionals. ## Debuggers * [A Field Guide to Bugs](https://www.stephendiehl.com/posts/field_guide_to_bugs) by *Stephen Diehl* * [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 *Sy 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 * [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* * [The Theory of Relational Databases](http://web.cecs.pdx.edu/~maier/TheoryBook/TRD.html) by *David Maier* ### Databases Development * [B-trees and database indexes](https://planetscale.com/blog/btrees-and-database-indexes) by *Benjamin Dicken* * [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* * [Concurrency Control and Recovery in Database Systems](https://www.microsoft.com/en-us/research/people/philbe/book) by *Philip A. Bernstein*, *Vassos Hadzilacos*, *Nathan Goodman* * [How Does a Database Work?](https://cstack.github.io/db_tutorial) by *Connor Stack* * [Jacob's blog: On database building blocks](https://jacobsherin.com) by *Sherin Jacob* * [A B+Tree Node Underflows: Merge or Borrow?](https://jacobsherin.com/posts/2025-08-16-bplustree-compare-borrow-merge) * [Cache-Friendly B+Tree Nodes With Dynamic Fanout](https://jacobsherin.com/posts/2025-08-18-bplustree-struct-hack) * [Let's Build a Simple Database](https://cstack.github.io/db_tutorial) by *Connor Stack* ### NoSQL * [MongoDB Tutorial](https://www.mongodbtutorial.org) ### SQL * [Mode's SQL Tutorial](https://mode.com/sql-tutorial) * [SQL Tutorial](https://www.sqltutorial.org) - Master SQL quickly and effectively with clear concepts, hands-on examples, and interactive quizzes. * [SQL for the Weary](https://gvwilson.github.io/sql-tutorial) by *Greg Wilson* * [SQLBolt](https://sqlbolt.com) - Learn SQL with simple, interactive exercises. * [SQLZap](https://sqlzap.com) - Learn SQL with for Free. * [SQLZoo](https://sqlzoo.net) - SQL Tutorial. #### MySQL * [MySQL for Developers](https://planetscale.com/courses/mysql-for-developers) by *Aaron Francis* * [MySQL Tutorial](https://www.mysqltutorial.org) #### 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* #### Oracle * [Oracle Tutorial](https://www.oracletutorial.com) ## 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 * [Building abstractions using higher-order functions](https://eli.thegreenplace.net/2023/building-abstractions-using-higher-order-functions) by *Eli Benderski* * [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* * **Design Patterns in Python blog posts series** by *Racey Chan* * [Decorators and Functional programming](https://www.lihil.cc/blog/decorators-and--functional-programming) * [Design Patterns You Should Unlearn in Python: Part1](https://www.lihil.cc/blog/design-patterns-you-should-unlearn-in-python-part) * [Design Patterns You Should Unlearn in Python: Part2](https://www.lihil.cc/blog/design-patterns-you-should-unlearn-in-python-part2) * [Most Design Patterns Are Just Dependency Injection in Disguise](https://www.lihil.cc/blog/Most-Design-Patterns-Are-Just-Dependency-Injection-In-Disguise) * **Discovering observers** by *Sandor Dargo* * [Part 1](https://www.sandordargo.com/blog/2025/09/03/observers-part1) * [Part 2](https://www.sandordargo.com/blog/2025/09/10/observers-part2) * [Part 3](https://www.sandordargo.com/blog/2025/09/17/observers-part3) * [The expression problem and Rust](https://purplesyringa.moe/blog/the-expression-problem-and-rust) by *Alisa Sireneva* * [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* * [Handles are the better pointers](https://floooh.github.io/2018/06/17/handles-vs-pointers.html) by *Andre Weissflog* * [Indices, not Pointers](https://joegm.github.io/blog/indices-not-pointers) by *Joe Mckay* * [Multiple Dispatch Series](https://eli.thegreenplace.net/2016/the-expression-problem-and-its-solutions) by *Eli Bendersky* * [Plugins Series](https://eli.thegreenplace.net/tag/plugins) by *Eli Bendersky* * [The Architecture of Open Source Applications](http://aosabook.org/en/index.html) ## DevOps * [DevOps with Docker: Containers for Beginners](https://courses.mooc.fi/org/uh-cs/courses/devops-with-docker) * [DevOps with Kubernetes: A not-so-gentle introduction to cloud-native container orchestration](https://courses.mooc.fi/org/uh-cs/courses/devops-with-kubernete) * [devopscube](https://devopscube.com) ## Digital Signal Processing * [Digital Signals Theory](https://brianmcfee.net/dstbook-site/content/intro.html) by *Brian McFee* * [Online Textbooks and Course Materials by Julius Orion Smith III](https://ccrma.stanford.edu/~jos) * [AI Audio Signal Processing Reading List](https://cm-gitlab.stanford.edu/jos/music423-2023/-/blob/master/README.md) * [Audio Signal Processing in FAUST](https://ccrma.stanford.edu/~jos/aspf) * [Intoroduction to Digital Filters](https://ccrma.stanford.edu/~jos/filters) by *Julious O. Smith III** * [Mathematics Of The Discrete Fourier Transform (Dft), Second Edition](https://ccrma.stanford.edu/~jos/mdft) * [Physical Audio Signal Processing](https://ccrma.stanford.edu/~jos/pasp) * [Spectral Audio Signal Processing](https://ccrma.stanford.edu/~jos/sasp) * [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](https://www.cl.cam.ac.uk/teaching/2122/ConcDisSys/dist-sys-notes.pdf) by *Dr. Martin Kleppmann* **[pdf]** * [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* * [Implementing the Raft distributed consensus protocol in Go](https://notes.eatonphil.com/2023-05-25-raft.html) by *Phil Eaton* * [Linearizability in distributed systems](https://eli.thegreenplace.net/2024/linearizability-in-distributed-systems) 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* * [Principles of Blockchains](https://web3.princeton.edu/principles-of-blockchains) by *Prof. Pramod Viswanath* **[Princeton]** * [Rewriting Kafka in Rust Async: Insights and Lessons Learned in Rust](https://wangjunfei.com/2025/06/18/Rewriting-Kafka-in-Rust-Async-Insights-and-Lessons-Learned) by *Rex Wang* * [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* * [Emulators writing tutorials] by *Alexander Dickson* * [JavaScript Chip-8 Emulator](https://web.archive.org/web/20210804123851/http://blog.alexanderdickson.com/javascript-chip-8-emulator) * **Write a NES Emulator with JavaScript** * [Part 1](https://web.archive.org/web/20210624190954/http://blog.alexanderdickson.com/javascript-nes-emulator-part-1) * [Part 2](https://web.archive.org/web/20210624190316/http://blog.alexanderdickson.com/javascript-nes-emulator-part-2) * [GameBoy Emulation in JavaScript](http://imrannazar.com/GameBoy-Emulation-in-JavaScript:-The-CPU) by *Imran Nazar* * [Hypervisor in 1,000 Lines](https://1000hv.seiya.me/en) by *Seiya Nuta* * **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 Frame Breakdown Articles](https://www.4rknova.com//blog/2025/02/20/frame-breakdown-articles) collection by *Nikolaos Papadopoulos* * [Game Engineering](https://www.cs.usfca.edu/~galles/cs420) by *David Galles* * [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* * **Procedural Island Generation** by *Chema Guerra* * [Part 1](https://brashandplucky.com/2025/09/07/procedural-island-generation-i.html) * [Part 2](https://brashandplucky.com/2025/09/10/procedural-island-generation-ii.html) * [Part 3](https://brashandplucky.com/2025/09/17/procedural-island-generation-iii.html) * [Part 4](https://brashandplucky.com/2025/09/22/procedural-island-generation-iv.html) * [Part 5](https://brashandplucky.com/2025/09/25/procedural-island-generation-v.html) * [Part 6](https://brashandplucky.com/2025/09/28/procedural-island-generation-vi.html) * [Programming Vehicles in Games](https://wassimulator.com/blog/programming/programming_vehicles_in_games.html) by *Wassim Alhajomar* * [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* * [Roguelike Tutorial - In Rust](https://bfnightly.bracketproductions.com) by *Herbert Wolverson* * [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 C`ameras in Side-Scrollers](https://docs.google.com/document/d/1iNSQIyNpVGHeak6isbP6AHdHD50gs8MNXF1GCf08efg/pub) by *Itay Keren* * [A First-Person Game in 2KB](https://grantshandy.github.io/raycasting/) by *Grant Handy* ### Game Engines * [Bevy game development](https://taintedcoders.com) by *Nolan Tait* * [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* * [iforce2d](https://www.iforce2d.net) - A collection of programming resources, mainly focusing on 2D games development with Box2D. * [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* ## General Programming * [freeCodeCamp](https://www.freecodecamp.org) * [Geeks for Geeks](https://www.geeksforgeeks.org) * [Programiz](https://www.programiz.com) * [Tutorials Point](https://www.tutorialspoint.com) * [W3 Schools](https://www.w3schools.com) ### Lists of programming projects to try to implement * [Austin Z. Henley's Lists](https://austinhenley.com) * [Challenging algorithms and data structures every programmer should try](https://austinhenley.com/blog/challengingalgorithms.html) * [Challenging projects every programmer should try](https://austinhenley.com/blog/challengingprojects.html) * [More challenging projects every programmer should try](https://austinhenley.com/blog/morechallengingprojects.html) * [Writing Toy Software Is A Joy: Why you should write more toy programs](https://blog.jsbarretto.com/post/software-is-joy) by *Joshua Barretto* ## Geographic Information Systems * [Building Vector Tiles from scratch](https://www.debuisne.com/writing/geo-tiles) by *Andre Debuisne* * [Computational Modelling of Terrains](https://tudelft3d.github.io/terrainbook) by *Hugo Ledoux, Ken Arroyo Ohori, Ravi Peters, and Maarten Pronk* * [Introduction to Python for Geographic Data Analysis](https://pythongis.org) by *Henrikki Tenkanen*, *Vuokko Heikinheimo*, and *David Whipp* ## GUI Programming * [A Book about Qt5](https://qmlbook.github.io) by *Jürgen Bocklage-Ryannel* and *Johan Thelin* * [Cross-platform window in C](https://imadr.me/cross-platform-window-in-c) * [James Brown's Tutorials](https://www.catch22.net/tuts) * [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* ## Information Theory * [Information and Entropy](https://ocw.mit.edu/courses/6-050j-information-and-entropy-spring-2008) by *Prof. Paul Penfield* and *Prof. Seth Lloyd* * [Information Theory, Inference, and Learning Algorithms](https://inference.org.uk/itila/book.html) by *David MacKay* * [Statistics and Information Theory](https://web.stanford.edu/class/stats311/lecture-notes.pdf) by *John Duchi* **[pdf]** ## IQ Tests * [Cognitive Ability Test by University of Cambridge](https://planning.e-psychometrics.com/test/icar60) * [IQ Test made by Mensa Norway](https://test.mensa.no/Home/Test/en-US) ## Logical Games * [Hex: A Strategy Guide](http://www.mseymour.ca/hex_book) by *Matthew Seymour* * [Learn to Play Go](https://online-go.com/learn-to-play-go) * [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* * [Group Borrowing: Zero-Cost Memory Safety with Fewer Restrictions](https://verdagon.dev/blog/group-borrowing) by *Evan Ovadia* * [How To Write Shared Libraries](https://www.cs.dartmouth.edu/~sergey/cs258/ABI/UlrichDrepper-How-To-Write-Shared-Libraries.pdf) by *Ulrich Drepper* **[pdf]** * [It's OK to compare floating-points for equality](https://lisyarus.github.io/blog/posts/its-ok-to-compare-floating-points-for-equality.html) by *Nikita Lisitsa* * [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* * [Pointer Tagging in C++: The Art of Packing Bits Into a Pointer](https://vectrx.substack.com/p/pointer-tagging-in-c-the-art-of-packing) by *Caden Parker* * [Stack frame layout on x86-64](https://eli.thegreenplace.net/2011/09/06/stack-frame-layout-on-x86-64) by *Eli Bendersky* * [Static Machine Code Analysis](https://tetzank.github.io/posts/static-machine-code-analysis) by *Frank Tetzel* * **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) * [Part 6: Basic Garbage Collection](https://educatedguesswork.org/posts/memory-management-6) * [Part 7: Advanced Garbage Collection](https://educatedguesswork.org/posts/memory-management-7) * [What Every Computer Scientist Should Know About Floating-Point Arithmetic](https://docs.oracle.com/cd/E19957-01/800-7895/800-7895.pdf) **[pdf]** * [Matrix Multiplication Optimization Article Series](https://salykova.github.io) by *Amanzhol Salykov* * [Advanced Matrix Multiplication Optimization on Modern Multi-Core Processors](https://salykova.github.io/gemm-cpu) * [Advanced Matrix Multiplication Optimization on NVIDIA GPUs](https://salykova.github.io/gemm-gpu) * [Matrix Core Programming on AMD CDNA3 and CDNA4 architecture](https://salykova.github.io/matrix-cores-cdna) * [Virtual Memory: A Deep Dive into Page Tables, TLBs, and Linux Internals](https://blog.codingconfessions.com/p/virtual-memory) by *Abhinav Upadhyay* ### GPU and TPU Programming * [Basic facts about GPUs](https://damek.github.io/random/basic-facts-about-gpus) by *Damek Davis* * [Inside NVIDIA GPUs: Anatomy of high performance matmul kernels](https://www.aleksagordic.com/blog/matmul) by *Aleksa Gordić* * [Introduction to CUDA Programming With GPU Puzzles](https://henryhmko.github.io/posts/cuda/cuda.html) by *Henry Ko* * [TPU Deep Dive](https://henryhmko.github.io/posts/tpu/tpu.html) by *Henry Ko* ### SIMD programming * [Accelerating copy_if using SIMD](https://loonatick-src.github.io/posts/vectorized-copy-if-analysis) by *Chaitanya Kumar* * [ARM NEON for C++ Developers](http://const.me/articles/simd/NEON.pdf) **[pdf]** * [Cuckoo hashing improves SIMD hash tables](https://reiner.org/cuckoo-hashing#large-out-of-cache-tables-successful-lookups) by *Reiner Pope* * [Designing a SIMD Algorithm from Scratch](https://mcyoung.xyz/2023/11/27/simd-base64) by *Miguel Young de la Sota* * [SIMD: A Practical Guide](https://vectrx.substack.com/p/simd-a-practical-guide) by *Caden Parker* * [SIMD for C++ Developers](http://const.me/articles/simd/simd.pdf) **[pdf]** * [Wojciech Muła — website](http://0x80.pl/notesen.html) ## Math * [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* and * Jocelyn Quaintance* **[pdf]** * [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]** * [An Introduction to Tensors for Students of Physics and Engineering](https://www.grc.nasa.gov/www/k-12/Numbers/Math/documents/Tensors_TM2002211716.pdf) by *Joseph C. Kolecki* **[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) * [Applied Linear Algebra and Differential Equations](https://www.math.hkust.edu.hk/~machas/applied-linear-algebra-and-differential-equations.pdf) **[pdf]** * [Calculus for Engineers](https://www.math.hkust.edu.hk/~machas/calculus-for-engineers.pdf) **[pdf]** * [Differential Equations for Engineers](https://www.math.hkust.edu.hk/~machas/differential-equations-for-engineers.pdf) **[pdf]** * [Differential Equations: Review with YouTube Examples](https://www.math.hkust.edu.hk/~machas/differential-equations-with-youtube-examples.pdf) **[pdf]** * [Differential Equations](https://www.math.hkust.edu.hk/~machas/differential-equations.pdf) **[pdf]** * [Fibonacci Numbers and the Golden Ratio](https://www.math.hkust.edu.hk/~machas/fibonacci.pdf) **[pdf]** * [Flow Around a Cylinder](https://www.math.hkust.edu.hk/~machas/flow-around-a-cylinder.pdf) **[pdf]** * [Mathematical Biology](https://www.math.hkust.edu.hk/~machas/mathematical-biology.pdf) **[pdf]** * [Matrix Algebra for Engineers](https://www.math.hkust.edu.hk/~machas/matrix-algebra-for-engineers.pdf) **[pdf]** * [Numerical Methods for Engineers](https://www.math.hkust.edu.hk/~machas/numerical-methods-for-engineers.pdf) **[pdf]** * [Numerical Methods](https://www.math.hkust.edu.hk/~machas/numerical-methods.pdf) **[pdf]** * [Scientific Computing](https://www.math.hkust.edu.hk/~machas/scientific-computing.pdf) **[pdf]** * [Vector Calculus for Engineers](https://www.math.hkust.edu.hk/~machas/vector-calculus-for-engineers.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) * [Course Notes by Richard Weber](https://www.statslab.cam.ac.uk//~rrw1) * [Markov Chains](https://www.statslab.cam.ac.uk//~rrw1/markov/index.html) * [Mathematics of Operational Research](https://www.statslab.cam.ac.uk//~rrw1/mor/index.html) * [Optimization](https://www.statslab.cam.ac.uk//~rrw1/opt/index.html) * [Optimization and Control](https://www.statslab.cam.ac.uk//~rrw1/oc/index.html) * [Probability](https://www.statslab.cam.ac.uk//~rrw1/prob/index.html) * [Statistics](https://www.statslab.cam.ac.uk//~rrw1/stats/index.html) * [Time Series](https://www.statslab.cam.ac.uk//~rrw1/timeseries/index.html) * [Course 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]** * [Feynman's Trick a.k.a. Differentiation under the Integral Sign & Leibniz Integral Rule](https://zackyzz.github.io/feynman.html) * [Foundations of Mathematics](https://people.tamu.edu/~florent/teaching/lecture_notes/220lecture_notes.pdf) by *Florent P. Baudier* **[pdf]** * [How do undergraduates do mathematics?](https://www.maths.ox.ac.uk/system/files/attachments/study_public_0.pdf) **[pdf]** * [Intermediate Calculus and Linear Algebra](https://www2.math.upenn.edu/~kazdan/202F13/notes/math21-2013.pdf) by *Jerry L. Kazdan* **[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 the Modeling and Analysis of Complex Systems](https://milneopentextbooks.org/introduction-to-the-modeling-and-analysis-of-complex-systems) by *Hiroki Sayama* * [Introduction to Stochastic Calculus](https://jiha-kim.github.io/posts/introduction-to-stochastic-calculus) by *Ji-Ha* * [Lecuture Notes by Aditya Guntuboyina](https://www.stat.berkeley.edu/~aditya/styled/index.html) * [Analysis of Time Series](https://www.stat.berkeley.edu/~aditya/resources/FullNotes248Spring2022TimeSeries.pdf) **[pdf]** * [Introduction to Probability at an advanced level](https://www.stat.berkeley.edu/~aditya/resources/FullNotes201AFall2022.pdf) **[pdf]** * [Theoretical Statistics](https://www.stat.berkeley.edu/~aditya/resources/FullNotes210BSpring2018.pdf) **[pdf]** * **[Lecture Notes by Ian Tice](https://www.math.cmu.edu/~iantice/lecture_notes.html)** * [A crash course in complex analysis](https://www.math.cmu.edu/~iantice/notes/complex_notes.pdf) **[pdf]** * [A crash course in interpolation theory](https://www.math.cmu.edu/~iantice/notes/interpolation_notes.pdf) **[pdf]** * [Derivation of the fluid equations](https://www.math.cmu.edu/~iantice/notes/basic_fluid_mechanics.pdf) **[pdf]** * [Fluid-solid interaction](https://www.math.cmu.edu/~iantice/notes/fluid-structure.pdf) **[pdf]** * [From Stokes flow to Darcy's law](https://www.math.cmu.edu/~iantice/notes/stokes_to_darcy.pdf) **[pdf]** * [Gamma-convergence of the Ginzburg-Landau energy](https://www.math.cmu.edu/~iantice/notes/gamma_convergence_gl.pdf) **[pdf]** * [Linear constant coefficient ordinary differential systems](https://www.math.cmu.edu/~iantice/notes/ODE_notes.pdf) **[pdf]** * [Monstrous Functions](https://www.math.cmu.edu/~iantice/notes/monstrous_functions.pdf) **[pdf]** * [Quasilinear symmetric hyperbolic systems](https://www.math.cmu.edu/~iantice/notes/quasilinear_hyperbolic_systems.pdf) **[pdf]** * **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) * **[Lecture Notes by John K. Hunter](https://math.ucdavis.edu/~hunter)** * [Applied Analysis](https://www.math.ucdavis.edu/~hunter/book/pdfbook.html) * [Applied Mathematics](https://math.ucdavis.edu/~hunter/m280_09/applied_math.html) * [Asymptotics](https://www.math.ucdavis.edu/~hunter/asymptotics/asymptotics.html) * [Introduction to Analysis](https://www.math.ucdavis.edu/~hunter/intro_analysis_pdf/intro_analysis.html) * [Measure Theory](https://www.math.ucdavis.edu/~hunter/measure_theory/measure_theory.html) * [Partial Differential Equations](https://www.math.ucdavis.edu/~hunter/pdes/pdes.html) * **[Lecture Notes by Omer Tamuz](https://tamuz.caltech.edu)** * [General Equilibrium Theory](https://tamuz.caltech.edu/teaching/ss205b/lectures.pdf) **[pdf]** * [Graduate Real Analysis](https://tamuz.caltech.edu/teaching/ma110a/lecture_notes.pdf) **[pdf]** * [Multivariate Calculus](https://tamuz.caltech.edu/teaching/18.022) * [Probability: Random Walks](https://tamuz.caltech.edu/teaching/ma140b) * [Probability](https://tamuz.caltech.edu/teaching/ma144a) * [The Value and Cost of Information](https://tamuz.caltech.edu/teaching/info.pdf) **[pdf]** * [Undergraduate Game Theory](https://tamuz.caltech.edu/teaching/ps172) * **[Lecture Notes by Seongjai Kim](https://skim.math.msstate.edu)** * [Calculus Lectures](https://skim.math.msstate.edu/LectureNotes/Calculus-Lectures.pdf) **[pdf]** * [Fundamentals of Numerical Linear Algebra](https://skim.math.msstate.edu/LectureNotes/Numer_Lin_Algebra.pdf) **[pdf]** * [Heterogeneity in Computational Environments](https://skim.math.msstate.edu/LectureNotes/Hetero_Comp.pdf) **[pdf]** * [Linear Algebra with Applications](https://skim.math.msstate.edu/LectureNotes/Linear_Algebra_LectureNote.pdf) **[pdf]** * [Mathematical Foundations of Machine Learning](https://skim.math.msstate.edu/LectureNotes/Machine_Learning_Lecture.pdf) **[pdf]** * [Numerical Analysis and Applications with Music](https://skim.math.msstate.edu/LectureNotes/Numerical_Analysis_Lecture.pdf) **[pdf]** * [Numerical Methods for Partial Differential Equations](https://skim.math.msstate.edu/LectureNotes/NumerPDEs_Lecture.pdf) **[pdf]** * [Programming Basics and AI with Matlab and Python](https://skim.math.msstate.edu/LectureNotes/Programming-Basics-and-AI-Lecture.pdf) **[pdf]** * [Math Alive](https://web.math.princeton.edu/math_alive/index.shtml) by *Ingrid Daubechies* and *Shannon Hughes* - lecture notes on: * Cryptography * Error correction & compression * Probability & Statistics * Birth, Growth, Death & Chaos * Graph Theory * Voting & Social Choice * [Math Planet](https://www.mathplanet.com) * [Mathematics Its Contents Methods And Meaning, Volumes 1 - 3](https://archive.org/details/MathematicsItsContentsMethodsAndMeaningVol3/Mathematics-%20its%20contents%20methods%20and%20meaning%20Vol%201) by *A. D. Aleksandrov*, *A. N. Kolmogorov*, *M. A. Lavrent'ev* * [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* * [Menthal Math Tricks](https://www.johndcook.com/blog/2025/09/17/mental-math-posts) by *John D. Cook* * [Notes on Mathematics For Engineers](https://websites.umich.edu/~ners311/CourseLibrary/MathNotes.pdf) **[pdf]** * [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* * [Algebra](https://tutorial.math.lamar.edu/Classes/Alg/Alg.aspx) * [Calculus I](https://tutorial.math.lamar.edu/Classes/CalcI/CalcI.aspx) * [Calculus II](https://tutorial.math.lamar.edu/Classes/CalcII/CalcII.aspx) * [Calculus III](https://tutorial.math.lamar.edu/Classes/CalcIII/CalcIII.aspx) * [Differential Equations](https://tutorial.math.lamar.edu/Classes/DE/DE.aspx) * [Peter Cameron's Lecture Notes](https://cameroncounts.wordpress.com/lecture-notes) - [Mathematical Structures](https://cameroncounts.wordpress.com/wp-content/uploads/2023/01/struct.pdf) **[pdf]** - [Introduction to Algebra](https://cameroncounts.wordpress.com/wp-content/uploads/2013/11/intalg.pdf) **[pdf]** - [Linear Algebra](https://cameroncounts.wordpress.com/wp-content/uploads/2013/11/linalg.pdf) **[pdf]** - [Algebraic Structures](https://cameroncounts.wordpress.com/wp-content/uploads/2013/11/algstr.pdf) **[pdf]* [Number theory](https://cameroncounts.wordpress.com/wp-content/uploads/2013/11/nt.pdf) **[pdf]** - [Combinatorics](https://cameroncounts.wordpress.com/wp-content/uploads/2013/11/comb.pdf) **[pdf]** - [Probability](https://cameroncounts.wordpress.com/wp-content/uploads/2013/11/prob.pdf) **[pdf]** - [Cryptography](https://cameroncounts.wordpress.com/wp-content/uploads/2013/11/crypt.pdf) **[pdf]** - [Complexity](https://cameroncounts.wordpress.com/wp-content/uploads/2013/11/compl.pdf) **[pdf]** - [A Crash Course on Group Theory](https://cameroncounts.wordpress.com/wp-content/uploads/2016/11/groups.pdf) **[pdf]** - **Notes on Advanced Combinatorics** + [The art of counting](https://cameroncounts.wordpress.com/wp-content/uploads/2016/04/acnotes1.pdf) **[pdf]** + [Structure, symmetry and polynomials](https://cameroncounts.wordpress.com/wp-content/uploads/2016/04/acnotes2.pdf) **[pdf]** + [Finite geometry and strongly regular graphs](https://cameroncounts.wordpress.com/wp-content/uploads/2018/10/acnotes3.pdf) **[pdf]** * [Precalculus](https://stitz-zeager.com/) by *Carl Stitz* and *Jeff Zeager* * [Real Not Complex](https://realnotcomplex.com) - Discover Incredible FREE Resources to Study MathemF comilatics. * [Street-Fighting Mathematics](https://ocw.mit.edu/courses/18-098-street-fighting-mathematics-january-iap-2008) - Course teaches the art of guessing results and solving problems without doing a proof or an exact calculation by *Sanjoy Mahajan* * [Teaching notes by Oliver Knill](https://people.math.harvard.edu/~knill/teach/index.html) * [Differential Geometry](https://people.math.harvard.edu/~knill/teaching/math136/handouts/differential-geometry-2024.pdf) **[pdf]** * [Introduction to Calculus](https://people.math.harvard.edu/~knill/teaching/math1a2024/handouts/1a_2024.pdf) **[pdf]** * [Linear Algebra And Vector Calculus](https://people.math.harvard.edu/~knill/teaching/math22b2022/handouts/22b_2022.pdf) **[pdf]** * [Linear Algebra And Vector Calculus I](https://people.math.harvard.edu/~knill/teaching/math22a2018/handouts/22a_2018_latest.pdf) **[pdf]** * [Linear Algebra And Vector Calculus II](https://people.math.harvard.edu/~knill/teaching/math22b2019/handouts/22b_2019_latest.pdf) **[pdf]** * [Multivariable Calculus](https://people.math.harvard.edu/~knill/teaching/summer2024/handouts/multivariable_knill_2024.pdf) **[pdf]** * [Probability Theory](https://people.math.harvard.edu/~knill/teaching/math154/handouts/154.pdf) **[pdf]** * [Teaching Mathematics with a Historical Perspective](https://people.math.harvard.edu/~knill/teaching/mathe320_2022/handouts/math320_2022.pdf) **[pdf]** * [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 Mathematics in Toys and Games](https://ocw.mit.edu/courses/es-268-the-mathematics-in-toys-and-games-spring-2010) by *Jing Li*, *Prof. Erik Demaine*, and *Melissa Gymrek* * [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* * [Umnov A.E. and Umnov E.A's Educational Materials](http://umnov.ru/english.htm) **[MIPT]** * **Subjects Included:** * *Elementary Mathematics* * *Intoduction to Calculus* * *Multy-dimentional Analysis. Integrals and Series* * *Analytic Geometry* * *Linear Algebra* * *Multiple integrals and field theory* * *Harmonic Analysis* * *Parametric Sets of Second-Order Lines on a Plane* * [University Mathematics](https://olewitthansen.dk/Mathematics/Mathematics.html) by *Ole Witt-Hansen* ### Algebra * [Abstract Algebra](https://dongryul-kim.github.io/harvard_notes/Math55a/Notes_Math55a.pdf) taughy by *Yum-Tong Siu*, notes by *Dongryul Kim* **[pdf]** * [Abstract Algebra: Theory and Applications](https://judsonbooks.org/abstract-algebra-theory-and-applications) by *Thomas W. Judson* * [Advanced Modern Algebra](https://david92jackson.neocities.org/images/Advanced_Modern_Algebra-Rotman.pdf) by *Joseph J. Rotman* **[pdf]** * [Algebra: Abstract and Concrete](https://homepage.divms.uiowa.edu/~goodman/algebrabook.dir/download.htm) by *Frederick M. Goodman* * [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) * [Beginning and Intermediate Algebra](http://www.wallace.ccfaculty.org/book/book.html) by *Tyler Wallace* * [Elements of Abstract and Linear Algebra](https://www.math.miami.edu/~ec/book) by *Edwin H. Connell* * [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 Modern Algebra](http://aleph0.clarku.edu/~djoyce/ma225/algebra.pdf) by *David Joyce* **[pdf]** * [Learn you Galois Fields for Great Good](https://xorvoid.com/galois_fields_for_great_good_00.html) by *Anthony Bonkoski* * [Lectures on Abstract Algebra](https://www.math.ucla.edu/~rse/algebra_book.pdf) by *Richard Elman* **[pdf]** * [The Rising Sea: Foundations Of Algebraic Geometry Notes](https://math.stanford.edu/~vakil/216blog) by *Ravi Vakil* #### Linear Algebra * [Graphical Linear Algebra](https://graphicallinearalgebra.net) by *Pawel Sobocinski* * [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* * [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]** * [The Little Book of Linear Algebra](https://github.com/the-litte-book-of/linear-algebra) by *Duc-Tam Nguyen* ### Analysis * [Classical Real Analysis Books](https://classicalrealanalysis.info) by *Andrew M. Bruckner*, *Judith B. Bruckner*, and *Brian S. Thomson* * [Elementary Real Analysis, Second Edition](http://classicalrealanalysis.info/Elementary-Real-Analysis.php) * [Real Analysis](http://classicalrealanalysis.info/Real-Analysis.php) * [Mathematical Discovery](http://classicalrealanalysis.info/Mathematical-Discovery.php) * [The Calculus Integral](http://classicalrealanalysis.info/The-Calculus-Integral.php) * [Theory of the Integral](http://classicalrealanalysis.info/Theory-of-the-Integral.php) * [Complex Analysis](https://complexanalysis.org) by *Russell W. Howell* and *John H. Mathews* * [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) * [Harmonic Function Theory](https://www.axler.net/HFT.html) by *Sheldon Axler*, *Paul Bourdon*, and *Wade Ramey* * [How We Got from There to Here: A Story of Real Analysis](https://milneopentextbooks.org/how-we-got-from-there-to-here-a-story-of-real-analysis) by *Eugene Boman* and *Robert Rogers* * [Introduction to Real Analysis](https://digitalcommons.trinity.edu/mono/7) by *William F. Trench* * [Principles of Mathematical Analysis](https://david92jackson.neocities.org/images/Principles_of_Mathematical_Analysis-Rudin.pdf) by *Walter Rudin* **[pdf]** * [Real Analysis](https://ocw.mit.edu/courses/18-100a-real-analysis-fall-2020) by *Dr. Casey Rodriguez* * [Real Analysis](https://milneopentextbooks.org/real-analysis) by *Gary Towsley* * [Visual Complex Analysis](https://umv.science.upjs.sk/hutnik/NeedhamVCA.pdf) by *Tristan Needham* **[pdf]** ### Calculus * [Advanced Multivariable Calculus](https://sites.math.washington.edu/~awaw/teaching/math224_sp23/notes.pdf) by *Alex Wang* **[pdf]** * [Basic Analysis: Introduction to Real Analysis](https://www.jirka.org/ra) by *Jiří Lebl* * [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 Books by Tyler Wallace](http://www.wallace.ccfaculty.org) * [Calculus 1](http://www.wallace.ccfaculty.org/151.html) * [Calculus 2](http://www.wallace.ccfaculty.org/152.html) * [Calculus 3](http://www.wallace.ccfaculty.org/163.html) * [Calculus in Context](https://www.science.smith.edu/~callahan/cic/book.pdf) by *James Callahan*, *Kenneth Hoffman*, *David Cox*, *Donal O’Shea*, *Harriet Pollatsek*, and *Lester Senechal* **[pdf]** * [Calculus: Basic Concepts for High Schools](https://archive.org/details/TarasovCalculus) by *L.V. Tarasov* * [Calculus for Mathematicians, Computer Scientists, and Physicists](https://mathcs.holycross.edu/~ahwang/print/calc.pdf) by *Andrew D. Hwang* **[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* * [Derivatives, Gradients, Jacobians and Hessians](https://blog.demofox.org/2025/08/16/derivatives-gradients-jacobians-and-hessians-oh-my) by *Alan Wolfe* * [Differential Calculus: From Practice to Theory](https://milneopentextbooks.org/differential-calculus-from-practice-to-theory) by *Eugene Boman* and *Robert Rogers* * [Elementary Calculus](https://mecmath.net/calculus/index.html) by *Michael Corral* * [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]** * [Multivariable Calculus Lectures](https://math.jhu.edu/~brown/courses/f19/Documents/MultivariableCalculus.pdf) by *Richard J. Brown* **[pdf]** * [Pre-Calculus](http://www.wallace.ccfaculty.org/141.html) by *Salah Abed*, *Sonia Farag*, *Stephen Lane*, *Tyler Wallace*, and *Barbara Whitney* * [Precalculus: An Investigation of Functions](https://www.opentextbookstore.com/precalc) by *David Lippman* and *Melonie Rasmussen* #### Vector Calculus * [Lectures on Vector Calculus](https://www.damtp.cam.ac.uk/user/tong/vc.html) by *David Tong* * [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://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* * [Notes on Category Theory with examples from basic mathematics](https://arxiv.org/abs/1912.10642) by *Paolo Perrone* * [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* ### Differential Equations * [Elementary Differential Equations with Boundary Value Problems](https://digitalcommons.trinity.edu/mono/9) by *William F. Trench* * [Fourier Series & PDEs](https://courses.maths.ox.ac.uk/course/view.php?id=4942) by *Philip Maini* **[Oxford]** * [Notes on Diffy Qs: Differential Equations for Engineers](https://www.jirka.org/diffyqs) by *Jiří Lebl* ### Game Theory * [Game Theory (Open Access textbook with 165 solved exercises)](https://arxiv.org/abs/1512.06808) by *Giacomo Bonanno* * [Game Theory with Engineering Applications](https://ocw.mit.edu/courses/6-254-game-theory-with-engineering-applications-spring-2010) by *Prof. Asuman Ozdaglar* * [Introduction to Game Theory: a Discovery Approach](https://nordstrommath.com/IntroGameTheoryText) by *Jennifer Firkins Nordstrom* * [Lecture Notes for 1st Year Ph.D. Game Theory](https://econweb.ucsd.edu/~jsobel/200Cs09/Kartik_Notes.pdf) by *Navin Kartik* **[pdf]** ### General problem solving * [How to Solve It](https://www.hlevkin.com/hlevkin/90MathPhysBioBooks/Math/Polya/George_Polya_How_To_Solve_It_.pdf) by *George Pólya* **[pdf]** ### Geometry * [Euclid's Elements](https://mathcs.clarku.edu/~djoyce/java/elements/toc.html) * [Euclidean and Non-Euclidean Geometries: Development and History](https://www.ime.usp.br/~toscano/disc/2022/GreenbergGeometry.pdf) by *Marvin Jay Greenberg* **[pdf]** * [Geometry with an Introduction to Cosmic Topology](https://mphitchman.com/gct) by *Michael P. Hitchman* * [Geometry: Euclid and Beyond](https://david92jackson.neocities.org/images/Euclid_and_Beyond-Hartshorne.pdf) by *Robin Hartshorne* **[pdf]** * [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]** * [The Four Pillars of Geometry](https://www.johnval.nl/school/wiskunde/wiskundeD/gratis_studieboeken/FourPillarsOfGeometry.pdf) by *John Stillwell* **[pdf]** #### Differential Geometry * [Differential Geometry: A First Course in Curves and Surfaces](https://ghomi.math.gatech.edu/Classes/Math4441Fall2021/ShifrinDiffGeo.pdf) by *Theodore Shifrin* **[pdf]** * [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]** * [Introduction to Smooth Manifolds](https://julianchaidez.net/materials/reu/lee_smooth_manifolds.pdf) by *John M. Lee* **[pdf]** * [Lecture Notes on Differential Geometry](https://ghomi.math.gatech.edu/LectureNotes/index.html) by *Mohammad Ghomi* * [Manifolds and Differential Forms](https://pi.math.cornell.edu/~sjamaar/manifolds/manifold.pdf) by *Reyer Sjamaar* **[pdf]** * [Open Problems In Geometry Of Curves And Surfaces](https://ghomi.math.gatech.edu/Papers/op.pdf) by *Mohammad Ghomi* **[pdf]** * [What is differential geometry: curves and surfaces](https://arxiv.org/abs/2012.11814) by *Anton Petrunin* and *Sergio Zamora Barrera* ### Combinatorics * [Algebraic Combinatorics](https://math.mit.edu/~apost/courses/18.212) by *Alexander Postnikov* * [Analytic Combinatorics](https://algo.inria.fr/flajolet/Publications/book.pdf) by *Philippe Flajolet* and *Robert Sedgewick* **[pdf]** * [Combinatorics Through Guided Discovery](https://bogart.openmathbooks.org) by *Kenneth P. Bogart* * [Enumerative Combinatorics, Volume 1, Second Edition](https://www.ms.uky.edu/~sohum/putnam/enu_comb_stanley.pdf) by *Richard P. Stanley* **[pdf]** #### Graph Theory * [An introduction to graph theory](https://arxiv.org/pdf/2308.04512.pdf) by *Darij Grinberg* **[pdf]** * [Graphs and Geometry](https://lovasz.web.elte.hu//bookxx/geombook-almost-final.pdf) by *László Lovász* **[pdf]** * [Graph Theory, Sixth Edition, 2025](https://diestel-graph-theory.com) by *Reinhard Diestel* * [Graph Theory and Additive Combinatorics](https://yufeizhao.com/gtacbook) by *Yufei Zhao* * [Graph Theory Lecture Notes](https://roam.libraries.psu.edu/system/files/e-books/MATH485-Graph_Theory.pdf) by *Christopher Griffin* **[pdf]** * [Introduction to Random Graphs](https://www.math.cmu.edu/~af1p/BOOK.pdf) by *Alan Frieze" and **ALAN FRIEZE and *Michał Karonski* **[pdf]** * [Large networks and graph limits](https://lovasz.web.elte.hu//bookxx/hombook-almost.final.pdf) by *László Lovász* **[pdf]** * [Spectral Graph Theory](https://people.orie.cornell.edu/dpw/orie6334/Fall2016) by *David P. Williamson* ### High School Math * [Mathematical Problems And Puzzles from the Polish Mathematical Olympiads](https://archive.org/details/straszewicz-mathematical-problems-and-puzzles) by *Stefan Straszewicz* * [Solving Problems In Algebra And Trigonometry](https://archive.org/details/LitivinenkoMordkovichSolvingProblemsInAlgebraAndTrigonometryMir1988) by *V. Litvinenko* and *A. Mordkovich* * [Solving Problems In Geometry](https://archive.org/details/GusevLitivinenkoMordkovichSolvingProblemsInGeometryMir1988) by *V. Gusev*, *V. Litvinenko*, and *A. Mordkovich* * [The USSR Olympiad Problem Book](https://archive.org/details/shklarsky-chentzov-yaglom-the-ussr-olympiad-problem-book) by *D. O. Shklarsky*, *N. N. Chentzov*, and *I. M. Yaglom* ### Mathematical Finance * [A Practical Guide to Quantitative Finance Interviews](https://academyflex.com/wp-content/uploads/2024/03/a-practical-guide-to-quantitative-finance-interviews.pdf) by *Xinfeng Zhou* **[pdf]** * [Financial Machine Learning](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4501707) by *Bryan T. Kelly* and *Dacheng Xiu* * [Mathematical Foundations for Finance](https://metaphor.ethz.ch/x/2021/hs/401-3913-01L) by *Prof. Dr. Beatrice Acciaio* * [Probability Theory](https://metaphor.ethz.ch/x/2021/hs/401-3913-01L/auth/lethz/notes/probability_theory/probability_theory.pdf) by *Prof. Dr. Alain-Sol Sznitman* **[pdf]** * [Mathematical Foundations for Finance Lecture Notes](https://metaphor.ethz.ch/x/2021/hs/401-3913-01L/auth/lethz/notes/mff_script/lecture_notes.pdf) by *M. Schweizer* and *E. W. Farkas* **[pdf]** * [Statistical Method in Economics](https://ocw.mit.edu/courses/14-381-statistical-method-in-economics-fall-2018) by *Prof. Anna Mikusheva* * [Topics in Mathematics with Applications in Finance](https://ocw.mit.edu/courses/18-s096-topics-in-mathematics-with-applications-in-finance-fall-2013) by *Dr. Peter Kempthorne*, *Dr. Choongbum Lee*, *Dr. Vasily Strela*, and *Dr. Jake Xia* * [Trade Signal](https://www.investopedia.com/terms/t/trade-signal.asp) by *Lucas Downey* ### Mathematical Logic * [A Concise Introduction to Logic](https://milneopentextbooks.org/concise-introduction-to-logic) by *Craig DeLancey* * [A Friendly Introduction to Mathematical Logic](https://milneopentextbooks.org/a-friendly-introduction-to-mathematical-logic) by *hristopher Leary* and *Lars Kristiansen* * [forall x: Calgary: An Introduction to Formal Logic](https://forallx.openlogicproject.org) by *P. D. Magnus*, *Tim Button*, *Robert Trueman*, and *Richard Zach* * [PQT Logic Textbook](https://www.cis.upenn.edu/~weinstei/PQT.pdf) by *Scott Weinstein*, *Owain West* and *Grace Zhang* **[pdf]** * [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 * [A Computational Introduction to Number Theory and Algebra](https://shoup.net/ntb) by *Victor Shoup* * [An Introduction to the Theory of Numbers](http://www.trillia.com/moser-number.html) by *Leo Moser* * [Elementary Number Theory: Primes, Congruences, and Secrets](https://wstein.org/ent) by *William Stein* * [Lectures notes on number theory for computer science](https://arxiv.org/abs/2606.20783) by *Alexandros V. Gerbessiotis* * [Theory of Numbers](https://ocw.mit.edu/courses/18-781-theory-of-numbers-spring-2012) by *Prof. Abhinav Kumar* ### Numerical analysis * [Tea Time Numerical Analysis](https://lqbrin.github.io/tea-time-numerical) by *Leon Q. Brin* ### 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) * [Bridging Continuous and Discrete Optimization](https://people.orie.cornell.edu/dpw/orie6334) by *David P. Williamson* * [Convex Optimization](https://arxiv.org/abs/2607.11664) by *Andreas Habring* * [Introduction to Operations Research, Tenth Edition](https://s23.middlebury.edu/MATH0318A/Hillier10th.pdf) by *Frederick S. Hillier*, and *Gerald J. Lieberman* **[pdf]** * [Linear Programming Lecture Notes by Hal Gabow](https://home.cs.colorado.edu/~hal/565notes.pdf) **[dpf]** * [MOSEK Modeling Cookbook](https://docs.mosek.com/modeling-cookbook/index.html) ### Probability and Statistics * [Advanced Data Analysis from an Elementary Point of View](https://stat.cmu.edu/~cshalizi/ADAfaEPoV) by *Cosma Rohilla Shalizi* * [Advanced Probability](https://noter.math.ku.dk/vidsand12.pdf) by *Alexander Sokol* and *Anders Rønn-Nielsen* **[pdf]** * [All of Statistics: A concise Course in Statistical Inference](https://egrcc.github.io/docs/math/all-of-statistics.pdf) by *Larry Wasserman* **[pdf]** * [An Elementary Introduction To The Theory Of Probability](https://archive.org/details/gnedenko-khinchin-an-elementary-introduction-to-the-theory-of-probability) by *B. V. Gnedenko*, *A. Ya. Khinchin* * [AnyDice](https://anydice.com) * [Applied Problems In Probability Theory](https://archive.org/details/wentzel-ovcharov-applied-problems-in-probability-theory) by *E. Wentzel* and *L. Ovcharov* * [Bayes Rules! An Introduction to Applied Bayesian Modeling](https://www.bayesrulesbook.com/) by *Alicia A. Johnson, Miles Q. Ott, Mine Dogucu* * [Bayesian Data Analysis, Third Edition](https://sites.stat.columbia.edu/gelman/book) by *Andrew Gelman*, *John Carlin*, *Hal Stern*, *David Dunson*, *Aki Vehtari*, and *Donald Rubin* * [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]** * [Fundamentals of Probability](https://ocw.mit.edu/courses/6-436j-fundamentals-of-probability-fall-2018) by *Prof. Yury Polyanskiy* * [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]** * [High-Dimensional Statistics](https://arxiv.org/abs/2310.19244) by *Philippe Rigollet* and *Jan-Christian Hütter* * [Introduction to Modern Statistics (2nd Ed)](https://openintro-ims2.netlify.app) by *Mine Çetinkaya-Rundel and Johanna Hardin* * [Introduction to Probability](https://open.umn.edu/opentextbooks/textbooks/introduction-to-probability) by *Charles M. Grinstead* and *J. Laurie Snell* * [Introduction to probability and statistics](https://mphitchman.com/math340) by *Mike Hitchman* * [Introduction to Probability for Data Science](https://probability4datascience.com/index.html) by *Stanley H. Chan* * [Introduction to Statistics](https://onlinestatbook.com) by *David Lane* * [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]** * [Linear Model and Extensions](https://arxiv.org/abs/2401.00649) by *Peng Ding* * [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 Counting and Rapidly Mixing Markov Chains](https://www.math.cmu.edu/~af1p/Mixingbook.pdf) by *Alan Frieze* **[pdf]** * [Notes on Probability](https://web.stanford.edu/~oas/SI/QM/notes/ProbabilityText.pdf) by *Peter J. Cameron* **[pdf]** * [Odds & Ends: Introducing Probability & Decision with a Visual Emphasis](https://jonathanweisberg.org/vip) by *Jonathan Weisberg* * [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]** * [OpenIntro Statistics, Fourth Edition](https://www.openintro.org/book/os) by *David Diez*, *Mine C¸ etinkaya-Rundel*, and *Christopher D Barr* * [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 Textbooks by Mark Huber](https://autotomic.wixsite.com/markhubernews/probability-textbook) * [Probability Adventures](https://d71b37a6-f420-4d99-8d4f-f64245d5a10b.filesusr.com/ugd/c2b9b6_ec6b6996afd84189bbd95c19cd0a2fde.pdf) **[pdf]** * [Probability Lectures and Labs](https://d71b37a6-f420-4d99-8d4f-f64245d5a10b.filesusr.com/ugd/c2b9b6_8e0fbc80cfa64a0aa0c393840b0d50f8.pdf) **[pdf]** * [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 (First Steps)](https://archive.org/details/ProbabilityTheoryfirstSteps) by *E. S. Wentzel* * [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* * [Statistical Inference, Second Edition](https://pages.stat.wisc.edu/~shao/stat610/Casella_Berger_Statistical_Inference.pdf) by *George Casella* and *Roger L. Berger* **[pdf]** * [Statistics Handbook](https://github.com/carloocchiena/the_statistics_handbook) by *Carlo Occhiena* * [Stochastic Processes](https://adembo.su.domains/math-136/nnotes.pdf) by *Amir Dembo* **[pdf]** * [The Probabilistic Method](https://math.bme.hu/~gabor/oktatas/SztoM/AlonSpencer.ProbMethod3ed.pdf) by *Noga Alon* and *Joel H. Spencer* **[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]** * [Language and Proofs in Algebra: An Introduction](https://cs.uwaterloo.ca/~cbruni/pdfs/Math135Notes/M135Notes_S2018.pdf) by *Carmen Bruni* **[pdf]** * [Mathematical Reasoning & Proofs](https://alistairsavage.ca/mat1362) by *Alistair Savage* **[University of Ottawa]** * [Mathematical Reasoning: Writing and Proof (Version 3)](https://www.tedsundstrom.com/mathematical-reasoning-3) by *Ted Sundstrom* * [Reading, Discovering and Writing Proofs](https://cs.uwaterloo.ca/~cbruni/pdfs/Math135SeptDec2015/RDW_1.pdf) by *Carmen Bruni* **[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]** * [Applied Discrete Structures](https://discretemath.org) by *Al Doerr* and *Ken Levasseur* * [Busy Beavers! - An interactive intro to Computability Theory](https://tigyog.app/d/C:tWWwvJDWlo/r/busy-beavers) by *Jim Fisher* * [Computational Complexity: A Modern Approach](https://theory.cs.princeton.edu/complexity) by *Sanjeev Arora* and *Boaz Barak* * [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* * [Discrete Structures for Computer Science: Counting, Recursion, and Probability](https://cglab.ca/~michiel/DiscreteStructures) by *Michiel Smid* * [Edsger W. Dijkstra Archive](https://www.cs.utexas.edu/~EWD/index03xx.html) * [Elements of Programming](http://elementsofprogramming.com) by *Alexander Stepanov and Paul McJones* * [Foundations of Computation](https://math.hws.edu/FoundationsOfComputation) by *Carol Critchlow* and *David Eck* * [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)* * [generatingfunctionology](https://www.ms.uky.edu/~sohum/putnam/gen_funs_wilf.pdf) by *Herbert S. Wilf* **[pdf]** * [Great Ideas in Theoretical Computer Science](https://ocw.mit.edu/courses/6-080-great-ideas-in-theoretical-computer-science-spring-2008) by *Prof. Scott Aaronson* * [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 and Computation: A Theory Revolutionizing Technology and Science](https://www.math.ias.edu/files/Book-online-Aug0619.pdf) by *Avi Wigderson* **[pdf]** * [Mathematics for Computer Science](https://people.csail.mit.edu/meyer/mcs.pdf) by *Eric Lehman*, *F. Thomson Leighton*, and *Albert R. Meyer* **[pdf]** * [Mathematics for Computer Science](https://ocw.mit.edu/courses/6-1200j-mathematics-for-computer-science-spring-2024) by *Prof. Erik Demaine*, *Dr. Zachary Abel*, and *Dr. Brynmor Chapman* * [Mathematics for Computer Science](https://ocw.mit.edu/courses/6-042j-mathematics-for-computer-science-fall-2010) by *Prof. Tom Leighton* and *Dr. Marten van Dijk* * [Notation as a Tool of Thought](https://www.jsoftware.com/papers/tot.htm) by *Kenneth E. Iverson* * [Notes on Computational Complexity Theory](https://www.cs.yale.edu/homes/aspnes/classes/468/notes.pdf) by *James Aspnes* **[pdf]** * [Notes on Discrete Mathematics](https://www.cs.yale.edu/homes/aspnes/classes/202/notes.pdf) by *James Aspnes* **[pdf]** * [Software Foundations](https://softwarefoundations.cis.upenn.edu) - A broad introduction to the mathematical underpinnings of reliable software. * [Type Theory & Functional Programming](https://www.cs.cornell.edu/courses/cs6110/2015sp/textbook/Simon%20Thompson%20textbook.pdf) by *Simon Thompson* **[pdf]** * [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]** * [Introduction To Symplectic Topology](https://julianchaidez.net/solutions/salamonmcduff.pdf) by *Dusa Mcduff* and *Dietmar Salamon* **[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* * [Topology: A First Course](https://math.mit.edu/~hrm/palestine/munkres-topology.pdf) by *James R. Munkres* ## 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* * [Implementing simple cooperative threads in C](https://brennan.io/2020/05/24/userspace-cooperative-multitasking) by *Stephen Brennan* * [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* * [Lockfree Programming: A Mental Model](https://xorvoid.com/lockfree_programming_a_mental_model.html) by *Anthony Bonkoski* * [POSIX Threads Programming](https://hpc-tutorials.llnl.gov/posix) by *Blaise Barney* * [Programming Parallel Computers](https://ppc.cs.aalto.fi) by *Jukka Suomela*, *Samuli Laine*, and *Jaakko Lehtinen* * [Reading and writing](https://blog.jcoglan.com/2020/09/28/reading-and-writing-part-1) - Article series on race conditions by *James Coglan* * [Spinlocks vs. Mutexes: When to Spin and When to Sleep](https://howtech.substack.com/p/spinlocks-vs-mutexes-when-to-spin) * [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]** ## Music Theory * [Introduction to Computer Music](https://cmtext.com) by *Prof. Jeffrey Hass* ## Operating Systems * [A Commentary On The Sixth Edition Unix Operating System](https://warsus.github.io/lions-) by *J. Lions* * [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 Basics for Hackers](https://github.com/ahegazy0/linux-basics-for-hackers-notes) by *Abdulrahman Hegazy* * [Linux Insides](https://0xax.gitbooks.io/linux-insides/content/) by *Alex Kuleshov* * [How to write Rust in the kernel](https://lwn.net/Articles/1024941) by *Daroc Alden* * [Part 1](https://lwn.net/Articles/1024202) * [Part 2](https://lwn.net/Articles/1025232) * [Part 3](https://lwn.net/SubscriberLink/1026694/3413f4b43c862629) * [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) * [Notes on Operating Systems](https://www.cs.yale.edu/homes/aspnes/pinewiki/CS422(2f)Notes.html) by *James Aspnes* * [Operating Systems: Three Easy Pieces](https://pages.cs.wisc.edu/~remzi/OSTEP/) by *Remzi H Arpaci-Dusseau* and *Andrea C Arpaci-Dusseau* * [Principia Softwarica](https://principia-softwarica.org) by *Yoann Padioleau* - A series of literate programming books explaining Plan 9 system programs. * [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* * [The UNIX-HATERS Handbook](https://simson.net/ref/ugh.pdf) by *Simson Garfinkel*, *Daniel Weise*, and *Steven Strassmann* **[pdf]** * [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* * [xv6: a simple, Unix-like teaching operating system](https://pdos.csail.mit.edu/6.828/2025/xv6.html) by *Russ Cox*, *Frans Kaashoek*, and *Robert Morris* ## 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* * [IBM Quantum Learning](https://learning.quantum.ibm.com) - Learn the basics of quantum computing. * [Introduction to Classical and Quantum Computing](https://www.thomaswong.net) by *Thomas G. Wong* * [Introduction to Special Relativity, Quantum Mechanics and Nuclear Physics for Nuclear Engineers](https://websites.umich.edu/~ners311/CourseLibrary/book.pdf) by *Alex F. Bielajew* **[pdf]** * [Mechanics and Relativity](https://open.umn.edu/opentextbooks/textbooks/mechanics-and-relativity) by *Timon Idema* * [Motion Mountain](https://www.motionmountain.net) by *Christoph Schiller* - A free physics textbook in 5 volumes. * [Open textbooks for undergraduate physics](https://openaccesstexts.com/physics) * [Orbital Mechanics](https://www.alanzucconi.com/2025/09/04/orbital-mechanics) by * Alan Zucconi* * [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* * [Quantum Computation Lecture Notes](https://math.mit.edu/~shor/435-LN) by *Peter Shor* * [Quantum Mechanics](https://github.com/basketballguy999/Quantum-Mechanics-Concise-Book) by *basketballguy* * [Quantum Mechanics for Engineers](https://websites.umich.edu/~ners311/CourseLibrary/Dommelen.pdf) by *Leon van Dommelen* **[pdf]** * [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 * [A Dumb Introduction to z3](https://asibahi.github.io/thoughts/a-gentle-introduction-to-z3) by *Rahman Sibahi* * [Control structures in programming languages: from goto to algebraic effects](https://xavierleroy.org/control-structures) by *Xavier Leroy* * **[Exotic Programming Ideas](https://www.stephendiehl.com/posts/types_of_types/)** by *Stephen Diehl* * [Part 1: Module Systems](https://www.stephendiehl.com/posts/exotic_01) * [Part 2: Term Rewriting](https://www.stephendiehl.com/posts/exotic_02) * [Part 3: Effect Systems](https://www.stephendiehl.com/posts/exotic_03) * [Part 4: Datalog](https://www.stephendiehl.com/posts/exotic_04) * [Part 5: Types of Types](https://www.stephendiehl.com/posts/types_of_types) * [Introduction to the Theory of Programming Languages](https://bertrandmeyer.com/itpl) by *Bertrand Meyer* * [Programming Paradigms for Dummies: What Every Programmer Should Know](https://webperso.info.ucl.ac.be/~pvr/VanRoyChapter.pdf) by *Peter Van Roy* **[pdf]** * [University Physics](https://olewitthansen.dk/Physics/Physics.html) by *Ole Witt-Hansen* ### Ada * [Ada 95: The Craft of Object-Oriented Programming](https://adaic.org/resources/add_content/docs/craft/html/contents.htm) by *John English* * [Ada95 Lovelace tutorial](https://dwheeler.com/lovelace) by *David A. Wheeler* * [Ada Gem Archive](https://www.adacore.com/gems) * [Introduction to Ada: a project-based exploration with rosettas](https://blog.adacore.com/introduction-to-ada-a-project-based-exploration-with-rosettas) by *Romain Gora* ### 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* * [An interactive guide to x86-64 assembly](https://halb.it/posts/x64-introduction) by *Alberto Ventafridda* * [Easy RISC-V](https://dramforever.github.io/easyriscv) * [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]** * [Learn x86-64 assembly by writing a GUI from scratch](https://gaultier.github.io/blog/x11_x64.html) by *Philippe Gaultier* * **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) * [Part 4 - More About Jumps Than You Wanted To Know](https://gpfault.net/posts/asm-tut-4.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* * [Extreme C](https://www.packtpub.com/free-ebook/extreme-c/9781789343625) by *Kamran Amini* * [Few lesser known tricks, quirks and features of C](https://jorenar.com/blog/less-known-c) * [Hacking Coroutines into C](https://wiomoc.de/misc/posts/hacking_coroutines_into_c.html) by *Christoph Walcher* * [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* * [I Write Type Safe Generic Data Structures in C](https://danielchasehooper.com/posts/typechecked-generic-c-data-structures) by *Daniel Hooper* * [Implementing smart pointers for the C programming language](https://snai.pe/posts/c-smart-pointers) * [Modern 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# * [Developing on AWS with C#](https://d1.awsstatic.com/developer-center/DevelopingonAWS_ER_fulldraft_net.pdf) by *Noah Gift* and *James Charlesworth* **[pdf]** ### 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++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]** * [Efficient Programming with Components](https://www.jmeiners.com/efficient-programming-with-components) by *Alexander Stepanov* and *Justin Meiners* * [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) * [Learning to read C++ compiler errors: Not a legal base class](https://devblogs.microsoft.com/oldnewthing/20250919-00/?p=111612) by *Raymond Chen* * [Microsoft C++ language documentation](https://docs.microsoft.com/en-us/cpp/cpp) * [Modern C++ Tutorial](https://changkun.de/modern-cpp) by *Ou Changkun* * [More C++ Idioms](https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms) * [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* * **Thoughts on creating a tracking pointer class** by *Raymond Chen* * [Part 1: Concept art](https://devblogs.microsoft.com/oldnewthing/20250811-00/?p=111451) * [Part 2: Using a std::list](https://devblogs.microsoft.com/oldnewthing/20250812-00/?p=111454) * [Part 3: Using a std::vector](https://devblogs.microsoft.com/oldnewthing/20250813-00/?p=111459) * [Part 4: Using a circular doubly linked list](https://devblogs.microsoft.com/oldnewthing/20250814-00/?p=111482) * [Part 5: Copying our tracking pointer](https://devblogs.microsoft.com/oldnewthing/20250815-00/?p=111484) * [Part 6: Non-modifying trackers](https://devblogs.microsoft.com/oldnewthing/20250818-00/?p=111486) * [Part 7: Non-modifying trackers, second try](https://devblogs.microsoft.com/oldnewthing/20250819-00/?p=111488) * [Part 8: Tracking const objects](https://devblogs.microsoft.com/oldnewthing/20250820-00/?p=111490) * [Part 9: Conversion](https://devblogs.microsoft.com/oldnewthing/20250821-00/?p=111492) * [Part 10: Proper conversion](https://devblogs.microsoft.com/oldnewthing/20250822-00/?p=111494) * [Part 11: Repairing assignment](https://devblogs.microsoft.com/oldnewthing/20250825-00/?p=111497) * [Part 12: A shared tracking pointer](https://devblogs.microsoft.com/oldnewthing/20250826-00/?p=111506) * [Part 13: Restoring the strong exception guarantee](https://devblogs.microsoft.com/oldnewthing/20250827-00/?p=111518) * [Part 14: Nonthrowing moves with the shared tracking pointer](https://devblogs.microsoft.com/oldnewthing/20250828-00/?p=111524) * [Part 15: A custom shared pointer](https://devblogs.microsoft.com/oldnewthing/20250829-00/?p=111526) * [Part 16: Second attempt to use a list](https://devblogs.microsoft.com/oldnewthing/20250901-00/?p=111537) ### 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 * [Easy Forth](https://skilldrick.github.io/easyforth) by *Nick Morgan* * [Forth: The programming language that writes itself](https://ratfactor.com/forth/the_programming_language_that_writes_itself.html) by *Dave Gauer* * [Implementing a Forth](https://ratfactor.com/forth/implementing) by *Dave Gauer* * [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 * [A comprehensive guide to go generate](https://eli.thegreenplace.net/2021/a-comprehensive-guide-to-go-generate) by *Eli Bendersky* * [Accessing PostgreSQL databases in Go](https://eli.thegreenplace.net/2021/accessing-postgresql-databases-in-go) by *Eli Bendersky* * [Embedding in Go](https://eli.thegreenplace.net/2020/embedding-in-go-part-1-structs-in-structs) by *Eli Bendersky* * [Generic functions on slices with Go type parameters](https://eli.thegreenplace.net/2021/generic-functions-on-slices-with-go-type-parameters) by *Eli Bendedrsky* * [Go internals: invariance and memory layout of slices](https://eli.thegreenplace.net/2021/go-internals-invariance-and-memory-layout-of-slices) by *Eli Bendersky* * [Go Optimization Guide](https://goperf.dev) by *Alexander Stavonin* * [Higher-order functions in Go](https://eli.thegreenplace.net/2023/higher-order-functions-in-go) by *Eli Benderski* * [Memory Allocation in Go](https://nghiant3223.github.io/2025/06/03/memory_allocation_in_go.html) by *Nguyen Trong Nghia* * [Notes on running Go in the browser with WebAssembly](https://eli.thegreenplace.net/2024/notes-on-running-go-in-the-browser-with-webassembly) by *Eli Benderski* * [Practical Go Lessons](https://www.practical-go-lessons.com) by *Maximilien Andile* * [Ranging over functions in Go 1.23](https://eli.thegreenplace.net/2024/ranging-over-functions-in-go-123) by *Eli Benderski* * [The Y combinator in Go with generics](https://eli.thegreenplace.net/2022/the-y-combinator-in-go-with-generics) by *Eli Benderski* #### Network programming in Go * [Go HTTPS servers with TLS](https://eli.thegreenplace.net/2021/go-https-servers-with-tls) * [Go socket servers with TLS](https://eli.thegreenplace.net/2021/go-socket-servers-with-tls) * [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* ### Jai * [Jai articles by James Oswald](https://jamesoswald.dev/tags/jai) * [Simplicity, Jai, and Joy (Jai Part 1)](https://jamesoswald.dev/posts/jai-1) * [Embedding, Jai, and Joy (Jai Part 2)](https://jamesoswald.dev/posts/jai-2) * [Emulating Rust's Result and ? in Jai with Metaprogramming](https://jamesoswald.dev/posts/jai-result) ### 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]** * [Think Java](https://greenteapress.com/wp/think-java-2e) by *Allen B. Downey* ### 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]** * [Mathematical Ilustrations: A Manual of Geometry and PostScript](https://personal.math.ubc.ca/~cass/graphics/text/www) by *Bill Casselman* ### Prolog * [Datalog in Rust](https://github.com/frankmcsherry/blog/blob/master/posts/2025-06-03.md) by *Frank McSherry* * [Learn Prolog Now!](https://lpn.swi-prolog.org) by *Patrick Blackburn*, *Johan Bos*, *Kristina Striegnitz* * [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* * [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 Computer Programming with Python](https://www.aupress.ca/books/oer-202301-introduction-to-computer-programming-with-python) by *Harris Wang* * [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]** * [Invent With Python](https://inventwithpython.com) by *Al Sweigart* * [Audio, Video, and Webcams in Python (Lost Chapter from Automate the Boring Stuff)](https://inventwithpython.com/blog/lost-av-chapter.html) * [Automate the Boring Stuff with Python](https://automatetheboringstuff.com) * [Beyond the Basic Stuff with Python](https://inventwithpython.com/beyond) * [Cracking Codes with Python](https://inventwithpython.com/cracking) * [Invent Your Own Computer Games with Python](https://inventwithpython.com/invent4thed) * [Making Games with Python & Pygame](https://inventwithpython.com/pygame) * [Python Programming Exercises, Gently Explained](https://inventwithpython.com/pythongently) * [Scratch 3 Programming Playground](https://inventwithscratch.com/book3) * [The Big Book of Small Python Projects](https://inventwithpython.com/bigbookpython) * [The Recursive Book of Recursion](https://inventwithpython.com/recursion) * [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* * [Planet Python](https://planetpython.org) * [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 Courses](https://python-course.eu) by *Bernd Klein* * [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* * [Python Programming for Economics and Finance](https://python-programming.quantecon.org) by *Thomas J. Sargent* and *John Stachurski* * [Real Python](https://realpython.com) - A collection of Python tutorials. * [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* * [Wicked Python trickery - dynamically patch a Python function's source code at runtime](https://ericmjl.github.io/blog/2025/8/23/wicked-python-trickery-dynamically-patch-a-python-functions-source-code-at-runtime) by *Eric J. Ma* ### 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* * [C++ to Rust Phrasebook](https://cel.cs.brown.edu/crp) * [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 data structures with circular references](https://eli.thegreenplace.net/2021/rust-data-structures-with-circular-references) by *Eli Bendersky* * [Rust Language Cheat Sheet](https://cheats.rs) * [Testing multiple implementations of a trait in Rust](https://eli.thegreenplace.net/2021/testing-multiple-implementations-of-a-trait-in-rust) by *Eli Bendersky* * [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. ### Ya * [Я ☞ Articles](https://muratkasimov.art/Ya/Articles) by *Murat Kasimov* ### Zig * [Learning Zig](https://www.openmymind.net/learning_zig) by *Karl Seguin* * [Zigbook](https://www.zigbook.net) ## Retrocomputing * [A Guide to the Graphics of the Sega Mega Drive / Genesis](https://rasterscroll.com/mdgraphics) * [BASIC Code](https://basic-code.bearblog.dev) by *Michael Coorlim* * [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* * [Extra Instructions Of The 65XX Series CPU](http://www.ffd2.com/fridge/docs/6502-NMOS.extra.opcodes) by *Adam Vardy* * [Game Eengine White Papers: Commander Keen](https://forgottenbytes.net/books/White_Papers_Keen.pdf) by *Bas Smits* **[pdf]** * [How PlayStation Graphics & Visual Artefacts Work](https://pikuma.com/blog/how-to-make-ps1-graphics) by *Gustavo Pezzi* * [How pseudo-3d racing games work](http://www.extentofthejam.com/pseudo) by *Louis Gorenfeld* * [jsgroth's blog](https://jsgroth.dev/blog) * [Learn Multiplatform Assembly Programming](https://www.chibiakumas.com) by *ChibiAkumas* * [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) * [Patai Gergely's Website](https://cobbpg.github.io) * [Porting Stunt Car Racer to the Commodore Plus/4](https://cobbpg.github.io/articles/stunt-car-racer-plus4-port.html) * [Porting Stunt Car Racer to the Apple II](https://cobbpg.github.io/articles/stunt-car-racer-apple2-port.html) * [Pushing the Boundaries of C64 Graphics with NUFLIX](https://cobbpg.github.io/articles/nuflix.html) * [Portals and Quake](https://30fps.net/pages/pvs-portals-and-quake) by *Pekka Väänänen* * [Programming specs for the GBA and NDS hardware](https://problemkaputt.de/gbatek.htm) by *Martin Korth* * [Retro Game Coders](https://retrogamecoders.com) * [The Annotated "Programming the Nintendo GBA : The Unofficial Guide](https://www.coranac.com/documents/taptngba) by *Jasper Vijn* * [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) * [Colin Leroy-Mira’s Website](https://www.colino.net/wordpress/en/welcome) * [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* ### CP/M * [A gentle introduction to CP/M](https://eerielinux.wordpress.com/2025/08/28/a-gentle-introduction-to-cp-m) * **A journey into the 8-Bit microcomputing past: Exploring the CP/M operating system** * [Part 1](https://eerielinux.wordpress.com/2024/12/20/a-journey-into-the-8-bit-microcomputing-past-exploring-the-cp-m-operating-system-part-1) * [Part 2](https://eerielinux.wordpress.com/2024/12/30/a-journey-into-the-8-bit-microcomputing-past-exploring-the-cp-m-operating-system-part-2) ### 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) * [MS-DOS development resources](https://github.com/SuperIlu/DOSDevelResources) ### Game Boy * [Game Boy Development community](https://gbdev.io) * [Game Boy Advanced programming tutorial](https://www.coranac.com/tonc/text) by *Jasper Vijn* * [Game Boy Advanced Development Resources](https://gbadev.org) * [More than you wanted to know about how Game Boy cartridges work](https://abc.decontextualize.com/more-than-you-wanted-to-know) by *Allison Parrish* ### Mega 65 * [MEGA65 Documentation](https://files.mega65.org/manuals-upload) * [MEGA65 Welcome Guide](https://dansanderson.com/mega65/welcome/index.html) by *Dan Sanderson* ### NES * [Famicom Party: Making NES Games in Assembly](https://famicom.party/book) by *Kevin Zurawel* * [NesDev.org](https://www.nesdev.org) - A community of homebrew game developers and hardware researchers for the Nintendo Entertainment System (NES) and other retro consoles. ### 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* #### [ZX Online Articles](https://zxonline.net/category/development) * [Angle Calculation on Z80: Doing the Impossible at 3.5 MHz](https://zxonline.net/angle-calculation-on-z80-doing-the-impossible-at-3-5-mhz) * [ZX Spectrum Graphics Magic: The Basics Every Spectrum Fan Should Know](https://zxonline.net/zx-spectrum-graphics-magic-the-basics-every-spectrum-fan-should-know) ## 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* * [Mathematics for Robotics](https://github.com/michiganrobotics/rob501) by *Jessy Grizzle* * [Modern Robotics: Mechanics, Planning, and Control](http://hades.mech.northwestern.edu/index.php/Modern_Robotics) by *Kevin M. Lynch* and *Frank C. Park* * [Robotics & ROS 2 Essentials](https://github.com/henki-robotics/robotics_essentials_ros2) * [The open online robotics education resource](https://robotacademy.net.au) * [Underactuated Robotics](https://underactuated.mit.edu/) by *Russ Tedrake* ## System programming * [io_uring basics: Writing a file to disk](https://notes.eatonphil.com/2023-10-19-write-file-to-disk-with-io_uring.html) by *Phil Eaton* * [io_uring by example](https://unixism.net/2020/04/io-uring-by-example-part-1-introduction) by *Shuveb Hussain* * [Lord of the io_uring](https://unixism.net/loti/index.html) by *Shuveb Hussain* ## Technical Writing * [How to Write a Git Commit Message](https://cbea.ms/git-commit) * [Refactoring English: Effective Writing for Software Developers](https://refactoringenglish.com) by *Michael Lynch* * [Software Technical Writing: A Guidebook](https://jamesg.blog/book.pdf) by *James* **[pdf]** * [Technical Writing Posts](https://jamesg.blog/technical-writing) by *James* ## Testing * [How to Test](https://matklad.github.io/2021/05/31/how-to-test.html) by *Alex Kladov* * [The Fuzzing Book](https://www.fuzzingbook.org) by *Andreas Zeller*, *Rahul Gopinath*, *Marcel Böhme*, *Gordon Fraser*, and *Christian Holler* ## 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 * [A Beginner's Guide to Extending Emacs](https://blog.tjll.net/a-beginners-guide-to-extending-emacs) by *Tyler Langlois* * **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) * [System Crafters Emacs Guides](https://systemcrafters.net/guides) * [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* * [How I am deeply integrating emacs](https://joshblais.com/blog/how-i-am-deeply-integrating-emacs) by *Joshua Blais* * [Org Mode](https://orgmode.org) * [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* * [A masochist’s guide to web development](https://sebastiano.tronto.net/blog/2025-06-06-webdev) by *Sebastiano Tronto* * [FastCGI — The Forgotten Treasure](http://www.nongnu.org/fastcgi) by *Peter Simons and Ralph Babel* * [Full Stack open](https://fullstackopen.com/en) - Deep Dive Into Modern Web Development. * [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) * [Let's build a browser engine!](https://limpet.net/mbrubeck/2014/08/08/toy-layout-engine-1.html) by *Matt Brubeck* * **Let’s write a search engine** by *Amit Patel* * [Part 1](https://www.redblobgames.com/blog/2025-08-29-lets-write-a-search-engine-1) * [Part 2](https://www.redblobgames.com/blog/2025-08-30-lets-write-a-search-engine-2) * [Mozilla Developers Network](https://developer.mozilla.org) - Resources for Developers, by Developers. Documenting CSS, HTML, and JavaScript, since 2005. * [Ruby on Rails Guides](https://guides.rubyonrails.org) * [Single page apps in depth](https://singlepageappbook.com/) by *Mikito Takada* * [Tania Rascia'a Web Development Deep Dives](https://www.taniarascia.com/topics) * [A Complete Guide to CSS Concepts and Fundamentals](https://www.taniarascia.com/overview-of-css-concepts) * [An Introduction to GraphQL](https://www.taniarascia.com/introduction-to-graphql) * [Design for Developers: Specific Steps to Improve Your Website Design](https://www.taniarascia.com/design-for-developers) * [Everything I Know as a Software Developer Without a Degree](https://www.taniarascia.com/everything-i-know-as-a-software-developer-without-a-degree) * [How to Set up a Mac for Development](https://www.taniarascia.com/setting-up-a-brand-new-mac-for-development) * [How to Set Up webpack 5 From Scratch](https://www.taniarascia.com/how-to-use-webpack) * [How to Structure and Organize a React Application](https://www.taniarascia.com/react-architecture-directory-structure) * [How to Use React, the JavaScript Framework](https://www.taniarascia.com/getting-started-with-react) * [How to Use Redux and React](https://www.taniarascia.com/redux-react-guide) * [How to Use Vue, the JavaScript Framework](https://www.taniarascia.com/getting-started-with-vue) * [Setting Up Virtual Hosts](https://www.taniarascia.com/setting-up-virtual-hosts) * [The Event Loop, Callbacks, Promises, and Async/Await in JavaScript](https://www.taniarascia.com/asynchronous-javascript-event-loop-callbacks-promises-async-await) * [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* * [The Odin Project](https://www.theodinproject.com) - An open-source curriculum for learning full-stack web development. * [Web Browser Engineering](https://browser.engineering) by *Pavel Panchekha* and *Chris Harrelson* * [WebDev](https://web.dev) - Guidance to build modern web experiences that work on any browser. * [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* * [CSS Tricks](https://css-tricks.com) * [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* * [You no longer need JavaScript](https://lyra.horse/blog/2025/08/you-dont-need-js) by *Lyra Rebane* * [What You Need to Know about Modern CSS (2025 Edition)](https://frontendmasters.com/blog/what-you-need-to-know-about-modern-css-2025-edition) by *Chris Coyier* ### Django * [Learn Django](https://learndjango.com) by *Will Vincent* * [Modern JavaScript for Django Developers](https://www.saaspegasus.com/guides/modern-javascript-for-django-developers) ### HTML * [HTML for People](https://htmlforpeople.com) by *Blake Watson* * [Learn HTML](https://learn-html.org) ## Personal Websites and Blogs ### AI * [Ahead of AI](https://magazine.sebastianraschka.com) by *Sebastian Raschka* * [Aleksa Gordić blog](https://www.aleksagordic.com) * [Chizoba Obasi's Blog](https://chizkidd.github.io) * [Hugging Face Blog](https://huggingface.co/blog) * [Jake Tae's Blog](https://jaketae.github.io) * [Randorithms](https://randorithms.com) by *Ben Coleman* ### C and C++ * [Alf on programming (mostly C++)](https://alfps.wordpress.com) * [Andrzej's C++ Blog](https://akrzemi1.wordpress.com) by *Andrzej Krzemieński* * [Arthur O’Dwyer's Blog](https://quuxplusone.github.io/blog) * [Asymmetric Transfer](https://lewissbaker.github.io) *Lewis Baker* * [Bannalia: trivial notes on themes diverse](https://bannalia.blogspot.com) by *Joaquín M López Muñoz* * [Barry's C++ Blog](https://brevzin.github.io) by *Barry Revzin* * [Borislav Stanimirov's Website](https://ibob.bg) * [Braden Ganetsky's Website](https://ganets.ky) * [C++ Metaprogramming](https://odinthenerd.blogspot.com) by *Odin Holmes* * [C++ on a Friday](https://blog.knatten.org) by *Anders Schau Knatten* * [C++ Stories](https://www.cppstories.com) by *Bartłomiej Filipek* * [C++ Truths](https://cpptruths.blogspot.com) * [Chaitanya Kumar's Blog](https://loonatick-src.github.io) * [Crascit's Blog](https://crascit.com) by *Craig Scott* * [Cristian Adam's Blog](https://cristianadam.eu) * [Eric Niebler's Blog](https://ericniebler.com) * [Fluent C++](https://www.fluentcpp.com) by *Jonathan Boccara* * [foonathan::​blog()](https://www.foonathan.net) by *Jonathan Müller* * [Functional C++](https://functionalcpp.wordpress.com) * [Ion Gaztañaga's Blog](https://github.com/igaztanaga) * [Jaysmito Mukherjee's Blog](https://jaysmito.dev/blog) * [Just Software Solutions' Blog](https://www.justsoftwaresolutions.co.uk/blog) by *Anthony Williams* * [Lu's blog](https://uvdn7.github.io) by *Lu Pan* * [Manu Sanchez's Blog](https://manu343726.github.io) * [Marius Bancila's Blog](https://mariusbancila.ro/blog) * [Marshall's C++ Musings](https://cplusplusmusings.wordpress.com) * [Mathieu Ropert's Blog](https://mropert.github.io) * [Modernes C++](https://www.modernescpp.com) by *Rainer Grimm* * [Molecular Musings](https://blog.molecular-matters.com) by *Stefan Reinalter* * [Moody Camel](https://moodycamel.com) by *Cameron Desrochers* * [Nibble Stew's Blog](https://nibblestew.blogspot.com) * [null program](https://nullprogram.com/) by *Chris Wellons* * [Peter Dimov'a Blog](https://pdimov.github.io/blog) * [Preshing on Programming](https://preshing.com) by *Jeff Preshing* * [Programming Nonsense](https://tartanllama.xyz) by *Sy Brand* * [ReachableCode](https://www.reachablecode.com) by *Gianluca Delfino * * [Sandor Dargo's Blog](https://www.sandordargo.com) * [Simplify C++](https://arne-mertz.de) by *Arne Mertz* * [The C++ way](https://thecppway.com) by *Andrzej Krzemieński* * [The Old New Thing: Practical development throughout the evolution of Windows](https://devblogs.microsoft.com/oldnewthing) by *Raymond Chen* * [The Pasture](https://thephd.dev) by *JeanHeyd Meneide* * [The Sparkelling Bedangler](https://morwenn.github.io) * [Thinking Asynchronously in C++](http://blog.think-async.com) by * Christopher Kohlhoff* * [Tomasz Wisniewski's Blog](https://twdev.blog) * [vector-of-bool](https://vector-of-bool.github.io) * [Victor Zverovich's Blog](https://vitaut.net) * [Video Cortex](http://videocortex.io) by *Adi Shavit* * [Vishal Chovatiya's Blog](https://vishalchovatiya.com) * [Vittorio Romeo's Blog](https://vittorioromeo.com) * [Vorbrodt's C++ Blog](https://vorbrodt.blog) by *Martin Vorbrodt* ### Game and Graphics Programming * [30fps.net: Computer Graphics & Programming with Pekka Väänänen](https://30fps.net) * [A small freedom area](https://blog.pkh.me) by *Clément Bœsch* * [Adam Sawicki's Blog](https://asawicki.info) * [Alan Zucconi's Website](https://www.alanzucconi.com) - Game Development, Shader Coding & Artificial Intelligence. * [Alexandru Ene's blog](https://alexene.dev) * [Anton Schreiner's Blog](https://aschrein.github.io) * [Aras Pranckevičius's Website](https://aras-p.info) * [Bits, pixels, cycles and more](https://zeux.io) by *Arseny Kapoulkine* * [Branimir Karadžić's Blog](https://bkaradzic.github.io) * [Bumbershoot Software Blog](https://bumbershootsoft.wordpress.com) by *Michael Martin* * [c0de517e's weblore](https://www.c0de517e.com) by *Angelo Pesce* * [Chema Guerra's Blog](https://brashandplucky.com) * [Cyanilux Game Dev Blog & Tutorials](https://www.cyanilux.com) * [DirectX Developer Blog](https://devblogs.microsoft.com/directx) * [Eric Arnebäck's Blog](https://erkaman.github.io) * [Eurographics Digital Library](https://diglib.eg.org) * [Evolve Benchmark](https://www.evolvebenchmark.com/blog) * [Fabien Sanglard's Website](https://fabiensanglard.net) * [Forward Scattering](https://www.forwardscattering.org) by *Nicholas Chapman* * [FrostKiwi's Secrets](https://blog.frost.kiwi) by *Wladislav Artsimovich* * [Frozen Fractal](https://frozenfractal.com) by *Thomas ten Cate* * [Graphics Programming weekly](https://www.jendrikillner.com/tags/weekly) by *Jendrik Illner* * [Ignacio Castaño's Blog](https://www.ludicon.com/castano/blog) * [imad's website](https://imadr.me) * [Interplay of Light](https://interplayoflight.wordpress.com) by *Kostas Anagnostou* * [Irradiance Blog](https://irradiance.ca) by *Pablo Zurita* * [Jacco Bikker's Blog](https://jacco.ompf2.com) * [Jason Mcghee's Blog](https://jason.today) * [JMS55's Blog](https://jms55.github.io) * [John Novak's Website](https://www.johnnovak.net) * [lisyarus blog](https://lisyarus.github.io) by *Nikita Lisitsa* * [Martin Fuller's Graphics Ramblings](https://martinfullerblog.wordpress.com) * [Maister's Graphics Adventures](https://themaister.net/blog) by *Hans-Kristian Arntzen* * [Matt Pharr’s blog](https://pharr.org/matt/blog) * [Max Slater's Blog: Computer Graphics, Programming, and Math](https://thenumb.at) * [Maxime Heckel's Blog](https://blog.maximeheckel.com) * [Moments in Graphics](https://momentsingraphics.de) by *Christoph Peters* * [Nikolaos Papadopoulos' Blog](https://www.4rknova.com) * [Of Shaders & Triangles](https://blog.42yeah.is) by *Hao Joe* * [Peter Strahle's Blog](https://peterstrahle.dev/blog.html) * [Pikuma's Blog](https://pikuma.com) by *Gustavo Pezzi* * [Randy Gaul's Game Programming Blog](https://randygaul.github.io) * [RayLib Help](https://raylibhelp.wuaze.com) * [Red Blob Games](https://www.redblobgames.com) - Interactive visual explanations of math and algorithms, using motivating examples from computer games by *Amit Patel* * [Rendering Dreams](https://blog.thomaspoulet.fr) by *Thomas Poulet* * [Rendering Engine Architecture Conference](https://enginearchitecture.org) - A conference about the craft of real-time rendering systems. * [Rubén Osorio's Blog](https://osor.io) * [Ryan Kaplan's Blog](https://www.rykap.com) * [Self Shadow](https://blog.selfshadow.com) * [Stephen Sherratt's Blog](https://www.gridbugs.org) * [The blog at the bottom of the sea](https://blog.demofox.org) by *Alan Wolfe* * [The Brain Dump](https://floooh.github.io) by *Andre Weissflog* * [The Code Corsair](https://www.elopezr.com) by *Emilio López* * [The Danger Zone](https://therealmjp.github.io) by *Matt Pettineo* * [The Journal of Computer Graphics Techniques](https://jcgt.org) * [The ryg blog](https://fgiesen.wordpress.com) by *Fabian Giesen* * [wassimulato](https://wassimulator.com) by *Wassim Alhajomar* * [hexaquo](https://hexaquo.at) by *Karl Bittner* * [Zero Radiance](https://zero-radiance.github.io/post) by *Evgenii Golubev* ### Hardware Blogs * [Just another electronics blog](https://justanotherelectronicsblog.com) * [Ken Shirriff's blog](https://www.righto.com) ### Math and Physics * [3Blue1Brown](https://www.3blue1brown.com) by *Grant Sanderson* * [Almost Sure: A Random Mathematical Blog](https://almostsuremath.com) * [Stochastic Calculus](https://almostsuremath.com/stochastic-calculus) * [Probability Theory](https://almostsuremath.com/probability-theory) * [Absolutely Sure](https://almostsuremath.com/absolutely-sure) * [Ben Brubaker's Blog](https://benbrubaker.com/blog) * [Better Explained](https://betterexplained.com) * [Galileo Unbound Blog](https://galileo-unbound.blog) by *Prof. David D. Nolte* * [Ji-Ha's Blog](https://jiha-kim.github.io) * [John D. Cook's Blog](https://www.johndcook.com/blog) * [Laboratories in Mathematical Experimentation: A Bridge to Higher Mathematics, 2nd Edition](https://digitalcommons.humboldt.edu/textbooks/9) by *J. William Bruce, George Cobb, Giuliana Davidoff, Christopher DugawF, Alan Durfee, Art M. Duval, Janice Gifford, Helmut Knaust, Donal O’Shea, Mark Peterson, Harriet Pollatsek, Margaret Robinson, Lester Senechal, Robert Weaver* * [Machine Logic](https://lawrencecpaulson.github.io) by *Lawrence C. Paulson* * [Math3ma](https://www.math3ma.com/) by *Tai-Danae Bradley* * [Mathematical Enchantment](https://mathenchant.wordpress.com) by *James Propp* * [Oran Looney's Blog](https://www.oranlooney.com) * [Valeriy Manokhin's Blog](https://valeman.medium.com) ### Mixed Programming * [0pfs](https://0fps.net) by *Mikola Lysenko* * [A Random Walk Through Geek-Space](https://www.sebastiansylvan.com) by *Sebastian Sylvan* * [Aaro Luomanen's Blog](https://aarol.dev) * [Alberto Ventafridda's Blog](https://halb.it) * [Amanzhol Salykov's Blog](https://salykova.github.io) * [Amit's Thoughts](https://amitp.blogspot.com) by *Amit Patel* * [Andreas Herrmann's Blog](https://aherrmann.github.io) * [Andrew Gallant's Blog](https://burntsushi.net) * [Andrew Healey's Blog](https://healeycodes.com) * [Andrey Listopadov's Blog](https://andreyor.st) * [Anton Zhiyanov's Blog](https://antonz.org) * [Anubhav Nain's Blog](https://eagledot.xyz) * [Arjun Sreedharan's Blog](https://arjunsreedharan.org) * [Artem Krylysov's Blog](https://artem.krylysov.com) * [Austin Z. Henley's Blog](https://austinhenley.com/blog.html) * [Bartosz Milewski's Programming Cafe](https://bartoszmilewski.com) * [Beej's Home Page](https://beej.us) * [Bradley Chatha's D Blog](https://bradley.chatha.dev/blog) * [Chris Loy's Blog](https://chrisloy.dev) * [Chris Penner's Blog](https://chrispenner.ca) * [Chris Warbo's Blog](http://www.chriswarbo.net/blog) * [Chuniversiteit](https://chuniversiteit.nl/archive) by *Chun Fei Lung* * [Considerations on Codecrafting](https://blog.polybdenum.com) * [Dan Hollick's Blog](https://typefully.com/DanHollick) * [Daniel Fedorin's Blog](https://danilafe.com) * [Daniel Hooper's Blog](https://danielchasehooper.com) * [Daniel Lemire's Blog](https://lemire.me) * [Dayvi Schuster's Blog](https://dayvster.com) * [Digital Grove](https://www.rfleury.com) by *Ryan Fleury* * [Dissecting the Code](https://sergeyteplyakov.github.io/Blog) by *Sergey Teplyakov* * [Dangerous Assembly](https://tetzank.github.io) by *Frank Tetzel* * [Edoardo Putti's Blog](https://edoput.it) * [Educated Guesswork](https://educatedguesswork.org) by *Eric Rescorla* * [Eli Bendersky's website](https://eli.thegreenplace.net) * [Entropic Thoughts](https://entropicthoughts.com) by *Christoffer Stjernlöf* * [Evan Ovadia's Blog](https://verdagon.dev) * [Fernando Borretti's Website](https://borretti.me) * [Francesco Mazzoli's Blog](https://mazzo.li/archive.html) * [Games by Mason](https://gamesbymason.com/blog) * [Gerneral Protection Fault](https://gpfault.net) * [Giles' blog](https://www.gilesthomas.com) by *Giles Thomas* * [glfmn.io](https://glfmn.io) * [Init 1](https://codepr.github.io) by *Andrea Baldan* * [Interjected Future](https://interjectedfuture.com) by *Wil Chung* * [IT Hare on Soft.ware](http://ithare.com) by *Sergey Ignatchenko* * [James Oswald's Blog](https://jamesoswald.dev/posts) * [Jan Wedekind's Blog](https://www.wedesoft.de) * [Jamie Brandon's Blog](https://www.scattered-thoughts.net) * [Jari Komppa's Website](https://solhsa.com) * [Jaz's Blog](https://jazco.dev) * [Jens Gustedt's Blog](https://gustedt.wordpress.com) * [Joe Mckay's Blog](https://joegm.github.io) * [Jonathan Marler's Blog](https://marler8997.github.io) * [Julia Evans](https://jvns.ca) * [Justin Meiners's Blog](https://www.jmeiners.com) * [Karl Seguin's Blog](https://www.openmymind.net) * [Karl Zylinski'a Website](https://zylinski.se) * [KC Sivaramakrishnan's Blog](https://kcsrk.info/blog) * [Lei Xia's Blog](https://www.ddhigh.com/en) * [Lesley Lai's Blog](https://lesleylai.info) * [Loris Cro's Personal Website](https://kristoff.it) * [Mario's Lab](https://marioslab.io) by *Mario Zechner* * [Martin Janiczek's Blog](https://martin.janiczek.cz) * [Martin Uecker's Blog](https://uecker.codeberg.page/blog.html) * [MALTSEV.SPACE](https://maltsev.space) by *Aleksey Maltsev* * [Matt Godbolt's Blog](https://xania.org) * [Max Bernstein's Blog](https://bernsteinbear.com) * [mcyoung](https://mcyoung.xyz) by *Miguel Young de la Sota* * [Melatoni's Blog](https://nghiant3223.github.io) by *Nguyen Trong Nghia* * [Miguel Grinberg's Blog](miguelgrinberg.com) * [Mikael Zayenz Lagerkvist's Personal Website](https://zayenz.se) * [MonoidMusicianʼs Blog](https://blog.veritates.love) by *Verity Scheel* * [Nicholas Nethercote's Blog](https://nnethercote.github.io) * [Nicolas Rinaudo's Blog](https://nrinaudo.github.io/articles.html) * [Niko Matsakis's Blog](https://smallcultfollowing.com/babysteps/blog/) * [NULL BITMAP](https://buttondown.com/jaffray) by *Justin Jaffray* * [NULL on error](https://nullonerror.org) - Flipping bits whilst updating pixels by *Rodrigo Delduca* * [Omar Aflak's Blog](https://omaraflak.medium.com) * [Owen Shepherd's Blog](https://owen.cafe) * [Paul Smith's Blog](https://www.pauladamsmith.com) * [Phil Eaton's Website](https://eatonphil.com) * [Playing with code](https://haqr.eu) by *Dmitry V. Sokolov* * **On the site** * [TinyRenderer: Software rendering in 500 lines of bare C++](https://haqr.eu/tinyrenderer) * [TinyCompiler: a compiler in a week-end](https://haqr.eu/tinycompiler) * [TinyOptimizer: an optimizing compiler challenge](https://haqr.eu/tinyoptimizer) * [Cursed fire or #define black magic](https://haqr.eu/strange/cursed-fire) * **On the [author's GitHub](https://github.com/ssloy)** * [Tiny renderer or how OpenGL works: software rendering in 500 lines of code](https://github.com/ssloy/tinyrenderer/wiki) * [Understandable RayTracing in 256 lines of bare C++](https://github.com/ssloy/tinyraytracer/wiki) * [KABOOM! in 180 lines of bare C++](https://github.com/ssloy/tinykaboom/wiki) * [Least squares for programmers](https://github.com/ssloy/least-squares-course) * [Pointers Gone Wild](https://pointersgonewild.com) by *Maxime Chevalier-Boisvert* * [Probably Dance](https://probablydance.com) * [protty](https://kprotty.me) * [purplesyringa](https://purplesyringa.moe) by *Alisa Sireneva* * [Racey Chan's Blog](https://www.lihil.cc/blog) * [Rahman Sibahi's Blog](https://asibahi.github.io) * [Rahul Gopinath's Blog](https://rahul.gopinath.org/posts) * [RasterGrid](https://www.rastergrid.com/blog) * [Reindeereffect](https://reindeereffect.github.io) * [Reasonably Polymorphic](https://reasonablypolymorphic.com) by *Sandy Maguire* * [Sam Rose's Blog](https://samwho.dev) * [Serge Skoredin's Blog](https://skoredin.pro/blog) * [Simon Willison's Weblog](https://simonwillison.net) * [Squadrick](https://squadrick.dev) by *Dheeraj Reddy* * [Stephen Diehl's Blog](https://www.stephendiehl.com) * [stuffwithstuff](https://stuffwithstuff.com) by *Robert Nystrom* * [Syed Jafar Naqvi's Blog](https://medium.com/@naqvi.jafar91) * [The If Works](https://blog.jcoglan.com) by *James Coglan* * [Theia Vogel's Blog](https://vgel.me) * [Thomas Leonard's blog](https://roscidus.com) * [TK Kinoshita's Blog](https://www.iamtk.co) * [Vectorized](https://vectrx.substack.com) by *Caden Parker* * [Vladimir Makarov's Blog](https://vnmakarov.github.io) * [xnacly - blog](https://xnacly.me) * [Zaid Humayun's Blog](https://redixhumayun.github.io) ### Performance and Optimization * [Agner Fog's Website](https://www.agner.org) * [Branch Prediction Demystified](https://joegm.github.io/blog/branch-prediction-demystified) by *Joe Mckay* * [Denis Bakhvalov's Website](https://easyperf.net) * [Johnny's Software Lab](https://johnnysswlab.com) by *Ivica Bogosavljević* * [Optimizing a Math Expression Parser in Rust](https://rpallas.xyz/math-parser) by *Ricardo Pallás* * [Romain Guy's Blog](https://www.romainguy.dev/posts) ### Web Development * [nullpt-rs blog](https://nullpt.rs) * [Frontend Masters](https://frontendmasters.com) * [Hugo Daniel's Blog](https://hugodaniel.com) * [Josh Comeau's Website](https://www.joshwcomeau.com) - Animation, CSS, JavaScript, React * [JSLegendDev’s Substack](https://jslegenddev.substack.com) - Web development, game development and their intersection. * [Tania Rascia’s blog](https://www.taniarascia.com) by *Tania Rascia* ## Other * [Explained from First Principles](https://explained-from-first-principles.com) by *Kaspar Etter* * [How These Things Work](https://reasonablypolymorphic.com/book/preface.html) - a book about abstraction * [Improve Your Social Skills](https://www.improveyoursocialskills.com) by *Dr. Daniel Wendler* * [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) * [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* * [Vjeux Blog](https://blog.vjeux.com) ## Other lists * [Awesome Math Books](https://github.com/valeman/Awesome_Math_Books) * [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* * [LibreTexts](https://libretexts.org) - Collections of science books. * [Lovely Professional University Books](https://www.lpude.in/SLMs) * [Max Slater's Bookmarks](https://github.com/TheNumbat/Lists) * [My favorite technical blogs](https://eatonphil.com/blogs.html) by *Phil Eaton* * [Open Source Society University](https://ossu.dev) * [Programming Notes for Professionals books](https://goalkicker.com) * [Project Based Learning](https://github.com/practical-tutorials/project-based-learning/blob/master/README.md) * [Raspberry Pi Official Magazine Books](https://magazine.raspberrypi.com/books)