Eric Novik came by my talk the other day and we were chatting about a number of things, including how much we forget as the years go by. I remarked that I used to be very comfortable with Fourier analysis and was able to use it as a research tool—see section 2.2 of my Ph.D. thesis, and it also came up in my research leading to R-hat (although it didn’t make it into the writeup)—but at this point I only understand Fourier analysis on a conceptual level. It’s not one of these things that stuck with me.
In response, Eric pointed to this app that he created (with chatbot assistance) to help him my understand some things about Fourier series. Maybe it will be useful to some of you too. The source code is here.

One of the great joys of using modern AIs is the efficiency gain in executing the concept-theory-experiment loop. This is not dissimilar to how I felt when Dan introduced me to Stan more than 10 years ago. If not for Stan (or Dan?), I wouldn’t know nearly as much stats as I do now, as the simulate-model-check loop is so much faster. The big difference is that AI is a pharmakon (I am allowed to use that word because I work in quant pharmacology); it can destroy the learning process just as well as it can improve it. AI fails silently and for reasons unknown, while Stan fails lowdly (by design), and the reasons are usually clear.
For programming tasks like the one above, LLMs are great — they don’t make many mistakes. By using agentic loops that write code and unit tests, then run the unit tests on the code they’ve written, the results are pretty impressive. It is still a kind of programming, I think. My favorite Finnish programmer (sorry, Aki and Juho) recently said something like this: I get angry when people say 99% of their code is written by AI, because I’d near-guarantee that 100% of their code is written by compilers — yet nobody ever says that.