{"id":53379,"url":"https://github.com/bobeff/programming-math-science","name":"programming-math-science","description":"This is a list of links to different freely available learning resources about computer programming, math, and science.","projects_count":1805,"last_synced_at":"2026-04-14T21:00:20.368Z","repository":{"id":45074359,"uuid":"400507157","full_name":"bobeff/programming-math-science","owner":"bobeff","description":"This is a list of links to different freely available learning resources about computer programming, math, and science.","archived":false,"fork":false,"pushed_at":"2026-04-10T21:02:55.000Z","size":2222,"stargazers_count":1870,"open_issues_count":0,"forks_count":138,"subscribers_count":26,"default_branch":"main","last_synced_at":"2026-04-10T23:11:30.165Z","etag":null,"topics":["awesome-list","math","programming","science"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bobeff.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-08-27T12:48:54.000Z","updated_at":"2026-04-10T22:33:40.000Z","dependencies_parsed_at":"2024-11-09T18:24:36.528Z","dependency_job_id":"3a704b54-47cc-4c73-87df-8943fbf1687d","html_url":"https://github.com/bobeff/programming-math-science","commit_stats":{"total_commits":544,"total_committers":7,"mean_commits":77.71428571428571,"dds":"0.011029411764705843","last_synced_commit":"8a783762979c54fac5c55cdb075bf3707050b703"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bobeff/programming-math-science","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobeff%2Fprogramming-math-science","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobeff%2Fprogramming-math-science/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobeff%2Fprogramming-math-science/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobeff%2Fprogramming-math-science/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bobeff","download_url":"https://codeload.github.com/bobeff/programming-math-science/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bobeff%2Fprogramming-math-science/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31815080,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T18:05:02.291Z","status":"ssl_error","status_checked_at":"2026-04-14T18:05:01.765Z","response_time":153,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"readme":"# Programming, Math, Science\n\nThis is a list of links to different freely available learning resources about computer programming, math, and science.\n\n## Table of contents\n\n* [AI](#ai)\n  * [Machine Learning](#machine-learning)\n    * [Large Language Models](#large-language-models)\n    * [Machine Learning Online Courses](#machine-learning-online-courses)\n    * [Mathematics for Machine Learning](#mathematics-for-machine-learning)\n    * [Reinforcement learning](#reinforcement-learning)\n  * [Computer Games AI](#computer-games-ai)\n  * [Vibe Coding and Spec-Driven Development](#vibe-coding-and-spec-driven-development)\n* [Algorithms](#algorithms)\n  * [Bloom Filters](#bloom-filters)\n  * [Date-time](#date-time)\n  * [Diff Algorithms](#diff-algorithms)\n* [Art](#art)\n* [Biology](#biology)\n* [Command Line and Tools](#command-line-and-tools)\n  * [Curl](#curl)\n  * [Linux command line](#linux-command-line)\n  * [Nix](#nix)\n* [Competitions and Interview Preparation Websites](#competitions-and-interview-preparation-websites)\n  * [Math](#math-competitions)\n    * [Preparation Resources](#math-competitions-preparation)\n  * [Physics](#physics-competitions)\n  * [Programming](#programming-competitions)\n    * [Preparation Resources](#programming-competitions-preparation)\n* [Compilers and Interpreters](#compilers-and-interpreters)\n  * [Static Program Analysis](#static-program-analysis)\n* [Computer Graphics](#computer-graphics)\n  * [Creative Coding](#creative-coding)\n  * [Curves and Surfaces](#curves-and-surfaces)\n  * [DirectX 12](#directx-12)\n  * [Image Processing](#image-processing)\n    * [Dithering](#dithering)\n  * [Metal](#metal)\n  * [OpenGL](#opengl)\n  * [Ray Tracing](#ray-tracing)\n  * [Shaders](#shaders)\n  * [Vulkan](#vulkan)\n  * [WebGPU](#webgpu)\n* [Computer Networks and Network Programming](#computer-networks-and-network-programming)\n* [Cryptography](#cryptography)\n* [Data Science](#data-science)\n* [Debuggers](#debuggers)\n* [Databases](#databases)\n  * [Databases Development](#databases-development)\n  * [NoSQL](#nosql)\n  * [SQL](#sql)\n    * [MySQL](#mysql)\n    * [PostgreSQL](#postgresql)\n    * [Oracle](#oracle)\n* [Demoscene](#demoscene)\n* [Design Patterns](#design-patterns)\n* [DevOps](#devops)\n* [Digital Signal Processing](#digital-signal-processing)\n* [Distributed Systems](#distributed-systems)\n* [Electronics](#electronics)\n* [Emulators and Virtual Machines](#emulators-and-virtual-machines)\n* [Game Programming](#game-programming)\n  * [Game Engines](#game-engines)\n  * [Game Physics](#game-physics)\n* [General Programming](#general-programming)\n  * [Lists of programming projects to try to implement](#lists-of-programming-projects-to-try-to-implement)\n* [Geographic Information Systems](#geographic-information-systems)\n* [GUI Programming](#gui-programming)\n* [Hardware](#hardware)\n* [Information Theory](#information-theory)\n* [IQ Tests](#iq-tests)\n* [Logical Games](#logical-games)\n* [Low Level Stuff](#low-level-stuff)\n  * [GPU and TPU programming](#gpu-and-tpu-programming)\n  * [SIMD programming](#simd-programming)\n* [Math](#math)\n  * [Algebra](#algebra)\n    * [Linear Algebra](#linear-algebra)\n  * [Analysis](#analysis)\n  * [Calculus](#calculus)\n    * [Vector Calculus](#vector-calculus)\n  * [Category Theory](#category-theory)\n  * [Differential Equations](#defferential-equations)\n  * [Game Theory](#game-theory)\n  * [General problem solving](#general-problem-solving)\n  * [Geometry](#geometry)\n    * [Differential Geometry](#differential-geometry)\n  * [Combinatorics](#combinatorics)\n    * [Graph Theory](#graph-theory)\n  * [Mathematical Finance](#mathematical-finance)\n  * [Mathematical Logic](#mathematical-logic)\n  * [Measure Theory](#measure-theory)\n  * [Number Theory](#number-theory)\n  * [Operations Research](#operations-research)\n  * [Probability and Statistics](#probability-and-statistics)\n  * [Proofs](#proofs)\n  * [Theoretical Computer Science](#theoretical-computer-science)\n  * [Topology](#topology)*\n* [Multithreading and Concurrency](#multithreading-and-concurrency)\n* [Music Theory](#music-theory)\n* [Operating Systems](#operating-systems)\n  * [Operating Systems Development](#operating-systems-development)\n* [Photography](#photography)\n* [Physics](#physics)\n* [Programming Languages](#programming-languages)\n  * [Ada](#ada)\n  * [Assembly](#assembly)\n  * [Bash](#bash)\n  * [Basic](#basic)\n  * [C](#c)\n  * [C#](#c-sharp)\n  * [C++](#cpp)\n  * [CMake](#cmake)\n  * [Cuda](#cuda)\n  * [D](#d)\n  * [Datalog](#datalog)\n  * [Erlang](#erlang)\n  * [Forth](#forth)\n  * [Go](#go)\n    * [Network programming in Go](#network-programming-in-go)\n  * [Haskell](#haskell)\n  * [Jai](#jai)\n  * [Java](#java)\n  * [JavaScript](#javascript)\n  * [Lean](#lean)\n  * [Lisp dialects](#lisp-dialects)\n    * [Clojure](#clojure)\n    * [Common Lisp](#common-lisp)\n    * [Racket](#racket)\n    * [Scheme](#scheme)\n  * [Nim](#nim)\n  * [OCaml](#ocaml)\n  * [Oberon-2](#oberon-2)\n  * [Odin](#odin)\n  * [Pascal](#pascal)\n  * [PostScript](#postscript)\n  * [Prolog](#prolog)\n  * [Pyret](#pyret)\n  * [Python](#python)\n  * [R](#R)\n  * [Regular expressions](#regular-expressions)\n  * [Ruby](#ruby)\n  * [Rust](#rust)\n  * [Smalltalk](#smalltalk)\n  * [Ya](#ya)\n  * [Zig](#zig)\n* [Retrocomputing](#retrocomputing)\n  * [Advent of Code on retro machines](#adevent-of-code-on-retro-machines)\n  * [Apple II](#apple-ii)\n  * [Commodore 64](#commodore-64)\n  * [CP/M](#cpm)\n  * [DOS](#dos)\n  * [Game Boy](#game-boy)\n  * [Mega 65](#mega-65)\n  * [NES](#nes)\n  * [ZX Spectrum and Z80 CPU](#zx-spectrum-and-z80-cpu)\n    * [ZX Online Articles](#zx-online-articles)\n* [Reverse engineering](#reverse-engineering)\n* [Robotics](#robotics)\n* [System programming](#system-programming)\n* [Technical Writing](#technical-writing)\n* [Testing](#testing)\n* [Text editors](#text-editors)\n  * [Emacs](#emacs)\n  * [Vim](#vim)\n* [Unicode](#unicode)\n* [Version control tools](#version-control-tools)\n* [Web programming](#web-programming)\n  * [CSS](#css)\n  * [Django](#django)\n  * [HTML](#html)\n* [Personal Websites and Blogs](#personal-websites-and-blogs)\n  * [AI](#ai-blogs)\n  * [C and C++](#c-and-cpp-blogs)\n  * [Game and Graphics Programming](#game-and-graphics-programming-blogs)\n  * [Hardware Blogs](#other-blogs)\n  * [Math and Physics](#math-and-physics-blogs)\n  * [Mixed Programming](#mixed-programming-blogs)\n  * [Performance and Optimization](#performance-and-optimization-blogs)\n  * [Web Development](#web-development-blogs)\n* [Other](#other)\n* [Other lists](#other-lists)\n\n## AI\n\n* [Agentic Design Patterns](https://docs.google.com/document/u/0/d/1rsaK53T3Lg5KoGwvf8ukOUvbELRtH-V0LnOIFDxBryE/mobilebasic) by *Antonio Gulli*\n\n* [Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp](https://norvig.github.io/paip-lisp) by *Peter Norvig*\n\n### Machine Learning\n\n* [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]**\n\n* [A Course in Machine Learning](http://ciml.info) by *Hal Daumé III*\n\n* [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*\n\n* [Algorithmic Aspects of Machine Learning](https://people.csail.mit.edu/moitra/docs/bookexv2.pdf) by *Ankur Moitra* **[pdf]**\n\n* [Algorithms for Artificial Intelligence](https://web.stanford.edu/~mossr/pdf/alg4ai.pdf) by *Robert J. Moss* **[dpf]** **[Stanford]**\n\n* [Alice’s Adventures in a differentiable wonderland](https://www.sscardapane.it/alice-book) by *Simone Scardapane*\n\n* [aman.ai](aman.ai) - The art of artificial intelligence one concept at a time by *Aman Chadha*\n\n* [An Illustrated Guide to Automatic Sparse Differentiation](https://iclr-blogposts.github.io/2025/blog/sparse-autodiff) by *Adrian Hill*, *Guillaume Dalle*, and *Alexis Montoison*\n\n* [An Introduction to Statistical Learning](https://www.statlearning.com) by *Gareth James, Daniela Witten, Trevor Hastie, Rob Tibshirani*\n\n* [Applied Machine Learning for Tabular Data](https://aml4td.org) by *Max Kuhn* and *Kjell Johnson*\n\n* [Books by Andriy Burkov](https://www.thelmbook.com)\n  * [The Hundred Page Machine Learning Book](http://themlbook.com/wiki)\n  * [The Hundred-Page Language Models Book](https://www.thelmbook.com)\n  * [Machine Learning Engineering Book](http://www.mlebook.com/wiki)\n\n* [Computer Vision: Algorithms and Applications, 2nd Edition](https://szeliski.org/Book) by *Richard Szeliski*\n\n* [Concise Machine Learning](https://people.eecs.berkeley.edu/~jrs/papers/machlearn.pdf) by *Jonathan Richard Shewchuk* **[pdf]**\n\n* [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)\n\n* [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*\n\n* [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]**\n\n* [Deep Learning](https://www.deeplearningbook.org/) by *Ian Goodfellow, Yoshua Bengio and Aaron Courville*\n\n* [Deep Learning Course](https://fleuret.org/dlc) by *François Fleuret*\n\n* [Deep Learning: Foundations and Concepts](https://www.bishopbook.com) by *Chris Bishop with Hugh Bishop*\n\n* [Deep Learning Interviews](https://arxiv.org/abs/2201.00650) by *Shlomo Kashani* and *Amir Ivry*\n\n* [Deep Learning on Graphs](https://yaoma24.github.io/dlg_book) by *Yao Ma* and *Jiliang Tang*\n\n* [Deep Learning with Python, Second Edition](https://sourestdeeds.github.io/pdf/Deep%20Learning%20with%20Python.pdf) by *François Chollet* **[pdf]**\n\n* [Dive into Deep Learning](https://d2l.ai)\n\n* [Dive into Deep Learning Compiler](https://tvm.d2l.ai/)\n\n* [Dummy's Guide to Modern LLM Sampling](https://rentry.co/samplers)\n\n* [Foundations of Computer Vision](https://visionbook.mit.edu) by *Antonio Torralba*, *Phillip Isola*, and *William Freeman*\n\n* [Foundations of Machine Learning](https://cs.nyu.edu/~mohri/mlbook) by *Mehryar Mohri*, *Afshin Rostamizadeh*, and *Ameet Talwalkar* **[MIT]**\n\n* [GNN From Scratch](https://cultured-avenue-f13.notion.site/GNN-From-Scratch-2a3dfe9550dd80ac87deee4fe6cd0696) by **\n\n* [Harvard's undergraduate course in Machine Learning](https://github.com/harvard-ml-courses/cs181-textbook) by *William J. Deuschle*\n\n* [Introduction to Flow Matching and Diffusion Models](https://diffusion.csail.mit.edu) by *Peter Holderrieth* and *Ezra Erives*\n\n* [Introduction to ggml](https://huggingface.co/blog/introduction-to-ggml) by *Xuan Son NGUYEN*, *Georgi Gerganov* and *slaren*\n\n* [Introduction to Machine Learning](https://alex.smola.org/drafts/thebook.pdf) by *Alex Smola* and *S.V.N. Vishwanathan* **[pdf]**\n\n* [Introduction to Machine Learning](https://princeton-introml.github.io/) by *Sanjeev Arora*, *Simon Park*, *Dennis Jacob* and *Danqi Chen* **[Princeton]**\n\n* [Introduction to Machine Learning](https://introml.mit.edu/_static/spring24/LectureNotes/6_390_lecture_notes_spring24.pdf) **[pdf]** **[MIT]**\n\n* [Introduction to Machine Learning Interviews](https://huyenchip.com/ml-interviews-book) by *Chip Huyen*\n\n* [Learning Theory from First Principles](https://www.di.ens.fr/%7Efbach/ltfp_book.pdf) by *Francis Bach* **[pdf]**\n\n* [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]**\n\n* [Lecture Notes for Machine Learning Theory](https://tselilschramm.org/mltheory/ma.pdf) by *Tengyu Ma* **[pdf]**\n\n* [Machine Learning Engineering Open Book](https://github.com/stas00/ml-engineering) by *Stas Bekman*\n\n* [Machine Learning Lecture Notes](https://cs229.stanford.edu/main_notes.pdf) by *Andrew Ng* and *Tengyu Ma* **[pdf]** **[Stanford]**\n\n* [Machine Learning Systems](https://mlsysbook.ai) by *Vijay Janapa Reddi*\n\n* [Machine learning with neural networks](https://arxiv.org/pdf/1901.05639) by *Bernard Mehling* [pdf]\n\n* [Neural Networks and Deep Learning](http://neuralnetworksanddeeplearning.com) by *Michael Nielsen*\n\n* [Notes on AutoGrad](https://aschrein.github.io/jekyll/update/2025/08/23/compute_graph.html) by *Anton Schreiner*\n\n* [Patterns, Predictions, and Actions: A story about machine learning](https://mlstory.org) by *Moritz Hardt* and *Benjamin Recht*\n\n* [Physics-based Deep Learning](https://physicsbaseddeeplearning.org/intro.html) by *N. Thuerey, P. Holl, M. Mueller, P. Schnell, F. Trost, K. Um*\n\n* [Probabilistic Artificial Intelligence](https://arxiv.org/abs/2502.05244) by *Andreas Krause*, *Jonas Hübotter*\n\n* [Probabilistic Machine Learning: An Introduction](https://probml.github.io/pml-book/book1.html) by *Kevin Patrick Murphy*\n\n* [Probabilistic Machine Learning: Advanced Topics](https://probml.github.io/pml-book/book2.html) by *Kevin Patrick Murphy*\n\n* [Speech and Language Processing, 3rd edition](https://web.stanford.edu/~jurafsky/slp3/) by *Daniel Jurafsky* and *James H. Martin*\n\n* [Statistical Learning Theory](https://web.stanford.edu/class/cs229t/notes.pdf) by *Percy Liang* **[pdf]**\n\n* [The Elements of Differentiable Programming](https://arxiv.org/abs/2403.14606) by *Mathieu Blondel and Vincent Roulet*\n\n* [The Elements of Statistical Learning](https://hastie.su.domains/ElemStatLearn) by *Trevor Hastie*, *Robert Tibshirani*, and *Jerome Friedman*\n\n* [The Engineer's Guide To Deep Learning](https://www.interdb.jp/dl) by *Hironobu Suzuki*\n\n* [The Little Book of Deep Learning](https://fleuret.org/francois) by *François Fleuret*\n\n* [The Most Important Machine Learning Equations: A Comprehensive Guide](https://chizkidd.github.io//2025/05/30/machine-learning-key-math-eqns) by *Chizoba Obasi*\n\n* [The Principles of Deep Learning Theory](https://arxiv.org/abs/2106.10165) by *Daniel A. Roberts*, *Sho Yaida*, *Boris Hanin*\n\n* [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*\n\n* [Theory of Deep Learning](https://www.cs.princeton.edu/~arora/TheoryDL.pdf) by *Zhao Song* **[pdf]**\n\n* [Tutorial on Diffusion Models for Imaging and Vision](https://arxiv.org/abs/2403.18103) by *Stanley H. Chan*\n\n* [Undergraduate Fundamentals of Machine Learning](https://github.com/harvard-ml-courses/cs181-textbook) by *William J. Deuschle*\n\n* [Understanding Deep Learning](https://udlbook.github.io/udlbook) by *Simon J.D. Prince*\n\n* [Understanding Machine Learning: From Theory to Algorithms](https://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning) by *Shai Shalev-Shwartz* and *Shai Ben-David*\n\n#### Large Language Models\n\n* [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*\n\n* [Defeating Nondeterminism in LLM Inference](https://thinkingmachines.ai/blog/defeating-nondeterminism-in-llm-inference) by *Horace He*\n\n* [Foundations of Large Language Models](https://arxiv.org/abs/2501.09223) by *Tong Xiao* and *Jingbo Zhu*\n\n* [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*\n\n* [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*\n\n* [LLM Inference Handbook](https://bentoml.com/llm)\n\n* [Quantization from the ground up](https://ngrok.com/blog/quantization) by *Sam Rose*\n\n#### Machine Learning Online Courses\n\n* [Google Machine Learning Education](https://developers.google.com/machine-learning)\n\n* [Neural Networks: Zero to Hero](https://karpathy.ai/zero-to-hero.html) - A course by *Andrej Karpathy*\n\n* [Practical Deep Learning for Coders](https://course.fast.ai)\n\n#### Mathematics for Machine Learning\n\n* [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]**\n\n* [Mathematical Analysis of Machine Learning Algorithms](https://tongzhang-ml.org/lt-book.html) by *Tong Zhang*\n\n* [Mathematical Foundations of Machine Learning](https://nowak.ece.wisc.edu/MFML.pdf) by *Robert Nowak* **[pdf]**\n\n* [Mathematical Introduction to Deep Learning: Methods, Implementations, and Theory](https://arxiv.org/abs/2310.20360) by *Arnulf Jentzen, Benno Kuckuck, Philippe von Wurstemberger*\n\n* [Mathematics for Artificial Intelligence Lecure Notes](https://www.imo.universite-paris-saclay.fr/~gilles.blanchard/teaching/Lecture_Notes_MAI.pdf) by *Gilles Blanchard* **[pdf]**\n\n* [Mathematics for Machine Learning](https://mml-book.github.io/) by *Marc Peter Deisenroth, A. Aldo Faisal, and Cheng Soon Ong*\n\n* [Mathematics for Machine Learning](https://gwthomas.github.io/docs/math4ml.pdf) by *Garrett Thomas* **[pdf]**\n\n* [Mathematics for Inference and Machine Learning](https://www.doc.ic.ac.uk/~dfg/ProbabilisticInference/InferenceAndMachineLearningNotes.pdf) by *Marc Deisenroth* and *Stefanos Zafeiriou* **[pdf]**\n\n* [Mathematics of Machine Learning](https://ocw.mit.edu/courses/18-657-mathematics-of-machine-learning-fall-2015/pages/lecture-notes) by *Philippe Rigollet*\n\n* [Mathematics of Machine Learning](https://www.statslab.cam.ac.uk//~rds37/machine_learning.html) by *Rajen D. Shah*\n\n* [Mathematics of Neural Networks](https://arxiv.org/abs/2403.04807) by *Bart M.N. Smets*\n\n* [Matrix Calculus (for Machine Learning and Beyond)](https://arxiv.org/abs/2501.14787) by *Paige Bright*, *Alan Edelman*, and *Steven G. Johnson*\n  * [MIT course](https://ocw.mit.edu/courses/18-s096-matrix-calculus-for-machine-learning-and-beyond-january-iap-2023)\n  * [GitHub repository](https://github.com/mitmath/matrixcalc)\n\n* [Optimization for Data Science](https://n.ethz.ch/~jiaxie/graduate_projs/notes_eth.pdf) by *Bernd Gartner*, *Niao He* and *Martin Jaggi* **[pdf]**\n\n* [Pen and Paper Exercises in Machine Learning](https://arxiv.org/abs/2206.13446) by *Michael U. Gutmann*\n\n* [The Matrix Calculus You Need For Deep Learning](https://explained.ai/matrix-calculus) by *Terence Parr* and *Jeremy Howard*\n\n#### Reinforcement learning\n\n* [A Little Bit of Reinforcement Learning from Human Feedback](https://rlhfbook.com) by *Nathan Lambert*\n\n* [Deep Reinforcement Learning](https://deep-reinforcement-learning.net) by *Aske Plaat*\n\n* [Deep Reinforcement Learning: Zero to Hero!](https://github.com/alessiodm/drl-zh)\n\n* [Distributional Reinforcement Learning](https://www.distributional-rl.org) by *Marc G. Bellemare*, *Will Dabney* and *Mark Rowland*\n\n* [Mathematical Foundations of Reinforcement Learning](https://github.com/MathFoundationRL/Book-Mathematical-Foundation-of-Reinforcement-Learning) by *Shiyu Zhao*\n\n* [Multi-Agent Reinforcement Learning: Foundations and Modern Approaches](https://www.marl-book.com) by *Stefano V. Albrecht*, *Filippos Christianos* and *Lukas Schäfer*\n\n* [Reinforcement Learning: An Introduction, Second Edition](http://incompleteideas.net/book/the-book-2nd.html) by *Richard S. Sutton* and *Andrew G. Barto*\n\n* [Reinforcement Learning: An Overview](https://arxiv.org/abs/2412.05265) by *Kevin Murphy*\n\n### Computer Games AI\n\n* [Artificial Intelligence and Games](https://gameaibook.org) by *Georgios N. Yannakakis* and *Julian Togelius*\n\n* [Game AI Pro](http://www.gameaipro.com) by *Steve Rabin*\n\n* [Programming Starcraft AI](https://makingcomputerdothings.com/an-index-for-the-starcraft-ai-posts) by *Peter Kis*\n\n### Vibe Coding and Spec-Driven Development\n\n* [Basic Claude Code](https://harper.blog/2025/05/08/basic-claude-code) by *Harper Reed*\n\n* [Disciplined AI Software Development](https://github.com/Varietyz/Disciplined-AI-Software-Development) by *Jay Baleine*\n\n* [Diving Into Spec-Driven Development With GitHub Spec Kit](https://developer.microsoft.com/blog/spec-driven-development-spec-kit) by *Den Delimarsky*\n\n* [How I program with Agents](https://crawshaw.io/blog/programming-with-agents) by *David Crawshaw*\n\n* [How I program with LLMs](https://crawshaw.io/blog/programming-with-llms) by *David Crawshaw*\n\n* [How I Use Every Claude Code Feature](https://blog.sshh.io/p/how-i-use-every-claude-code-feature) by *Shrivu Shankar*\n\n* [My LLM codegen workflow atm](https://harper.blog/2025/02/16/my-llm-codegen-workflow-atm) by *Harper Reed*\n\n* [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*\n\n* [Vibe Coding Terminal Editor](https://matklad.github.io/2025/08/31/vibe-coding-terminal-editor.html) by *Alex Kladov*\n\n## Algorithms\n\n* [A First Course on Data Structures in Python](https://donsheehy.github.io/datastructures) by *Donald R. Sheehy*\n\n* [Advanced Algorithms](https://www.cs.cmu.edu/~15850/notes/cmu850-f20.pdf) by *Anupam Gupta* **[pdf]** **[CMU]**\n\n* [Advanced Algorithms](https://people.inf.ethz.ch/aroeyskoe/AA23_materials/AAscript.pdf) by *Mohsen Ghaffari* **[pdf]** **[ETH]**\n\n* [Advanced Algorithms](https://ocw.mit.edu/courses/6-854j-advanced-algorithms-fall-2008) by *Prof. Michel Goemans* **[MIT]**\n\n* [Advanced Algorithm Design](https://www.cs.princeton.edu/courses/archive/fall15/cos521) by *Sanjeev Arora* **[Princeton]** **[Fall 2015]**\n\n* [Advanced Algorithm Design](https://www.cs.princeton.edu/courses/archive/fall18/cos521) by *Pravesh Kothari* and *Christopher Musco* **[Princeton]** **[Fall 2018]**\n\n* [Advanced Data Structures](https://courses.csail.mit.edu/6.897/spring03/scribe_notes) by *Erik Demaine*\n\n* [Algorithms](http://jeffe.cs.illinois.edu/teaching/algorithms/) by *Jeff Erickson*\n\n* [Algorithms](https://courses.grainger.illinois.edu/cs473/fa2021/lec/book.pdf) by *Sariel Har-Peled* **[pdf]**\n\n* [Algorithms, 4th Edition](https://mrce.in/ebooks/Algorithms%204th%20Ed.pdf) by *Robert Sedgewick* and *Kevin Wayne*\n\n* [Algorithms and Data Structures](https://people.mpi-inf.mpg.de/~mehlhorn/ftp/Mehlhorn-Sanders-Toolbox.pdf) by *Kurt Mehlhorn and Peter Sanders* **[pdf]**\n\n* [Algorithms Books](https://algorithmsbook.com) by *Mykel J. Kochenderfer*\n  * [Algorithms for Optimization](https://algorithmsbook.com/optimization) by *Mykel J. Kochenderfer*, and *Tim A. Wheeler*\n  * [Algorithms for Decision Making](https://algorithmsbook.com/decisionmaking) by *Mykel J. Kochenderfer*, *Tim A. Wheeler*, and *Kyle H. Wray*\n  * [Algorithms for Validation](https://algorithmsbook.com/validation) by *Mykel J. Kochenderfer*, *Sydney M. Katz*, *Anthony L. Corso*, and *Robert J. Moss*\n\n* [Algorithms Design (in C)](https://www.ime.usp.br/~pf/algorithms) by *Paulo Feofiloff*\n\n* [Algorithms for Inference](https://ocw.mit.edu/courses/6-438-algorithms-for-inference-fall-2014) by *Prof. Devavrat Shah*\n\n* [Algorithms for Massive Data](https://arxiv.org/abs/2301.00754) by *Nicola Prezza*\n\n* [Algorithms for Modern Hardware](https://en.algorithmica.org/hpc) by *Sergey Slotin*\n\n* [Algorithms in C](https://theswissbay.ch/pdf/Gentoomen%20Library/Algorithms/Algorithms%20in%20C.pdf) by *Robert Sedgewick* **[pdf]**\n\n* [An Open Guide to Data Structures and Algorithms](https://pressbooks.palni.org/anopenguidetodatastructuresandalgorithms) by *Paul W. Bible* and *Lucas Moser*\n\n* [Approximation Algorithms](https://courses.grainger.illinois.edu/cs583/fa2021/approx-algorithms-lecture-notes.pdf) by *Chandra Chekuri* **[pdf]**\n\n* [Book of All-pairs Shortest Paths](https://olegkarasik.wordpress.com/category/developers-story/book-of-all-pairs-shortest-paths) by *Oleg Karasik*\n\n* [Clever Algorithms: Nature-Inspired Programming Recipes](https://github.com/clever-algorithms/CleverAlgorithms) by *Jason Brownlee*\n\n* [Collision Detection](https://www.jeffreythompson.org/collision-detection) by *Jeff Thompson*\n\n* [Data Structure Visualizations](https://www.cs.usfca.edu/~galles/visualization) by *David Galles*\n\n* [Data Structures \u0026 Algorithm Analysis](https://people.cs.vt.edu/~shaffer/Book) by *Clifford A. Shaffer*\n\n* [Data Structures \u0026 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]**\n\n* [Data Structures for Data-Intensive Applications: Tradeoffs and Design Guidelines](https://cs-people.bu.edu/mathan/publications/fnt23-athanassoulis.pdf) by *Manos Athanassoulis\n, Stratos Idreos and Dennis Shasha* **[pdf]**\n\n* [Design and Analysis of Algorithms](https://stanford-cs161.github.io/winter2025) by *Nima Anari* and *Moses Charikar*\n\n* [Essential Coding Theory](https://cse.buffalo.edu/faculty/atri/courses/coding-theory/book) by *Venkatesan Guruswami*, *Atri Rudra*, and *Madhu Sudan*\n\n* [Exact String Matching Algorithms](http://www-igm.univ-mlv.fr/~lecroq/string) by *Christian Charras and Thierry Lecroq*\n\n* [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]**\n\n* [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*\n\n* [Hello Algo](https://www.hello-algo.com/en)\n\n* [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*\n\n* [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]**\n\n* [Introduction to Multi-Armed Bandits](https://arxiv.org/abs/1904.07272) by *Aleksandrs Slivkins*\n\n* [Kalman Filter from the Ground Up](https://www.kalmanfilter.net) by *Alex Becker*\n\n* [Lecture Notes on Quantum Algorithms](https://www.cs.umd.edu/~amchilds/qa/qa.pdf) by *Andrew M. Childs* **[pdf]**\n\n* [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*\n\n* [Matters Computational: Ideas, Algorithms, Source Code](https://www.jjj.de/fxt/fxtbook.pdf) by *Jörg Arndt* **[pdf]**\n\n* [Monte-Carlo Graph Search from First Principles](https://github.com/lightvector/KataGo/blob/master/docs/GraphSearch.md) by *David J Wu*\n\n* [Notes on Algorithms](https://www.cs.yale.edu/homes/aspnes/pinewiki/CS365(2f)Notes.html) by *James Aspnes*\n\n* [Notes on Data Structures and Programming Techniques](https://www.cs.yale.edu/homes/aspnes/classes/223/notes.html) by *James Aspnes*\n\n* [Notes on Randomized Algorithms](https://www.cs.yale.edu/homes/aspnes/classes/469/notes.pdf) by *James Aspnes* **[pdf]**\n\n* [Planning Algorithms](http://lavalle.pl/planning) by *Steven M. LaValle*\n\n* [Principles of Algorithmic Problem Solving](https://www.csc.kth.se/~jsannemo/slask/main.pdf) by *Johan Sannemo*\n\n* [Problem Solving with Algorithms and Data Structures using Python](https://runestone.academy/runestone/books/published/pythonds/index.html) by *Brad Miller and David Ranum*\n\n* [Purely Functional Data Structures](https://www.cs.cmu.edu/~rwh/students/okasaki.pdf) by *Chris Okasaki* **[pdf]**\n\n* [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*\n\n* [The Arcane Algorithm Archive](https://www.algorithm-archive.org/)\n\n* [The Little Book of algorithms](https://github.com/little-book-of/algorithms) by *Duc-Tam Nguyen*\n\n* [The Skyline algorithm for packing 2D rectangles](https://jvernay.fr/en/blog/skyline-2d-packer/implementation) by *Julien Vernay*\n\n* [Think Data Structures](https://greenteapress.com/wp/think-data-structures) by *Allen B. Downey*\n\n* [Tim Roughgarden's Courses and Lecture Notes](https://timroughgarden.org)\n  * [Algorithmic Game Theory](https://timroughgarden.org/f13/f13.html)\n\n### Bloom Filters\n\n* [Bloom Filters](https://eli.thegreenplace.net/2025/bloom-filters) by *Eli Bendersky*\n\n* [Bloom Filters by Example](https://llimllib.github.io/bloomfilter-tutorial)\n\n* [Let's implement a Bloom Filter](https://onatm.dev/2020/08/10/let-s-implement-a-bloom-filter) by *Onat Yiğit Mercan*\n\n### Date-time\n\n* [A Very Fast 64–Bit Date Algorithm](https://www.benjoffe.com/fast-date-64) by *Ben Joffe*\n\n### Diff Algorithms\n\n* **Building Git** by *James Coglan*\n  * **The Myers diff algorithm**\n    * [Part 1](https://blog.jcoglan.com/2017/02/12/the-myers-diff-algorithm-part-1)\n    * [Part 2](https://blog.jcoglan.com/2017/02/15/the-myers-diff-algorithm-part-2)\n    * [Part 3](https://blog.jcoglan.com/2017/02/17/the-myers-diff-algorithm-part-3)\n  * **Myers diff in linear space**\n    * [Part 1: Theory](https://blog.jcoglan.com/2017/03/22/myers-diff-in-linear-space-theory)\n    * [Part 2: Implementation](https://blog.jcoglan.com/2017/04/25/myers-diff-in-linear-space-implementation)\n  * [Merging with diff3](https://blog.jcoglan.com/2017/05/08/merging-with-diff3)\n  * [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)\n  * [The patience diff algorithm](https://blog.jcoglan.com/2017/09/19/the-patience-diff-algorithm)\n  * [Implementing patience diff](https://blog.jcoglan.com/2017/09/28/implementing-patience-diff)\n\n* [Diff Algorithms](https://flo.znkr.io/diff)\n\n* [Myers Diff Algorithm - Code \u0026 Interactive Visualization](https://blog.robertelder.org/diff-algorithm) by *Robert Elder*\n\n## Art\n\n* [Pixel art articles and tutorials](https://saint11.org) by *Pedro Medeiros*\n\n## Biology\n\n* [Introduction to Genomics for Engineers](https://learngenomics.dev)\n\n* [The Algorithmic Beauty of Plants](http://algorithmicbotany.org/papers/abop/abop.pdf) by *Przemyslaw Prusinkiewicz* and *Aristid Lindenmayer* **[pdf]**\n\n## Command Line and Tools\n\n* [Command Line Handbook](https://commandline.stribny.name) by *Petr Stribny*\n\n* [Driving Compilers](https://fabiensanglard.net/dc) by *Fabien Sanglard*\n\n* [Getting started with tmux](https://ittavern.com/getting-started-with-tmux) by *ittavern*\n\n* [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*\n\n* [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*\n\n* [Learn Makefiles: With the tastiest examples](https://makefiletutorial.com) by *Chase Lambert*S\n\n* [rsync: Series](https://michael.stapelberg.ch/posts/2022-06-18-rsync-overview) by *Michael Stapelberg*\n\n* [Terminal colours are tricky](https://jvns.ca/blog/2024/10/01/terminal-colours) by *Julia Evans*\n\n* [The Definitive Guide To Docker](https://masteringbackend.com/posts/docker-tutorial)\n\n* [Use Midnight Commander like a pro](https://klimer.eu/2015/05/01/use-midnight-commander-like-a-pro) by *Igor Klimer*\n\n* [Write a Shell in C](https://brennan.io/2015/01/16/write-a-shell-in-c) by *Stephen Brennan*\n\n* [Writing Programs with NCURSES](https://invisible-island.net/ncurses/ncurses-intro.html) by *Eric S. Raymond* and *Zeyd M. Ben-Halim*\n\n* [Writing Your Own Simple Tab-Completions for Bash and Zsh](https://mill-build.org/blog/14-bash-zsh-completion.html) by *Li Haoyi*\n\n### Curl\n\n* [Curl Cookbook](https://catonmat.net/cookbooks/curl)\n\n* [Curl Exercises](https://jvns.ca/blog/2019/08/27/curl-exercises) by *Julia Evans*\n\n* [Mastering curl: interactive text guide](https://antonz.org/mastering-curl) by *Anton Zhiyanov*\n\n### Linux command line\n\n* [Effective Shell](https://effective-shell.com/) by *Dave Kerr*\n\n* [GameShell: a \"game\" to teach the Unix shell](https://github.com/phyver/GameShell) by *Pierre Hyvernat*\n\n* [Linux command line for you and me](https://lym.readthedocs.io/en/latest/index.html) by *Kushal Das*\n\n* [The Linux Command Handbook](https://www.freecodecamp.org/news/the-linux-commands-handbook) by *Flavio Copes*\n\n* [The Linux Command Line](https://linuxcommand.org/tlcl.php) by *William Shotts*\n\n* [Linux Commands Cheat Sheet](https://linux-commands.labex.io/)\n\n### Nix\n\n* [NixOS \u0026 Flakes Book](https://nixos-and-flakes.thiscute.world) - An unofficial book for beginners by *Ryan Yin*\n\n* [Wombat’s Book of Nix](https://mhwombat.codeberg.page/nix-book) by *Amy de Buitléir*\n\n## Competitions and Interview Preparation Websites\n\n### Math \u003cspan id=\"math-competitions\"\u003e\n\n* [Erdős](https://erdos.sdslabs.co)\n\n* [Erdős Problems](https://www.erdosproblems.com)\n\n* [International Mathematical Olympiad](https://www.imo-official.org)\n\n#### Preparation Resources \u003cspan id=\"math-competitions-preparation\"\u003e\n\n* [Mathematical Problem Solving](https://www.cip.ifi.lmu.de/~grinberg/t/20f) by *Darij Grinberg*\n\n### Physics \u003cspan id=\"physics-competitions\"\u003e\n\n* [International Physics Olympiad](https://ipho-unofficial.org)\n\n### Programming \u003cspan id=\"programming-competitions\"\u003e\n\n* [Advent of Code](https://adventofcode.com) - An Advent calendar of small programming puzzles by *Eric Wastl*\n\n* [Code Golf](https://codegolf.stackexchange.com) - A site for recreational programming competitions.\n\n* [CodeAbbey](https://www.codeabbey.com)\n\n* [CodeChef](https://www.codechef.com)\n\n* [CodeForces](https://codeforces.com)\n\n* [Coderbyte](https://coderbyte.com)\n\n* [Codewars](https://www.codewars.com)\n\n* [Codility](https://app.codility.com/programmers)\n\n* [CodingBat](https://codingbat.com) - A free site of live coding problems to build coding skill in Java and Python.\n\n* [CodinGame](https://www.codingame.com)\n\n* [Daily Programmer](https://www.reddit.com/r/dailyprogrammer)\n\n* [Edabit](https://edabit.com)\n\n* [Exercism](https://exercism.org)\n\n* [Hacker Earth](https://www.hackerearth.com)\n\n* [HackerRank](https://www.hackerrank.com)\n\n* [International Collegiate Programming Contest](https://icpc.global)\n\n* [International Olympiad in Informatics](https://ioinformatics.org)\n\n* [Kaggle](https://www.kaggle.com) - ML specific.\n\n* [LabEx](https://labex.io) - Learn Linux, DevOps \u0026 Cybersecurity with Hands-on Labs.\n\n* [Learn OCaml](https://ocaml-sf.org/learn-ocaml-public)\n\n* [LeetCode](https://leetcode.com)\n\n* [NeetCode](https://neetcode.io)\n\n* [Project Euler](https://projecteuler.net)\n\n* [Rosalind](https://rosalind.info) - A platform for learning bioinformatics through problem solving.\n\n* [Skilled.dev](https://skilled.dev)\n\n* [Sphere Online Judge](https://www.spoj.com)\n\n* [SQLPad](https://sqlpad.io)\n\n* [takeUforward](https://takeuforward.org)\n\n* [Top Coder](https://www.topcoder.com/community/arena)\n\n#### Preparation Resources \u003cspan id=\"programming-competitions-preparation\"\u003e\n\n* [Algorithms for Competitive Programming](https://cp-algorithms.com)\n\n* [Competitive Programmer's Handbook](https://cses.fi/book/index.php) by *Antti Laaksonen*\n\n* [Competetive Programming](https://www.comp.nus.edu.sg/~stevenha/myteaching/competitive_programming/cp2.pdf) by *Steven Halim* **[pdf]**\n\n* [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*\n\n## Compilers and Interpreters\n\n* [A Compiler Writing Journey](https://github.com/DoctorWkt/acwj) by *Warren*\n\n* [A practical introduction to parsing](https://jhwlr.io/intro-to-parsing) by *Jan Procházka*\n\n* [Build Your Own Lisp](https://buildyourownlisp.com) by *Daniel Holden*\n\n* **Building a Toy Programming Language in Python** by *Miguel Grinberg*\n  * [Part 1](https://blog.miguelgrinberg.com/post/building-a-toy-programming-language-in-python)\n  * [Part 2](https://blog.miguelgrinberg.com/post/building-a-toy-programming-language-in-python-part-2)\n\n* **Building the fastest Lua interpreter.. automatically!** by *Haoran Xu*\n  * [Part 1](https://sillycross.github.io/2022/11/22/2022-11-22)\n  * [Part 2: Building a baseline JIT for Lua automatically](https://sillycross.github.io/2023/05/12/2023-05-12)\n\n* [Compiler Design in C](https://holub.com/compiler) by *Allen I. Holub*\n\n* [Compiling to Assembly from Scratch](https://keleshev.com/compiling-to-assembly-from-scratch) by *Vladimir Keleshev*\n\n* [Crafting Interpreters](http://craftinginterpreters.com) by *Robert Nystrom*\n\n* [Creating the Bolt Compiler](https://mukulrathi.co.uk/create-your-own-programming-language/intro-to-compiler) by *Mukul Rathi*\n\n* [Essentials of Compilation: An Incremental Approach](https://iucompilercourse.github.io/tutorial-web-page) by *Geremy G. Siek*\n\n* [Graal Truffle tutorial](https://www.endoflineblog.com/graal-truffle-tutorial-part-0-what-is-truffle) by *Adam Ruka*\n\n* [How Clang Compiles a Function](https://blog.regehr.org/archives/1605) by *John Regehr*\n\n* [How LLVM Optimizes a Function](https://blog.regehr.org/archives/1603) by *John Regehr*\n\n* [Introduction to Compilers and Language Design](https://dthain.github.io/books/compiler) by *Prof. Douglas Thain*\n\n* **Introduction to parser combinators** by *James Coglan*\n  * [Part 1](https://blog.jcoglan.com/2017/07/06/introduction-to-parser-combinators)\n  * [Part 2: Precedence and associativity in recursive descent](https://blog.jcoglan.com/2017/07/07/precedence-and-associativity-in-recursive-descent)\n  * [Part 3: Packrat parsing: a top-down performance improvement](https://blog.jcoglan.com/2017/07/30/packrat-parsing-a-top-down-performance-improvement)\n\n* [Let's Build a Compiler](https://xmonader.github.io/letsbuildacompiler-pretty) by *Jack Crenshaw*\n\n* **Let's make a Teeny Tiny compiler** by *Austin Z. Henley*\n  * [Part 1](https://austinhenley.com/blog/teenytinycompiler1.html)\n  * [Part 2](https://austinhenley.com/blog/teenytinycompiler2.html)\n  * [Part 3](https://austinhenley.com/blog/teenytinycompiler3.html)\n\n* **Let's Write a Compiler** by *Brian Robert Callahan*\n  * [Part 1: Introduction, selecting a language, and doing some planning](https://briancallahan.net/blog/20210814.html)\n  * [Part 2: A lexer](https://briancallahan.net/blog/20210815.html)\n  * [Part 3: A parser](https://briancallahan.net/blog/20210816.html)\n  * [Part 4: Testing](https://briancallahan.net/blog/20210817.html)\n  * [Part 5: A code generator](https://briancallahan.net/blog/20210818.html)\n  * [Part 6: Input and output](https://briancallahan.net/blog/20210819.html)\n  * [Part 7: Arrays](https://briancallahan.net/blog/20210822.html)\n  * [Part 8: Strings, forward references, and conclusion](https://briancallahan.net/blog/20210826.html)\n\n* [Low-Level Software Security for Compiler Developers](https://llsoftsec.github.io/llsoftsecbook) by *Bill Wendling*, *Lucian Popescu*, and *Anders Waldenborg*\n\n* [Make A Language](https://arzg.github.io/lang) - A series about making a programming language called *Eldiro* using the *Rust* programming language.\n\n* [Strategies for very fast Lexers](https://xnacly.me/posts/2025/fast-lexer-strategie)\n\n* [Threaded code](https://muforth.dev/threaded-code)\n\n* [Writing a C compiler in 500 lines of Python](https://vgel.me/posts/c500) by *Theia Vogel*\n\n* [Writing a C Compiler, in Zig](https://asibahi.github.io/thoughts/c-compiler-1-zig) by *Rahman Sibahi*\n\n### Static Program Analysis\n\n* [Principles of Program Analysis](https://www.researchgate.net/publication/265352570_Principles_of_Program_Analysis) by *Flemming Nielson*, *Hanne Riis Nielson*, and *Chris Hankin*\n\n* [Secure Programming with Static Analysis](https://ptgmedia.pearsoncmg.com/images/9780321424778/samplepages/9780321424778.pdf) by *Brian Chess* and *Jacob West*\n\n* [Static Program Analysis](https://cs.au.dk/~amoeller/spa) by *Anders Møller* and *Michael I. Schwartzbach*\n\n## Computer Graphics\n\n* [3D Math Primer for Graphics and Game Development](https://gamemath.com/book/intro.html) by *Fletcher Dunn* and *Ian Parberry*\n\n* [A fast and precise triangle rasterizer](https://kristoffer-dyrkorn.github.io/triangle-rasterizer) by *Kristoffer Dyrkorn*\n\n* [A trip through the Graphics Pipeline](https://fgiesen.wordpress.com/2011/07/09/a-trip-through-the-graphics-pipeline-2011-index) by *Fabian Giesen*\n\n* **A Quick Introduction to Workgraphs** by *Kostas Anagnostou*\n  * [Part 1](https://interplayoflight.wordpress.com/2024/06/29/a-quick-introduction-to-workgraphs)\n  * [Part 2: Performance](https://interplayoflight.wordpress.com/2024/09/09/an-introduction-to-workgraphs-part-2-performance)\n\n* [Blocky Planet — Making Minecraft Spherical](https://www.bowerbyte.com/posts/blocky-planet)\n\n* **Building Real-Time Global Illumination** by *Jason McGhee*\n  * [Part 1: Naive GI: A Foundation](https://jason.today/gi)\n  * [Part 2: Radiance Cascades](https://jason.today/rc)\n\n* [Collection of AMD Research Publications](https://gpuopen.com/learn/publications)\n\n* [Computer Graphics from Scratch](https://gabrielgambetta.com/computer-graphics-from-scratch) by *Gabriel Gambetta*\n\n* [Crash Course in BRDF Implementation](https://boksajak.github.io/blog/BRDF) by *Jakub Boksansky*\n\n* [FrostKiwi's Secrets](https://blog.frost.kiwi) by *Wladislav Artsimovich*\n  * [AAA - Analytical Anti-Aliasing](https://blog.frost.kiwi/analytical-anti-aliasing)\n  * [How to (and how not to) fix color banding](https://blog.frost.kiwi/GLSL-noise-and-radial-gradient)\n  * [How video games use LUTs and how you can too](https://blog.frost.kiwi/WebGL-LUTS-made-simple)\n  * [Video Game Blurs (and how the best one works)](https://blog.frost.kiwi/dual-kawase)\n\n* [Fundamentals of Radiance Cascades](https://m4xc.dev/articles/fundamental-rc)\n\n* [Noise is Beautiful: Part 1: Procedural textures](https://liu.diva-portal.org/smash/get/diva2:1954979/FULLTEXT01.pdf) by *Stefan Gustavson* **[pdf]**\n\n* **Noise is Beautiful** by *Stefan Gustavson*\n  * [Part 1: Procedural textures](https://computer-graphics.se/TNM084/Files/Noise%20if%20beautiful%20Part%201%2020241103.pdf) **[pdf]**\n  * [Part 2: Noise is beautiful](https://computer-graphics.se/TNM084/Files/Noise%20is%20beautiful%20Part%202%2020241103.pdf) **[pdf]**\n\n* [Radiometry: Overview](https://momentsingraphics.de/RadiometryOverview.html) by *Christoph Peters*\n\n* [Rotations with quaternions](https://imadr.me/rotations-with-quaternions)\n\n* **GPU Gems Books Series**\n  * [GPU Gems](https://developer.nvidia.com/gpugems/gpugems/contributors)\n  * [GPU Gems 2](https://developer.nvidia.com/gpugems/gpugems2/copyright)\n  * [GPU Gems 3](https://developer.nvidia.com/gpugems/gpugems3/contributors)\n\n* [GPU Performance for Game Artists](http://fragmentbuffer.com/gpu-performance-for-game-artists) by *Keith O’Conor*\n\n* [GPU Programming Primitives for Computer Graphics](https://gpu-primitives-course.github.io) by *Daniel Meister*, *Atsushi Yoshimura*, and *Chih-Chen Kao*\n\n* [Implementing a tiny CPU rasterizer](https://lisyarus.github.io/blog/posts/implementing-a-tiny-cpu-rasterizer.html) by *Nikita Lisitsa*\n\n* [Implementing Order-Independent Transparency](https://osor.io/OIT) by *Rubén Osorio López*\n\n* [Learn Computer Graphics From Scratch](https://www.scratchapixel.com)\n\n* [Let's Make a Voxel Engine](https://sites.google.com/site/letsmakeavoxelengine)\n\n* [Lode's Computer Graphics Tutorial](https://lodev.org/cgtutor) by *Lode Vandevenne*\n\n* [Marching Cubes, Explained Using Marching Squares](https://blog.42yeah.is/algorithm/2023/07/15/marching-cubes.html)\n\n* [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.\n\n* [Ocean Rendering, Part 1 - Simulation](https://rtryan98.github.io/2025/10/04/ocean-rendering-part-1.html) by *Robert Ryan*\n\n* [Optimizing Software Occlusion Culling](https://fgiesen.wordpress.com/2013/02/17/optimizing-sw-occlusion-culling-index) by *Fabian Giesen*\n\n* **Order Independent Transparency** by *Kostas Anagnostou*\n  * **Rasterized**\n    * [Part 1](https://interplayoflight.wordpress.com/2022/06/25/order-independent-transparency-part-1)\n    * [Part 2](https://interplayoflight.wordpress.com/2022/07/02/order-independent-transparency-part-2)\n    * [Part 3](https://interplayoflight.wordpress.com/2022/07/10/order-independent-transparency-endgame)\n  * **Raytraced**\n    * [Part 1](https://interplayoflight.wordpress.com/2023/07/15/raytraced-order-independent-transparency)\n    * [Part 2](https://interplayoflight.wordpress.com/2023/07/30/raytraced-order-independent-transparency-part-2)\n\n* [Physically Based Rendering in Filament](https://google.github.io/filament/Filament.md.html) by *Romain Guy* and *Mathias Agopian*\n\n* [Physically based rendering from first principles](https://imadr.me/pbr)\n\n* [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 *\n\n* **Probability Theory for Physically Based Rendering** by *Jacco Bikker*\n  * [Part 1](https://jacco.ompf2.com/2019/12/11/probability-theory-for-physically-based-rendering)\n  * [Part 2](https://jacco.ompf2.com/2019/12/13/probability-theory-for-physically-based-rendering-part-2)\n\n* [Rasterising a triangle](https://jtsorlinis.github.io/rendering-tutorial) by *Jason Tsorlinis*\n\n* [RasterTek toturials](https://rastertek.com/tutindex.html)\n\n* **Recreating Nanite** by *Xavier Niochaut*\n  * [Part 1 - The Plan](https://jglrxavpok.github.io/2023/11/12/recreating-nanite-the-plan.html)\n  * [Part 2 - Visibility buffer](https://jglrxavpok.github.io/2023/11/26/recreating-nanite-visibility-buffer.html)\n  * [Part 3 - Cluster rendering](https://jglrxavpok.github.io/2023/12/07/recreating-nanite-cluster-rendering.html)\n  * [Part 4 - LOD generation](https://jglrxavpok.github.io/2024/01/19/recreating-nanite-lod-generation.html)\n  * [Part 5 - A basic material pass](https://jglrxavpok.github.io/2024/02/06/recreating-nanite-material-pass.html)\n  * [Part 6 - LOD generation - faster, better, simpler](https://jglrxavpok.github.io/2024/03/12/recreating-nanite-faster-lod-generation.html)\n  * [Part 7 - Runtime LOD selection](https://jglrxavpok.github.io/2024/04/02/recreating-nanite-runtime-lod-selection.html)\n  * [Part 8 - Mesh shader time](https://jglrxavpok.github.io/2024/05/13/recreating-nanite-mesh-shader-time.html)\n  * [Part 9 - Raytracing](https://jglrxavpok.github.io/2024/08/21/recreating-nanite-raytracing.html)\n\n* [Software rasterizing hair](https://www.sctheblog.com/blog/hair-software-rasterize) by *Marcin Matuszczyk*\n\n* [Texture-less Text Rendering](https://poniesandlight.co.uk/reflect/debug_print_text) by *Tim Gfrerer*\n\n* [The Geometry Behind Normal Maps](https://www.shlom.dev/articles/geometry-behind-normal-maps) by *Shlomi Nissan*\n\n* [Voxel Engine in a Weekend](https://daymare.net/blogs/voxel-engine-in-a-weekend)\n\n* [WebGL2 Fundamentals](https://webgl2fundamentals.org/)\n\n### Creative Coding\n\n* [Creative Coding Tutorials and Articles](https://bleuje.com/tutorials) by *Etienne Jacob*\n\n* [Inigo Quilez Website](https://iquilezles.org)\n\n* [Paul Bourke's Website](https://paulbourke.net)\n\n### Curves and Surfaces\n\n* [A Primer on Bézier Curves](https://pomax.github.io/bezierinfo)\n\n* [Cubic spline interpolation](https://eli.thegreenplace.net/2023/cubic-spline-interpolation) by *Eli Bendersky*\n\n* [Curves and Surfaces](https://ciechanow.ski/curves-and-surfaces) by *Bartosz Ciechanowski*\n\n### DirectX 12\n\n* [A Gentle Introduction to D3D12](https://alextardif.com/DX12Tutorial.html) by *Alex Tardif*\n\n* [All Sources of DirectX 12 Documentation](https://asawicki.info/news_1794_all_sources_of_directx_12_documentation) by *Adam Sawicki*\n\n* **Compute with DirectX 12** by *Stefan Pijnacker*\n  * [Part 1: the Theory](https://www.stefanpijnacker.nl/article/compute-with-directx12-part-1)\n  * [Part 2: The Setup](https://www.stefanpijnacker.nl/article/compute-with-directx-12-part-2)\n\n* [DirectX-Graphics-Samples](https://github.com/microsoft/DirectX-Graphics-Samples)\n\n* [Getting Started With DirectX Raytracing](https://renderingpixels.com/2022/07/getting-started-with-directx-raytracing) by *Seppe Dekeyser*\n\n* [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*\n\n* [Ten Years of D3D12](https://therealmjp.github.io/posts/ten-years-of-d3d12) by *Matt Pettineo*\n\n### Image Processing\n\n#### Dithering\n\n* [Atkinson Dithering](https://beyondloom.com/blog/dither.html) by *John Earnest*\n\n* [Dithering in Colour](https://obrhubr.org/dithering-in-colour) by *Niklas Oberhuber*\n\n* [Dithering on the GPU](https://alex-charlton.com/posts/Dithering_on_the_GPU) by *Alex Charlton*\n\n* [Ditherpunk — The article I wish I had about monochrome image dithering](https://surma.dev/things/ditherpunk) by *Surma*\n\n* [Image Dithering: Eleven Algorithms and Source Code](https://tannerhelland.com/2012/12/28/dithering-eleven-algorithms-source-code.html) by *Tanner Helland*\n\n* [Writing My Own Dithering Algorithm in Racket](https://amanvir.com/blog/writing-my-own-dithering-algorithm-in-racket) by *Amanvir Parhar*\n\n### Metal\n\n* [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*\n\n* [Metal Tutorial](https://metaltutorial.com) by *Will Martin*\n\n### OpenGL\n\n* [A Guide to Modern OpenGL Functions](https://github.com/fendevel/Guide-to-Modern-OpenGL-Functions)\n\n* [Best Practices for Modern OpenGL](https://juandiegomontoya.github.io/modern_opengl.html)\n\n* [Learn OpenGL](https://learnopengl.com) by *Joey de Vries*\n\n* [Learning Modern 3D Graphics Programming](https://paroj.github.io/gltut) by *Jason L. McKesson*\n\n* [OGLdev: Modern OpenGL tutorials](https://ogldev.org) by *Etay Meiri*\n\n* [OpenGL Tutorial](https://www.opengl-tutorial.org)\n\n### Ray Tracing\n\n* [A raycasting engine in 7 easy steps](https://austinhenley.com/blog/raycasting.html) by *Austin Z. Henley*\n\n* [Amanatides and Woo's fast Voxel Traversal](https://m4xc.dev/articles/amanatides-and-woo)\n\n* [Demystifying multiple importance sampling](https://lisyarus.github.io/blog/posts/multiple-importance-sampling.html) by *Nikita Lisitsa*\n\n* [How to build a BVH](https://jacco.ompf2.com/2022/04/13/how-to-build-a-bvh-part-1-basics) by *Jacco Bikker*\n\n* **Introduction of the Raytracing Technology**\n  * [Part 1](https://blog.en.uwa4d.com/2022/12/14/introduction-of-the-raytracing-technology-part-1)\n  * [Part 2](https://blog.en.uwa4d.com/2022/12/21/introduction-of-the-raytracing-technology-part-2)\n\n* [Physically Based Rendering: From Theory To Implementation](https://www.pbr-book.org/) by *Matt Pharr*, *Wenzel Jakob*, and *Greg Humphreys*\n\n* [Ray-Casting Tutorial For Game Development And Other Purposes](https://permadi.com/1996/05/ray-casting-tutorial-table-of-contents) by *F. Permadi*\n\n* [Ray Tracing Gems](https://link.springer.com/book/10.1007/978-1-4842-4427-2) by *Eric Haines and Tomas Akenine-Möller*\n\n* [Ray Tracing Gems II](https://link.springer.com/book/10.1007/978-1-4842-7185-8) by *Adam Marrs, Peter Shirley, and Ingo Wald*\n\n* [Ray Tracing in One Weekend: The Book Series](https://raytracing.github.io) by *Peter Shirley*\n\n* [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*\n\n* [Raymarching explained interactively](https://imadr.me/raymarching-explained-interactively)\n\n### Shaders\n\n* [3D Game Shaders For Beginners](https://github.com/lettier/3d-game-shaders-for-beginners)\n\n* **A Beginner's Guide to Coding Graphics Shaders** by *Omar Shehata*\n  * [Part 1](https://gamedevelopment.tutsplus.com/tutorials/a-beginners-guide-to-coding-graphics-shaders--cms-23313)\n  * [Part 2](https://gamedevelopment.tutsplus.com/tutorials/a-beginners-guide-to-coding-graphics-shaders-part-2--cms-24111)\n  * [Part 3](https://gamedevelopment.tutsplus.com/tutorials/a-beginners-guide-to-coding-graphics-shaders-part-3--cms-24351)\n\n* **A Journey Into Shaders** by *Antoine Mayerowitz*\n  * [Part I: The blob](https://www.mayerowitz.io/blog/a-journey-into-shaders)\n\n* [GM Shaders](https://gmshaders.com) - All about shaders for GameMaker!\n\n* [Introducing GPU Reshape - shader instrumentation for everyone](https://gpuopen.com/learn/introducing-gpu-reshape-shader-instrumentation-toolset) by *Miguel Petersen*\n\n* [Introduction to Shaders](https://www.hexaquo.at/pages/introduction-to-shaders) by *Karl Bittner*\n\n* [Learn Shader Programming with Rick and Morty](https://danielchasehooper.com/posts/code-animated-rick) by *Daniel Hooper*\n\n* [Mesh Shaders on RDNA™ Graphics Cards](https://gpuopen.com/learn/mesh_shaders/mesh_shaders-index) by *Max Oberberger*, *Bastian Kuth* and *Quirin Meyer*\n\n* [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]**\n\n* [On Crafting Painterly Shaders](https://blog.maximeheckel.com/posts/on-crafting-painterly-shaders)\n\n* [Post-Processing Shaders as a Creative Medium](https://blog.maximeheckel.com/posts/post-processing-as-a-creative-medium)\n\n* [Shaders For People Who Don't Know How To Shader](https://github.com/Xibanya/ShaderTutorials) by *Manuela Malasaña*\n\n* [Shader Tutorials by Ronja](https://www.ronja-tutorials.com)\n\n* [The Best Darn Grid Shader (Yet)](https://bgolus.medium.com/the-best-darn-grid-shader-yet-727f9278b9d8) by *Ben Golus*\n\n* [The Book of Shaders](https://thebookofshaders.com/) by *Patricio Gonzalez Vivo and Jen Lowe*\n\n### Vulkan\n\n* [A Vulkan introduction](https://www.4rknova.com//blog/2025/09/10/vulkan-intro) by *Nikos Papadopoulos*\n\n* [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*\n\n* [How I learned Vulkan and wrote a small game engine with it](https://edw.is/learning-vulkan) by *Elias Daler*\n\n* [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*\n\n* [Vulkan – Cross platform 3D Graphics](https://www.vulkan.org)\n\n* [Vulkan Guide](https://vkguide.dev)\n\n* [Vulkan Raytracing Tutorials](https://iorange.github.io)\n\n* [Vulkan Tutorial](https://vulkan-tutorial.com) by *Alexander Overvoorde*\n\n* [Vulkan Tutorial (Rust)](https://kylemayes.github.io/vulkanalia) by *Kyle Mayes*\n\n### WebGPU\n\n* [Learn WebGPU](https://eliemichel.github.io/LearnWebGPU) by *Elie Michel*\n\n* [Learn Wgpu](https://sotrh.github.io/learn-wgpu) by *Ben Hansen*\n\n* [Migrating from WebGL to WebGPU](https://hackernoon.com/migrating-from-webgl-to-webgpu) by *Dmitrii Ivashchenko*\n\n* [WebGPU Fundamentals](https://webgpufundamentals.org)\n\n* [WebGPU Unleashed: A Practical Tutorial](https://shi-yan.github.io/webgpuunleashed) by *Shi Yan*\n\n* [Your first WebGPU app](https://codelabs.developers.google.com/your-first-webgpu-app) by *Brandon Jones* and *François Beaufort*\n\n## Computer Networks and Network Programming\n\n* [A comprehensive guide for Linux Network (Socket) programming](https://github.com/nguyenchiemminhvu/LinuxNetworkProgramming)\n\n* [An Introduction to Computer Networks](http://intronetworks.cs.luc.edu/current2/html) by *Peter L. Dordal*\n\n* [Computer Networks: A Systems Approach](https://book.systemsapproach.org) by *Larry Peterson and Bruce Davie*\n\n* **Concurrent Servers** by *Eli Bendersky*\n  * [Part 1 - Introduction](https://eli.thegreenplace.net/2017/concurrent-servers-part-1-introduction)\n  * [Part 2 - Threads](https://eli.thegreenplace.net/2017/concurrent-servers-part-2-threads)\n  * [Part 3 - Event-driven](https://eli.thegreenplace.net/2017/concurrent-servers-part-3-event-driven)\n  * [Part 4 - libuv](https://eli.thegreenplace.net/2017/concurrent-servers-part-4-libuv)\n  * [Part 5 - Redis case study](https://eli.thegreenplace.net/2017/concurrent-servers-part-5-redis-case-study)\n  * [Part 6 - Callbacks, Promises and async/await](https://eli.thegreenplace.net/2018/concurrent-servers-part-6-callbacks-promises-and-asyncawait)\n\n* [HTTP2 Explained](https://daniel.haxx.se/http2) by *Daniel Stenberg*\n\n* [HTTP/3 explained](https://http3-explained.haxx.se) by *Daniel Stenberg*\n\n* [Implementing fast TCP fingerprinting with eBPF](https://halb.it/posts/ebpf-fingerprinting-1) by *Alberto Ventafridda*\n\n* [Implementing TCP In Rust](https://github.com/Ghvstcode/Rust-Tcp) by *Ghvst Code*\n\n* **Let's code a TCP/IP stack** by *Sami Niiranen*\n  * [Part 1: Ethernet \u0026 ARP](https://www.saminiir.com/lets-code-tcp-ip-stack-1-ethernet-arp)\n  * [Part 2: IPv4 \u0026 ICMPv4](https://www.saminiir.com/lets-code-tcp-ip-stack-2-ipv4-icmpv4)\n  * [Part 3: TCP Basics \u0026 Handshake](https://www.saminiir.com/lets-code-tcp-ip-stack-3-tcp-handshake)\n  * [Part 4: TCP Data Flow \u0026 Socket API](https://www.saminiir.com/lets-code-tcp-ip-stack-4-tcp-data-flow-socket-api)\n  * [Part 5: TCP Retransmission](https://www.saminiir.com/lets-code-tcp-ip-stack-5-tcp-retransmission)\n\n* [Mediocre Engineer’s guide to HTTPS](https://devonperoutky.super.site/blog-posts/mediocre-engineers-guide-to-https) by *Devon Peroutky*\n\n* **MQTT broker from scratch** by *Andrea Baldan*\n  * [Part 1: The protocol](https://codepr.github.io/posts/sol-mqtt-broker)\n  * [Part 2: Networking](https://codepr.github.io/posts/sol-mqtt-broker-p2)\n  * [Part 3: Server](https://codepr.github.io/posts/sol-mqtt-broker-p3)\n  * [Part 4: Data structures](https://codepr.github.io/posts/sol-mqtt-broker-p4)\n  * [Part 5: Topic abstraction](https://codepr.github.io/posts/sol-mqtt-broker-p5)\n  * [Part 6: Handlers](https://codepr.github.io/posts/sol-mqtt-broker-p6)\n  * [Part 7: Refactoring \u0026 eventloop](https://codepr.github.io/posts/sol-mqtt-broker-bonus)\n\n* [Networking 101](https://internalpointers.com/post-group/networking-101) by *Internal Pointers*\n\n* [Visual guide to SSH tunneling and port forwarding](https://ittavern.com/visual-guide-to-ssh-tunneling-and-port-forwarding)\n\n## Cryptography\n\n* [A Graduate Course in Applied Cryptography](https://toc.cryptobook.us) by *Dan Boneh* and *Victor Shoup*\n\n* [Advanced Topics in Cryptography: From Lattices to Program Obfuscation](https://advancedcrypto.github.io) by *Vinod Vaikuntanathan*\n\n* [All I Know About Certificates](https://www.pixelstech.net/article/1722045726-All-I-Know-About-Certificates----Certificate-Authority) by *Ke Pi*\n\n* [Coding Theory \u0026 Cryptography](http://www.mathstat.ualberta.ca/~bowman/m422/m422.pdf) by *John C. Bowman* **[pdf]**\n\n* [Cryptography: An Introduction (3rd Edition)](https://www.cs.umd.edu/~waa/414-F11/IntroToCrypto.pdf) by *Nigel Smart* **[pdf]**\n\n* [Practical Cryptography for Developers](https://cryptobook.nakov.com) by *Svetlin Nakov*\n\n* [The Beginner's Textbook for Fully Homomorphic Encryption](https://arxiv.org/abs/2503.05136) by *Ronny Ko*\n\n## Data Science\n\n* [Advanced Data Science: Statistics and Prediction Algorithms Through Case Studies](https://rafalab.dfci.harvard.edu/dsbook-part-2) by *Rafael A. Irizarry*\n\n* [Data Science at the Command Line](https://jeroenjanssens.com/dsatcl) by *Jeroen Janssens*\n\n* [Fundamentals of Data Visualization](https://clauswilke.com/dataviz) by *Claus O. Wilke*\n\n* [Hands-On Data Visualization](https://handsondataviz.org) by *Jack Dougherty* and *Ilya Ilyankou*\n\n* [Introduction to Data Science: Data Wrangling and Visualization with R](https://rafalab.dfci.harvard.edu/dsbook-part-1) by *Rafael A. Irizarry*\n\n* [Mathematical Methods in Data Science (with Python)](https://mmids-textbook.github.io) by *Sebastien Roch*\n\n* [Mining of Massive Datasets](http://www.mmds.org) by *Jure Leskovec*, *Anand Rajaraman*, and *Jeff Ullman*\n\n* [Mining Social Media](https://socialdata.site) by *Lam Thuy Vo*\n\n* [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*\n\n* [Towards Data Science](https://towardsdatascience.com) - The world’s leading publication for data science, AI, and ML professionals.\n\n## Debuggers\n\n* [Debugging with GDB](https://sourceware.org/gdb/current/onlinedocs/gdb.html)\n\n* [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*\n\n* [Writing a Linux Debugger](https://blog.tartanllama.xyz/writing-a-linux-debugger-setup) by *Sy Brand*\n\n* **Writing a Debugger From Scratch** by *Tim Misiak*\n  * [Part 1 - Attaching to a Process](https://www.timdbg.com/posts/writing-a-debugger-from-scratch-part-1)\n  * [Part 2 - Register State and Stepping](https://www.timdbg.com/posts/writing-a-debugger-from-scratch-part-2)\n  * [Part 3 - Reading Memory](https://www.timdbg.com/posts/writing-a-debugger-from-scratch-part-3)\n  * [Part 4 - Exports and Private Symbols](https://www.timdbg.com/posts/writing-a-debugger-from-scratch-part-4)\n  * [Part 5 - Breakpoints](https://www.timdbg.com/posts/writing-a-debugger-from-scratch-part-5)\n  * [Part 6 - Stacks](https://www.timdbg.com/posts/writing-a-debugger-from-scratch-part-6)\n  * [Part 7 - Disassembly](https://www.timdbg.com/posts/writing-a-debugger-from-scratch-part-7)\n  * [Part 8 - Source and Symbols](https://www.timdbg.com/posts/writing-a-debugger-from-scratch-part-8)\n\n## Databases\n\n* [Database Design for Google Calendar: a tutorial](https://kb.databasedesignbook.com/posts/google-calendar) by *Alexey Makhotkin*\n\n* [Database Fundamentals](https://tontinton.com/posts/database-fundementals) by *Tony Solomonik*\n\n* [The Theory of Relational Databases](http://web.cecs.pdx.edu/~maier/TheoryBook/TRD.html) by *David Maier*\n\n### Databases Development\n\n* [B-trees and database indexes](https://planetscale.com/blog/btrees-and-database-indexes) by *Benjamin Dicken*\n\n* [Build Your Own Database From Scratch in Go](https://build-your-own.org/database) by *James Smith*\n\n* **Build your own SQLite** by *Geoffrey Copin*\n  * [Part 1: Listing tables](https://blog.sylver.dev/build-your-own-sqlite-part-1-listing-tables)\n  * [Part 2: Scanning large tables](https://blog.sylver.dev/build-your-own-sqlite-part-2-scanning-large-tables)\n  * [Part 3: SQL parsing 101](https://blog.sylver.dev/build-your-own-sqlite-part-3-sql-parsing-101)\n  * [Part 4: reading tables metadata](https://blog.sylver.dev/build-your-own-sqlite-part-4-reading-tables-metadata)\n  * [Part 5: Evaluating queries](https://blog.sylver.dev/build-your-own-sqlite-part-5-evaluating-queries)\n\n* [Build Your Own Redis with C/C++](https://build-your-own.org/redis) by *James Smith*\n\n* [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*\n\n* [Jacob's blog: On database building blocks](https://jacobsherin.com) by *Sherin Jacob*\n  * [A B+Tree Node Underflows: Merge or Borrow?](https://jacobsherin.com/posts/2025-08-16-bplustree-compare-borrow-merge)\n  * [Cache-Friendly B+Tree Nodes With Dynamic Fanout](https://jacobsherin.com/posts/2025-08-18-bplustree-struct-hack)\n\n* [Let's Build a Simple Database](https://cstack.github.io/db_tutorial) by *Connor Stack*\n\n### NoSQL\n\n* [MongoDB Tutorial](https://www.mongodbtutorial.org)\n\n### SQL\n\n* [Mode's SQL Tutorial](https://mode.com/sql-tutorial)\n\n* [SQL Tutorial](https://www.sqltutorial.org) - Master SQL quickly and effectively with clear concepts, hands-on examples, and interactive quizzes.\n\n* [SQL for the Weary](https://gvwilson.github.io/sql-tutorial) by *Greg Wilson*\n\n* [SQLBolt](https://sqlbolt.com) - Learn SQL with simple, interactive exercises.\n\n* [SQLZap](https://sqlzap.com) - Learn SQL with for Free.\n\n* [SQLZoo](https://sqlzoo.net) - SQL Tutorial.\n\n#### MySQL\n\n* [MySQL for Developers](https://planetscale.com/courses/mysql-for-developers) by *Aaron Francis*\n\n* [MySQL Tutorial](https://www.mysqltutorial.org)\n\n#### PostgreSQL\n\n* [PostgreSQL 14 Internals](https://postgrespro.com/community/books/internals) by *Egor Rogov*\n\n* [PostgreSQL Tutorial](https://www.postgresqltutorial.com)\n\n* [The Internals of PostgreSQL](https://www.interdb.jp/pg) by *Hironobu Suzuki*\n\n#### Oracle\n\n* [Oracle Tutorial](https://www.oracletutorial.com)\n\n## Demoscene\n\n* [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é*.\n\n* [How a 64k intro is made](https://www.lofibucket.com/articles/64k_intro.html) by *Pekka Väänänen*\n\n* The making of Immersion\n  * [Part 1: A dive into the making of Immersion](https://www.ctrl-alt-test.fr/2018/a-dive-into-the-making-of-immersion)\n  * [Part 2: Texturing in a 64kB intro](http://www.ctrl-alt-test.fr/2018/texturing-in-a-64kb-intro)\n  * [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)\n\n## Design Patterns\n\n* [Building abstractions using higher-order functions](https://eli.thegreenplace.net/2023/building-abstractions-using-higher-order-functions) by *Eli Benderski*\n\n* [Data Engineering Design Patterns (DEDP)](https://www.dedp.online)\n\n* [Data-Oriented Design](https://www.dataorienteddesign.com/dodbook) by *Richard Fabian*\n\n* [Design Patterns \u0026 Refactoring](https://sourcemaking.com) *SourceMaking*\n\n* **Design Patterns in Python blog posts series** by *Racey Chan*\n  * [Decorators and Functional programming](https://www.lihil.cc/blog/decorators-and--functional-programming)\n  * [Design Patterns You Should Unlearn in Python: Part1](https://www.lihil.cc/blog/design-patterns-you-should-unlearn-in-python-part)\n  * [Design Patterns You Should Unlearn in Python: Part2](https://www.lihil.cc/blog/design-patterns-you-should-unlearn-in-python-part2)\n  * [Most Design Patterns Are Just Dependency Injection in Disguise](https://www.lihil.cc/blog/Most-Design-Patterns-Are-Just-Dependency-Injection-In-Disguise)\n\n* **Discovering observers** by *Sandor Dargo*\n  * [Part 1](https://www.sandordargo.com/blog/2025/09/03/observers-part1)\n  * [Part 2](https://www.sandordargo.com/blog/2025/09/10/observers-part2)\n  * [Part 3](https://www.sandordargo.com/blog/2025/09/17/observers-part3)\n\n* [The expression problem and Rust](https://purplesyringa.moe/blog/the-expression-problem-and-rust) by *Alisa Sireneva*\n\n* [From design patterns to category theory](https://blog.ploeh.dk/2017/10/04/from-design-patterns-to-category-theory) by *Mark Seemann*\n\n* [Game Programming Patterns](http://www.gameprogrammingpatterns.com) by *Robert Nystrom*\n\n* [Handles are the better pointers](https://floooh.github.io/2018/06/17/handles-vs-pointers.html) by *Andre Weissflog*\n\n* [Indices, not Pointers](https://joegm.github.io/blog/indices-not-pointers) by *Joe Mckay*\n\n* [Multiple Dispatch Series](https://eli.thegreenplace.net/2016/the-expression-problem-and-its-solutions) by *Eli Bendersky*\n\n* [Plugins Series](https://eli.thegreenplace.net/tag/plugins) by *Eli Bendersky*\n\n* [The Architecture of Open Source Applications](http://aosabook.org/en/index.html)\n\n## DevOps\n\n* [DevOps with Docker: Containers for Beginners](https://courses.mooc.fi/org/uh-cs/courses/devops-with-docker)\n\n* [DevOps with Kubernetes: A not-so-gentle introduction to cloud-native container orchestration](https://courses.mooc.fi/org/uh-cs/courses/devops-with-kubernete)\n\n* [devopscube](https://devopscube.com)\n\n## Digital Signal Processing\n\n* [Digital Signals Theory](https://brianmcfee.net/dstbook-site/content/intro.html) by *Brian McFee*\n\n* [Online Textbooks and Course Materials by Julius Orion Smith III](https://ccrma.stanford.edu/~jos)\n  * [AI Audio Signal Processing Reading List](https://cm-gitlab.stanford.edu/jos/music423-2023/-/blob/master/README.md)\n  * [Audio Signal Processing in FAUST](https://ccrma.stanford.edu/~jos/aspf)\n  * [Intoroduction to Digital Filters](https://ccrma.stanford.edu/~jos/filters) by *Julious O. Smith III**\n  * [Mathematics Of The Discrete Fourier Transform (Dft), Second Edition](https://ccrma.stanford.edu/~jos/mdft)\n  * [Physical Audio Signal Processing](https://ccrma.stanford.edu/~jos/pasp)\n  * [Spectral Audio Signal Processing](https://ccrma.stanford.edu/~jos/sasp)\n\n* [PySDR: A Guide to SDR and DSP using Python](https://pysdr.org) by *Dr. Marc Lichtman*\n\n* [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]**\n\n* [The Scientist and Engineer's Guide to Digital Signal Processing](http://www.dspguide.com) by *Steven W. Smith, Ph.D.*\n\n## Distributed systems\n\n* [Distributed systems for fun and profit](https://book.mixu.net/distsys) by *Mikito Takada*\n\n* [Implementing Raft](https://eli.thegreenplace.net/2020/implementing-raft-part-0-introduction) by *Eli Bendersky*\n\n* [Implementing the Raft distributed consensus protocol in Go](https://notes.eatonphil.com/2023-05-25-raft.html) by *Phil Eaton*\n\n* [Linearizability in distributed systems](https://eli.thegreenplace.net/2024/linearizability-in-distributed-systems) by *Eli Bendersky*\n\n* [Notes on Theory of Distributed Systems](http://www.cs.yale.edu/homes/aspnes/classes/465/notes.pdf) by *James Aspnes* **[pdf]**\n\n* [Patterns of Distributed Systems](https://martinfowler.com/articles/patterns-of-distributed-systems) by *Unmesh Joshi*\n\n* [Principles of Blockchains](https://web3.princeton.edu/principles-of-blockchains) by *Prof. Pramod Viswanath* **[Princeton]**\n\n* [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*\n\n* [Testing Distributed Systems](https://asatarin.github.io/testing-distributed-systems) - Curated list of resources on testing distributed systems by *Andrey Satarin*.\n\n## Electronics\n\n* [ANALOG SEEKrets: DC to daylight … a master class in electronics design](https://www.eevblog.com/files/seekPDF.pdf) by *Leslie Green* **[pdf]**\n\n* [Lessons in Electric Circuits](https://www.allaboutcircuits.com/textbook)\n\n* [Ultimate Electronics](https://ultimateelectronicsbook.com)\n\n## Emulators and Virtual Machines\n\n* [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*\n\n* [Emulators writing tutorials] by *Alexander Dickson*\n  * [JavaScript Chip-8 Emulator](https://web.archive.org/web/20210804123851/http://blog.alexanderdickson.com/javascript-chip-8-emulator)\n  * **Write a NES Emulator with JavaScript**\n    * [Part 1](https://web.archive.org/web/20210624190954/http://blog.alexanderdickson.com/javascript-nes-emulator-part-1)\n    * [Part 2](https://web.archive.org/web/20210624190316/http://blog.alexanderdickson.com/javascript-nes-emulator-part-2)\n\n* [GameBoy Emulation in JavaScript](http://imrannazar.com/GameBoy-Emulation-in-JavaScript:-The-CPU) by *Imran Nazar*\n\n* [Hypervisor in 1,000 Lines](https://1000hv.seiya.me/en) by *Seiya Nuta*\n\n* **Roll your own JavaScript runtime** by  *Bartek Iwańczuk*\n  * [Part 1](https://deno.com/blog/roll-your-own-javascript-runtime)\n  * [Part 2](https://deno.com/blog/roll-your-own-javascript-runtime-pt2)\n  * [Part 3](https://deno.com/blog/roll-your-own-javascript-runtime-pt3)\n\n* [Write your Own Virtual Machine](https://justinmeiners.github.io/lc3-vm) by *Justin Meiners* and *Ryan Pendleton*\n\n* [Writing NES emulator in Rust](https://bugzmanov.github.io/nes_ebook) by *Rafael Bagmanov*\n\n## Game Programming\n\n* [2D Game Development: From Zero To Hero](https://therealpenaz91.itch.io/2dgd-f0th) by *Daniele Penazzo*\n\n* [3D Game Engine Programming](https://www.3dgep.com) by *Jeremiah van Oosten*\n\n* [CSCI 181G PO: Game Engine Programming Course](https://cs.pomona.edu/classes/cs181g)\n\n* [Game Engineering](https://www.cs.usfca.edu/~galles/cs420) by *David Galles*\n\n* [How to program a text adventure in C](https://helderman.github.io/htpataic/htpataic01.html) by *Ruud Helderman*\n\n* [Isometric Projection in Game Development](https://pikuma.com/blog/isometric-projection-in-games) by *Gustavo Pezzi*\n\n* [Isometric Tutorials](https://clintbellanger.net/articles) by *Clint Bellanger*\n\n* [Procedural Content Generation in Games](https://www.pcgbook.com) by *Noor Shaker*, *Julian Togelius*, and *Mark J. Nelson*\n\n* **Procedural Island Generation** by *Chema Guerra*\n  * [Part 1](https://brashandplucky.com/2025/09/07/procedural-island-generation-i.html)\n  * [Part 2](https://brashandplucky.com/2025/09/10/procedural-island-generation-ii.html)\n  * [Part 3](https://brashandplucky.com/2025/09/17/procedural-island-generation-iii.html)\n  * [Part 4](https://brashandplucky.com/2025/09/22/procedural-island-generation-iv.html)\n  * [Part 5](https://brashandplucky.com/2025/09/25/procedural-island-generation-v.html)\n  * [Part 6](https://brashandplucky.com/2025/09/28/procedural-island-generation-vi.html)\n\n* [Programming Vehicles in Games](https://wassimulator.com/blog/programming/programming_vehicles_in_games.html) by *Wassim Alhajomar*\n\n* [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*\n\n* [Roguelike Tutorial - In Rust](https://bfnightly.bracketproductions.com) by *Herbert Wolverson*\n\n* [Reverse engineering the rendering of The Witcher 3](https://astralcode.blogspot.com/2018/11/reverse-engineering-rendering-of.html)\n\n* [Terrain programmig](https://www.shamusyoung.com/twentysidedtale/?p=141) by *Shamus Young*\n\n* [The guide to implementing 2D platformers](http://higherorderfun.com/blog/2012/05/20/the-guide-to-implementing-2d-platformers) by *Rodrigo Monteiro*\n\n* [Scroll Back: The Theory and Practice of C`ameras in Side-Scrollers](https://docs.google.com/document/d/1iNSQIyNpVGHeak6isbP6AHdHD50gs8MNXF1GCf08efg/pub) by *Itay Keren*\n\n* [A First-Person Game in 2KB](https://grantshandy.github.io/raycasting/) by *Grant Handy*\n\n### Game Engines\n\n* [Bevy game development](https://taintedcoders.com) by *Nolan Tait*\n\n* [C# and Shader Tutorials for the Unity Engine](https://catlikecoding.com/unity/tutorials) by *Jasper Flick*\n\n* [Godot Engine 4 Tutorials](https://catlikecoding.com/godot) by *Jasper Flick*\n\n* [Unofficial Bevy Cheat Book](https://bevy-cheatbook.github.io)\n\n### Game Physics\n\n* [2D Cloth Simulation in Odin with raylib](https://www.marianpekar.com/blog/2d-cloth-simulation-in-odin-with-raylib) by *Marian Pekár*\n\n* [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*\n\n* [iforce2d](https://www.iforce2d.net) - A collection of programming resources, mainly focusing on 2D games development with Box2D.\n\n* [Simulating Fluids, Fire, and Smoke in Real-Time](https://andrewkchan.dev/posts/fire.html) by *Andrew Chan*\n\n* [Ten Minute Physics](https://matthias-research.github.io/pages/tenMinutePhysics)\tby *Matthias Müller*\n\n## General Programming\n\n* [freeCodeCamp](https://www.freecodecamp.org)\n\n* [Geeks for Geeks](https://www.geeksforgeeks.org)\n\n* [Programiz](https://www.programiz.com)\n\n* [Tutorials Point](https://www.tutorialspoint.com)\n\n* [W3 Schools](https://www.w3schools.com)\n\n### Lists of programming projects to try to implement\n\n* [Austin Z. Henley's Lists](https://austinhenley.com)\n  * [Challenging algorithms and data structures every programmer should try](https://austinhenley.com/blog/challengingalgorithms.html)\n  * [Challenging projects every programmer should try](https://austinhenley.com/blog/challengingprojects.html)\n  * [More challenging projects every programmer should try](https://austinhenley.com/blog/morechallengingprojects.html)\n\n* [Writing Toy Software Is A Joy: Why you should write more toy programs](https://blog.jsbarretto.com/post/software-is-joy) by *Joshua Barretto*\n\n## Geographic Information Systems\n\n* [Building Vector Tiles from scratch](https://www.debuisne.com/writing/geo-tiles) by *Andre Debuisne*\n\n* [Computational Modelling of Terrains](https://tudelft3d.github.io/terrainbook) by *Hugo Ledoux, Ken Arroyo Ohori, Ravi Peters, and Maarten Pronk*\n\n* [Introduction to Python for Geographic Data Analysis](https://pythongis.org) by *Henrikki Tenkanen*, *Vuokko Heikinheimo*, and *David Whipp*\n\n## GUI Programming\n\n* [A Book about Qt5](https://qmlbook.github.io) by *Jürgen Bocklage-Ryannel* and *Johan\nThelin*\n\n* [Cross-platform window in C](https://imadr.me/cross-platform-window-in-c)\n\n* [James Brown's Tutorials](https://www.catch22.net/tuts)\n\n* [Minimal Cross-Platform Graphics](https://zserge.com/posts/fenster) by *Serge Zaitsev*\n\n* [Sol on Immediate Mode GUIs](https://solhsa.com/imgui/index.html) by *Jari Komppa*\n\n* [theForger's Win32 API Programming Tutorial](http://www.winprog.org/tutorial)\n\n* [X Window System Basics](https://magcius.github.io/xplain/article) by *Jasper St. Pierre*\n\n## Hardware\n\n* [Architecture of Consoles](https://www.copetti.org/writings/consoles) by *Rodrigo Copetti*\n\n* [Computer Architecture, Fifth Edition: A Quantitative Approach](https://dl.acm.org/doi/book/10.5555/1999263) by *John L. Hennessy* and *David A Patterson*\n\n* [How Microchips Work](https://exclusivearchitecture.com/03-technical-articles-IC-00-table-of-contents.html)\n\n* [Modern Microprocessors: A 90-Minute Guide!](http://www.lighterra.com/papers/modernmicroprocessors) by *Jason Robert Carey Patterson*\n\n* [Processor Design: An Introduction](http://www.gamezero.com/team-0/articles/math_magic/micro)\n\n* [Simple CPU design](http://simplecpudesign.com)\n\n* [What Every Programmer Should Know About Memory](https://people.freebsd.org/~lstewart/articles/cpumemory.pdf) by *Ulrich Drepper* **[pdf]**\n\n* [Zen, CUDA, and Tensor Cores](https://www.computerenhance.com/p/zen-cuda-and-tensor-cores-part-i) by *Casey Muratori*\n\n## Information TheoryDiscovering observers\n\n* [Information and Entropy](https://ocw.mit.edu/courses/6-050j-information-and-entropy-spring-2008) by *Prof. Paul Penfield* and *Prof. Seth Lloyd*\n\n* [Information Theory, Inference, and Learning Algorithms](https://inference.org.uk/itila/book.html) by *David MacKay*\n\n* [Statistics and Information Theory](https://web.stanford.edu/class/stats311/lecture-notes.pdf) by *John Duchi* **[pdf]**\n\n## IQ Tests\n\n* [Cognitive Ability Test by University of Cambridge](https://planning.e-psychometrics.com/test/icar60)\n\n* [IQ Test made by Mensa Norway](https://test.mensa.no/Home/Test/en-US)\n\n## Logical Games\n\n* [Hex: A Strategy Guide](http://www.mseymour.ca/hex_book) by *Matthew Seymour*\n\n* [Learn to Play Go](https://online-go.com/learn-to-play-go)\n\n* [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]**\n\n## Low Level Stuff\n\n* [A gentle introduction to two's complement](https://imapenguin.com/2023/11/a-gentle-introduction-to-twos-complement) by *Michael Doornbos*\n\n* [Beginner's Guide to Linkers](https://www.lurklurk.org/linkers/linkers.html) by *David Drysdale*\n\n* [Computer Science from the Bottom Up](https://www.bottomupcs.com) by *Ian Wienand*\n\n* [CPU performance optimization guide - Preface](https://gpuopen.com/learn/cpu-performance-guide/cpu-performance-guide-preface) by *Hui Zhang*\n  * [Part 1](https://gpuopen.com/learn/cpu-performance-guide/cpu-performance-guide-part1)\n\n* [Floating Point Visually Explained](https://fabiensanglard.net/floating_point_visually_explained) by *Fabien Sanglard*\n\n* [Group Borrowing: Zero-Cost Memory Safety with Fewer Restrictions](https://verdagon.dev/blog/group-borrowing) by *Evan Ovadia*\n\n* [Memory Management Reference](https://www.memorymanagement.org)\n\n* [Memory Profiling](https://easyperf.net/blog/2024/02/12/Memory-Profiling-Part1) by *Denis Bakhvalov*\n\n* [Onboarding floating-point](https://www.altdevarts.com/p/onboarding-floating-point) by *Mike Acton*\n\n* [Performance Analysis and Tunning on Modern CPUs](https://github.com/dendibakh/perf-book) by *Denis Bakhvalov*\n\n* [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*\n\n* [Stack frame layout on x86-64](https://eli.thegreenplace.net/2011/09/06/stack-frame-layout-on-x86-64) by *Eli Bendersky*\n\n* [Static Machine Code Analysis](https://tetzank.github.io/posts/static-machine-code-analysis) by *Frank Tetzel*\n\n* **Understanding Memory Management** by *Eric Rescorla*\n  * [Part 1: C](https://educatedguesswork.org/posts/memory-management-1)\n  * [Part 2: C++ and RAII](https://educatedguesswork.org/posts/memory-management-2)\n  * [Part 3: C++ Smart Pointers](https://educatedguesswork.org/posts/memory-management-3)\n  * [Part 4: Rust Ownership and Borrowing](https://educatedguesswork.org/posts/memory-management-4)\n  * [Part 5: Fighting with Rust](https://educatedguesswork.org/posts/memory-management-5)\n  * [Part 6: Basic Garbage Collection](https://educatedguesswork.org/posts/memory-management-6)\n  * [Part 7: Advanced Garbage Collection](https://educatedguesswork.org/posts/memory-management-7)\n\n* [What Every Computer Scientist Should Know About Floating-Point Arithmetic](https://docs.oracle.com/cd/E19957-01/800-7895/800-7895.pdf) **[pdf]**\n\n* [Matrix Multiplication Optimization Article Series](https://salykova.github.io) by *Amanzhol Salykov*\n  * [Advanced Matrix Multiplication Optimization on Modern Multi-Core Processors](https://salykova.github.io/gemm-cpu)\n  * [Advanced Matrix Multiplication Optimization on NVIDIA GPUs](https://salykova.github.io/gemm-gpu)\n  * [Matrix Core Programming on AMD CDNA3 and CDNA4 architecture](https://salykova.github.io/matrix-cores-cdna)\n\n### GPU and TPU Programming\n\n* [Basic facts about GPUs](https://damek.github.io/random/basic-facts-about-gpus) by *Damek Davis*\n\n* [Inside NVIDIA GPUs: Anatomy of high performance matmul kernels](https://www.aleksagordic.com/blog/matmul) by *Aleksa Gordić*\n\n* [Introduction to CUDA Programming With GPU Puzzles](https://henryhmko.github.io/posts/cuda/cuda.html) by *Henry Ko*\n\n* [TPU Deep Dive](https://henryhmko.github.io/posts/tpu/tpu.html) by *Henry Ko*\n\n### SIMD programming\n\n* [ARM NEON for C++ Developers](http://const.me/articles/simd/NEON.pdf) **[pdf]**\n\n* [Cuckoo hashing improves SIMD hash tables](https://reiner.org/cuckoo-hashing#large-out-of-cache-tables-successful-lookups) by *Reiner Pope*\n\n* [Designing a SIMD Algorithm from Scratch](https://mcyoung.xyz/2023/11/27/simd-base64) by *Miguel Young de la Sota*\n\n* [SIMD: A Practical Guide](https://vectrx.substack.com/p/simd-a-practical-guide) by *Caden Parker*\n\n* [SIMD for C++ Developers](http://const.me/articles/simd/simd.pdf) **[pdf]**\n\n* [Wojciech Muła — website](http://0x80.pl/notesen.html)\n\n## Math\n\n* [A Gentle Introduction to Tensors](https://www.ese.wustl.edu/~nehorai/Porat_A_Gentle_Introduction_to_Tensors_2014.pdf) by *Boaz Porat* **[pdf]**\n\n* [A Gentle Introduction to the Art of Mathematics](https://giam.southernct.edu/GIAM) by *Joe Fields*\n\n* [A Programmer's Introduction to Mathematics](https://pimbook.org/) by *Jeremy Kun*\n\n* [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]**\n\n* [An animated introduction to Fourier Series](https://www.andreinc.net/2024/04/24/from-the-circle-to-epicycles) by *Andrei Ciobanu*\n\n* [An Infinite Descent into Pure Mathematics](https://infinitedescent.xyz) by *Clive Newstead*\n\n* [An Infinitely Large Napkin](https://venhance.github.io/napkin/Napkin.pdf) by *Evan Chen* **[pdf]**\n\n* [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]**\n\n* [Approved Textbooks](https://aimath.org/textbooks/approved-textbooks) of the [*American Institute of Mathematics*](https://aimath.org/)\n\n* [Books and papers by *Professor Dimitry P. Bertsekas*](https://web.mit.edu/dimitrib/www/home.html)\n\n* [Books by *Dr. Kenneth Kuttler*](https://klkuttler.com/)\n\n* [Books of Shlomo Sternberg](https://people.math.harvard.edu/~shlomo/)\n  * [Advanced Calcululs](https://people.math.harvard.edu/~shlomo/docs/Advanced_Calculus.pdf) **[pdf]**\n  * [Dynamical Systems](https://people.math.harvard.edu/~shlomo/docs/dynamical_systems.pdf) **[pdf]**\n  * [Lie algebras](https://people.math.harvard.edu/~shlomo/docs/lie_algebras.pdf) **[pdf]**\n  * [Semi-classical analysis](https://people.math.harvard.edu/~shlomo/docs/Semi_Classical_Analysis_Start.pdf) by *Victor Guillemin* and *Shlomo Sternberg* **[pdf]**\n  * [Semi-Riemann Geometry and General Relativity](https://people.math.harvard.edu/~shlomo/docs/semi_riemannian_geometry.pdf) **[pdf]**\n  * [Theory of functions of a real variable](https://people.math.harvard.edu/~shlomo/docs/Real_Variables.pdf) **[pdf]**\n\n* [Courses and lecture notes by Jeffrey Robert Chasnov](https://www.math.hkust.edu.hk/~machas/?menu=1)\n  * [Applied Linear Algebra and Differential Equations](https://www.math.hkust.edu.hk/~machas/applied-linear-algebra-and-differential-equations.pdf) **[pdf]**\n  * [Calculus for Engineers](https://www.math.hkust.edu.hk/~machas/calculus-for-engineers.pdf) **[pdf]**\n  * [Differential Equations for Engineers](https://www.math.hkust.edu.hk/~machas/differential-equations-for-engineers.pdf) **[pdf]**\n  * [Differential Equations: Review with YouTube Examples](https://www.math.hkust.edu.hk/~machas/differential-equations-with-youtube-examples.pdf) **[pdf]**\n  * [Differential Equations](https://www.math.hkust.edu.hk/~machas/differential-equations.pdf) **[pdf]**\n  * [Fibonacci Numbers and the Golden Ratio](https://www.math.hkust.edu.hk/~machas/fibonacci.pdf) **[pdf]**\n  * [Flow Around a Cylinder](https://www.math.hkust.edu.hk/~machas/flow-around-a-cylinder.pdf) **[pdf]**\n  * [Mathematical Biology](https://www.math.hkust.edu.hk/~machas/mathematical-biology.pdf) **[pdf]**\n  * [Matrix Algebra for Engineers](https://www.math.hkust.edu.hk/~machas/matrix-algebra-for-engineers.pdf) **[pdf]**\n  * [Numerical Methods for Engineers](https://www.math.hkust.edu.hk/~machas/numerical-methods-for-engineers.pdf) **[pdf]**\n  * [Numerical Methods](https://www.math.hkust.edu.hk/~machas/numerical-methods.pdf) **[pdf]**\n  * [Scientific Computing](https://www.math.hkust.edu.hk/~machas/scientific-computing.pdf) **[pdf]**\n  * [Vector Calculus for Engineers](https://www.math.hkust.edu.hk/~machas/vector-calculus-for-engineers.pdf) **[pdf]**\n\n* [Cournse Notes and Books by Curtis T. McMullen](https://people.math.harvard.edu/~ctm/papers/index.html#books) **[Harvard]**\n  * **Books**\n    * [Complex Dynamics and Renormalization](https://people.math.harvard.edu/~ctm/papers/home/text/papers/real/real.pdf) **[pdf]**\n    * [Renormalization and 3-Manifolds which Fiber over the Circle](https://people.math.harvard.edu/~ctm/papers/home/text/papers/renorm/renorm.pdf) **[pdf]**\n  * **Course Notes**\n    * [Advanced Complex Analysis](https://people.math.harvard.edu/~ctm/papers/home/text/class/harvard/213a/course/course.pdf) **[pdf]**\n    * [Advanced Real Analysis](https://people.math.harvard.edu/~ctm/papers/home/text/class/harvard/212b/course/course.pdf) **[pdf]**\n    * [Algebra and Dynamics](https://people.math.harvard.edu/~ctm/papers/home/text/class/notes/pn/course.pdf) **[pdf]**\n    * [Complex Analysis on Riemann Surfaces](https://people.math.harvard.edu/~ctm/papers/home/text/class/harvard/213b/course/course.pdf) **[pdf]**\n    * [Ergodic theory, geometry and dynamics](https://people.math.harvard.edu/~ctm/papers/home/text/class/notes/ergodic/course.pdf) **[pdf]**\n    * [From Conformal Invariants to Percolation](https://people.math.harvard.edu/~ctm/papers/home/text/class/harvard/219/course/course.pdf) **[pdf]**\n    * [Probability Theory](https://people.math.harvard.edu/~ctm/papers/home/text/class/harvard/154/course/course.pdf) **[pdf]**\n    * [Real Analysis](https://people.math.harvard.edu/~ctm/papers/home/text/class/harvard/114/course/course.pdf) **[pdf]**\n    * [Riemann surfaces, dynamics and geometry](https://people.math.harvard.edu/~ctm/papers/home/text/class/notes/rs/course.pdf) **[pdf]**\n    * [Sets, Groups and Knots](https://people.math.harvard.edu/~ctm/papers/home/text/class/harvard/101/course/course.pdf) **[pdf]**\n    * [Topology](https://people.math.harvard.edu/~ctm/papers/home/text/class/harvard/131/course/course.pdf) **[pdf]**\n\n* [Course notes by J.S. Milne](https://www.jmilne.org/math/CourseNotes)\n  * [Abelian Varieties](https://www.jmilne.org/math/CourseNotes/AV.pdf) **[pdf]**\n  * [Algebraic Geometry](https://www.jmilne.org/math/CourseNotes/AG.pdf) **[pdf]**\n  * [Algebraic Number Theory](https://www.jmilne.org/math/CourseNotes/ANT.pdf) **[pdf]**\n  * [Class Field Theory](https://www.jmilne.org/math/CourseNotes/CFT.pdf) **[pdf]**\n  * [Complex Multiplication](https://www.jmilne.org/math/CourseNotes/CM.pdf) **[pdf]**\n  * [Fields and Galois Theory](https://www.jmilne.org/math/CourseNotes/FT.pdf) **[pdf]**\n  * [Group Theory](https://www.jmilne.org/math/CourseNotes/GT.pdf) **[pdf]**\n  * [Lectures on Etale Cohomology](https://www.jmilne.org/math/CourseNotes/LEC.pdf) **[pdf]**\n  * [Lie Algebras, Algebraic Groups, and Lie Groups](https://www.jmilne.org/math/CourseNotes/LAG.pdf) **[pdf]**\n  * [Modular Functions and Modular Forms](https://www.jmilne.org/math/CourseNotes/MF.pdf) **[pdf]**\n  * [Reductive Groups](https://www.jmilne.org/math/CourseNotes/RG.pdf) **[pdf]**\n\n* [Course notes by Kenneth R. Davidson](https://www.math.uwaterloo.ca/~krdavids)\n  * [Measure Theory](https://www.math.uwaterloo.ca/~krdavids/MT/PMath451Notes.pdf) **[pdf]**\n  * [Nest Algebras](https://www.math.uwaterloo.ca/~krdavids/nestbook.html)\n  * [Real Analysis](https://www.math.uwaterloo.ca/~krdavids/PM351/PMath351Notes.pdf) **[pdf]**\n  * [Rigorous Calculus](https://www.math.uwaterloo.ca/~krdavids/M148/CalculusNotes.pdf) **[pdf]**\n\n* [Course notes by Rajen Shah](https://www.statslab.cam.ac.uk/~rds37) **[Cambridge]**\n  * [Mathematics of Machine Learning](https://www.statslab.cam.ac.uk/~rds37/machine_learning.html)\n  * [Modern Statistical Methods](https://www.statslab.cam.ac.uk/~rds37/modern_stat_methods.html)\n  * [Principles of Statistics](https://www.statslab.cam.ac.uk/~rds37/PoS.html)\n  * [Statistical Modelling](https://www.statslab.cam.ac.uk/~rds37/statistical_modelling.html)\n\n* [Course Notes by Richard Weber](https://www.statslab.cam.ac.uk//~rrw1)\n  * [Markov Chains](https://www.statslab.cam.ac.uk//~rrw1/markov/index.html)\n  * [Mathematics of Operational Research](https://www.statslab.cam.ac.uk//~rrw1/mor/index.html)\n  * [Optimization](https://www.statslab.cam.ac.uk//~rrw1/opt/index.html)\n  * [Optimization and Control](https://www.statslab.cam.ac.uk//~rrw1/oc/index.html)\n  * [Probability](https://www.statslab.cam.ac.uk//~rrw1/prob/index.html)\n  * [Statistics](https://www.statslab.cam.ac.uk//~rrw1/stats/index.html)\n  * [Time Series](https://www.statslab.cam.ac.uk//~rrw1/timeseries/index.html)\n\n* [Course notes by Tom Leinster](https://golem.ph.utexas.edu/category/2024/08/galois_theory.html)\n  * [Category theory](https://arxiv.org/abs/1612.09375)\n  * [Fourier analysis](https://www.maths.ed.ac.uk/~tl/fa/fa_notes.pdf) **[pdf]**\n  * [Galois theory](https://arxiv.org/abs/2408.07499)\n  * [General topology](https://www.maths.ed.ac.uk/~tl/topology/topology_notes.pdf) **[pdf]**\n  * [Linear algebra](https://www.maths.ed.ac.uk/~tl/aa/aa.pdf) by **[pdf]**\n\n* [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]**\n\n* [Feynman's Trick a.k.a. Differentiation under the Integral Sign \u0026 Leibniz Integral Rule](https://zackyzz.github.io/feynman.html)\n\n* [Foundations of Mathematics](https://people.tamu.edu/~florent/teaching/lecture_notes/220lecture_notes.pdf) by *Florent P. Baudier* **[pdf]**\n\n* [How do undergraduates do mathematics?](https://www.maths.ox.ac.uk/system/files/attachments/study_public_0.pdf) **[pdf]**\n\n* [Intermediate Calculus and Linear Algebra](https://www2.math.upenn.edu/~kazdan/202F13/notes/math21-2013.pdf) by *Jerry L. Kazdan* **[pdf]**\n\n* [Introduction to Applied Mathematics](https://math.dartmouth.edu/~m46s21/Script_MATH46_2020.pdf) by *Jan Glaubitz* **[pdf]**\n\n* [Introduction to Homotopy Type Theory](https://arxiv.org/abs/2212.11082) by *Egbert Rijke*\n\n* [Introduction to the Modeling and Analysis of Complex Systems](https://milneopentextbooks.org/introduction-to-the-modeling-and-analysis-of-complex-systems) by *Hiroki Sayama*\n\n* [Introduction to Stochastic Calculus](https://jiha-kim.github.io/posts/introduction-to-stochastic-calculus) by *Ji-Ha*\n\n* [Lecuture Notes by Aditya Guntuboyina](https://www.stat.berkeley.edu/~aditya/styled/index.html)\n  * [Analysis of Time Series](https://www.stat.berkeley.edu/~aditya/resources/FullNotes248Spring2022TimeSeries.pdf) **[pdf]**\n  * [Introduction to Probability at an advanced level](https://www.stat.berkeley.edu/~aditya/resources/FullNotes201AFall2022.pdf) **[pdf]**\n  * [Theoretical Statistics](https://www.stat.berkeley.edu/~aditya/resources/FullNotes210BSpring2018.pdf) **[pdf]**\n\n* **[Lecture Notes by Ian Tice](https://www.math.cmu.edu/~iantice/lecture_notes.html)**\n  * [A crash course in complex analysis](https://www.math.cmu.edu/~iantice/notes/complex_notes.pdf) **[pdf]**\n  * [A crash course in interpolation theory](https://www.math.cmu.edu/~iantice/notes/interpolation_notes.pdf) **[pdf]**\n  * [Derivation of the fluid equations](https://www.math.cmu.edu/~iantice/notes/basic_fluid_mechanics.pdf) **[pdf]**\n  * [Fluid-solid interaction](https://www.math.cmu.edu/~iantice/notes/fluid-structure.pdf) **[pdf]**\n  * [From Stokes flow to Darcy's law](https://www.math.cmu.edu/~iantice/notes/stokes_to_darcy.pdf) **[pdf]**\n  * [Gamma-convergence of the Ginzburg-Landau energy](https://www.math.cmu.edu/~iantice/notes/gamma_convergence_gl.pdf) **[pdf]**\n  * [Linear constant coefficient ordinary differential systems](https://www.math.cmu.edu/~iantice/notes/ODE_notes.pdf) **[pdf]**\n  * [Monstrous Functions](https://www.math.cmu.edu/~iantice/notes/monstrous_functions.pdf) **[pdf]**\n  * [Quasilinear symmetric hyperbolic systems](https://www.math.cmu.edu/~iantice/notes/quasilinear_hyperbolic_systems.pdf) **[pdf]**\n\n* **Lecture Notes by Jacob Shapiro**\n  * [Calculus 1](https://web.math.princeton.edu/~js129/PDFs/teaching/calc1_spring_2019/LectureNotes.pdf) **[pdf]**\n  * [Complex Analysis with Applications](https://web.math.princeton.edu/~js129/PDFs/teaching/MAT330_spring_2024/MAT330_Lecture_Notes.pdf) **[pdf]**\n  * [Functional Analysis](https://web.math.princeton.edu/~js129/PDFs/teaching/MAT520_fall_2023/MAT520_Lecture_Notes.pdf) **[pdf]**\n  * [Measure Theory](https://web.math.princeton.edu/~js129/PDFs/teaching/MAT425_spring_2025/MAT425_Lecture_Notes.pdf) **[pdf]**\n  * [Topics in Mathematical Physics](https://web.math.princeton.edu/~js129/PDFs/teaching/MAT595_spring_2024/MAT595_PHY508_Lecture_Notes.pdf) **[pdf]**\n  * [Homeworks and other courses materials](https://web.math.princeton.edu/~shapiro/teaching.html)\n\n* **[Lecture Notes by John K. Hunter](https://math.ucdavis.edu/~hunter)**\n  * [Applied Analysis](https://www.math.ucdavis.edu/~hunter/book/pdfbook.html)\n  * [Applied Mathematics](https://math.ucdavis.edu/~hunter/m280_09/applied_math.html)\n  * [Asymptotics](https://www.math.ucdavis.edu/~hunter/asymptotics/asymptotics.html)\n  * [Introduction to Analysis](https://www.math.ucdavis.edu/~hunter/intro_analysis_pdf/intro_analysis.html)\n  * [Measure Theory](https://www.math.ucdavis.edu/~hunter/measure_theory/measure_theory.html)\n  * [Partial Differential Equations](https://www.math.ucdavis.edu/~hunter/pdes/pdes.html)\n\n* **[Lecture Notes by Omer Tamuz](https://tamuz.caltech.edu)**\n  * [General Equilibrium Theory](https://tamuz.caltech.edu/teaching/ss205b/lectures.pdf) **[pdf]**\n  * [Graduate Real Analysis](https://tamuz.caltech.edu/teaching/ma110a/lecture_notes.pdf) **[pdf]**\n  * [Multivariate Calculus](https://tamuz.caltech.edu/teaching/18.022)\n  * [Probability: Random Walks](https://tamuz.caltech.edu/teaching/ma140b)\n  * [Probability](https://tamuz.caltech.edu/teaching/ma144a)\n  * [The Value and Cost of Information](https://tamuz.caltech.edu/teaching/info.pdf) **[pdf]**\n  * [Undergraduate Game Theory](https://tamuz.caltech.edu/teaching/ps172)\n\n* **[Lecture Notes by Seongjai Kim](https://skim.math.msstate.edu)**\n  * [Calculus Lectures](https://skim.math.msstate.edu/LectureNotes/Calculus-Lectures.pdf) **[pdf]**\n  * [Fundamentals of Numerical Linear Algebra](https://skim.math.msstate.edu/LectureNotes/Numer_Lin_Algebra.pdf) **[pdf]**\n  * [Heterogeneity in Computational Environments](https://skim.math.msstate.edu/LectureNotes/Hetero_Comp.pdf) **[pdf]**\n  * [Linear Algebra with Applications](https://skim.math.msstate.edu/LectureNotes/Linear_Algebra_LectureNote.pdf) **[pdf]**\n  * [Mathematical Foundations of Machine Learning](https://skim.math.msstate.edu/LectureNotes/Machine_Learning_Lecture.pdf) **[pdf]**\n  * [Numerical Analysis and Applications with Music](https://skim.math.msstate.edu/LectureNotes/Numerical_Analysis_Lecture.pdf) **[pdf]**\n  * [Numerical Methods for Partial Differential Equations](https://skim.math.msstate.edu/LectureNotes/NumerPDEs_Lecture.pdf) **[pdf]**\n  * [Programming Basics and AI with Matlab and Python](https://skim.math.msstate.edu/LectureNotes/Programming-Basics-and-AI-Lecture.pdf) **[pdf]**\n\n* [Math Alive](https://web.math.princeton.edu/math_alive/index.shtml) by *Ingrid Daubechies* and *Shannon Hughes* - lecture notes on:\n  * Cryptography\n  * Error correction \u0026 compression\n  * Probability \u0026 Statistics\n  * Birth, Growth, Death \u0026 Chaos\n  * Graph Theory\n  * Voting \u0026 Social Choice\n\n* [Math Planet](https://www.mathplanet.com)\n\n* [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]**\n\n* [Mathematical Methods for Physics](https://www.ma.imperial.ac.uk/~dturaev/Mathematical_Methods2021.pdf) by *Dmitry Turaev* **[pdf]**\n  * [Problem sheets and solutions](https://www.ma.imperial.ac.uk/~dturaev/phys.php)\n\n* [Mathematics for the Physical Sciences](https://www2.math.upenn.edu/~wilf/website/Mathematics_for_the_Physical_Sciences.html) by *Herbert S. Wilf*\n\n* [Menthal Math Tricks](https://www.johndcook.com/blog/2025/09/17/mental-math-posts) by *John D. Cook*\n\n* [Notes on Mathematics For Engineers](https://websites.umich.edu/~ners311/CourseLibrary/MathNotes.pdf) **[pdf]**\n\n* [Open Mathematics Depository](https://openmathdep.tuxfamily.org)\n\n* [Open textbooks for undergraduate mathematics](https://openaccesstexts.com/math)\n\n* [Paul's Online Math Notes](https://tutorial.math.lamar.edu/) by *Paul Dawkins*\n  * [Algebra](https://tutorial.math.lamar.edu/Classes/Alg/Alg.aspx)\n  * [Calculus I](https://tutorial.math.lamar.edu/Classes/CalcI/CalcI.aspx)\n  * [Calculus II](https://tutorial.math.lamar.edu/Classes/CalcII/CalcII.aspx)\n  * [Calculus III](https://tutorial.math.lamar.edu/Classes/CalcIII/CalcIII.aspx)\n  * [Differential Equations](https://tutorial.math.lamar.edu/Classes/DE/DE.aspx)\n\n* [Precalculus](https://stitz-zeager.com/) by *Carl Stitz* and *Jeff Zeager*\n\n* [Real Not Complex](https://realnotcomplex.com) - Discover Incredible FREE Resources to Study MathemF comilatics.\n\n* [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*\n\n* [Teaching notes by Oliver Knill](https://people.math.harvard.edu/~knill/teach/index.html)\n  * [Differential Geometry](https://people.math.harvard.edu/~knill/teaching/math136/handouts/differential-geometry-2024.pdf) **[pdf]**\n  * [Introduction to Calculus](https://people.math.harvard.edu/~knill/teaching/math1a2024/handouts/1a_2024.pdf) **[pdf]**\n  * [Linear Algebra And Vector Calculus](https://people.math.harvard.edu/~knill/teaching/math22b2022/handouts/22b_2022.pdf) **[pdf]**\n  * [Linear Algebra And Vector Calculus I](https://people.math.harvard.edu/~knill/teaching/math22a2018/handouts/22a_2018_latest.pdf) **[pdf]**\n  * [Linear Algebra And Vector Calculus II](https://people.math.harvard.edu/~knill/teaching/math22b2019/handouts/22b_2019_latest.pdf) **[pdf]**\n  * [Multivariable Calculus](https://people.math.harvard.edu/~knill/teaching/summer2024/handouts/multivariable_knill_2024.pdf) **[pdf]**\n  * [Probability Theory](https://people.math.harvard.edu/~knill/teaching/math154/handouts/154.pdf) **[pdf]**\n  * [Teaching Mathematics with a Historical Perspective](https://people.math.harvard.edu/~knill/teaching/mathe320_2022/handouts/math320_2022.pdf) **[pdf]**\n\n* [Texts, exercises, problems and lecture notes by John Erdman](https://web.pdx.edu/~erdman)\n  * [Exercises and Problems in Calculus](https://web.pdx.edu/%7Eerdman/CALCULUS/CALCULUSlicensepage.html)\n  * [A ProblemText in Advanced Calculus](https://web.pdx.edu/%7Eerdman/PTAC/problemtext_pdf.pdf) **[pdf]**\n  * [Exercises and Problems in Linear Algebra](https://web.pdx.edu/%7Eerdman/LINALG/Linalg_licensepage.html)\n  * [Companion to Real Analysis](https://web.pdx.edu/%7Eerdman/CRA/CRAlicensepage.html)\n  * [Functional Analysis and Operator Algebras: An Introduction](https://web.pdx.edu/%7Eerdman/FAOA/functional_analysis_operator_algebras_pdf.pdf) **[pdf]**\n\n* [The Lost Art of Logarithms](https://www.lostartoflogarithms.com) by *Charles Petzold*\n\n* [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*\n\n* [The Matrix Cookbook](https://www2.compute.dtu.dk/pubdb/pubs/3274-full.html) by *Kaare Brandt Petersen* and *Michael Syskind Pedersen*\n\n* [The Princeton Companion to Mathematics](https://sites.math.rutgers.edu/~zeilberg/akherim/PCM.pdf) by *Timothy Gowers - editor* **[pdf]**\n\n* [The Tensor Cookbook](https://tensorcookbook.com) by *Thomas Dybdahl Ahle*\n\n* [Trigonometry](https://mecmath.net/trig/index.html) by *Michael Corral*\n\n### Algebra\n\n* [Abstract Algebra](https://dongryul-kim.github.io/harvard_notes/Math55a/Notes_Math55a.pdf) taughy by *Yum-Tong Siu*, notes by *Dongryul Kim* **[pdf]**\n\n* [Abstract Algebra: Theory and Applications](https://judsonbooks.org/abstract-algebra-theory-and-applications) by *Thomas W. Judson*\n\n* [Advanced Modern Algebra](https://david92jackson.neocities.org/images/Advanced_Modern_Algebra-Rotman.pdf) by *Joseph J. Rotman* **[pdf]**\n\n* [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)\n\n* [Beginning and Intermediate Algebra](http://www.wallace.ccfaculty.org/book/book.html) by *Tyler Wallace*\n\n* [Intermediate Algebra](https://saylordotorg.github.io/text_intermediate-algebra/index.html) by *Saylor Academy*\n\n* [Introduction to Abstract Algebra](https://math.berkeley.edu/~apaulin/AbstractAlgebra.pdf) by *Alexander Paulin* **[pdf]**\n\n* [Learn you Galois Fields for Great Good](https://xorvoid.com/galois_fields_for_great_good_00.html) by *Anthony Bonkoski*\n\n* [Lectures on Abstract Algebra](https://www.math.ucla.edu/~rse/algebra_book.pdf) by *Richard Elman* **[pdf]**\n\n* [The Rising Sea: Foundations Of Algebraic Geometry Notes](https://math.stanford.edu/~vakil/216blog) by *Ravi Vakil*\n\n#### Linear Algebra\n\n* [Graphical Linear Algebra](https://graphicallinearalgebra.net) by *Pawel Sobocinski*\n\n* [Immersive Linear Algebra](http://immersivemath.com/ila/index.html) by *J. Ström, K. Åström, and T. Akenine-Möller*\n\n* [Interactive Linear Algebra](http://textbooks.math.gatech.edu/ila) by *Dan Margalit and Joseph Rabinoff*\n\n* [Introduction to Applied Linear Algebra – Vectors, Matrices, and Least Squares](https://web.stanford.edu/~boyd/vmls) by *Stephen Boyd* and *Lieven Vandenberghe*\n\n* [Linear Algebra](https://www.math.ucdavis.edu/~linear/linear-guest.pdf) by *David Cherney*, *Tom Denton*, *Rohit Thomas* and *Andrew Waldron* **[pdf]**\n\n* [Linear Algebra, Fourth edition](https://www.cs.ox.ac.uk/files/12921/book.pdf) by *Jim Hefferon* **[pdf]**\n\n* [Linear Algebra Done Right](https://linear.axler.net) by *Sheldon Axler*\n\n* [Linear Algebra Done Wrong](https://www.math.brown.edu/streil/papers/LADW/LADW.html) by *Sergei Treil*\n\n* [Linear Algebra for Computer Science](https://la4cs.com) by *Manoj Thulasidas*\n\n* [Linear Algebra Lecture Notes by Terence Tao](https://terrytao.wordpress.com/wp-content/uploads/2016/12/linear-algebra-notes.pdf) **[pdf]** **[UCLA]**\n\n* [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]**\n\n* [Numerical Linear Algebra](https://www.csc.kth.se/~barbel/nla/notes.pdf) by *Bärbel Janssen* **[pdf]**\n\n* [The Little Book of Linear Algebra](https://github.com/the-litte-book-of/linear-algebra) by *Duc-Tam Nguyen*\n\n### Analysis\n\n* [Classical Real Analysis Books](https://classicalrealanalysis.info) by *Andrew M. Bruckner*, *Judith B. Bruckner*, and *Brian S. Thomson*\n  * [Elementary Real Analysis, Second Edition](http://classicalrealanalysis.info/Elementary-Real-Analysis.php)\n  * [Real Analysis](http://classicalrealanalysis.info/Real-Analysis.php)\n  * [Mathematical Discovery](http://classicalrealanalysis.info/Mathematical-Discovery.php)\n  * [The Calculus Integral](http://classicalrealanalysis.info/The-Calculus-Integral.php)\n  * [Theory of the Integral](http://classicalrealanalysis.info/Theory-of-the-Integral.php)\n\n* [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]**\n  * [Problems and Solutions](https://courses.maths.ox.ac.uk/mod/assign/view.php?id=60627)\n\n* [Harmonic Function Theory](https://www.axler.net/HFT.html) by *Sheldon Axler*, *Paul Bourdon*, and *Wade Ramey*\n\n* [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*\n\n* [Introduction to Real Analysis](https://digitalcommons.trinity.edu/mono/7) by *William F. Trench*\n\n* [Principles of Mathematical Analysis](https://david92jackson.neocities.org/images/Principles_of_Mathematical_Analysis-Rudin.pdf) by *Walter Rudin* **[pdf]**\n\n* [Real Analysis](https://ocw.mit.edu/courses/18-100a-real-analysis-fall-2020) by *Dr. Casey Rodriguez*\n\n* [Real Analysis](https://milneopentextbooks.org/real-analysis) by *Gary Towsley*\n\n* [Visual Complex Analysis](https://umv.science.upjs.sk/hutnik/NeedhamVCA.pdf) by *Tristan Needham* **[pdf]**\n\n### Calculus\n\n* [Advanced Multivariable Calculus](https://sites.math.washington.edu/~awaw/teaching/math224_sp23/notes.pdf) by *Alex Wang* **[pdf]**\n\n* [Calculus](https://ocw.mit.edu/courses/res-18-001-calculus-fall-2023/pages/textbook) by *Gilbert Strang*\n\n* [Calculus 1 for Honours Mathematics](https://math.uwaterloo.ca/~baforres/UCM137/CourseNotes/Forrest_M137CN.pdf) by *Barbara A. Forrest* and *Brian E. Forrest* **[pdf]**\n\n* [Calculus Books by Tyler Wallace](http://www.wallace.ccfaculty.org)\n  * [Calculus 1](http://www.wallace.ccfaculty.org/151.html)\n  * [Calculus 2](http://www.wallace.ccfaculty.org/152.html)\n  * [Calculus 3](http://www.wallace.ccfaculty.org/163.html)\n\n* [Calculus: Basic Concepts for High Schools](https://archive.org/details/TarasovCalculus) by *L.V. Tarasov*\n\n* [Calculus for Mathematicians, Computer Scientists, and Physicists](https://mathcs.holycross.edu/~ahwang/print/calc.pdf) by *Andrew D. Hwang* **[pdf]**\n\n* [Calculus Made Easy](http://calculusmadeeasy.org/) by [*Silvanus P. Thompson*](https://en.wikipedia.org/wiki/Silvanus_P._Thompson)\n\n* [Calculus with Julia](https://jverzani.github.io/CalculusWithJuliaNotes.jl) by *John Verzani*\n\n* [CLP Calculus Textbooks](https://personal.math.ubc.ca/~CLP) by *Joel Feldman*, *Andrew Rechnitzer* and *Elyse Yeager*\n\n* [Derivatives, Gradients, Jacobians and Hessians](https://blog.demofox.org/2025/08/16/derivatives-gradients-jacobians-and-hessians-oh-my) by *Alan Wolfe*\n\n* [Differential Calculus: From Practice to Theory](https://milneopentextbooks.org/differential-calculus-from-practice-to-theory) by *Eugene Boman* and *Robert Rogers*\n\n* [Elementary Calculus](https://mecmath.net/calculus/index.html) by *Michael Corral*\n\n* [Integration Theory](https://www.math.chalmers.se/Math/Grundutb/GU/MMA110/A12/integration.pdf) by *Johan Jonasson* **[pdf]**\n\n* [Introduction to Calculus](https://arachnoid.com/calculus/resources/introduction_to_calculus.pdf) by *Paul Lutus* **[pdf]**\n\n* [Multivariable Calculus Lectures](https://math.jhu.edu/~brown/courses/f19/Documents/MultivariableCalculus.pdf) by *Richard J. Brown* **[pdf]**\n\n* [Pre-Calculus](http://www.wallace.ccfaculty.org/141.html) by *Salah Abed*, *Sonia Farag*, *Stephen Lane*, *Tyler Wallace*, and *Barbara Whitney*\n\n* [Precalculus: An Investigation of Functions](https://www.opentextbookstore.com/precalc) by *David Lippman* and *Melonie Rasmussen*\n\n#### Vector Calculus\n\n* [Lectures on Vector Calculus](https://www.damtp.cam.ac.uk/user/tong/vc.html) by *David Tong*\n\n* [Vector and Complex Calculus for the Physical Sciences](https://people.math.wisc.edu/~thiffeault/lecturing/321/Full321-S16.pdf) by *Fabian Waleffe* **[pdf]**\n\n* [Vector Calculus](https://mate.unipv.it/moiola/ReaDG/VC2016/VectorCalculus_LectureNotes_2016.pdf) by *Andrea Moiola* **[pdf]**\n\n* [Vector Calculus](https://www.damtp.cam.ac.uk/user/tong/vc/benjonathan.pdf) by *B. C. Allanacha* and *J.M. Evansa* **[pdf]**\n\n* [Vector Calculus](https://mecmath.net) by *Michael Corral*\n\n### Category Theory\n\n* [Category Theory for Programmers](https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface) by *Bartosz Milewski*\n\n* [Category Theory for Programming](https://arxiv.org/abs/2209.01259) by *Benedikt Ahrens* and *Kobe Wullaert*\n\n* [Category Theory Illustrated](https://boris-marinov.github.io/category-theory-illustrated) by *Boris Marinov*\n\n* [Category Theory in Programming](https://docs.racket-lang.org/ctp/index.html) by *Noah Ma*\n\n* [Category Theory: Lecture Notes and Online Books](https://www.logicmatters.net/categories/) - collection by *Peter Smith*\n\n* [Pragmatic Category Theory](https://chshersh.com/blog/2024-07-30-pragmatic-category-theory-part-01.html) by *Dmitrii Kovanikov*\n\n* [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*\n\n### Differential Equations\n\n* [Elementary Differential Equations with Boundary Value Problems](https://digitalcommons.trinity.edu/mono/9) by *William F. Trench*\n\n* [Fourier Series \u0026 PDEs](https://courses.maths.ox.ac.uk/course/view.php?id=4942) by *Philip Maini* **[Oxford]**\n\n### Game Theory\n\n* [Game Theory (Open Access textbook with 165 solved exercises)](https://arxiv.org/abs/1512.06808) by *Giacomo Bonanno*\n\n* [Game Theory with Engineering Applications](https://ocw.mit.edu/courses/6-254-game-theory-with-engineering-applications-spring-2010) by *Prof. Asuman Ozdaglar*\n\n* [Lecture Notes for 1st Year Ph.D. Game Theory](https://econweb.ucsd.edu/~jsobel/200Cs09/Kartik_Notes.pdf) by *Navin Kartik* **[pdf]**\n\n### General problem solving\n\n* [How to Solve It](https://www.hlevkin.com/hlevkin/90MathPhysBioBooks/Math/Polya/George_Polya_How_To_Solve_It_.pdf) by *George Pólya* **[pdf]**\n\n### Geometry\n\n* [Euclid's Elements](https://mathcs.clarku.edu/~djoyce/java/elements/toc.html)\n\n* [Euclidean and Non-Euclidean Geometries: Development and History](https://www.ime.usp.br/~toscano/disc/2022/GreenbergGeometry.pdf) by *Marvin Jay Greenberg* **[pdf]**\n\n* [Geometry with an Introduction to Cosmic Topology](https://mphitchman.com/gct) by *Michael P. Hitchman*\n\n* [Geometry: Euclid and Beyond](https://david92jackson.neocities.org/images/Euclid_and_Beyond-Hartshorne.pdf) by *Robin Hartshorne* **[pdf]**\n\n* [Planes in 3D space](https://alexharri.com/blog/planes) by *Alex Harri*\n\n* [The Foundations of Geometry](https://math.berkeley.edu/~wodzicki/160/Hilbert.pdf) by *David Hilbert* **[pdf]**\n\n* [The Four Pillars of Geometry](https://www.johnval.nl/school/wiskunde/wiskundeD/gratis_studieboeken/FourPillarsOfGeometry.pdf) by *John Stillwell* **[pdf]**\n\n#### Differential Geometry\n\n* [Differential Geometry: A First Course in Curves and Surfaces](https://ghomi.math.gatech.edu/Classes/Math4441Fall2021/ShifrinDiffGeo.pdf) by *Theodore Shifrin* **[pdf]**\n\n* [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]**\n\n* [Introduction to Smooth Manifolds](https://julianchaidez.net/materials/reu/lee_smooth_manifolds.pdf) by *John M. Lee* **[pdf]**\n\n* [Lecture Notes on Differential Geometry](https://ghomi.math.gatech.edu/LectureNotes/index.html) by *Mohammad Ghomi*\n\n* [Manifolds and Differential Forms](https://pi.math.cornell.edu/~sjamaar/manifolds/manifold.pdf) by *Reyer Sjamaar* **[pdf]**\n\n* [Open Problems In Geometry Of Curves And Surfaces](https://ghomi.math.gatech.edu/Papers/op.pdf) by *Mohammad Ghomi* **[pdf]**\n\n* [What is differential geometry: curves and surfaces](https://arxiv.org/abs/2012.11814) by *Anton Petrunin* and *Sergio Zamora Barrera*\n\n### Combinatorics\n\n* [Algebraic Combinatorics](https://math.mit.edu/~apost/courses/18.212) by *Alexander Postnikov*\n\n* [Analytic Combinatorics](https://algo.inria.fr/flajolet/Publications/book.pdf) by *Philippe Flajolet* and *Robert Sedgewick* **[pdf]**\n\n* [Combinatorics Through Guided Discovery](https://bogart.openmathbooks.org) by *Kenneth P. Bogart*\n\n#### Graph Theory\n\n* [An introduction to graph theory](https://arxiv.org/pdf/2308.04512.pdf) by *Darij Grinberg* **[pdf]**\n\n* [Graphs and Geometry](https://lovasz.web.elte.hu//bookxx/geombook-almost-final.pdf) by *László Lovász* **[pdf]**\n\n* [Graph Theory and Additive Combinatorics](https://yufeizhao.com/gtacbook) by *Yufei Zhao*\n\n* [Graph Theory Lecture Notes](https://roam.libraries.psu.edu/system/files/e-books/MATH485-Graph_Theory.pdf) by *Christopher Griffin* **[pdf]**\n\n* [Introduction to Random Graphs](https://www.math.cmu.edu/~af1p/BOOK.pdf) by *Alan Frieze\" and **ALAN FRIEZE and *Michał Karonski* **[pdf]**\n\n* [Large networks and graph limits](https://lovasz.web.elte.hu//bookxx/hombook-almost.final.pdf) by *László Lovász* **[pdf]**\n\n* [Spectral Graph Theory](https://people.orie.cornell.edu/dpw/orie6334/Fall2016) by *David P. Williamson*\n\n### Mathematical Finance\n\n* [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]**\n\n* [Mathematical Foundations for Finance](https://metaphor.ethz.ch/x/2021/hs/401-3913-01L) by *Prof. Dr. Beatrice Acciaio*\n  * [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]**\n  * [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]**\n\n* [Statistical Method in Economics](https://ocw.mit.edu/courses/14-381-statistical-method-in-economics-fall-2018) by *Prof. Anna Mikusheva*\n\n* [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*\n\n* [Trade Signal](https://www.investopedia.com/terms/t/trade-signal.asp) by *Lucas Downey*\n\n### Mathematical Logic\n\n* [A Concise Introduction to Logic](https://milneopentextbooks.org/concise-introduction-to-logic) by *Craig DeLancey*\n\n* [A Friendly Introduction to Mathematical Logic](https://milneopentextbooks.org/a-friendly-introduction-to-mathematical-logic) by *hristopher Leary* and *Lars Kristiansen*\n\n* [forall x: Calgary: An Introduction to Formal Logic](https://forallx.openlogicproject.org) by  *P. D. Magnus*, *Tim Button*, *Robert Trueman*, and *Richard Zach*\n\n* [PQT Logic Textbook](https://www.cis.upenn.edu/~weinstei/PQT.pdf) by *Scott Weinstein*, *Owain West* and *Grace Zhang* **[pdf]**\n\n* [Lecture Notes on The Lambda Calculus](https://www.cs.cmu.edu/~fp/courses/15814-f18/lectures/Notes-15814-f18.pdf) by *Frank Pfenning* **[pdf]**\n\n* **Notes on Mathematical Logic** by *David W. Kueker*\n  * [Part 1](https://math.umd.edu/~dkueker/712.pdf) **[pdf]**\n  * [Part 2](https://math.umd.edu/~dkueker/713.pdf) **[pdf]**\n\n### Measure Theory\n\n* [An Introduction to Measure Theory](https://terrytao.wordpress.com/wp-content/uploads/2012/12/gsm-126-tao5-measure-book.pdf) by *Terence Tao* **[pdf]**\n\n* [Measure, Integration \u0026 Real Analysis](https://measure.axler.net) by *Sheldon Axler*\n\n* [Measure Theory Princeton University MAT425 Lecture Notes](https://web.math.princeton.edu/~js129/PDFs/teaching/MAT425_spring_2025/MAT425_Lecture_Notes.pdf) **[pdf]**\n\n### Number theory\n\n* [An Introduction to the Theory of Numbers](http://www.trillia.com/moser-number.html) by *Leo Moser*\n\n* [Elementary Number Theory: Primes, Congruences, and Secrets](https://wstein.org/ent) by *William Stein*\n\n* [Theory of Numbers](https://ocw.mit.edu/courses/18-781-theory-of-numbers-spring-2012) by *Prof. Abhinav Kumar*\n\n### Operations Research\n\n* [Applied Mathematical Programming](https://web.mit.edu/15.053/www/AMP.htm) by *Stephen P. Bradley*, *Arnoldo C. Hax*, and *Thomas L. Magnanti*\n\n* [Arkadi Nemirovski Books and Lecture Notes on Optimization](https://www2.isye.gatech.edu/~nemirovs)\n\n* [Bridging Continuous and Discrete Optimization](https://people.orie.cornell.edu/dpw/orie6334) by *David P. Williamson*\n\n* [Introduction to Operations Research, Tenth Edition](https://s23.middlebury.edu/MATH0318A/Hillier10th.pdf) by *Frederick S. Hillier*, and *Gerald J. Lieberman* **[pdf]**\n\n* [Linear Programming Lecture Notes by Hal Gabow](https://home.cs.colorado.edu/~hal/565notes.pdf) **[dpf]**\n\n* [MOSEK Modeling Cookbook](https://docs.mosek.com/modeling-cookbook/index.html)\n\n### Probability and Statistics\n\n* [Advanced Data Analysis from an Elementary Point of View](https://stat.cmu.edu/~cshalizi/ADAfaEPoV) by *Cosma Rohilla Shalizi*\n\n* [Advanced Probability](https://noter.math.ku.dk/vidsand12.pdf) by *Alexander Sokol* and *Anders Rønn-Nielsen* **[pdf]**\n\n* [All of Statistics: A concise Course in Statistical Inference](https://egrcc.github.io/docs/math/all-of-statistics.pdf) by *Larry Wasserman* **[pdf]**\n\n* [AnyDice](https://anydice.com)\n\n* [Bayes Rules! An Introduction to Applied Bayesian Modeling](https://www.bayesrulesbook.com/) by *Alicia A. Johnson, Miles Q. Ott, Mine Dogucu*\n\n* [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*\n\n* [Digital textbook on probability and statistics](https://www.statlect.com) by *Marco Taboga*\n\n* [Elementary Probability for Applications](https://sites.math.duke.edu/~rtd/EP4A/EP4A_April2021.pdf) by *Rick Durrett* **[pdf]**\n\n* [Fundamentals of Probability](https://ocw.mit.edu/courses/6-436j-fundamentals-of-probability-fall-2018) by *Prof. Yury Polyanskiy*\n\n* [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]**\n\n* [High-Dimensional Statistics](https://arxiv.org/abs/2310.19244) by *Philippe Rigollet* and  *Jan-Christian Hütter*\n\n* [Introduction to Modern Statistics (2nd Ed)](https://openintro-ims2.netlify.app) by *Mine Çetinkaya-Rundel and Johanna Hardin*\n\n* [Introduction to Probability](https://open.umn.edu/opentextbooks/textbooks/introduction-to-probability) by *Charles M. Grinstead* and *J. Laurie Snell*\n\n* [Introduction to probability and statistics](https://mphitchman.com/math340) by *Mike Hitchman*\n\n* [Introduction to Probability for Data Science](https://probability4datascience.com/index.html) by *Stanley H. Chan*\n\n* [Lecture Notes on Probability](https://www.tamuz.caltech.edu/teaching/ma144a/lectures.pdf) by *Omer Tamuz* **[pdf]**\n\n* [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]**\n\n* [Markov Chains for programmers](https://czekster.github.io/markov) by *Ricardo M. Czekster*\n\n* [Modern Discrete Probability: An Essential Toolkit](https://people.math.wisc.edu/~roch/mdp) by *Sebastien Roch*\n\n* [Notes on Counting and Rapidly Mixing Markov Chains](https://www.math.cmu.edu/~af1p/Mixingbook.pdf) by *Alan Frieze* **[pdf]**\n\n* [Notes on Probability](https://web.stanford.edu/~oas/SI/QM/notes/ProbabilityText.pdf) by *Peter J. Cameron* **[pdf]**\n\n* [Odds \u0026 Ends: Introducing Probability \u0026 Decision with a Visual Emphasis](https://jonathanweisberg.org/vip) by *Jonathan Weisberg*\n\n* [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]**\n\n* [OpenIntro Statistics, Fourth Edition](https://www.openintro.org/book/os) by *David Diez*, *Mine C¸ etinkaya-Rundel*, and *Christopher D Barr*\n\n* [Probability 101, the intuition behind martingales and solving problems with them](https://nor-blog.codeberg.page/posts/2022-12-31-probability-and-martingales/)\n\n* [Probability and Statistics: The Science of Uncertainty, Second Edition](https://www.utstat.toronto.edu/mikevans/jeffrosenthal) by *Michael J. Evans* and *Jeffrey S. Rosenthal*\n\n* [Probability and Statistics Cookbook](https://pages.cs.wisc.edu/~tdw/files/cookbook-en.pdf) by *Matthias Vallentin*\n\n* [Probability and Statistics for Data Science](https://cims.nyu.edu/~cfgranda/pages/stuff/probability_stats_for_DS.pdf) by *Carlos Fernandez-Granda* **[pdf]**\n\n* [Probability for Computer Scientists](https://chrispiech.github.io/probabilityForComputerScientists) by *Chris Piech*\n\n* [Probability for Computer Scientists](https://web.stanford.edu/~mossr/pdf/p4cs.pdf) by *Robert J. Moss* **[pdf]**\n\n* [Probability in High Dimension](https://web.math.princeton.edu/~rvan/APC550.pdf) by *Ramon van Handel* **[pdf]** **[Princeton]**\n\n* [Probability in High Dimensions](https://tropp.caltech.edu/notes/Tro21-Probability-High-LN-corr.pdf) by *Prof. Joel A. Tropp* **[pdf]** **[Caltech]**\n\n* [Probability Theory](https://web.stanford.edu/class/stats310a/lnotes.pdf) by *Amir Dembo* **[pdf]** **[Stanford]**\n  * [Other course materials](https://web.stanford.edu/class/stats310a)\n\n* [Probability Theory \u0026 Computational Mathematics](https://tropp.caltech.edu/notes/Tro24-Probability-Theory-LN.pdf) by *Prof. Joel A. Tropp* **[pdf]** **[Caltech]**\n\n* [Probability with Engineering Applications](https://hajek.ece.illinois.edu/ECE313Notes.html) by *Bruce Hajek*\n\n* [Probability: Theory and Examples](https://sites.math.duke.edu/~rtd/PTE/PTE5_011119.pdf) by *Rick Durrett* **[pdf]**\n\n* [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*\n\n* [Statistical Inference, Second Edition](https://pages.stat.wisc.edu/~shao/stat610/Casella_Berger_Statistical_Inference.pdf) by *George Casella* and *Roger L. Berger* **[pdf]**\n\n* [Statistics Handbook](https://github.com/carloocchiena/the_statistics_handbook) by *Carlo Occhiena*\n\n* [Stochastic Processes](https://adembo.su.domains/math-136/nnotes.pdf) by *Amir Dembo* **[pdf]**\n\n* [The Truth About Linear Regression](https://www.stat.cmu.edu/~cshalizi/TALR) by *Cosma Rohilla Shalizi*\n\n### Proofs\n\n* [An introduction to mathematical proof](https://personal.math.ubc.ca/~PLP/assets/plp.pdf) by *Seçkin Demirbaş* and *Andrew Rechnitzer* **[pdf]**\n\n* [An Introduction to Mathematical Reasoning](https://sites.math.washington.edu/~conroy/m300-general/ConroyTaggartIMR.pdf) by *Matthew M. Conroy* and *Jennifer L. Taggart* **[pdf]**\n\n* [Book of Proof](https://richardhammack.github.io/BookOfProof), Third Edition by *Richard Hammack*\n\n* [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]**\n\n* [Language and Proofs in Algebra: An Introduction](https://cs.uwaterloo.ca/~cbruni/pdfs/Math135Notes/M135Notes_S2018.pdf) by *Carmen Bruni* **[pdf]**\n\n* [Mathematical Reasoning \u0026 Proofs](https://alistairsavage.ca/mat1362) by *Alistair Savage* **[University of Ottawa]**\n\n* [Mathematical Reasoning: Writing and Proof (Version 3)](https://www.tedsundstrom.com/mathematical-reasoning-3) by *Ted Sundstrom*\n\n* [Reading, Discovering and Writing Proofs](https://cs.uwaterloo.ca/~cbruni/pdfs/Math135SeptDec2015/RDW_1.pdf) by *Carmen Bruni* **[pdf]**\n\n* [The Mechanics of Proof](https://hrmacbeth.github.io/math2001) by *Heather Macbeth*\n\n### Theoretical Computer Science\n\n* [An Introduction to Abstract Mathematics](https://www.math.uci.edu/~ndonalds/math13/notes.pdf) by *Neil Donaldson* and *Alessandra Pantano* **[pdf]**\n\n* [Busy Beavers! - An interactive intro to Computability Theory](https://tigyog.app/d/C:tWWwvJDWlo/r/busy-beavers) by *Jim Fisher*\n\n* [Computational Complexity: A Modern Approach](https://theory.cs.princeton.edu/complexity) by *Sanjeev Arora* and *Boaz Barak*\n\n* [Discrete Mathematical Modeling](https://sites.math.washington.edu/~billey/classes/math.381.spring.2024/course.notes/381notes.pdf) by *Prof. Sara Billey* **[pdf]**\n\n* [Discrete Mathematics](https://www.cs.ox.ac.uk/andrew.ker/docs/discretemaths-lecture-notes-mt2010.pdf) by *Andrew D. Ker* **[pdf]**\n\n* [Discrete Mathematics: An Open Introduction, 4th Edition](https://discrete.openmathbooks.org/dmoi4.html) by *Oscar Levin*\n\n* [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*\n\n* [Edsger W. Dijkstra Archive](https://www.cs.utexas.edu/~EWD/index03xx.html)\n\n* [Elements of Programming](http://elementsofprogramming.com) by *Alexander Stepanov and Paul McJones*\n\n* [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)*\n\n* [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*\n\n* [Introduction to Theoretical Computer Science](https://introtcs.org) by [*Boaz Barak*](https://en.wikipedia.org/wiki/Boaz_Barak)\n\n* [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]**\n\n* [Mathematical Foundations of Computing](https://web.stanford.edu/class/archive/cs/cs103/cs103.1184/notes/Mathematical%20Foundations%20of%20Computing.pdf) by *Keith Schwarz* **[pdf]**\n\n* [Mathematical Techniques for Algorithm Analysis](https://pages.cs.wisc.edu/~cs809-1/lectures.pdf) by *Eric Bach* **[pdf]**\n\n* [Mathematical Techniques for Computer Science](https://drive.google.com/file/d/1TRs0Yfdlm7UpY1LJ80ya8rLnmsWUVFi6/view) by *Andrea Schalk* **[pdf]**\n\n* [Mathematics and Computation: A Theory Revolutionizing Technology and Science](https://www.math.ias.edu/files/Book-online-Aug0619.pdf) by *Avi Wigderson* **[pdf]**\n\n* [Mathematics for Computer Science](https://people.csail.mit.edu/meyer/mcs.pdf) by *Eric Lehman*, *F. Thomson Leighton*, and *Albert R. Meyer* **[pdf]**\n\n* [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*\n\n* [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*\n\n* [Notation as a Tool of Thought](https://www.jsoftware.com/papers/tot.htm) by *Kenneth E. Iverson*\n\n* [Notes on Computational Complexity Theory](https://www.cs.yale.edu/homes/aspnes/classes/468/notes.pdf) by *James Aspnes* **[pdf]**\n\n* [Notes on Discrete Mathematics](https://www.cs.yale.edu/homes/aspnes/classes/202/notes.pdf) by *James Aspnes* **[pdf]**\n\n* [Software Foundations](https://softwarefoundations.cis.upenn.edu) - A broad introduction to the mathematical underpinnings of reliable software.\n\n* [Type Theory \u0026 Functional Programming](https://www.cs.cornell.edu/courses/cs6110/2015sp/textbook/Simon%20Thompson%20textbook.pdf) by *Simon Thompson* **[pdf]**\n\n* [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]**\n\n### Topology\n\n* [Algebraic Topology for Data Scientists](https://arxiv.org/abs/2308.10825) by *Michael S. Postol*\n\n* [Computational Algebraic Topology](https://people.maths.ox.ac.uk/nanda/cat) by *Vidit Nanda*\n\n* [General Topology](https://www.maths.ed.ac.uk/~tl/topology/topology_notes.pdf) by *Tom Leinster* **[pdf]**\n\n* [Introduction To Symplectic Topology](https://julianchaidez.net/solutions/salamonmcduff.pdf) by *Dusa Mcduff* and *Dietmar Salamon* **[pdf]**\n\n* [Metric and Topological Spaces](https://www.dpmms.cam.ac.uk/~twk10/Top.pdf) by *T. W. K¨orner* **[pdf]**\n\n* [Topology Without Tears](https://www.topologywithouttears.net) by *Sidney A. Morris*\n\n## Multithreading and Concurrency\n\n* [A C++17 Thread Pool for High-Performance Scientific Computing](https://arxiv.org/abs/2105.00613) by *Barak Shoshany*\n\n* [A Science of Concurrent Programs](https://lamport.azurewebsites.net/tla/science-book.html) by *Leslie Lamport*\n\n* [Implementing simple cooperative threads in C](https://brennan.io/2020/05/24/userspace-cooperative-multitasking) by *Stephen Brennan*\n\n* [Introduction to Parallel Computing Tutorial](https://hpc.llnl.gov/documentation/tutorials/introduction-parallel-computing-tutorial)\n\n* [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*\n\n* [Lockfree Programming: A Mental Model](https://xorvoid.com/lockfree_programming_a_mental_model.html) by *Anthony Bonkoski*\n\n* [POSIX Threads Programming](https://hpc-tutorials.llnl.gov/posix) by *Blaise Barney*\n\n* [Reading and writing](https://blog.jcoglan.com/2020/09/28/reading-and-writing-part-1) - Article series on race conditions by *James Coglan*\n\n* [Spinlocks vs. Mutexes: When to Spin and When to Sleep](https://howtech.substack.com/p/spinlocks-vs-mutexes-when-to-spin)\n\n* [The Deadlock Empire](https://deadlockempire.github.io)\n\n* [The Little Book of Semaphores](https://greenteapress.com/wp/semaphores) by *Allen B. Downey*\n\n* [What every systems programmer should know about concurrency](https://assets.bitbashing.io/papers/concurrency-primer.pdf) by *Matt Kline* **[pdf]**\n\n## Music Theory\n\n* [Introduction to Computer Music](https://cmtext.com) by *Prof. Jeffrey Hass*\n\n## Operating Systems\n\n* [A Commentary On The Sixth Edition Unix Operating System](https://warsus.github.io/lions-) by *J. Lions*\n\n* [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]**\n\n* [Exploring Operating Systems](https://mohitmishra786.github.io/exploring-os)\n\n* [Linux Insides](https://0xax.gitbooks.io/linux-insides/content/) by *Alex Kuleshov*\n\n* [How to write Rust in the kernel](https://lwn.net/Articles/1024941) by *Daroc Alden*\n  * [Part 1](https://lwn.net/Articles/1024202)\n  * [Part 2](https://lwn.net/Articles/1025232)\n  * [Part 3](https://lwn.net/SubscriberLink/1026694/3413f4b43c862629)\n\n* [Making our own executable packer](https://fasterthanli.me/series/making-our-own-executable-packer) by *Amos Wenger*\n\n* [My Own Private Binary: An Idiosyncratic Introduction to Linux Kernel Modules](https://www.muppetlabs.com/~breadbox/txt/mopb.html)\n\n* [Notes on Operating Systems](https://www.cs.yale.edu/homes/aspnes/pinewiki/CS422(2f)Notes.html) by *James Aspnes*\n\n* [Operating Systems: Three Easy Pieces](https://pages.cs.wisc.edu/~remzi/OSTEP/) by *Remzi H Arpaci-Dusseau* and *Andrea C Arpaci-Dusseau*\n\n* [Systems Programming: Lecture Notes](http://web.eecs.utk.edu/~huangj/cs360/lecture_notes.html) by *Jian Huang*\n\n* [The Art of Unix Programming](http://www.catb.org/esr/writings/taoup/html) by *Eric Steven Raymond*\n\n* [The Linux Documentation Project](https://tldp.org)\n\n* [The Linux Kernel Module Programming Guide](https://sysprog21.github.io/lkmpg) by *Peter Jay Salzman, Michael Burian, Ori Pomerantz, Bob Mottram, Jim Huang*\n\n* [The UNIX-HATERS Handbook](https://simson.net/ref/ugh.pdf) by *Simson Garfinkel*, *Daniel Weise*, and *Steven Strassmann* **[pdf]**\n\n* [Unix as IDE](https://blog.sanctum.geek.nz/series/unix-as-ide) by *Tom Ryder*\n\n### Operating Systems Development\n\n* [A Journey in Creating an Operating System Kernel](https://539kernel.com) by *Mohammed Q. Hussain*\n\n* [Baking Pi – Operating Systems Development](https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os) by *Alex Chadwick*\n\n* [Making a RISC-V Operating System using Rust](https://osblog.stephenmarz.com) by *Stephen Marz*\n\n* **Making an RISC-V OS**\n  * [Part 1 - Project Setup](https://traxys.me/riscv_os_setup.html)\n  * [Part 2 - Kernel in virtual addresses](https://traxys.me/riscv_os_2.html)\n  * [Part 3 - Managing free memory](https://traxys.me/riscv_os_buddy.html)\n\n* [Operating System development tutorials in Rust on the Raspberry Pi](https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials) by *Andre Richter*\n\n* [Operating System in 1,000 Lines](https://operating-system-in-1000-lines.vercel.app/en) by *Seiya Nuta*\n\n* [Operating Systems: From 0 to 1](https://tuhdo.github.io/os01) by *Tu Do*\n\n* [OSDev.org](https://wiki.osdev.org/Expanded_Main_Page)\n\n* [The little book about OS development](https://littleosbook.github.io) by *Erik Helin* and *Adam Renberg*\n\n* [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*\n\n* [Writing an OS in Rust](https://os.phil-opp.com) by *Philipp Oppermann*\n\n* [Writing an OS in Nim](https://0xc0ffee.netlify.app) by *Khaled Hammouda*\n\n## Photography\n\n* [Photography for geeks](https://lcamtuf.coredump.cx/photo_basics) by *Michal Zalewski*\n\n## Physics\n\n* [A free introduction to quantum computing and quantum mechanics](https://quantum.country) by *Andy Matuschak and Michael Nielsen*\n\n* [An introduction to Lagrangian and Hamiltonian mechanics](https://www.macs.hw.ac.uk/~simonm/mechanics.pdf) by *Simon J.A. Malham* **[pdf]**\n\n* [An Intuitive Guide to Maxwell’s Equations](https://photonlines.substack.com/p/an-intuitive-guide-to-maxwells-equations) by *Nick M.*\n\n* [Applications of Classical Physics](http://pmaweb.caltech.edu/Courses/ph136/yr2012) by *Roger D. Blandford* and *Kip S. Thorne*\n\n* [IBM Quantum Learning](https://learning.quantum.ibm.com) - Learn the basics of quantum computing.\n\n* [Introduction to Classical and Quantum Computing](https://www.thomaswong.net) by *Thomas G. Wong*\n\n* [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]**\n\n* [Mechanics and Relativity](https://open.umn.edu/opentextbooks/textbooks/mechanics-and-relativity) by *Timon Idema*\n\n* [Motion Mountain](https://www.motionmountain.net) by *Christoph Schiller* - A free physics textbook in 5 volumes.\n\n* [Open textbooks for undergraduate physics](https://openaccesstexts.com/physics)\n\n* [Orbital Mechanics](https://www.alanzucconi.com/2025/09/04/orbital-mechanics) by *\nAlan Zucconi*\n\n* [Percolation Theory](https://web.mit.edu/ceder/publications/Percolation.pdf) by *Dr. Kim Christensen* **[pdf]**\n\n* [Physics for Mathematicians](https://nicf.net/articles/physics-for-mathematicians) by *Nicolas James Marks Ford*\n\n* [Quantum Computation Lecture Notes](https://math.mit.edu/~shor/435-LN) by *Peter Shor*\n\n* [Quantum Mechanics](https://github.com/basketballguy999/Quantum-Mechanics-Concise-Book) by *basketballguy*\n\n* [Quantum Mechanics for Engineers](https://websites.umich.edu/~ners311/CourseLibrary/Dommelen.pdf) by *Leon van Dommelen* **[pdf]**\n\n* [Relativity: A Modern Primer](http://ramp-book.com) by *Kevin Han*\n\n* [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)*\n\n* [The Feynman Lectures on Physics](https://www.feynmanlectures.caltech.edu)\n\n* [Physics-Based Simulation](https://phys-sim-book.github.io) by *Minchen Li*, *Chenfanfu Jiang*, and *Zhaofeng Luo*\n\n## Programming languages\n\n* [A Dumb Introduction to z3](https://asibahi.github.io/thoughts/a-gentle-introduction-to-z3) by *Rahman Sibahi*\n\n* [Control structures in programming languages: from goto to algebraic effects](https://xavierleroy.org/control-structures) by *Xavier Leroy*\n\n* **[Exotic Programming Ideas](https://www.stephendiehl.com/posts/types_of_types/)** by *Stephen Diehl*\n  * [Part 1: Module Systems](https://www.stephendiehl.com/posts/exotic_01)\n  * [Part 2: Term Rewriting](https://www.stephendiehl.com/posts/exotic_02)\n  * [Part 3: Effect Systems](https://www.stephendiehl.com/posts/exotic_03)\n  * [Part 4: Datalog](https://www.stephendiehl.com/posts/exotic_04)\n  * [Part 5: Types of Types](https://www.stephendiehl.com/posts/types_of_types)\n\n* [Introduction to the Theory of Programming Languages](https://bertrandmeyer.com/itpl) by *Bertrand Meyer*\n\n### Ada\n\n* [Ada 95: The Craft of Object-Oriented Programming](https://adaic.org/resources/add_content/docs/craft/html/contents.htm) by *John English*\n\n* [Ada Gem Archive](https://www.adacore.com/gems)\n\n* [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*\n\n### Assembly\n\n* **A friendly introduction to assembly for high-level programmers** by *Manuel Spagnolo*\n  * [Part 1: Hello](https://shikaan.github.io/assembly/x86/guide/2024/09/16/x86-64-conditionals.html)\n  * [Part 2: Conditionals](https://shikaan.github.io/assembly/x86/guide/2024/09/16/x86-64-conditionals.html)\n\n* [A fundamental introduction to x86 assembly programming](https://www.nayuki.io/page/a-fundamental-introduction-to-x86-assembly-programming) by *Nayuki*\n\n* [An interactive guide to x86-64 assembly](https://halb.it/posts/x64-introduction) by *Alberto Ventafridda*\n\n* [Easy RISC-V](https://dramforever.github.io/easyriscv)\n\n* [FFmpeg School of Assembly Language](https://github.com/FFmpeg/asm-lessons)\n\n* [Learn Assembly Language](https://asmtutor.com) -  NASM x86 assembly language tutorial on Linux.\n\n* [Programming from the Ground Up](https://download-mirror.savannah.gnu.org/releases/pgubook/ProgrammingGroundUp-1-0-booksize.pdf) by *Jonathan Bartlett* **[pdf]**\n\n* [Learn x86-64 assembly by writing a GUI from scratch](https://gaultier.github.io/blog/x11_x64.html) by *Philippe Gaultier*\n\n* **Let's Learn x86-64 Assembly!**\n  * [Part 0 - Setup and First Steps](https://gpfault.net/posts/asm-tut-0.txt.html)\n  * [Part 1 - Metaprogramming in Flat Assembler](https://gpfault.net/posts/asm-tut-1.txt.html)\n  * [Part 2 - We're Writing a Virtual Machine](https://gpfault.net/posts/asm-tut-2.txt.html)\n  * [Part 3 - Arithmetic and Logic](https://gpfault.net/posts/asm-tut-3.txt.html)\n  * [Part 4 - More About Jumps Than You Wanted To Know](https://gpfault.net/posts/asm-tut-4.html)\n\n* [NASM Tutorial](https://cs.lmu.edu/~ray/notes/nasmtutorial/)\n\n* [PC Assembly Language](https://pacman128.github.io/pcasm) by *Paul A. Carter*\n\n* [RISC-V Assembly Programming](https://riscv-programming.org) by *Prof. Edson Borin*\n\n* [The Art of Assembly Language](https://www.plantation-productions.com/Webster/www.artofasm.com/Linux/HTML/AoATOC.html) by *Randall Hyde*\n\n* [Understanding Windows x64 Assembly](https://sonictk.github.io/asm_tutorial) by *Siew Yi Liang*\n\n* [x86-64 Assembly Language Programming with Ubuntu](http://www.egr.unlv.edu/~ed/x86.html) by  *Ed Jorgensen*\n\n### Bash\n\n* [Introduction to Bash Scripting](https://github.com/bobbyiliev/introduction-to-bash-scripting) by *Bobby Iliev*\n\n### Basic\n\n* [BBC BASIC for SDL 2.0](https://www.bbcbasic.co.uk/bbcsdl/index.html)\n\n### C\n\n* [Compiler Options Hardening Guide for C and C++](https://best.openssf.org/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C++.html)\n\n* [Coroutines in C](https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html) by *Simon Tatham*\n\n* [Demystifying bitwise operations, a gentle C tutorial](https://www.andreinc.net/2023/02/01/demystifying-bitwise-ops) by *Andrei Ciobanu*\n\n* [Extreme C](https://www.packtpub.com/free-ebook/extreme-c/9781789343625) by *Kamran Amini*\n\n* [Few lesser known tricks, quirks and features of C](https://jorenar.com/blog/less-known-c)\n\n* [Hacking Coroutines into C](https://wiomoc.de/misc/posts/hacking_coroutines_into_c.html) by *Christoph Walcher*\n\n* [Hacktical C: A practical hacker's guide to the C programming language](https://github.com/codr7/hacktical-c)\n\n* [How to implement a hash table (in C)](https://benhoyt.com/writings/hash-table-in-c) by *Ben Hoyt*\n\n* [I Write Type Safe Generic Data Structures in C](https://danielchasehooper.com/posts/typechecked-generic-c-data-structures) by *Daniel Hooper*\n\n* [Implementing smart pointers for the C programming language](https://snai.pe/posts/c-smart-pointers)\n\n* [Modern C](https://gustedt.gitlabpages.inria.fr/modern-c) by *Jens Gustedt*\n\n* [Object-Oriented Programming with ANSI-C](https://www.mclibre.org/descargar/docs/libros/ooc-ats.pdf) by *Axel-Tobias Schreiner* **[pdf]**\n\n* [So You Think You Know C?](https://wordsandbuttons.online/SYTYKC.pdf) by *Oleksandr Kaleniuk* **[pdf]**\n\n* [The C Book](https://publications.gbdirect.co.uk/c_book) by *Mike Banahan*, *Declan Brady* and *Mark Doran*\n\n* [The Lost Art of Structure Packing](http://www.catb.org/esr/structure-packing) by *Eric S. Raymond*\n\n* [Writing a Simple Garbage Collector in C](http://maplant.com/gc.html) by *Matthew Plant*\n\n### C# \u003cspan id=\"c-sharp\"\u003e\n\n* [Developing on AWS with C#](https://d1.awsstatic.com/developer-center/DevelopingonAWS_ER_fulldraft_net.pdf) by *Noah Gift* and *James Charlesworth* **[pdf]**\n\n### C++ \u003cspan id=\"cpp\"\u003e\n\n* [C++ Core Guidelines](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines) by *Bjarne Stroustrup* and *Herb Sutter*\n\n* **C++ exceptions uner the hood** by *Nicolás Brailovsky*\n  * [Part 1](https://nicolasbrailo.github.io/blog/2013/2.html#cexceptionsunderthehood)\n  * [Part 2: A tiny ABI](https://nicolasbrailo.github.io/blog/2013/2.html#cexceptionsunderthehoodiiatinyabi)\n  * [Part 3: An ABI to appease the linker](https://nicolasbrailo.github.io/blog/2013/2.html#cexceptionsunderthehood3anabitoappeasethelinker)\n  * [Part 4: Catching what you throw](https://nicolasbrailo.github.io/blog/2013/2.html#cexceptionsunderthehood4catchingwhatyouthrow)\n  * [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)\n  * [Part 6: gcc_except_table and the personality function](https://nicolasbrailo.github.io/blog/2013/3.html#cexceptionsunderthehood6gcc_except_tableandthepersonalityfunction)\n  * [Part 7: A nice personality](https://nicolasbrailo.github.io/blog/2013/3.html#cexceptionsunderthehood7anicepersonality)\n  * [Part 8: Two-phase handling](https://nicolasbrailo.github.io/blog/2013/3.html#cexceptionsunderthehood8twophasehandling)\n  * [Part 9: Catching our first exception](https://nicolasbrailo.github.io/blog/2013/4.html#cexceptionsunderthehood9catchingourfirstexception)\n  * [Part 10: Unwind and call frame info](https://nicolasbrailo.github.io/blog/2013/4.html#cexceptionsunderthehood10unwindandcallframeinfo)\n  * [Part 11: Reading a CFI table](https://nicolasbrailo.github.io/blog/2013/4.html#cexceptionsunderthehood11readingacfitable)\n  * [Part 12: And suddenly, reflexion in C++](https://nicolasbrailo.github.io/blog/2013/4.html#cexceptionsunderthehood12andsuddenlyreflexioninc)\n  * [Part 13: Setting the context for a landing pad](https://nicolasbrailo.github.io/blog/2013/4.html#cexceptionsunderthehood13settingthecontextforalandingpad)\n  * [Part 14: Multiple landing pads \u0026 the teachings of the guru](https://nicolasbrailo.github.io/blog/2013/4.html#cexceptionsunderthehood14multiplelandingpadstheteachingsoftheguru)\n  * [Part 15: Finding the right landing pad](https://nicolasbrailo.github.io/blog/2013/5.html#cexceptionsunderthehood15findingtherightlandingpad)\n  * [Part 16: Finding the right catch in a landing](https://nicolasbrailo.github.io/blog/2013/5.html#cexceptionsunderthehood16findingtherightcatchinalanding)\n  * [Part 17: Reflecting on an exception type and reading .gcc_except_table](https://nicolasbrailo.github.io/blog/2013/5.html#cexceptionsunderthehood17reflectingonanexceptiontypeandreading.gcc_except_table)\n  * [Part 18: Getting the right stack frame](https://nicolasbrailo.github.io/blog/2013/5.html#cexceptionsunderthehood18gettingtherightstackframe)\n  * [Part 19: Getting the right catch in a landing pad](https://nicolasbrailo.github.io/blog/2013/5.html#cexceptionsunderthehood19gettingtherightcatchinalandingpad)\n  * [Part 20: Running destructors while unwinding](https://nicolasbrailo.github.io/blog/2013/5.html#cexceptionsunderthehood20runningdestructorswhileunwinding)\n  * [Part 21: A summary and some final thoughts](https://nicolasbrailo.github.io/blog/2013/6.html#cexceptionsunderthehood21asummaryandsomefinalthoughts)\n  * [Appendix I: The true cost of an exception](https://nicolasbrailo.github.io/blog/2013/6.html#cexceptionsunderthehoodappendixithetruecostofanexception)\n  * [Appendix II: Metaclasses and RTTI on C++](https://nicolasbrailo.github.io/blog/2013/6.html#cexceptionsunderthehoodappendixiimetaclassesandrttionc)\n  * [Appendix III: RTTI and exceptions orthogonality](https://nicolasbrailo.github.io/blog/2013/7.html#cexceptionsunderthehoodappendixiiirttiandexceptionsorthogonality)\n\n* [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*\n\n* [C++20 Concepts: The Definitive Guide](https://thecodepad.com/cpp/c20-concepts-the-definitive-guide) by *Rajat Jain*\n\n* [Effective Modern C++](https://ia902804.us.archive.org/23/items/EffectiveModernC/Effective-Modern-C%2B%2B.pdf) by *Scott Meyers* **[pdf]**\n\n* [Efficient Programming with Components](https://www.jmeiners.com/efficient-programming-with-components) by *Alexander Stepanov* and *Justin Meiners*\n\n* [Fiber in C++: Understanding the Basics](https://agraphicsguynotes.com/posts/fiber_in_cpp_understanding_the_basics) by *Jiayin Cao*\n\n* [Hacking C++](https://hackingcpp.com)\n\n* [Learn C++](https://www.learncpp.com)\n\n* [Learning to read C++ compiler errors: Not a legal base class](https://devblogs.microsoft.com/oldnewthing/20250919-00/?p=111612) by *Raymond Chen*\n\n* [Microsoft C++ language documentation](https://docs.microsoft.com/en-us/cpp/cpp)\n\n* [More C++ Idioms](https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms)\n\n* [My Favorite C++ Pattern: X Macros](https://danilafe.com/blog/chapel_x_macros) by *Daniel Fedorin*\n\n* [Philosophy of coroutines](https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/coroutines-philosophy) by *Simon Tatham*\n\n* [The Boost C++ Libraries](https://theboostcpplibraries.com) by *Boris Schäling*\n\n* **Thoughts on creating a tracking pointer class** by *Raymond Chen*\n  * [Part 1: Concept art](https://devblogs.microsoft.com/oldnewthing/20250811-00/?p=111451)\n  * [Part 2: Using a std::list](https://devblogs.microsoft.com/oldnewthing/20250812-00/?p=111454)\n  * [Part 3: Using a std::vector](https://devblogs.microsoft.com/oldnewthing/20250813-00/?p=111459)\n  * [Part 4: Using a circular doubly linked list](https://devblogs.microsoft.com/oldnewthing/20250814-00/?p=111482)\n  * [Part 5: Copying our tracking pointer](https://devblogs.microsoft.com/oldnewthing/20250815-00/?p=111484)\n  * [Part 6: Non-modifying trackers](https://devblogs.microsoft.com/oldnewthing/20250818-00/?p=111486)\n  * [Part 7: Non-modifying trackers, second try](https://devblogs.microsoft.com/oldnewthing/20250819-00/?p=111488)\n  * [Part 8: Tracking const objects](https://devblogs.microsoft.com/oldnewthing/20250820-00/?p=111490)\n  * [Part 9: Conversion](https://devblogs.microsoft.com/oldnewthing/20250821-00/?p=111492)\n  * [Part 10: Proper conversion](https://devblogs.microsoft.com/oldnewthing/20250822-00/?p=111494)\n  * [Part 11: Repairing assignment](https://devblogs.microsoft.com/oldnewthing/20250825-00/?p=111497)\n  * [Part 12: A shared tracking pointer](https://devblogs.microsoft.com/oldnewthing/20250826-00/?p=111506)\n  * [Part 13: Restoring the strong exception guarantee](https://devblogs.microsoft.com/oldnewthing/20250827-00/?p=111518)\n  * [Part 14: Nonthrowing moves with the shared tracking pointer](https://devblogs.microsoft.com/oldnewthing/20250828-00/?p=111524)\n  * [Part 15: A custom shared pointer](https://devblogs.microsoft.com/oldnewthing/20250829-00/?p=111526)\n  * [Part 16: Second attempt to use a list](https://devblogs.microsoft.com/oldnewthing/20250901-00/?p=111537)\n\n### CMake\n\n* [An Introduction to Modern CMake](https://cliutils.gitlab.io/modern-cmake/README.html) by *Henry Schreiner*\n\n### Cuda\n\n* [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*\n\n### D\n\n* [Programming in D](http://ddili.org/ders/d.en/index.html) by *Ali Çehreli*\n\n### Datalog\n\n* [Learn Datalog Today](https://www.learndatalogtoday.org) by *Jonas Enlund*\n\n### Erlang\n\n* [Adopting Erlang](https://adoptingerlang.org) by *Tristan Sloughter*, *Fred Hebert*, and *Evan Vigil-McClanahan*\n\n* [Learn You Some Erlang for great good!](https://learnyousomeerlang.com) by *Fred Hebert*\n\n* [Stuff Goes Bad: Erlang in Anger](https://www.erlang-in-anger.com) by *Fred Hebert*\n\n### Forth\n\n* [Easy Forth](https://skilldrick.github.io/easyforth) by *Nick Morgan*\n\n* [Forth: The programming language that writes itself](https://ratfactor.com/forth/the_programming_language_that_writes_itself.html) by *Dave Gauer*\n\n* [Implementing a Forth](https://ratfactor.com/forth/implementing) by *Dave Gauer*\n\n* [Starting FORTH](https://www.forth.com/starting-forth) by *Leo Brodie*\n\n* [Thinking Forth](https://www.forth.com/wp-content/uploads/2018/11/thinking-forth-color.pdf) by *Leo Brodie* **[pdf]**\n\n### Go\n\n* [A comprehensive guide to go generate](https://eli.thegreenplace.net/2021/a-comprehensive-guide-to-go-generate) by *Eli Bendersky*\n\n* [Accessing PostgreSQL databases in Go](https://eli.thegreenplace.net/2021/accessing-postgresql-databases-in-go) by *Eli Bendersky*\n\n* [Embedding in Go](https://eli.thegreenplace.net/2020/embedding-in-go-part-1-structs-in-structs) by *Eli Bendersky*\n\n* [Generic functions on slices with Go type parameters](https://eli.thegreenplace.net/2021/generic-functions-on-slices-with-go-type-parameters) by *Eli Bendedrsky*\n\n* [Go internals: invariance and memory layout of slices](https://eli.thegreenplace.net/2021/go-internals-invariance-and-memory-layout-of-slices) by *Eli Bendersky*\n\n* [Go Optimization Guide](https://goperf.dev) by *Alexander Stavonin*\n\n* [Higher-order functions in Go](https://eli.thegreenplace.net/2023/higher-order-functions-in-go) by *Eli Benderski*\n\n* [Memory Allocation in Go](https://nghiant3223.github.io/2025/06/03/memory_allocation_in_go.html) by *Nguyen Trong Nghia*\n\n* [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*\n\n* [Practical Go Lessons](https://www.practical-go-lessons.com) by *Maximilien Andile*\n\n* [Ranging over functions in Go 1.23](https://eli.thegreenplace.net/2024/ranging-over-functions-in-go-123) by *Eli Benderski*\n\n* [The Y combinator in Go with generics](https://eli.thegreenplace.net/2022/the-y-combinator-in-go-with-generics) by *Eli Benderski*\n\n#### Network programming in Go\n\n* [Go HTTPS servers with TLS](https://eli.thegreenplace.net/2021/go-https-servers-with-tls)\n\n* [Go socket servers with TLS](https://eli.thegreenplace.net/2021/go-socket-servers-with-tls)\n\n* [REST Servers in Go](https://eli.thegreenplace.net/2021/rest-servers-in-go-part-1-standard-library) by *Ely Bendersky*\n\n### Haskell\n\n* [Learn Haskell by building a blog generator](https://lhbg-book.link/) *Gil Mizrahi*\n\n* [Learn You a Haskell for Great Good!](http://learnyouahaskell.com) by *Miran Lipovača*\n\n* [Monads for functional programming](https://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf) by *Philip Wadler* **[pdf]**\n\n* [Monday Morning Haskell](https://mmhaskell.com)\n\n* [Real World Haskell](http://book.realworldhaskell.org) by *Bryan O'Sullivan, Don Stewart, and John Goerzen*\n\n### Jai\n\n* [Jai articles by James Oswald](https://jamesoswald.dev/tags/jai)\n  * [Simplicity, Jai, and Joy (Jai Part 1)](https://jamesoswald.dev/posts/jai-1)\n  * [Embedding, Jai, and Joy (Jai Part 2)](https://jamesoswald.dev/posts/jai-2)\n  * [Emulating Rust's Result and ? in Jai with Metaprogramming](https://jamesoswald.dev/posts/jai-result)\n\n### Java\n\n* [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]**\n\n* [Think Java](https://greenteapress.com/wp/think-java-2e) by *Allen B. Downey*\n\n### JavaScript\n\n* [Eloquent JavaScript](https://eloquentjavascript.net) by *Marijn Haverbeke*\n\n* [Exploring JS: JavaScript books for programmers](https://exploringjs.com) by *Dr. Axel Rauschmayer*\n\n* [Structure and Interpretation of Computer Programs — JavaScript Edition](https://sourceacademy.org/sicpjs) by\n  - *Harold Abelson and Gerald Jay Sussman with Julie Sussman* — original authors\n  - *Martin Henz and Tobias Wrigstad with Julie Sussman* — adapters to JavaScript\n  - *Samuel Fang* — designer and developer of this Interactive SICP JS edition\n\n* [The Modern JavaScript Tutorial](https://javascript.info) by *Ilya Kantor*\n\n* [Mostly adequate guide to FP (in JavaScript)](https://mostly-adequate.gitbook.io/mostly-adequate-guide)\n\n### Lean\n\n* [Functional Programming in Lean](https://leanprover.github.io/functional_programming_in_lean) by *David Thrane Christiansen*\n\n### Lisp dialects\n\n#### Clojure\n\n* [Babashka Babooka: Write Command-Line Clojure](https://www.braveclojure.com/quests/babooka) by *Daniel Higginbotham*\n\n* [Clojure for the Brave and True](https://www.braveclojure.com/) by *Daniel Higginbotham*\n\n#### Common Lisp\n\n* **Gamedev in Lisp** by *Andrew Kravchuk*\n  * [Part 1: ECS and Metalinguistic Abstraction](https://gitlab.com/lockie/cl-fast-ecs/-/wikis/tutorial-1)\n  * [Part 2: Dungeons and Interfaces](https://gitlab.com/lockie/cl-fast-ecs/-/wikis/tutorial-2)\n\n* [Learn Lisp The Hard Way](https://llthw.common-lisp.dev) by  *\"the Phoeron\" Colin J.E. Lupton*\n\n* [On Lisp](https://www.paulgraham.com/onlisptext.html) by *Paul Graham*\n\n* [Practical Common Lisp](https://gigamonkeys.com/book) by *Peter Seibel*\n\n* [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*\n\n* [The Common Lisp Cookbook](https://lispcookbook.github.io/cl-cookbook)\n\n* [Typed Lisp, A Primer](http://alhassy.com/TypedLisp) by *Musa Al-hassy*\n\n#### Racket\n\n* **A Functional Introduction To Computer Science** by *Prabhakar Ragde*\n  - [Part I](https://cs.uwaterloo.ca/~plragde/flaneries/FICS)\n  - [Part II](https://cs.uwaterloo.ca/~plragde/flane/FICS2)\n\n* [Beautiful Racket](https://beautifulracket.com/) by *Matthew Butterick*\n\n* [How to Design Programs](https://htdp.org/), Second Edition by *Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi*\n\n* [Programming Languages: Application and Interpretation](https://www.plai.org) by *Shriram Krishnamurthi*\n\n#### Scheme\n\n* [Structure and Interpretation of Computer Programs](https://xuanji.appspot.com/isicp/index.html) by *Harold Abelson and Gerald Jay Sussman with Julie Sussman*\n\n* [(learn 'scheme)](https://jaredkrinke.github.io/learn-scheme) by *Jared Krinke*\n\n### Nim\n\n* [Computer Programming with the Nim Programming Language](https://ssalewski.de/nimprogramming.html) by *Dr. Stefan Salewski*\n\n### OCaml\n\n* [OCaml Programming: Correct + Efficient + Beautiful](https://cs3110.github.io/textbook/cover.html) by *Michael R. Clarkson*\n\n* [Real World OCaml](https://dev.realworldocaml.org) by *Yaron Minsky*, *Anil Madhavapeddy* and *Jason Hickey*\n\n### Oberon-2\n\n* [Object-Oriented Programming in Oberon-2](https://ssw.jku.at/Research/Books/Oberon2.pdf) by *Hanspeter Mössenböck* **[pdf]**\n\n### Odin\n\n* [\"Handles are the better pointers\": An Odin gamedev follow-up](https://zylinski.se/posts/handle-based-arrays) by *Karl Zylinski*\n\n* [Introduction to the Odin Programming Language](https://zylinski.se/posts/introduction-to-odin) by *Karl Zylinski*\n\n* [Mistakes and cool things to do with arena allocators](https://zylinski.se/posts/dynamic-arrays-and-arenas) by *Karl Zylinski*\n\n### Pascal\n\n* [Modern Object Pascal Introduction for Programmers](https://castle-engine.io/modern_pascal_introduction.html) by *Michalis Kamburelis*\n\n### PostScript\n\n* [Learning PostScript by Doing](https://staff.science.uva.nl/a.j.p.heck/Courses/Mastercourse2005/tutorial.pdf) by *Andre Heck* **[pdf]**\n\n* [Mathematical Ilustrations: A Manual of Geometry and PostScript](https://personal.math.ubc.ca/~cass/graphics/text/www) by *Bill Casselman*\n\n### Prolog\n\n* [Datalog in Rust](https://github.com/frankmcsherry/blog/blob/master/posts/2025-06-03.md) by *Frank McSherry*\n\n* [Learn Prolog Now!](https://lpn.swi-prolog.org) by *Patrick Blackburn*, *Johan Bos*, *Kristina Striegnitz*\n\n* [The Power of Prolog](https://www.metalevel.at/prolog) by *Markus Triska*\n\n* [Game Programming in Prolog](https://thingspool.net/morsels/list.html) by *Youngjin Kang*\n\n### Pyret\n\n* [Programming and Programming Languages](https://papl.cs.brown.edu/2020) by *Shriram Krishnamurthi, Benjamin S. Lerner, Joe Gibbs Politz, Kathi Fisler*\n\n* [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*\n\n### Python\n\n* [30 Days Of Python](https://github.com/Asabeneh/30-Days-Of-Python) by *Asabeneh*\n\n* [Architecture Patterns with Python](https://www.cosmicpython.com) by *Harry Percival* and *Bob Gregory*\n\n* [Composing Programs](https://www.composingprograms.com) by *John DeNero*\n\n* [Computational Discovery on Jupyter](https://computational-discovery-on-jupyter.github.io/Computational-Discovery-on-Jupyter) by *Rob Corless*\n\n* [Data Structures and Information Retrieval in Python](https://allendowney.github.io/DSIRP) by *Allen B. Downey*\n\n* [From Python to Numpy](https://www.labri.fr/perso/nrougier/from-python-to-numpy) by *Nicolas P. Rougier*\n\n* [Full Stack Python](https://www.fullstackpython.com) by *Matt Makai*\n\n* [How Python Asyncio Works: Recreating it from Scratch](https://jacobpadilla.com/articles/recreating-asyncio) by *Jacob Padilla*\n\n* [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*\n\n* [Introduction to Computer Programming with Python](https://www.aupress.ca/books/oer-202301-introduction-to-computer-programming-with-python) by *Harris Wang*\n\n* [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]**\n\n* [Invent With Python](https://inventwithpython.com) by *Al Sweigart*\n  * [Audio, Video, and Webcams in Python (Lost Chapter from Automate the Boring Stuff)](https://inventwithpython.com/blog/lost-av-chapter.html)\n  * [Automate the Boring Stuff with Python](https://automatetheboringstuff.com)\n  * [Beyond the Basic Stuff with Python](https://inventwithpython.com/beyond)\n  * [Cracking Codes with Python](https://inventwithpython.com/cracking)\n  * [Invent Your Own Computer Games with Python](https://inventwithpython.com/invent4thed)\n  * [Making Games with Python \u0026 Pygame](https://inventwithpython.com/pygame)\n  * [Python Programming Exercises, Gently Explained](https://inventwithpython.com/pythongently)\n  * [Scratch 3 Programming Playground](https://inventwithscratch.com/book3)\n  * [The Big Book of Small Python Projects](https://inventwithpython.com/bigbookpython)\n  * [The Recursive Book of Recursion](https://inventwithpython.com/recursion)\n\n* [Learn Python the Right Way](https://learnpythontherightway.com)\n\n* [NumPy Illustrated: The Visual Guide to NumPy](https://betterprogramming.pub/numpy-illustrated-the-visual-guide-to-numpy-3b1d4976de1d) by *Lev Maximov*\n\n* [Pandas Illustrated: The Definitive Visual Guide to Pandas](https://betterprogramming.pub/pandas-illustrated-the-definitive-visual-guide-to-pandas-c31fa921a43) by *Lev Maximov*\n\n* [Planet Python](https://planetpython.org)\n\n* [Practical Python Programming](https://dabeaz-course.github.io/practical-python/Notes/Contents.html) by *David Beazley*\n\n* [Python \u0026 OpenGL for Scientific Visualization](https://www.labri.fr/perso/nrougier/python-opengl) by *Nicolas P. Rougier*\n\n* [Python Asyncio: The Complete Guide](https://superfastpython.com/python-asyncio) by *Jason Brownlee*\n\n* [Python Courses](https://python-course.eu) by *Bernd Klein*\n\n* [Python Data Science Handbook](https://jakevdp.github.io/PythonDataScienceHandbook) by *Jake VanderPlas*\n\n* [Python Design Patterns](https://python-patterns.guide) by *Brandon Rhodes*\n\n* [Python for Data Analysis, 3rd edition](https://wesmckinney.com/book) by *Wes McKinney*\n\n* [Python Programming for Economics and Finance](https://python-programming.quantecon.org) by *Thomas J. Sargent* and *John Stachurski*\n\n* [Real Python](https://realpython.com) - A collection of Python tutorials.\n\n* [Scientific Visualization: Python + Matplotlib](https://github.com/rougier/scientific-visualization-book) by *Nicolas Rougier*\n\n* [Test-Driven Development with Python](http://www.obeythetestinggoat.com/pages/book.html) by *Harry Percival*\n\n* [The Ultimate Guide to Error Handling in Python](https://blog.miguelgrinberg.com/post/the-ultimate-guide-to-error-handling-in-python) by *Miguel Grinberg*\n\n* [Think Python, 2nd Edition](https://greenteapress.com/wp/think-python-2e) by *Allen B. Downey*\n\n* [Think Python, 3rd Edition](https://allendowney.github.io/ThinkPython/index.html) by *Allen B. Downey*\n\n* [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*\n\n### R\n\n* [Big Book of R](https://www.bigbookofr.com) by *Oscar Baruffa*\n\n* [Efficient R Programming](https://csgillespie.github.io/efficientR) by *Colin Gillespie* and *Robin Lovelace*\n\n* [R for Data Science (2e)](https://r4ds.hadley.nz) *Hadley Wickham*, *Mine Cetinkaya-Rundel*, *Garrett Grolemund*\n\n### Regular expressions\n\n* [Implementing Regular Expressions](https://swtch.com/~rsc/regexp) by *Russ Cox*\n\n* [Learn RegEx step by step, from zero to advanced](https://regexlearn.com/)\n\n* [RegexOne](https://regexone.com)\n\n* [Regular-Expressions.info](https://www.regular-expressions.info) by *Jan Goyvaerts*\n\n* [Rex Eats Regular Expressions for Breakfast](https://www.rexegg.com)\n\n### Ruby\n\n* [Building Games with DragonRuby](https://book.dragonriders.community) by *Brett Chalupa*\n\n* [Ruby Hacking Guide](https://ruby-hacking-guide.github.io)\n\n### Rust\n\n* [100 Exercises To Learn Rust](https://rust-exercises.com)\n\n* [A Gentle Introduction to Rust](https://stevedonovan.github.io/rust-gentle-intro/readme.html) by *Steve Donovan*\n\n* [Async Rust in Three Parts](https://jacko.io/async_intro.html) by *Jack O'Connor*\n\n* [Asynchronous Programming in Rust](https://rust-lang.github.io/async-book)\n\n* [Beginner's guide to Error Handling in Rust](https://www.sheshbabu.com/posts/rust-error-handling) by *Shesh Babu*\n\n* [C++ to Rust Phrasebook](https://cel.cs.brown.edu/crp)\n\n* [Clear explanation of Rust’s module system](https://www.sheshbabu.com/posts/rust-module-system) by *Shesh Babu*\n\n* [Comprehensive Rust](https://google.github.io/comprehensive-rust)\n\n* [Dependency Injection like Bevy Engine from Scratch](https://promethia-27.github.io/dependency_injection_like_bevy_from_scratch)\n\n* [Effective Rust](https://www.lurklurk.org/effective-rust) by *David Drysdale*\n\n* [Exploring ways to make async Rust easier](https://carllerche.com/2021/06/17/six-ways-to-make-async-rust-easier) by *Carl Lerche*\n\n* [Learning Async Rust With Entirely Too Many Web Servers](https://ibraheem.ca/posts/too-many-web-servers) by *Ibraheem Ahmed*\n\n* [No-Panic Rust: A Nice Technique for Systems Programming](https://blog.reverberate.org/2025/02/03/no-panic-rust.html) by *Josh Haberman*\n\n* [Rust Atomics and Locks: Low-Level Concurrency in Practice](https://marabos.nl/atomics) by *Mara Bos*\n\n* [Rust data structures with circular references](https://eli.thegreenplace.net/2021/rust-data-structures-with-circular-references) by *Eli Bendersky*\n\n* [Rust Language Cheat Sheet](https://cheats.rs)\n\n* [Testing multiple implementations of a trait in Rust](https://eli.thegreenplace.net/2021/testing-multiple-implementations-of-a-trait-in-rust) by *Eli Bendersky*\n\n* [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)\n\n### Smalltalk\n\n* [Smalltalk Resources](https://smalltalk.tech.blog/resources) - A list of free smalltalk books.\n\n### Ya\n\n* [Я ☞ Articles](https://muratkasimov.art/Ya/Articles) by *Murat Kasimov*\n\n### Zig\n\n* [Learning Zig](https://www.openmymind.net/learning_zig) by *Karl Seguin*\n\n* [Zigbook](https://www.zigbook.net)\n\n## Retrocomputing\n\n* [A Guide to the Graphics of the Sega Mega Drive / Genesis](https://rasterscroll.com/mdgraphics)\n\n* [BASIC Code](https://basic-code.bearblog.dev) by *Michael Coorlim*\n\n* [Books by Fabien Sanglard](https://fabiensanglard.net/three_books_update/index.html)\n  - **Game Engine Black Book: Wolfenstein 3D**\n  - **Game Engine Black Book: DOOM**\n  - **The Book of CP-System**\n\n* [Easy 6502](https://skilldrick.github.io/easy6502) by *Nick Morgan*\n\n* [Extra Instructions Of The 65XX Series CPU](http://www.ffd2.com/fridge/docs/6502-NMOS.extra.opcodes) by *Adam Vardy*\n\n* [How PlayStation Graphics \u0026 Visual Artefacts Work](https://pikuma.com/blog/how-to-make-ps1-graphics) by *Gustavo Pezzi*\n\n* [How pseudo-3d racing games work](http://www.extentofthejam.com/pseudo) by *Louis Gorenfeld*\n\n* [jsgroth's blog](https://jsgroth.dev/blog)\n\n* [Learn Multiplatform Assembly Programming](https://www.chibiakumas.com) by *ChibiAkumas*\n\n* [Mark Moxon's Software Archaeology](https://www.bbcelite.com) - Fully documented source code for Elite, Revs, Lander, Aviator and more\n\n* [MarkeyJester’s Motorola 68000 Beginner’s Tutorial](https://mrjester.hapisan.com/04_MC68)\n\n* [Michael Abrash’s Graphics Programming Black Book, Special Edition](https://www.jagregory.com/abrash-black-book) by *Michael Abrash*\n\n* [NeHe OpenGL Tutorials](https://nehe.gamedev.net)\n\n* [Patai Gergely's Website](https://cobbpg.github.io)\n  * [Porting Stunt Car Racer to the Commodore Plus/4](https://cobbpg.github.io/articles/stunt-car-racer-plus4-port.html)\n  * [Porting Stunt Car Racer to the Apple II](https://cobbpg.github.io/articles/stunt-car-racer-apple2-port.html)\n  * [Pushing the Boundaries of C64 Graphics with NUFLIX](https://cobbpg.github.io/articles/nuflix.html)\n\n* [Portals and Quake](https://30fps.net/pages/pvs-portals-and-quake) by *Pekka Väänänen*\n\n* [Programming specs for the GBA and NDS hardware](https://problemkaputt.de/gbatek.htm) by *Martin Korth*\n\n* [Retro Game Coders](https://retrogamecoders.com)\n\n* [The Annotated \"Programming the Nintendo GBA : The Unofficial Guide](https://www.coranac.com/documents/taptngba) by *Jasper Vijn*\n\n* [Usborne 1980s Computer Books](https://usborne.com/row/books/computer-and-coding-books)\n\n### Adevent of code on retro machines\n\n* [Advent of Code 2022 on a MikroMikko 4TT m326](http://clb.confined.space/aoc2022) by *Jukka Jylänki*\n\n* [Advent Of Code 2023 on a Commodore 64](http://clb.confined.space/aoc2023) by *Jukka Jylänki*\n\n### Apple II\n\n* [Apple II Documentation Project](http://mirrors.apple2.org.za/Apple%20II%20Documentation%20Project)\n\n* [Apple II graphics: More than you wanted to know](https://nicole.express/2024/phasing-in-and-out-of-existence.html)\n\n* [Colin Leroy-Mira’s Website](https://www.colino.net/wordpress/en/welcome)\n\n* [Neil Parker's Apple II page](https://llx.com/Neil/a2/index.html)\n\n### Commodore 64\n\n* [An Afterlife User's Guide to the C64](http://www.c64os.com/c64os/afterlifeguide) by *Gregorio Naçu*\n\n* [C64 OS Programmer's Guide](https://www.c64os.com/c64os/programmersguide) by *Gregorio Naçu*\n\n* [Commodore 64 Guides](https://pickledlight.blogspot.com/p/commodore-64-guides.html)\n\n* [Commodore Bookmarks](https://commodore.bookmark.computer) - Bookmarks for the Commodore 64, 128, Plus4, C16, VIC20 \u0026 PET Community.\n\n* [The Lost Ways of Programming: Commodore 64 BASIC](http://tomasp.net/commodore64) by *Tomas Petricek*\n\n### CP/M \u003cspan id=\"cpm\"\u003e\n\n* [A gentle introduction to CP/M](https://eerielinux.wordpress.com/2025/08/28/a-gentle-introduction-to-cp-m)\n\n* **A journey into the 8-Bit microcomputing past: Exploring the CP/M operating system**\n  * [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)\n  * [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)\n\n### DOS\n\n* [256-Color VGA Programming in C](http://www.brackeen.com/vga/index.html) by *David Brackeen*\n\n* [Beyond the 1 MB barrier in DOS](https://blogsystem5.substack.com/p/beyond-the-1-mb-barrier-in-dos) by *Julio Merino*\n\n* [From 0 to 1 MB in DOS](https://blogsystem5.substack.com/p/from-0-to-1-mb-in-dos) by *Julio Merino*\n\n* [How Cosmo’s Cosmic Adventure DOS game works?](https://cosmodoc.org)\n\n* [MS-DOS development resources](https://github.com/SuperIlu/DOSDevelResources)\n\n### Game Boy\n\n* [Game Boy Development community](https://gbdev.io)\n\n* [Game Boy Advanced programming tutorial](https://www.coranac.com/tonc/text) by *Jasper Vijn*\n\n* [Game Boy Advanced Development Resources](https://gbadev.org)\n\n* [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*\n\n### Mega 65\n\n* [MEGA65 Documentation](https://files.mega65.org/manuals-upload)\n\n* [MEGA65 Welcome Guide](https://dansanderson.com/mega65/welcome/index.html) by *Dan Sanderson*\n\n### NES\n\n* [Famicom Party: Making NES Games in Assembly](https://famicom.party/book) by *Kevin Zurawel*\n\n* [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.\n\n### ZX Spectrum and Z80 CPU\n\n* [First Steps in Z80 Assembly Language](http://ped.7gods.org/z80.pdf) by *Darryl Sloan* **[pdf]**\n\n* [How to Write ZX Spectrum Games](https://spectrumcomputing.co.uk/zxdb/sinclair/entries/2001501/HowToWriteSpectrumGames%28v1.0%29.pdf) by *Jonathan Cauldwell* **[pdf]**\n\n* [Sinclair ZX Spectrum BASIC programming](http://zxnext.narod.ru/manuals/Basic_Programming.pdf) by *Steven Vicker* **[pdf]**\n\n* [Z80 User's Manual](https://zany80.github.io/documentation/Z80/UserManual.html)\n\n* [ZX Spectrum Next: Assembly Developer Guide](https://github.com/tomaz/zx-next-dev-guide) by *Tomaz Kragelj*\n\n#### [ZX Online Articles](https://zxonline.net/category/development)\n\n* [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)\n\n* [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)\n\n## Reverse engineering\n\n* [Applied Reverse Engineering Series](https://revers.engineering/applied-reverse-engineering-series) by *Daax Rynd, Aidan Khoury and Nick Peterson*\n\n* [Reverse Engineering for Beginners](https://beginners.re) by *Dennis Yurichev*\n\n* [Reverse Engineering For Everyone](https://0xinfection.github.io/reversing) by *Kevin Thomas*\n\n* [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*\n\n* [Linux Reverse Engineering CTFs for Beginners](https://osandamalith.com/2019/02/11/linux-reverse-engineering-ctfs-for-beginners)\n\n## Robotics\n\n* [Introduction to Autonomous Robots](https://introduction-to-autonomous-robots.github.io) by *Nikolaus Correll, Bradley Hayes, Christoffer Heckman, and Alessandro Roncone*\n\n* [Mathematics for Robotics](https://github.com/michiganrobotics/rob501) by *Jessy Grizzle*\n\n* [Modern Robotics: Mechanics, Planning, and Control](http://hades.mech.northwestern.edu/index.php/Modern_Robotics) by *Kevin M. Lynch* and *Frank C. Park*\n\n* [Robotics \u0026 ROS 2 Essentials](https://github.com/henki-robotics/robotics_essentials_ros2)\n\n* [The open online robotics education resource](https://robotacademy.net.au)\n\n* [Underactuated Robotics](https://underactuated.mit.edu/) by *Russ Tedrake*\n\n## System programming\n\n* [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*\n\n* [io_uring by example](https://unixism.net/2020/04/io-uring-by-example-part-1-introduction) by *Shuveb Hussain*\n\n* [Lord of the io_uring](https://unixism.net/loti/index.html) by *Shuveb Hussain*\n\n## Technical Writing\n\n* [How to Write a Git Commit Message](https://cbea.ms/git-commit)\n\n* [Refactoring English: Effective Writing for Software Developers](https://refactoringenglish.com) by *Michael Lynch*\n\n* [Software Technical Writing: A Guidebook](https://jamesg.blog/book.pdf) by *James* **[pdf]**\n\n* [Technical Writing Posts](https://jamesg.blog/technical-writing) by *James*\n\n## Testing\n\n* [How to Test](https://matklad.github.io/2021/05/31/how-to-test.html) by *Alex Kladov*\n\n* [The Fuzzing Book](https://www.fuzzingbook.org) by *Andreas Zeller*, *Rahul Gopinath*, *Marcel Böhme*, *Gordon Fraser*, and *Christian Holler*\n\n## Text editors\n\n* [Build Your Own Text Editor](https://viewsourcecode.org/snaptoken/kilo)\n\n* [Design and Implementation of a Win32 Text Editor](https://www.catch22.net/tuts/neatpad) by *James Brown*\n\n* [Text Buffer Reimplementation](https://code.visualstudio.com/blogs/2018/03/23/text-buffer-reimplementation) by *Peng Lyu*\n\n* [Text Editor: Data Structures](https://www.averylaird.com/programming/the%20text%20editor/2017/09/30/the-piece-table.html) by *Avery Laird*\n\n### Emacs\n\n* [A Beginner's Guide to Extending Emacs](https://blog.tjll.net/a-beginners-guide-to-extending-emacs) by *Tyler Langlois*\n\n* **Emacs Config From Scratch** by *Arne Bahlo*\n  * [Part 1: Foundations](https://arne.me/articles/emacs-from-scratch-part-one-foundations)\n  * [Part 2: Projects and Keybindings](https://arne.me/articles/emacs-from-scratch-part-two)\n  * [Part 3: LSP \u0026 Tree-sitter](https://arne.me/blog/emacs-config-from-scratch-part-three)\n\n* [System Crafters Emacs Guides](https://systemcrafters.net/guides)\n\n* [Emacs Lisp Elements](https://protesilaos.com/emacs/emacs-lisp-elements) by *Protesilaos*\n\n* **Emacs Mini Manual** by *Tu Do*\n  * [Part 1: The Basics](https://tuhdo.github.io/emacs-tutor.html)\n  * [Part 2: Lisp Primer - Why Parentheses Matter](https://tuhdo.github.io/emacs-tutor2.html)\n  * [Part 3: Customizing and Extending Emacs](https://tuhdo.github.io/emacs-tutor3.html)\n  * [C/C++ Development Environment for Emacs](https://tuhdo.github.io/c-ide.html)\n\n* [How to learn Emacs](https://david.rothlis.net/emacs/howtolearn.html) by *David Röthlisberger*\n\n* [How I am deeply integrating emacs](https://joshblais.com/blog/how-i-am-deeply-integrating-emacs) by *Joshua Blais*\n\n* [Org Mode](https://orgmode.org)\n\n* [Use GNU Emacs: The Plain Text Computing Environment](https://www2.lib.uchicago.edu/keith/emacs) by *Keith Waclena*\n\n### Vim\n\n* [Interactive Vim Tutorial](https://www.openvim.com) by *Henrik Huttunen*\n\n* [Learn Vim (the Smart Way)](https://github.com/iggredible/Learn-Vim) by *Igor Irianto*\n\n* [The Vi/Ex Editor](https://www.ele.uri.edu/faculty/vetter/Other-stuff/vi/009-index.html) by *Walter Alan Zintz*\n\n* [Vim from the ground up](https://thevaluable.dev/vim-commands-beginner) by *Matthieu Cneude*\n\n* [Vim Reference Guide](https://learnbyexample.github.io/vim_reference) by *Sundeep Agarwal*\n\n## Unicode\n\n* [Programming with Unicode](https://unicodebook.readthedocs.io) by *Victor Stinner*\n\n* [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*\n\n* [The Absolute Minimum Every Software Developer Must Know About Unicode in 2023](https://tonsky.me/blog/unicode) by *Nikita Prokopov*\n\n* [Unicode programming, with examples](https://begriffs.com/posts/2019-05-23-unicode-icu.html) by *Joe Nelson*\n\n## Version control tools\n\n* [Git from the Bottom Up](https://jwiegley.github.io/git-from-the-bottom-up) by *John Wiegley*\n\n* [Learn the workings of Git, not just the commands](https://developer.ibm.com/tutorials/d-learn-workings-git) by *Andre Fachat*\n\n## Web programming\n\n* [A book about using Node.js](https://book.mixu.net/node) by *Mikito Takada*\n\n* [A masochist’s guide to web development](https://sebastiano.tronto.net/blog/2025-06-06-webdev) by *Sebastiano Tronto*\n\n* [FastCGI — The Forgotten Treasure](http://www.nongnu.org/fastcgi) by *Peter Simons and Ralph Babel*\n\n* [Full Stack open](https://fullstackopen.com/en) - Deep Dive Into Modern Web Development.\n\n* [Implementing React From Scratch](https://www.rob.directory/blog/react-from-scratch#conditional-elements) by *Robby Pruzan*\n\n* [Intro to Web Dev](https://btholt.github.io/intro-to-web-dev-v2)\n\n* [Let's build a browser engine!](https://limpet.net/mbrubeck/2014/08/08/toy-layout-engine-1.html) by *Matt Brubeck*\n\n* **Let’s write a search engine** by *Amit Patel*\n  * [Part 1](https://www.redblobgames.com/blog/2025-08-29-lets-write-a-search-engine-1)\n  * [Part 2](https://www.redblobgames.com/blog/2025-08-30-lets-write-a-search-engine-2)\n\n* [Mozilla Developers Network](https://developer.mozilla.org) - Resources for Developers,\nby Developers. Documenting CSS, HTML, and JavaScript, since 2005.\n\n* [Ruby on Rails Guides](https://guides.rubyonrails.org)\n\n* [Single page apps in depth](https://singlepageappbook.com/) by *Mikito Takada*\n\n* [Tania Rascia'a Web Development Deep Dives](https://www.taniarascia.com/topics)\n  * [A Complete Guide to CSS Concepts and Fundamentals](https://www.taniarascia.com/overview-of-css-concepts)\n  * [An Introduction to GraphQL](https://www.taniarascia.com/introduction-to-graphql)\n  * [Design for Developers: Specific Steps to Improve Your Website Design](https://www.taniarascia.com/design-for-developers)\n  * [Everything I Know as a Software Developer Without a Degree](https://www.taniarascia.com/everything-i-know-as-a-software-developer-without-a-degree)\n  * [How to Set up a Mac for Development](https://www.taniarascia.com/setting-up-a-brand-new-mac-for-development)\n  * [How to Set Up webpack 5 From Scratch](https://www.taniarascia.com/how-to-use-webpack)\n  * [How to Structure and Organize a React Application](https://www.taniarascia.com/react-architecture-directory-structure)\n  * [How to Use React, the JavaScript Framework](https://www.taniarascia.com/getting-started-with-react)\n  * [How to Use Redux and React](https://www.taniarascia.com/redux-react-guide)\n  * [How to Use Vue, the JavaScript Framework](https://www.taniarascia.com/getting-started-with-vue)\n  * [Setting Up Virtual Hosts](https://www.taniarascia.com/setting-up-virtual-hosts)\n  * [The Event Loop, Callbacks, Promises, and Async/Await in JavaScript](https://www.taniarascia.com/asynchronous-javascript-event-loop-callbacks-promises-async-await)\n\n* [The Copenhagen Book](https://thecopenhagenbook.com) - A general guideline on implementing auth in web applications.\n\n* [The Flask Mega-Tutorial](https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world) by *Miguel Grinberg*\n\n* [The Odin Project](https://www.theodinproject.com) - An open-source curriculum for learning full-stack web development.\n\n* [Web Browser Engineering](https://browser.engineering) by *Pavel Panchekha* and *Chris Harrelson*\n\n* [WebDev](https://web.dev) - Guidance to build modern web experiences that work on any browser.\n\n* [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*\n\n### CSS\n\n* [A Complete Guide to CSS Grid](https://css-tricks.com/snippets/css/complete-guide-grid) by *Chris House*\n\n* [CSS Tricks](https://css-tricks.com)\n\n* [Learn CSS Layout the pedantic way](https://book.mixu.net/css) by *Mikito Takada*\n\n* [Modern CSS Solutions for Old CSS Problems](https://moderncss.dev) by *Stephanie Eckles*\n\n* [You no longer need JavaScript](https://lyra.horse/blog/2025/08/you-dont-need-js) by *Lyra Rebane*\n\n* [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*\n\n### Django\n\n* [Learn Django](https://learndjango.com) by *Will Vincent*\n\n* [Modern JavaScript for Django Developers](https://www.saaspegasus.com/guides/modern-javascript-for-django-developers)\n\n### HTML\n\n* [HTML for People](https://htmlforpeople.com) by *Blake Watson*\n\n* [Learn HTML](https://learn-html.org)\n\n## Personal Websites and Blogs\n\n### AI \u003cspan id=\"ai-blogs\"\u003e\n\n* [Ahead of AI](https://magazine.sebastianraschka.com) by *Sebastian Raschka*\n\n* [Aleksa Gordić blog](https://www.aleksagordic.com)\n\n* [Chizoba Obasi's Blog](https://chizkidd.github.io)\n\n* [Hugging Face Blog](https://huggingface.co/blog)\n\n* [Jake Tae's Blog](https://jaketae.github.io)\n\n* [Randorithms](https://randorithms.com) by *Ben Coleman*\n\n### C and C++ \u003cspan id=\"c-and-cpp-blogs\"\u003e\n\n* [Alf on programming (mostly C++)](https://alfps.wordpress.com)\n\n* [Andrzej's C++ Blog](https://akrzemi1.wordpress.com) by *Andrzej Krzemieński*\n\n* [Asymmetric Transfer](https://lewissbaker.github.io) *Lewis Baker*\n\n* [Bannalia: trivial notes on themes diverse](https://bannalia.blogspot.com) by *Joaquín M López Muñoz*\n\n* [Barry's C++ Blog](https://brevzin.github.io) by *Barry Revzin*\n\n* [Borislav Stanimirov's Website](https://ibob.bg)\n\n* [Braden Ganetsky's Website](https://ganets.ky)\n\n* [C++ Metaprogramming](https://odinthenerd.blogspot.com) by *Odin Holmes*\n\n* [C++ on a Friday](https://blog.knatten.org) by *Anders Schau Knatten*\n\n* [C++ Stories](https://www.cppstories.com) by *Bartłomiej Filipek*\n\n* [C++ Truths](https://cpptruths.blogspot.com)\n\n* [Crascit's Blog](https://crascit.com) by *Craig Scott*\n\n* [Cristian Adam's Blog](https://cristianadam.eu)\n\n* [Eric Niebler's Blog](https://ericniebler.com)\n\n* [Fluent C++](https://www.fluentcpp.com) by *Jonathan Boccara*\n\n* [foonathan::​blog()](https://www.foonathan.net) by *Jonathan Müller*\n\n* [Functional C++](https://functionalcpp.wordpress.com)\n\n* [Just Software Solutions' Blog](https://www.justsoftwaresolutions.co.uk/blog) by *Anthony Williams*\n\n* [Lu's blog](https://uvdn7.github.io) by *Lu Pan*\n\n* [Manu Sanchez's Blog](https://manu343726.github.io)\n\n* [Marshall's C++ Musings](https://cplusplusmusings.wordpress.com)\n\n* [Mathieu Ropert's Blog](https://mropert.github.io)\n\n* [Modernes C++](https://www.modernescpp.com) by *Rainer Grimm*\n\n* [Molecular Musings](https://blog.molecular-matters.com) by *Stefan Reinalter*\n\n* [Moody Camel](https://moodycamel.com) by *Cameron Desrochers*\n\n* [Nibble Stew's Blog](https://nibblestew.blogspot.com)\n\n* [null program](https://nullprogram.com/) by *Chris Wellons*\n\n* [Peter Dimov'a Blog](https://pdimov.github.io/blog)\n\n* [Preshing on Programming](https://preshing.com) by *Jeff Preshing*\n\n* [Programming Nonsense](https://tartanllama.xyz) by *Sy Brand*\n\n* [ReachableCode](https://www.reachablecode.com) by *Gianluca Delfino *\n\n* [Sandor Dargo's Blog](https://www.sandordargo.com)\n\n* [Simplify C++](https://arne-mertz.de) by *Arne Mertz*\n\n* [The C++ way](https://thecppway.com) by *Andrzej Krzemieński*\n\n* [The Old New Thing: Practical development throughout the evolution of Windows](https://devblogs.microsoft.com/oldnewthing) by *Raymond Chen*\n\n* [The Pasture](https://thephd.dev) by *JeanHeyd Meneide*\n\n* [The Sparkelling Bedangler](https://morwenn.github.io)\n\n* [Thinking Asynchronously in C++](http://blog.think-async.com) by *\nChristopher Kohlhoff*\n\n* [Tomasz Wisniewski's Blog](https://twdev.blog)\n\n* [vector-of-bool](https://vector-of-bool.github.io)\n\n* [Victor Zverovich's Blog](https://vitaut.net)\n\n* [Video Cortex](http://videocortex.io) by *Adi Shavit*\n\n* [Vishal Chovatiya's Blog](https://vishalchovatiya.com)\n\n* [Vittorio Romeo's Blog](https://vittorioromeo.com)\n\n* [Vorbrodt's C++ Blog](https://vorbrodt.blog) by *Martin Vorbrodt*\n\n### Game and Graphics Programming \u003cspan id=\"game-and-graphics-programming-blogs\"\u003e\n\n* [30fps.net: Computer Graphics \u0026 Programming with Pekka Väänänen](https://30fps.net)\n\n* [A small freedom area](https://blog.pkh.me) by *Clément Bœsch*\n\n* [Adam Sawicki's Blog](https://asawicki.info)\n\n* [Alan Zucconi's Website](https://www.alanzucconi.com) - Game Development, Shader Coding \u0026 Artificial Intelligence.\n\n* [Alexandru Ene's blog](https://alexene.dev)\n\n* [Anton Schreiner's Blog](https://aschrein.github.io)\n\n* [Aras Pranckevičius's Website](https://aras-p.info)\n\n* [Bits, pixels, cycles and more](https://zeux.io) by *Arseny Kapoulkine*\n\n* [Bumbershoot Software Blog](https://bumbershootsoft.wordpress.com) by *Michael Martin*\n\n* [c0de517e's weblore](https://www.c0de517e.com) by *Angelo Pesce*\n\n* [Chema Guerra's Blog](https://brashandplucky.com)\n\n* [Cyanilux Game Dev Blog \u0026 Tutorials](https://www.cyanilux.com)\n\n* [DirectX Developer Blog](https://devblogs.microsoft.com/directx)\n\n* [Eric Arnebäck's Blog](https://erkaman.github.io)\n\n* [Eurographics Digital Library](https://diglib.eg.org)\n\n* [Evolve Benchmark](https://www.evolvebenchmark.com/blog)\n\n* [Fabien Sanglard's Website](https://fabiensanglard.net)\n\n* [Forward Scattering](https://www.forwardscattering.org) by *Nicholas Chapman*\n\n* [FrostKiwi's Secrets](https://blog.frost.kiwi) by *Wladislav Artsimovich*\n\n* [Frozen Fractal](https://frozenfractal.com) by *Thomas ten Cate*\n\n* [Graphics Programming weekly](https://www.jendrikillner.com/tags/weekly) by *Jendrik Illner*\n\n* [Ignacio Castaño's Blog](https://www.ludicon.com/castano/blog)\n\n* [imad's website](https://imadr.me)\n\n* [Interplay of Light](https://interplayoflight.wordpress.com) by *Kostas Anagnostou*\n\n* [Irradiance Blog](https://irradiance.ca) by *Pablo Zurita*\n\n* [Jacco Bikker's Blog](https://jacco.ompf2.com)\n\n* [Jason Mcghee's Blog](https://jason.today)\n\n* [JMS55's Blog](https://jms55.github.io)\n\n* [John Novak's Website](https://www.johnnovak.net)\n\n* [lisyarus blog](https://lisyarus.github.io) by *Nikita Lisitsa*\n\n* [Martin Fuller's Graphics Ramblings](https://martinfullerblog.wordpress.com)\n\n* [Maister's Graphics Adventures](https://themaister.net/blog) by *Hans-Kristian Arntzen*\n\n* [Matt Pharr’s blog](https://pharr.org/matt/blog)\n\n* [Max Slater's Blog: Computer Graphics, Programming, and Math](https://thenumb.at)\n\n* [Maxime Heckel's Blog](https://blog.maximeheckel.com)\n\n* [Moments in Graphics](https://momentsingraphics.de) by *Christoph Peters*\n\n* [Nikolaos Papadopoulos' Blog](https://www.4rknova.com)\n\n* [Of Shaders \u0026 Triangles](https://blog.42yeah.is) by *Hao Joe*\n\n* [Peter Strahle's Blog](https://peterstrahle.dev/blog.html)\n\n* [Pikuma's Blog](https://pikuma.com) by *Gustavo Pezzi*\n\n* [Randy Gaul's Game Programming Blog](https://randygaul.github.io)\n\n* [RayLib Help](https://raylibhelp.wuaze.com)\n\n* [Red Blob Games](https://www.redblobgames.com) - Interactive visual explanations of math and algorithms, using motivating examples from computer games by *Amit Patel*\n\n* [Rendering Dreams](https://blog.thomaspoulet.fr) by *Thomas Poulet*\n\n* [Rendering Engine Architecture Conference](https://enginearchitecture.org) - A conference about the craft of real-time rendering systems.\n\n* [Rubén Osorio's Blog](https://osor.io)\n\n* [Ryan Kaplan's Blog](https://www.rykap.com)\n\n* [Self Shadow](https://blog.selfshadow.com)\n\n* [Stephen Sherratt's Blog](https://www.gridbugs.org)\n\n* [The blog at the bottom of the sea](https://blog.demofox.org) by *Alan Wolfe*\n\n* [The Brain Dump](https://floooh.github.io) by *Andre Weissflog*\n\n* [The Code Corsair](https://www.elopezr.com) by *Emilio López*\n\n* [The Danger Zone](https://therealmjp.github.io) by *Matt Pettineo*\n\n* [The Journal of Computer Graphics Techniques](https://jcgt.org)\n\n* [The ryg blog](https://fgiesen.wordpress.com) by *Fabian Giesen*\n\n* [wassimulato](https://wassimulator.com) by *Wassim Alhajomar*\n\n* [hexaquo](https://hexaquo.at) by *Karl Bittner*\n\n* [Zero Radiance](https://zero-radiance.github.io/post) by *Evgenii Golubev*\n\n### Hardware Blogs\n\n* [Just another electronics blog](https://justanotherelectronicsblog.com)\n\n* [Ken Shirriff's blog](https://www.righto.com)\n\n### Math and Physics \u003cspan id=\"math-and-physics-blogs\"\u003e\n\n* [3Blue1Brown](https://www.3blue1brown.com) by *Grant Sanderson*\n\n* [Almost Sure: A Random Mathematical Blog](https://almostsuremath.com)\n  * [Stochastic Calculus](https://almostsuremath.com/stochastic-calculus)\n  * [Probability Theory](https://almostsuremath.com/probability-theory)\n  * [Absolutely Sure](https://almostsuremath.com/absolutely-sure)\n\n* [Ben Brubaker's Blog](https://benbrubaker.com/blog)\n\n* [Better Explained](https://betterexplained.com)\n\n* [Galileo Unbound Blog](https://galileo-unbound.blog) by *Prof. David D. Nolte*\n\n* [Ji-Ha's Blog](https://jiha-kim.github.io)\n\n* [John D. Cook's Blog](https://www.johndcook.com/blog)\n\n* [Machine Logic](https://lawrencecpaulson.github.io) by *Lawrence C. Paulson*\n\n* [Math3ma](https://www.math3ma.com/) by *Tai-Danae Bradley*\n\n* [Mathematical Enchantment](https://mathenchant.wordpress.com) by *James Propp*\n\n* [Oran Looney's Blog](https://www.oranlooney.com)\n\n### Mixed Programming \u003cspan id=\"mixed-programming-blogs\"\u003e\n\n* [0pfs](https://0fps.net) by *Mikola Lysenko*\n\n* [A Random Walk Through Geek-Space](https://www.sebastiansylvan.com) by *Sebastian Sylvan*\n\n* [Aaro Luomanen's Blog](https://aarol.dev)\n\n* [Alberto Ventafridda's Blog](https://halb.it)\n\n* [Amanzhol Salykov's Blog](https://salykova.github.io)\n\n* [Amit's Thoughts](https://amitp.blogspot.com) by *Amit Patel*\n\n* [Andreas Herrmann's Blog](https://aherrmann.github.io)\n\n* [Andrew Gallant's Blog](https://burntsushi.net)\n\n* [Andrew Healey's Blog](https://healeycodes.com)\n\n* [Andrey Listopadov's Blog](https://andreyor.st)\n\n* [Anton Zhiyanov's Blog](https://antonz.org)\n\n* [Anubhav Nain's Blog](https://eagledot.xyz)\n\n* [Arjun Sreedharan's Blog](https://arjunsreedharan.org)\n\n* [Artem Krylysov's Blog](https://artem.krylysov.com)\n\n* [Austin Z. Henley's Blog](https://austinhenley.com/blog.html)\n\n* [Bartosz Milewski's Programming Cafe](https://bartoszmilewski.com)\n\n* [Beej's Home Page](https://beej.us)\n\n* [Bradley Chatha's D Blog](https://bradley.chatha.dev/blog)\n\n* [Chris Loy's Blog](https://chrisloy.dev)\n\n* [Chris Penner's Blog](https://chrispenner.ca)\n\n* [Chris Warbo's Blog](http://www.chriswarbo.net/blog)\n\n* [Chuniversiteit](https://chuniversiteit.nl/archive) by *Chun Fei Lung*\n\n* [Considerations on Codecrafting](https://blog.polybdenum.com)\n\n* [Dan Hollick's Blog](https://typefully.com/DanHollick)\n\n* [Daniel Fedorin's Blog](https://danilafe.com)\n\n* [Daniel Hooper's Blog](https://danielchasehooper.com)\n\n* [Daniel Lemire's Blog](https://lemire.me)\n\n* [Dayvi Schuster's Blog](https://dayvster.com)\n\n* [Digital Grove](https://www.rfleury.com) by *Ryan Fleury*\n\n* [Dissecting the Code](https://sergeyteplyakov.github.io/Blog) by *Sergey Teplyakov*\n\n* [Dangerous Assembly](https://tetzank.github.io) by *Frank Tetzel*\n\n* [Edoardo Putti's Blog](https://edoput.it)\n\n* [Educated Guesswork](https://educatedguesswork.org) by *Eric Rescorla*\n\n* [Eli Bendersky's website](https://eli.thegreenplace.net)\n\n* [Entropic Thoughts](https://entropicthoughts.com) by *Christoffer Stjernlöf*\n\n* [Evan Ovadia's Blog](https://verdagon.dev)\n\n* [Fernando Borretti's Website](https://borretti.me)\n\n* [Francesco Mazzoli's Blog](https://mazzo.li/archive.html)\n\n* [Games by Mason](https://gamesbymason.com/blog)\n\n* [Gerneral Protection Fault](https://gpfault.net)\n\n* [Giles' blog](https://www.gilesthomas.com) by *Giles Thomas*\n\n* [glfmn.io](https://glfmn.io)\n\n* [Init 1](https://codepr.github.io) by *Andrea Baldan*\n\n* [Interjected Future](https://interjectedfuture.com) by *Wil Chung*\n\n* [IT Hare on Soft.ware](http://ithare.com) by *Sergey Ignatchenko*\n\n* [James Oswald's Blog](https://jamesoswald.dev/posts)\n\n* [Jan Wedekind's Blog](https://www.wedesoft.de)\n\n* [Jamie Brandon's Blog](https://www.scattered-thoughts.net)\n\n* [Jari Komppa's Website](https://solhsa.com)\n\n* [Jaz's Blog](https://jazco.dev)\n\n* [Jens Gustedt's Blog](https://gustedt.wordpress.com)\n\n* [Joe Mckay's Blog](https://joegm.github.io)\n\n* [Jonathan Marler's Blog](https://marler8997.github.io)\n\n* [Julia Evans](https://jvns.ca)\n\n* [Justin Meiners's Blog](https://www.jmeiners.com)\n\n* [Karl Seguin's Blog](https://www.openmymind.net)\n\n* [Karl Zylinski'a Website](https://zylinski.se)\n\n* [KC Sivaramakrishnan's Blog](https://kcsrk.info/blog)\n\n* [Lei Xia's Blog](https://www.ddhigh.com/en)\n\n* [Lesley Lai's Blog](https://lesleylai.info)\n\n* [Loris Cro's Personal Website](https://kristoff.it)\n\n* [Mario's Lab](https://marioslab.io) by *Mario Zechner*\n\n* [Martin Janiczek's Blog](https://martin.janiczek.cz)\n\n* [Martin Uecker's Blog](https://uecker.codeberg.page/blog.html)\n\n* [MALTSEV.SPACE](https://maltsev.space) by *Aleksey Maltsev*\n\n* [Matt Godbolt's Blog](https://xania.org)\n\n* [Max Bernstein's Blog](https://bernsteinbear.com)\n\n* [mcyoung](https://mcyoung.xyz) by *Miguel Young de la Sota*\n\n* [Melatoni's Blog](https://nghiant3223.github.io) by *Nguyen Trong Nghia*\n\n* [Miguel Grinberg's Blog](miguelgrinberg.com)\n\n* [Mikael Zayenz Lagerkvist's Personal Website](https://zayenz.se)\n\n* [MonoidMusicianʼs Blog](https://blog.veritates.love) by *Verity Scheel*\n\n* [Nicholas Nethercote's Blog](https://nnethercote.github.io)\n\n* [Nicolas Rinaudo's Blog](https://nrinaudo.github.io/articles.html)\n\n* [Niko Matsakis's Blog](https://smallcultfollowing.com/babysteps/blog/)\n\n* [NULL BITMAP](https://buttondown.com/jaffray) by *Justin Jaffray*\n\n* [NULL on error](https://nullonerror.org) - Flipping bits whilst updating pixels by *Rodrigo Delduca*\n\n* [Omar Aflak's Blog](https://omaraflak.medium.com)\n\n* [Owen Shepherd's Blog](https://owen.cafe)\n\n* [Paul Smith's Blog](https://www.pauladamsmith.com)\n\n* [Phil Eaton's Website](https://eatonphil.com)\n\n* [Playing with code](https://haqr.eu) by *Dmitry V. Sokolov*\n  * **On the site**\n    * [TinyRenderer: Software rendering in 500 lines of bare C++](https://haqr.eu/tinyrenderer)\n    * [TinyCompiler: a compiler in a week-end](https://haqr.eu/tinycompiler)\n    * [TinyOptimizer: an optimizing compiler challenge](https://haqr.eu/tinyoptimizer)\n    * [Cursed fire or #define black magic](https://haqr.eu/strange/cursed-fire)\n  * **On the [author's GitHub](https://github.com/ssloy)**\n    * [Tiny renderer or how OpenGL works: software rendering in 500 lines of code](https://github.com/ssloy/tinyrenderer/wiki)\n    * [Understandable RayTracing in 256 lines of bare C++](https://github.com/ssloy/tinyraytracer/wiki)\n    * [KABOOM! in 180 lines of bare C++](https://github.com/ssloy/tinykaboom/wiki)\n    * [Least squares for programmers](https://github.com/ssloy/least-squares-course)\n\n* [Pointers Gone Wild](https://pointersgonewild.com) by *Maxime Chevalier-Boisvert*\n\n* [Probably Dance](https://probablydance.com)\n\n* [protty](https://kprotty.me)\n\n* [purplesyringa](https://purplesyringa.moe) by *Alisa Sireneva*\n\n* [Racey Chan's Blog](https://www.lihil.cc/blog)\n\n* [Rahman Sibahi's Blog](https://asibahi.github.io)\n\n* [Rahul Gopinath's Blog](https://rahul.gopinath.org/posts)\n\n* [RasterGrid](https://www.rastergrid.com/blog)\n\n* [Reasonably Polymorphic](https://reasonablypolymorphic.com) by *Sandy Maguire*\n\n* [Sam Rose's Blog](https://samwho.dev)\n\n* [Serge Skoredin's Blog](https://skoredin.pro/blog)\n\n* [Simon Willison's Weblog](https://simonwillison.net)\n\n* [Squadrick](https://squadrick.dev) by *Dheeraj Reddy*\n\n* [Stephen Diehl's Blog](https://www.stephendiehl.com)\n\n* [stuffwithstuff](https://stuffwithstuff.com) by *Robert Nystrom*\n\n* [Syed Jafar Naqvi's Blog](https://medium.com/@naqvi.jafar91)\n\n* [The If Works](https://blog.jcoglan.com) by *James Coglan*\n\n* [Theia Vogel's Blog](https://vgel.me)\n\n* [Thomas Leonard's blog](https://roscidus.com)\n\n* [TK Kinoshita's Blog](https://www.iamtk.co)\n\n* [Vectorized](https://vectrx.substack.com) by *Caden Parker*\n\n* [Vladimir Makarov's Blog](https://vnmakarov.github.io)\n\n* [xnacly - blog](https://xnacly.me)\n\n* [Zaid Humayun's Blog](https://redixhumayun.github.io)\n\n### Performance and Optimization \u003cspan id=\"performance-and-optimization-blogs\"\u003e\n\n* [Agner Fog's Website](https://www.agner.org)\n\n* [Branch Prediction Demystified](https://joegm.github.io/blog/branch-prediction-demystified) by *Joe Mckay*\n\n* [Denis Bakhvalov's Website](https://easyperf.net)\n\n* [Johnny's Software Lab](https://johnnysswlab.com) by *Ivica Bogosavljević*\n\n* [Optimizing a Math Expression Parser in Rust](https://rpallas.xyz/math-parser) by *Ricardo Pallás*\n\n* [Romain Guy's Blog](https://www.romainguy.dev/posts)\n\n### Web Development \u003cspan id=\"web-development-blogs\"\u003e\n\n* [nullpt-rs blog](https://nullpt.rs)\n\n* [Frontend Masters](https://frontendmasters.com)\n\n* [Hugo Daniel's Blog](https://hugodaniel.com)\n\n* [Josh Comeau's Website](https://www.joshwcomeau.com) - Animation, CSS, JavaScript, React\n\n* [JSLegendDev’s Substack](https://jslegenddev.substack.com) - Web development, game development and their intersection.\n\n* [Tania Rascia’s blog](https://www.taniarascia.com) by *Tania Rascia*\n\n## Other\n\n* [Explained from First Principles](https://explained-from-first-principles.com) by *Kaspar Etter*\n\n* [How These Things Work](https://reasonablypolymorphic.com/book/preface.html) - a book about abstraction\n\n* [Improve Your Social Skills](https://www.improveyoursocialskills.com) by *Dr. Daniel Wendler*\n\n* [Project Oberon: The Design of an Operating System, a Compiler, and a Computer](https://www.projectoberon.net) by *Niklaus Wirth* and *Jürg Gutknecht*\n\n* [Rocket and Space Technology](http://www.braeunig.us)\n\n* [Teach Yourself Computer Science](https://teachyourselfcs.com)\n\n* [The Art of HPC](https://theartofhpc.com) by *Victor Eijkhout*\n\n* [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*\n\n* [The Fundamentals of Control Theory](https://engineeringmedia.com/books) by *Brian Douglas*\n\n* [The Missing Semester of Your CS Education](https://missing.csail.mit.edu)\n\n* [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*\n\n* [Vjeux Blog](https://blog.vjeux.com)\n\n## Other lists\n\n* [Awesome Math Books](https://github.com/valeman/Awesome_Math_Books)\n\n* [Become a Programmer, Motherfucker](http://programming-motherfucker.com/become.html) - A list of free programming books.\n\n* [Build Your Own X](https://github.com/danistefanovic/build-your-own-x/blob/master/README.md)\n\n* [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.\n\n* [Free Computer Books](https://freecomputerbooks.com)\n\n* [Free Tech Books](https://www.freetechbooks.com)\n\n* [GPU Optimization for GameDev](https://gist.github.com/silvesthu/505cf0cbf284bb4b971f6834b8fec93d) by *Ken Hu*\n\n* [LibreTexts](https://libretexts.org) - Collections of science books.\n\n* [Lovely Professional University Books](https://www.lpude.in/SLMs)\n\n* [Max Slater's Bookmarks](https://github.com/TheNumbat/Lists)\n\n* [My favorite technical blogs](https://eatonphil.com/blogs.html) by *Phil Eaton*\n\n* [Open Source Society University](https://ossu.dev)\n\n* [Programming Notes for Professionals books](https://goalkicker.com)\n\n* [Project Based Learning](https://github.com/practical-tutorials/project-based-learning/blob/master/README.md)\n\n* [Raspberry Pi Official Magazine Books](https://magazine.raspberrypi.com/books)\n","created_at":"2024-01-15T18:18:34.035Z","updated_at":"2026-04-14T21:00:20.369Z","primary_language":null,"list_of_lists":false,"displayable":true,"categories":["Retrocomputing","Programming languages","Computer Graphics","Math","Operating Systems","Algorithms","Personal Websites and Blogs","Low Level Stuff","Other lists","Competitions and Interview Preparation Websites","AI","Web programming","Other","Hardware","Command Line and Tools","Multithreading and Concurrency","Electronics","Databases","SIMD programming","Reverse engineering","Fluids Simulation","Art","Biology","Command line and tools","Compilers and Interpreters","Computer Networks and Network Programming","Cryptography","Debuggers","Design Patterns","Distributed systems","Emulators and Virtual Machines","Game Programming","GUI Programming","Logical Games","Photography","Physics","Robotics","Text editors","Unicode","Version control tools","Data Science","Technical Writing","Optimization","DevOps","General Programming","Demoscene","Digital Signal Processing","Geographic Information Systems","Information TheoryDiscovering observers","IQ Tests","Music Theory","System programming","Testing"],"sub_categories":["Books by Fabien Sanglard","Lisp dialects","Ada","Shaders","Linux command line","Algebra","Topology","Computer Games AI","C++ \u003cspan id=\"cpp\"\u003e","OCaml","Nim","Theoretical Computer Science","C++ \u003cspan id=\"cpp-blogs\"\u003e","Python","Game Engines","CSS","Ray Tracing","OpenGL","Mixed Programming \u003cspan id=\"mixed-programming-blogs\"\u003e","Programming \u003cspan id=\"programming-competitions\"\u003e","Machine Learning","Vim","Prolog","Operating Systems Development","D","Vibe Coding and Spec-Driven Development","Calculus","SIMD programming","Measure Theory","Probability and Statistics","Zig","C","WebGPU","AI \u003cspan id=\"ai-blogs\"\u003e","Math and Physics \u003cspan id=\"math-and-physics-blogs\"\u003e","Vulkan","Go","Regular expressions","DOS","Curl","Curves and Surfaces","Demoscene","Category Theory","Simulations","Assembly","Basic","Haskell","Java","JavaScript","Oberon-2","Pascal","PostScript","Pyret","Rust","Smalltalk","Adevent of code on retro machines","Emacs","Image Processing","Forth","Diff Algorithms","Geometry","ZX Spectrum and Z80 CPU","Odin","DirectX 12","SQL","Bash","Lists of programming projects to try to implement","Metal","Databases Development","GPU and TPU Programming","Number theory","Bloom Filters","Math \u003cspan id=\"math-competitions\"\u003e","Physics \u003cspan id=\"physics-competitions\"\u003e","Creative Coding","Game Physics","Differential Equations","Game Theory","General problem solving","Graph Theory","Mathematical Finance","Mathematical Logic","Operations Research","Proofs","C# \u003cspan id=\"c-sharp\"\u003e","CMake","Cuda","Datalog","Erlang","Jai","Lean","Ya","Apple II","Commodore 64","CP/M \u003cspan id=\"cpm\"\u003e","Game Boy","Django","HTML","Game and Graphics Programming \u003cspan id=\"game-and-graphics-programming-blogs\"\u003e","Performance and Optimization \u003cspan id=\"performance-and-optimization-blogs\"\u003e","Web Development \u003cspan id=\"web-development-blogs\"\u003e","Other Blogs","Date-time","Static Program Analysis","C and C++ \u003cspan id=\"c-and-cpp-blogs\"\u003e","Hardware Blogs","Nix","NoSQL","Analysis","Combinatorics","R","Ruby","Mega 65","NES"],"projects_url":"https://awesome.ecosyste.ms/api/v1/lists/bobeff%2Fprogramming-math-science/projects"}