Blog
Most of my writing is about programming, technology, books, and math. Occasionally, there may be posts that do not fit into any one of these categories. There is no general theme to this blog, and that is by design :^).
Hopefully, you can find something of value here.
2026
2025
2024
- JIT compiler from scratch – 2/3 Nov 30
- Why am I writing a JavaScript toolchain in Zig? Nov 21
- C Source to machine code – step by step Nov 04
- JIT compiler from scratch – 1/3 Oct 03
- Data.Maybe, and thoughts on library design Jul 29
- Functional TypeScript #1: Algebraic Data Types May 20
- Compiling higher order functions with GADTs May 09
- Frametap: decoding screen capture with Zig May 02
- The internet is slipping out of our reach Mar 12
- Book Review: The Master Key Feb 20
- Solving the Honjin murders Feb 14
- But can you give up GitHub? Feb 09
2023
- Water surface shader for 2D Pixel art games Sep 21
- How I set up PureScript projects with ESBuild and Spago Jul 29
- Of Phantoms, witches, and type driven design in Haskell Mar 07
2022
- A visual explanation of Gaussian Elimination Oct 22
- An interactive guide to Fourier series Oct 08
- Intro to lazy evaluation and functional DP Aug 16
- Monadic parser combinators May 05
- My gripes with NFTs and Web3 Jan 19
2021
- Hindsight - 2021 Dec 31
- GSoC'21 - Lifting lambdas & Pallene [2/2] Aug 16
- GSoC'21 - Lifting lambdas & Pallene [1/2] Jul 23
- BoOHoO JaVaScRiPT!! Jul 18
- On digital gardens. Apr 13
2020
- Compiling to Brainf#ck - Meep. Nov 22
- Ave - JS with static types Oct 01