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.

Let me tell you why it is impossible to truly master Python, but also show you how to get as close to it as possible.

This article is an in-depth analysis of Python solutions to the βSonar Sweepβ problem, which is day 1 of Advent of Code 2021.

Today I learned about the symmetry in indexing from the beginning and end of a list with the bitwise invert operator.

Today I learned how to write the Quicksort algorithm in a weird functional style.

This article will teach you about the minimax algorithm and alpha-beta pruning, from a beginner's perspective.

This article compares the three main string formatting methods in Python and suggests which methods to use in each situation.

Today I learned you can use `pathlib`

to read the contents of a file.

When you call a function in Python and give it some arguments... Are they passed by value? No! By reference? No! They're passed by assignment.

Today I learned how the rich comparison protocol and, in particular, how **eq** works behind the scenes.

Today I learned that Python 3.5+ supports the operator `@`

for matrix multiplication.

Today I learned that you can use emojis as variable names in Python if you use `pythonji`

.

Today I learned that the `.join`

method in Python is a two-pass algorithm, and that's why joining a list comprehension is faster than a generator expression.

This Pydon't will teach you how to use Python's conditional expressions.

This Pydon't will teach you how the basics of list comprehensions in Python.

Today I learned about an algorithm that Python uses to sort out inheritance.