This blog has a really interesting assortment of articles on mathematics and programming. You can use the tags to your right to find topics that interest you, or you may want to have a look at

- the problems I wrote to get your brain working;
- some twitter proofs of mathematical facts.

You can also subscribe to the blog newsletter.

I bet you have seen one of those Facebook publications where you have a grid and you have to count the number of squares the grid contains, and then you jump to the comment section and virtually no one agrees on what the correct answer should be... Let's settle this once and for all!

Alice and Bob sit down, face to face, with a chessboard in front of them. They are going to play a little game, but this game only has a single knight... Who will win?

4302

"*Pydon'ts*" are short, to-the-point, meaningful Python programming tips.
A Pydon't is something you should *not* do when programming in Python.
In general, following a Pydon't will make you write more Pythonic code.

Some people are standing quiet in a line, each person with a hat that has one of two colours. How many people can guess their colour correctly?

Join me in this blog post for Pokéfans and mathematicians alike.
Together we'll find out how long it would take to fill
your *complete* Pokédex by only performing random trades.

In this blog post I'll show you how you can write a full interpreter for the brainf*ck programming language in just 14 lines of Python. Be prepared, however, to see some unconventional Python code!

In this problem you have to devise a strategy to beat the computer in a "guess the polynomial" game.

Let's prove that if \(k\) is an integer, then \(\gcd(k, k+1) = 1\). That is, any two consecutive integers are coprime.

Let's prove that if you want to maximise \(ab\) with \(a + b\) equal to a constant value \(k\), then you want \(a = b = \frac{k}{2}\).

This simple problem is an example of a very interesting phenomenon: if you have a large enough "universe" to consider, even randomly picked parts exhibit structured properties.

Alice and Bob are going to be locked away separately and their faith depends on their guessing random coin tosses!

In this blog post we will go over some significant changes, from implementing APL's array model to introducing dyadic operators!

Let's prove that, if a set has size \(n\), then that same set has exactly \(2^n\) subsets.

The 2020 APL programming competition was tough! In this post I share a couple of thoughts and my solutions.

If there's one thing I like about Python is how I can use it to automate boring tasks for me. Today I used it to help me manage my own blog!

The 24 Game is a well-known maths game that is played with kids in school to help them master the four basic arithmetic operations. In this blog post we will study the game in depth.

Today we are visiting a specific instance of a well-known *basic* mathematics game, the 24 Game. The "24 Game" is usually played with younger students because it helps them develop skills related to the basic arithmetic operations.

Today is the day! Today is the day we take our APL programs and interpret them, so that something like `÷ 1 2 3 -⍨ 1.1 2.2 3.3`

can output `10 5 3.33333333`

.

Take out a piece of paper and a pencil, I am going to ask you to write some letters in your sheet of paper and then I am going to challenge you to fold the sheet of paper... with a twist!

\(n\) mathematicians with numbered party hats gather around in a circle... It is a matter of life or death!