Bookmarks
Some resources I’ve used to learn/practice and git good.
Mathematics
- A programmers introduction to mathematics: Goes through basics like set theory, through single/multi variate calculus, linear algebra, optimization, and group theory.
System Level Programming (OS/Compiler)
- Crafting interpreters: The best starting point for learning about programming languages, lexers, parsers, syntactic analysis, and the basics of virtual machines.
- How to Optimize a CUDA Matmul Kernel
- Algorithmica: Algorithms for Modern Hardware: Very interested in seeing where this series will go, but lots of seriously useful information on computer architecture/optimization.
- Quickly Getting Started With Zig: I read this to get an understanding of Zig’s features as everything else basically carries over from my knowledge of C, Rust, and Haskell.
Machine Learning
-
The Hundred-Page Machine Learning Book: Basically introduces the most common algorithms in machine learning, the basic notation and mathematics of machine learning, and a fairly good introduction to what neural networks and deep learning.
-
Neural Networks: Zero to Hero: Build a neural network from scratch without automatic differentiation or fancy learning algorithms and then build and train GPT-2 using pytorch.
Bookmarks
- The Missing Semester of Your CS Education: I haven’t read this because I learned most of it before my studies, but I often recommend this to friends.
- Teach Yourself Programming in Ten Years
- Why we stopped making Einsteins: It only first occurred to me after reading this that I’ve never actually had a mentor or somebody in the field that I’m interested in to help guide me and improve other than in playing Magic: The Gathering.
- Black Hole Computers: Mind opening, I think about this article a lot.