# Mathspp Blog

356 397,052 32,579
articles words lines of code
##### TIL #087 – underscore is a soft keyword

Today I learned that the underscore _ is a soft keyword in Python.

##### Single-line calculator

Let us implement a calculator in ONE line of code.

##### Building a Python compiler and interpreter – 07 if

In the 7th part of this series of building a Python compiler and interpreter we will add support for if statements.

##### Building a Python compiler and interpreter – 06 variables

In the 6th part of this series of building a Python compiler and interpreter we will add support for variables, simple assignments, and chained assignments.

##### Building a Python compiler and interpreter – 05 statements

In the 5th part of this series of building a Python compiler and interpreter we will add support for multiple statements in our program.

##### Building a Python compiler and interpreter – 04 arithmetic

In the 4th part of this series of building a Python compiler and interpreter we will add support for more arithmetic operations and parenthesised expressions.

##### Building a Python compiler and interpreter – 03 visitor pattern

In the third part of this series of building a Python compiler and interpreter we will make our parser, compiler, and interpreter, much more flexible with the visitor pattern.

##### Building a Python compiler and interpreter – 02 numbers

In the second part of this series of building a Python compiler and interpreter we will improve the support of numbers.

##### TIL #086 – run custom code on Python start-up

Today I learned that you can run custom Python code when Python starts-up, before running other scripts or programs.

##### Building a Python compiler and interpreter

In this tutorial series we will build a Python compiler and interpreter from scratch. We start with simple arithmetic expressions.

##### itertools.batched

Learn how batched from the module itertools works, example use cases, and how to implement it.

##### TIL #085 – negative zero -0.0

Today I learned that Python and other programming languages have negative zero, -0.0.

##### TIL #084 – type statement and type aliases

Today I learned about the Python 3.12 type statement you can use to create type aliases.

##### Adding stats to my blog

This explains how I added stats to my blog page.

##### TIL #083 – sentinel value for default arguments

Today I learned how to create a sentinel value to use as a default argument in a way that respects Python typing.

##### (More) Animations from first principles

Create a zooming animation from first principles in Python. In 5 minutes. Kind of.

##### Animations from first principles

Create animations from first principles and morph between different figures with Python. In 5 minutes. Kind of.

##### TIL #082 – 20 million lines of Python code

Today I learned that the largest file ever published to PyPI has 20 MILLION lines of code.

##### TIL #081 – find commits that affected a file

Today I learned how to find the commits that affected a specific file with git log.

##### TIL #080 – how to draw a Bézier curve

Today I learned how to draw a Bézier curve with the De Casteljau's algorithm.