advent of code Advent of Code 2019 day 3 The joys of abstractions that stay unchanged when the requirements do
codes and ciphers Testing hillclimbing and simulated annealing Some experiments to determine if simulated annealing is better than hillclimbing.
codes and ciphers Simulated annealing and breaking substitution ciphers What simulated annealing is, and how it works.
codes and ciphers Breaking keyword substitution ciphers without a keyword Solving ciphers when you have no idea about the key
workshop Phishing workshop notes Some notes related to my phishing workshop at the Milton Keynes Cryptoparty on 1 November
book reviews Teaching Computing Unplugged in Primary Schools An overview of what's in the book and why
codes and ciphers Breaking Caesar ciphers with a spreadsheet Cryptanalysis, just not using a programming langauge.
python Organising a Python module Where different files go in a Python module, and how to get to them.