#engineering
Every trail you can reach by train
Hiking by train, part 2 of 2
Building TrainRando from OpenStreetMap, an SNCF station list, and a longest-path solver
Claude Code learnings
How to boost your productivity writing code or any content while keeping control
Is it actually getting better?
Building a chess engine in Rust, part 8 of 8
SPRT testing, benchmarks, and the discipline of not fooling yourself
The neural network that broke everything
Building a chess engine in Rust, part 7 of 8
Switching to NNUE, training with Bullet, and the regressions nobody warns you about
Standing on the shoulders of PeSTO
Building a chess engine in Rust, part 6 of 8
Better piece-square tables and the limits of handcrafted evaluation
The search for better search
Building a chess engine in Rust, part 5 of 8
Iterative deepening, pruning, and thinking deeper without thinking longer
Speaking UCI: making your engine talk to the world
Building a chess engine in Rust, part 4 of 8
The protocol that lets chess engines exist
Giving it eyes: a handcrafted evaluation
Building a chess engine in Rust, part 3 of 8
Material, piece-square tables, and the art of scoring a position
My first shitty playable bot
Building a chess engine in Rust, part 2 of 8
Negamax, alpha-beta, and the joy of watching it lose
Teaching a computer what a chessboard is
Building a chess engine in Rust, part 1 of 8
Bitboards, magic numbers, and the first 10,000 bugs