Notes on Git: configuration, workflow, working tree and staging area, HEAD, branching, merging (fast-forward merge, three-way merge, squash merge), merge conflicts, rebasing, managing remotes, resetting and reverting, etc.
Notes on Advanced TypeScript: generics, types as sets, excess property checking, type guards, mapped types, lookup types, index signatures, non-null assertion operator, enums, parameter modifiers, etc.
Notes on Dan Abramov's Just JavaScript Series, covering his mental model on primitive and special values, expressions, immutability, object properties, prototypes, variables, evaluation, assignment, etc.
Notes on Will Sentance's JavaScript Hard Parts Series, covering his mental model of JavaScript execution (call stack, scope, closure and async), object-oriented programming, and functional programming (immutability and composition).
Notes on pointers in C: declaring a pointer, initializing a pointer, getting an address, getting and changing a value, purpose of pointers, etc.
Notes on Big O notation: definition of Big O, approximation in determining runtimes, and individual runtimes: constant, logarithmic, linear, quasilinear, quadratic, exponential, factorial, etc.