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 "

The Seamstress Event Loop in Zig

June 21, 2023

I've been working on a program called seamstress for the past couple of months. I think it's in a pretty good spot, even if it's early days. The program is heavily inspired by monome's norns, specifically its matron program, which embeds the Lua programming language to speak with monome's grid and arc controllers, MIDI, OSC, a screen, the norns' keys and encoders, and so forth. One big difference between seamstress and matron is, besides the fact that seamstress is designed for desktops/laptops rather than a purpose-built device, is that seamstress is written in Zig, a young C-like programming language.

Failing to Prove a Matroid Algorithm

May 7, 2023

I have a new paper up! It's about "one-endedness" and "semistability at infinity" of certain outer automorphism groups of free products; more about this almost certainly soon. What I want to talk about today is an algorithmic process I wanted to include in the paper but was unable to provide a proof of its correctness. The statement that I needed was that a certain collection of subforests of a graph (with special vertices—this is a graph of groups) forms what's called a matroid.

SyncTeX With Kitty

January 21, 2023

I’m a big fan of the terminal. I do almost all of my writing inside kitty, a terminal program, running a text-editor called neovim. As a mathematician, I’m usually writing LaTeX. One of the nice features of LaTeX is called “SyncTeX”, which allows a PDF generated by LaTeX to remember a bit about the source files that compiled it, so that you can jump from the PDF to the source code.

Learning to Run

December 25, 2022

Happy holidays! One of my goals for this past year was to record and release an album of music, totalling at least thirty minutes and ten tracks. I accomplished that goal! You can listen to and buy the album on Bandcamp and it is also available on most streaming platforms as well. I wrote about the album on Lines, a forum centered around music, computers and synthesis that I am a moderator of.