mathspp blog

400 437,199 36,835
articles words lines of code

Today I learned you can use uv to install CLI tools with extra dependencies.

This article gives an overview of the tools available in the module enum and how to use them.

Today I learned how to use uv to escape uv and go back to using venv and pip for a given project.

Today I learned how to detect collisions between circles and rectangles with 100% accuracy.

This article proposes an implementation of an ergonomic binary search algorithm implemented as a bidirectional generator.

This tutorial walks you through implementing a 2D scrolling game in JavaScript.

Today I learned how to create co-authored commits on GitHub.

Today I learned how to quickly switch back and forth between two different git branches.

Today I learned how to publish a Python package to PyPI with uv.

This is a short account of how I wrote a program that solves all LQueens puzzles from LinkedIn automatically with Python.

The 10th article of this series adds support for elif and else statements.

This practical tutorial shows how to use uv to build and install custom Python CLI applications globally on your system.

You can ignore exceptions with contextlib.suppress and in this article I show why this is preferred over try: ... except: pass.

Today I learned that I can use the percent sign to run commands from inside Jupyter notebooks.

Today I learned that Python has nested Easter eggs in the standard library.

Today I learned that Polars allows non-strict vertical concatenation of dataframes with the parameter how="vertical".

Today I learned how to create standalone Python scripts with uv.

I used an LLM to write a countdown timer and I have mixed feelings about the result.

Today I learned how I can use the method 'groupdict' from a regex match to get a dictionary with all named groups.

In this article I explore functools.cmp_to_key and propose a possible implementation.