Blog
Ideas, experiments, and lessons from building software and AI systems, alongside the mathematics behind computation. I write to understand things properly and share what I learn along the way.
2026
What incompleteness actually says
A computational proof that arithmetic cannot be both complete and mechanical.
A truth that cannot be proved
Every sufficiently powerful formal system contains truths it cannot prove.
Proof is not the same as truth
Formalising proof and truth — and discovering their limitations.
The program that cannot exist
Some problems cannot be solved by any program — and we can prove it.
Python is a Turing machine
Proving that Python programs and Turing machines are computationally equivalent.
A question about truth
From Aristotle to Turing — the road to incompleteness.
2025
2024
Reading Bitcoin's network traffic
Follow a Bitcoin message from a TCP stream to its payload. Decode verack, inspect a block response and distinguish what a packet capture proves from what it merely suggests.
Reading a Bitcoin block, byte by byte
Decode a historical block header and its first transaction. Follow file offsets, byte order, proof of work and a 50.05877600 BTC coinbase output with runnable Python.
Which history counts?
Forks are normal. Learn how proof of work compares competing histories, where its security assumptions enter, and how rewards connect the ledger to its operators.
From signed payments to blocks
Model a DCoin payment, follow its inputs and change, then connect transactions to a block header through a Merkle tree.
A coin is a shared ledger
Start designing DCoin by separating the problems of ownership, communication and agreement. Peer-to-peer networks, hashes and signatures each solve a different part.
Intro to incompleteness
A computational approach to Gödel’s First Incompleteness Theorem, using Python programs and Turing machines.
DCoin: from a ledger to a blockchain
Design a small cryptocurrency, then follow Bitcoin from signed transactions to the bytes stored on disk and exchanged between peers.