Mathspp Blog

programming — Articles that include code in some form

Reverse-engineering the program from “Chronospatial Computer”, day 17 of Advent of Code 2024.

Today I learned how to use the Polars function pl.date_range to create date sequences with calendar-aware intervals between dates.

Solving “Bridge Repair”, from day 7 of Advent of Code 2024, in 4ms with Python with a simple deductive algorithm.

In this article I show how I wrote a parser to parse TXRX files into a more manageable object in Python.

Today I learned about the behaviour of asyncio.gather.

Today I learned about 5 useful pytest options that let me control what tests to run with respect to failing tests.

This article goes over the content I taught at the world's largest programming lesson that broke a Guinness World Record with 1668 students.

Today I learned how to call a makefile from within another makefile.

The function random.shuffle relies on the mutability of the argument and mutability is a pain in the arse, so we propose an alternative.

This article outlines how I use a pre-commit hook and cog to keep my blog stats updated automatically.

The dunder method __new__ is used to customise object creation and is a core stepping stone in understanding metaprogramming in Python.

This article shows how you can create a case-insensitive string class using some basic meta programming with the dunder method __new__.

This article briefly describes the iterators available in the Python module itertools and how to use them.

Today I learned how to debug the new Python REPL with _pyrepl.trace and the environment variable PYREPL_TRACE.

Today I learned how to fix an issue with Ctrl+left and Ctrl+right not working in the new Python REPL on MacOS.

With a couple of loops and a bit of maths you can create a rotating spiral.

Today I learned the difference between __getattr__ and __getattribute__.

You can use the Python built-in function iter with two arguments to create an iterator from a function.

You can use generators to simplify nested loops and make it easier to break out of them.

Today I learned how to order the values of a dictionary according to an iterable of keys.