Blog
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
Glam-hiking: a week on foot with a fanny pack
Hiking by train, part 1 of 2
Multi-day trails without the tent, the stove, or the fifteen kilos
Film photography made me enjoy taking photos again
A one-year challenge, 19 rolls, and the hidden cost of “cheap to start”
The unaffordability of real estate
How housing became the defining economic challenge of our generation
The new Space Race III, Does it pollute?
The new Space Race, part 3 of 3
What is the environmental impact of rocket launches
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