Hello, world
August 15, 2026
Welcome to the new website — and to its blog. My old site lived on Google Sites and served me well, but it was time for a proper home: faster, cleaner, and easier to grow. Everything from the old site made the move — the bookshelf, the events — and two things are new: this blog and the undergraduate roadmaps.
Posts here will be irregular by design. Sometimes a short note about a theorem I like, sometimes a book recommendation, sometimes news. Since this is the first post, let me show what this blog can do.
Mathematics
Math renders properly, inline like \(\pi_1(S^1) \cong \mathbb{Z}\) or displayed like the functor at the heart of my thesis:
$$ Z \colon \mathbf{2Cob} \longrightarrow \mathbf{Vect}_k $$A 2-dimensional TQFT assigns a vector space to the circle and a linear map to every cobordism between circles — and the classification theorem says such a \(Z\) is the same thing as a commutative Frobenius algebra.
Code
# The dimension of Z(surface of genus g) for the Frobenius algebra
# A = C[x]/(x^2), computed the naive way: dim = trace of (handle operator)^g
import numpy as np
handle = np.array([[0, 2], [0, 0]]) # multiplication then comultiplication
print([int(np.trace(np.linalg.matrix_power(handle, g))) for g in range(1, 5)])
Pictures and animations
Images and GIFs drop straight in, and small scripts run too. Here is a Lissajous curve drawing itself:
That is the plan. See you in the next post.