The algebraic structure of regular expressions

Converting NFAs to regular expressions by solving linear systems of equations

17 October 2026 · Joseph Liu

Nuking stats problems with a probabilistic programming language

Let’s write a compiler for a probabilistic programming language using probability generating functions in 200 lines of Python

12 September 2026 · Joseph Liu

Bitap: my favorite string matching algorithm

An exposition of the bitap or shift-and exact string matching algorithm

07 September 2026 · Joseph Liu

A puzzling Python program

Counting down, seemingly without loops or recursion

08 August 2025 · Joseph Liu

Property-based testing is magical

Tests that expose gaps in your thinking instead of confirming what you already know

11 August 2024 · Joseph Liu