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 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.
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.