Metrizing CW complexes

April 24, 2024

A sad fact that every topologist should be surprised about at some point in their career is that many apparently "nice" CW complexes are not actually metrizable. The purpose of this post is to introduce CW complexes and talk about metrizing them.

For completeness: real numbers

April 20, 2024

In mathematics, if you squint, the word “real” has a kind of eldritch quality. Although calculus students work confidently with them, and they enable all kinds of nice behavior in topology, the definition of a real number is, well, surreal. The title of this blog post is a pun. You might ask why we need the real numbers, and one answer is “for completeness”. For the same reason, I thought a blog post would be useful.

Spaces of constant curvature and their isometries

February 17, 2024

In this post, I want to kind of bring together the theme of curvature and the theme of affine or projective geometry.

Understanding curvature II: Gaussian curvature

February 15, 2024

The purpose of this post is to pick up where the last one left off: the story of curvature from a, like, “geometer’s geometer” standpoint.

Understanding curvature: curves in the plane

February 14, 2024

As a geometric group theorist interested in “CAT(0)” and “hyperbolic geometry”, I appear to care very deeply about notions like “curvature”, but I have to admit my understanding of what it means is not that deep. This post is an attempt (one of likely several) to deepen my understanding. I’d like to bring you along for the ride.

Computing intersections, projectively

February 11, 2024

This is a post about affine or projective geometry. It's also a post about intersections. Like, suppose you take two line segments and you want to ask: do these line segments intersect? And suppose you're a little obsessed with linear algebra. So let's use it if we can. As I mentioned in my last post, one useful aspect of the affine or projective perspective on geometry is that it turns affine subspaces, like points and lines that don't have to go through the origin, into linear subspaces of one larger dimension which do contain the origin and thus can be reasoned about and manipulated with matrices and the tools of linear algebra.

Notes on notes of Shewchuk

February 4, 2024

After my last post, I tried and failed to implement the Bowyer–Watson algorithm. A picture of that failure is below—turns out plotting semi-random triangular meshes with random colors? Very pretty. Anyway, I was talking about my struggles with the algorithm on a Discord and Michael Dewberry kindly directed me to some notes by Jonathan Richard Shewchuk. They’re fantastic, and the purpose of this post, besides providing a place for me to put the link in case I lose it, is to do a little riffing.

Delaunay triangulations

February 2, 2024

This is a post about a triangulation algorithm to support the creation and rendering of arbitrary 2D meshes in Zig and Metal. Triangulation is a pretty neat piece of math! But first, why? Off and on I’ve been working on prism, a Zig library that aims to support creation of native apps. At the moment it only does something interesting on macOS, since that’s the operating system I’m usually running, but eventually I’d like to include various configurations of macOS, Linux and Windows, along with Metal, OpenGL, Vulkan and D3D12 as graphics backends.

Porting softcut

January 20, 2024

Last weekend I wrote C and Zig bindings for softcut, a C++ buffer-manipulation library written by Ezra Buchla. I also wrote a basic consumer of the library, softcut-client, which at least in theory runs on macOS, Linux and Windows—that being said, I’ve only taken it for a spin on my MacBook, so perhaps there are platform-specific things lurking in the code that I’m not aware of. Anyway, the purpose of this post is to chat a little about the program and the project of writing it.

Meagreness

December 16, 2023

The purpose of this post is to try to get my head wrapped around a couple of “analytic” concepts: the Baire property, meagreness and so forth. I’ll attempt to give full definitions and proofs, since this is mostly for my reference.