An incomplete life evaluation checklist

A checklist I have used during my regular six-monthly life review.

Find the Bug, C# edition

A cute little exercise in bug-spotting.

A bug in Git

A bug I found and reported in Git.

Christmas quiz

A round of questions I wrote for a Christmas quiz.

Christmas dinner notes

My notes on the production of a Christmas dinner.

Anki as Learning Superpower

Some techniques to help you get more out of Anki.

In favour of recursive functions, not imperative constructs, to make loops

How to write loops immutably and safely.


An underappreciated tool for writing good software.

Chatting with Don Syme about the F# compiler

Notes from a chat with the creator of F#, about how to contribute to the compiler.

Dependent types overview

A quick overview of dependent types.

What is lost when we move between number systems?

Answering the question, “What is lost when we move from the reals to the complex numbers?".

Infinitesimals as an idea that took a long time

Answering the question, “Which mathematical ideas took a long time to define rigorously?".

Abuse of notation in function application

Answering the question, “Are these examples of abuses of notation?".

The relationship between the IMO and research mathematics

Answering the question, “does the International Maths Olympiad help research mathematics?".

Proof of Cauchy-Schwarz

This is just a link to a beautiful proof of the Cauchy-Schwarz inequality. There are a number of elegant proofs, but this is by far my favourite, because (as pointed out in the paper) it “builds itself”.

What does Mathematica mean by ComplexInfinity?

Answering the question, “Why does WolframAlpha say that a quantity is ComplexInfinity?".

How far back does mathematical understanding go?

Answering the question, “how far back in time would maths be understandable to a modern mathematician?".

A Free Market

The story of Martin’s search for a kaki fruit.

Be a Beginner

Being a beginner at something is great, especially if it’s something that humans are built for.

Part III essay

Now that my time in Part III is over, I feel justified in releasing my essay, which is on the subject of Non-standard Analysis. It was supervised by Dr Thomas Forster (to whom I owe many thanks for exposing me to such an interesting subject, and for agreeing to supervise the essay).