Blog – alanza.xyz

ROBBIE LYMAN

Blog

You can subscribe to this page via RSS.

Who is this blog for? That’s a good question! Let me explain my thinking. Sometimes I am writing for me: to clarify an idea, or record in words a thought that I want to stick. But often I am writing to be read; I love talking to people, and I often have a lot to say. Blogging is a great way to try and say the thing I want to say, in part because it can be rude to just hold forth at somebody.

Some of what I write about is technical; I’m very aware that my areas of technical expertise don’t overlap perfectly with many people who might want to read what I write. (Probably said that way, this is a universal experience, but it’s interesting how mathematics receives it even more intensely: for one, people often have strong negative associations with mathematics that are called to mind when you tell them what you do. For another, mathematicians can be particularly bad at talking technically with each other about their interests.) It is my goal to at least try to bring everyone along everywhere I go. If I am failing at this goal, feel free to tell me so! It would be useful to know if there is a blog post you want to read but find too tough to finish.

A note on correctness: I'm sharing not to be an expert, but to talk about what excites me. Please correct me if I say something incorrect.

Intentions: 2024 into 2025

January 14, 2025

Over on the lines forum, I snagged the opportunity to be the one who started the yearly goals thread. (Actually, I was hoping that one of the previous posters would have started it, but then suddenly it was almost the new year and the thread had still not started.) I really appreciated these threads over the past couple years. Slightly uncharacteristically, my contribution, which I just wrote today, has very little in the way of specific achievements I'm in pursuit of. Anyway, the purpose of this post is to riff on what I wrote there. (By the way, if you're reading this and would like an invitation to join the conversation, please feel invited to sign up and chime in.)

Seamstress is an art engine

January 10, 2025

Seamstress is an "art engine". That's not a term, as far as I'm aware, but I think it describes accurately where I'm hoping to take it. Programmers might be familiar with the concept of a "game engine", like Unreal Engine, Unity, Godot, or Love2D. None of these programs are games, rather, they enable building games by attempting to let a user focus on what is expressive and joyful about making a game rather than what can feel like drudgery.

I started writing Seamstress because I was lonely and a little bored. It grew out of a love letter to the monome norns, a little "sound computer" which orchestrates an inspiring and accessible palette for a truly special community by weaving together SuperCollider, a general-purpose synthesis and musical coding framework, softcut, a powerful audio buffer manipulation library, and Lua scripting for designing sequencers, user interfaces, speaking with external devices, drawing to a screen, and so on.

Just write the function!

December 08, 2024

This is a post inspired by my approach to this year’s Advent of Code, but it does not contain spoilers. Instead I want to talk about how being more “data-oriented” has helped my thinking about coding problems.

What I learned from Advent Of Code, or: That time I wrote a blog post and linked to it in the Zig issue tracker

December 05, 2024

I’m doing Advent of Code again this year; so far I’ve been very pleasantly surprised that my facility for solving the problems has improved. (Of course, I’m well aware that the difficulty is likely to ramp up soon, so I may end up eating my words.) Previously, I did the 2023 Advent of Code as it happened in Zig. Pace Loris Cro, who wrote a great blog post on the subject, I think that despite the way Advent of Code problems are at odds with the kinds of software problems that Zig aims itself at solving, doing Advent of Code is a great way to gain familiarity with Zig. Over this past summer I also did the 2022 Advent of Code problems as a way of learning Rust. Today, solving the 5th problem for 2024, it occurred to me that Rust had taught me something surprisingly useful for my Zig solution. The purpose of this post is to talk about what I learned—this post does not contain spoilers for any Advent of Code problems, and indeed is not really “about” Advent of Code at all: as I was writing it, it became clear that part of this blog post actually belongs on the Zig issue tracker.

Double cosets are edges

November 26, 2024

Today my 15th posting to the arXiv went live! I intend to write about some of the other aspects of that paper elsewhere (possibly another post on this blog), since I think it really clarified something important for me, but I wanted to explain one insight that made a mysterious thing less mysterious to me: “double cosets”.

So what’s this topology thing?

November 26, 2024

The purpose of this post is to serve as a reference I can link to. I define topological spaces, sure, but the goal is really to communicate what they feel like, how I think about them, what I think is neat about them.

So what’s a group again?

November 26, 2024

The purpose of this post is to serve as a reference I can link to. I define groups, sure, but the goal is really to communicate what they feel like, how I think about them, what I think is neat about them.

How magic is too magic? Personalities of programming languages

November 18, 2024

I’ve heard people observe that although we often think of language as purely a medium for expressing something that exists prior to language, that the words available to us shape who we are as well. I think there’s some truth to this: I took four semesters of Japanese in grad school—not enough to approach fluency without intensive immersion, but plenty to start feeling out the language. I found that at the time my personality as expressed in Japanese was a bit more cautious than I am in English.

It’s interesting to observe that this difference in what I want to express and how is also present for me in programming. Not every language I’ve written a line of has a personality for me yet—mostly this correlates with how seriously I’ve learned what the language has to offer, but interestingly as I’ve improved as a programmer, the personality associations have also started coming faster.

Announcing zOSC

October 31, 2024

I wrote a little library! The purpose of this post is to advertise its existence.

Thoughts on learning

October 08, 2024

I’ll go ahead and begin by claiming that generative AI has plateaued, if not already peaked. I might come back to justify that claim later on, but the purpose of this post is to share some musings on generative AI as a tool for accessing expertise.

return "Robbie";

September 28, 2024

This summer I spent twelve weeks at The Recurse Center, a self-directed program that describes itself as “like a writer’s retreat, but for programmers”. Many participants write a “return statement” describing and reflecting on their time with the program. The name is a cute little pun: many functions in a computer program finish with a “return statement”, which allows the function to yield a bit of data as a result of the function’s execution. Anyway, this is mine.

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.