Mathspp Blog

A blog dedicated to mathematics and programming!

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

You can also subscribe to the blog newsletter.

  109

It's night time and 4 friends need to cross a fragile bridge, but they only have one torch. What's the order in which they should cross?

  1292

In this Pydon't I talk about Python style and I go over some tools you can use to help you remain within a consistent style.

  3253

In this Pydon't I show you why refactoring is important and show you how to do it in little steps, so that it doesn't become too overwhelming.

  197

Three friends are given three different numbers that add up to a dozen. Can you figure out everyone's numbers?

  2471

Does elegance matter when writing computer programs..?

  1427

This Pydon't walks you through the usages of the __name__ dunder method and how to use it effectively.

  393

You have two magical ropes that you can set on fire and you need to count 45 minutes. How do you do it?

  5058

The purpose of this Pydon't is to show you what underscores are used for in Python, and to show you how to write more idiomatic code with them.

You are on vacation and must find the most efficient way to cross all bridges. How will you do that?

  2028

In this Pydon't we will take a look at the reduce function, which used to be a built-in function and is currently in the functools module.

  212

This article will twist and bend your mind a little bit, as we go over some interesting self-referential concepts and objects.

  3653

In this Pydon't we explore what Boolean short-circuiting for the and and or operators is, and how to use this functionality to write more expressive code.

  237

Alice and Bob sit across each other, ready for their game of coins. Who will emerge victorious?

  361

Can you find a really large triangle that is also really tiny?

In this Pydon't we conclude the slicing trilogy and take a look at the inner workings of Python slicing, from the built-in slice type to the dunder method __getitem__ and its siblings.

  2256

In this Pydon't we cover advanced topics related to sequence slicing, like (negative) steps, more idiomatic sequence slicing, slice assignment, and slice deletion.

This is an algorithmic puzzle where you just have to turn some coins.

In the fifth article of this short series we will be handling some subtleties that we overlooked in our experiment to classify handwritten digits from the MNIST dataset.

  3393

This article covers the basics of sequence slicing in Python and teaches you some idiomatic slicing patterns to write more elegant code.

  14697

In this article we use (finite state) automatons to count 698,438,863,898,480,640 passwords in a couple milliseconds.