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.

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

Can you help these kids trick or treat their entire neighbourhood in this Halloween special?

How can two doctors operate two patients with only two pairs of latex gloves?!

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.

Today I learned about the ICPO rule for attribute lookup in Python.

Today I learned how to do ceiling division in Python just with `//`

.

This Pydon't will teach you how to use the `set`

and `frozenset`

Python built-in types.