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.

Arranging rectangles: a proposal

December 3, 2023

I've been dreaming up a way to replace seamstress's dependence on SDL for about a month now. My goals (which I'll describe below) are such that I'll be writing something new, a Zig library I'm calling prism. The purpose of this post is to put down in words some of the thoughts I have about how prism should feel to use. While my primary goal is to write something that maybe just I will find useful, since I'd like to reuse prism beyond just seamstress, it would be great to get your feedback (yes yours!

William Hazard's Theatre of the Flat Imagination

November 29, 2023

I had the great pleasure of playing William Hazard’s Theatre of the Flat Imagination Volume 2: Jack the Modernist on November 18th in Philadelphia together with Dan Derks as parens chat. The purpose of this post is to share the recording of the performance that Dan thoughtfully edited and to talk a little about the set we played.

The Stone representation theorem

November 16, 2023

The Stone representation theorem asserts a perhaps surprising connection between two interesting but for me initially unfamiliar objects. On the one hand we have (for me countable) Boolean algebras which have flavors of logic and algebra, and on the other we have compact Hausdorff topological spaces which are totally disconnected – the primary example is the Cantor set. (Here countability is countability of a basis of clopen—closed and open—sets.) I want to describe an idiosyncratic point of view on these objects coming from the study of surfaces.

The Birkhoff–Kakatuni theorem

November 9, 2023

The purpose of this post is to explore a little a very cool metrization theorem for topological groups. (By the way, for some reason I felt like aiming this post a bit lower than some of my others.) It’s a fun bit of general topology, which I’m partial to: topology was the first subject where I really felt like math was something I could love doing. For a while some of my internet handles were references to the Urysohn lemma, a beautiful result that will come up here for us.

Combatting bitrot

August 27, 2023

This is just a small note that I've changed the backend organization of this website around. You might notice old links are likely dead, for which I'm sorry. Whereas previously it was built with Jekyll, we're now using Hugo. Jekyll itself, which is built on Ruby, has been pretty good to me. I was able to do the design work on this website over the course of maybe about a week in summer 2019; writing blog posts in Markdown and now Org mode was simple.

Listening to Chaos

July 7, 2023

I spent the past four months based in Montréal for a semester program in Geometric Group Theory. During that time, Abdul Zalloum, Mariam Al-Hawaj and Giulio Tiozzo organized a special session at the annual meeting of the Canadian Mathematical Society and invited me to give a talk. The purpose of this post is to recap a couple of cool things I learned at the special session and to share an application of that stuff, a "