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