Old and new apps, via modern coding agents
terrytao.wordpress.com
terrytao.wordpress.com
https://htmx.org/essays/universities-and-ai/#demos-visualiza...
Many visualizations that I have always wanted but just didn't have the time to build, I now have.
To give an example, I wanted a simplified 8-bit computer to complement the 16-bit teaching computer I use and designed this in a few days with the help of claude:
When I did my microcontroller class with lecturer hand drawing an 8-bit computer, the registers, memory, instructions on the white board, it was v cool to understand how things worked under the hood.
Wondered if someone could make more simulations for what was being taught. Teaching is about deciphering a thing into it's components and seeing how they interact. Vibe coded simulations are a great tool for that.
Mermaid, Graphviz and friends but in HTML pages.
Sometimes it is turning other things into perfetto.dev format for multi-machine tracking (like turn a build process into the same format as Chrome traces).
If you need more flexibility, you end up reaching for p5.js and three js (rather, tell the model to use it).
Once you're touching distance from WebGL, the equivalent of something you make can start looking like something from ciechanow.ski over a single weekend.
What is your thought on D2 compared to those? GIven the WebGL mention (The one I'm familiar with), I suspect this is a matter of interactive vs static/diagrams. I assume the latter due to my own project which falls in that category!
It helps me digest the content faster and allows me to read more articles than I otherwise would.
Sounds like 50/50 for the distribution? That means you are okay with a student getting a 40% across all your quizzes and then passing the class with a C-?
My experience is that no students get a C- except for students who blow the first part of the class and try to work back. I usually work a deal out with them anyway.
"as such [LLM-coded interactive] supplements are not mission-critical to the core of the paper, I again feel that the downside risk of using guided interaction with LLM agents to generate such visualizations is acceptable."
It's a tool. Good for some things but not others and generally not to be trusted.
There are many AI bulls who adamantly disagree and cite Tao’s statements about LLMs for mathematical proofs as an example of how advanced and autonomous these systems already are
I agree completely you always need to check the work of LLM agents, but it does strike me as a tiny bit funny to anthropomorphize AI by using ‘trust’ while warning against anthropomorphizing the AI by using unchecked output. ;) Generally speaking, “trust” in AI has been going up very quickly as the models & harnesses improve, and as people figure out effective workflows.
I trust my hammer with nails but not screws… does that mean the hammer should generally not be trusted? The problem with AI is we don’t know the difference between nails and screws. (This may be where my analogy breaks down. :P) But I feel like saying don’t trust it isn’t as helpful as saying something like you should expect to spend more time planning and iterating than before, and you should expect tot spend more time reviewing and checking output than before, and learn how to use skills and context and subagents, and learn to use AI on some non-production low-consequence projects first. Saying ‘generally not to be trusted’ implicitly suggests not using AI, and doesn’t leave the reader with how to use AI. The goal is to build trust by building good workflows and by understanding what works well and what doesn’t, right?
I trust a hammer to be able to hit a nail, without breaking. But if the hammer is old and the wood brittle, I don't trust it anymore.
Using it for anything else (screws) has nothing to do with trust, but using the wrong tool.
- nice to have but clearly not important enough to invest time in
- definitely not worthwhile paying someone to do
- not going to hurt anything or anyone if it wasn’t implemented as close to what was envisioned.
If you read between the lines then trust may also mean privacy, if you’re furthering the goal of some company that may be stealing your data for training even when they say they are not because there are legal loopholes that allows them to get away with it, etc.
Your example of hiring Donald Knuth to write your code doesn’t fit into what’s being said about trust either. If you were never going to trust anyone to write your code, it doesn’t matter who it is anyway.
For most of us, even if we are engineers, chances are hiring someone legendarily good at writing code to requirement will produce far better results than what we knew we could achieve.
I would trust someone who is that good to write the code — more than myself — to do things I want to do it better than I can while being able to catch all the things that didn’t realize I needed.
Donald Knuth's code would be much more likely to meet my standards during a code review than some LLM output.
Just to nitpick - will it actually? I don't know what your relationship with Donald Knuth is, but to the extent I'm familiar with him and his approach to work, I would expect that even if I could afford him, I would not be able to get him to agree to accept my coding standards, whereas I found that LLMs (although flawed in many ways) can be cajoled relatively effectively to adopt my particular standards.
I am not sure how to feel about agents solving the problem via proper modernization. It's certainly positive that students will be able to interact with this content in a modern and more accessible way, but the educational use case for our product, although not commercially important, has always been a source of pride.
https://chromewebstore.google.com/detail/cheerpj-applet-runn...
Nov 2025: https://terrytao.wordpress.com/tag/artificial-intelligence/
https://academy.openai.com/public/blogs/terence-tao-ai-is-re...
I don’t know what you’re reading, but always and never are strong words. I’ll predict by this time next year you’ll have seen some pretty serious AI uses, and can no longer say always/never. Widespread use of AI coding is brand new, and the models only just barely got good enough to do serious things. It’s way too early to be using words like always and never, but FWIW I’ve already seen some serious uses. There are good reasons personal blog posts rarely talk about ‘serious’ production code; it may be against organizational policy, it may involve code that isn’t’ public, it may reveal proprietary information, and more…
Teaching, research and publication are the core activities of his job as a math professor. How does it get more serious than this?
I’m old. If I had to, I could retire tomorrow, albeit on a restricted budget. But I worry about the younger folks (like my 25-year-old nephew) who haven’t built up the resources to survive without working who are in the field right now. There’s going to be a mega disruption and writing code is going to go the way of calculating square roots by hand or hot metal typesetting. There will still people doing it, but it will very much be a niche endeavor.
Whether reviewing agentic code rather than writing it is a job he wants to do... Different question.
Its older people who can't or won't retool that are going to find that in the game of musical layoff chairs they won't have a chair left when the music stops (and some I've met haven't really internalized that they're even part of the game...)
⸻
1. A Mac menu-bar app to make it easier to know when I need to either do a PR or look at someone’s feedback on my own PR. Clicking the icon shows a list of all open PRs that I’ve created or that my review has been requested on (and clicking an item there will open the PR so I can act on it). If there’s a PR that I’ve not left comments on or approved, or if there are unreplied/unclosed comments on my PR or it’s been approved, a badge is added to the menu bar icon.
https://github.com/bradfitz/koffer#der-verloren-koffe
Play online at https://bradfitz.github.io/koffer/js/
So neat seeing ~30 year old code come back alive.
I have been interested in machine-assisted ways to do and teach mathematics from as far back as 1999, when I started coding several applets in Java 1.0, both for my complex analysis and linear algebra courses, to visualize various mathematical objects I was interested in (such as honeycombs or Besicovitch sets).
Really bullish on LLMs expanding code development by a very large group of people who are really smart in some domain but could not get into 'coding'.
Replace "vibe coding" with "outsource to India" and it's the same situation we were in 20 years ago: I remember around the time when YouTube had well-established itself (2009-ish?) and so a cottage-industry mushroomed all selling visual-lookalike YouTube clones, but implemented as monolithic single PHP project or WordPress plugin, using the local filesystem for video file storage (or worse: Base64-encoded text in MySQL, lovely).
...to someone with no prior experience or knowledge how highly-scalable, Google-tier web applications (like the real YouTube) work or are built, these "Me-Too-Tube" sites were indistinguishable from the real thing and as far as they were concerned they were happy with it.
Never mind that even if those $25 scripted websites were ever actually scalable, it isn't enough to simply have a video-sharing site; you need to get millions of people to decide to start using it - and that's something which will elude Claude's abilities... possibly forever, I feel.
As for profit, there's a reason why governments and AI companies are hiring philosophers and mathematicians. It's not to make the world a better place for everyone, or to encourage the progress of human knowledge; but to gain cutting-edge advantages over their competitors. Same reason why theoretical physicists were prized before/during the Second World War.
By famous I mean someone whose biography is in the training data. All models know a lot more about Terrance Tao than they know about me, when he's working on his projects do the models know they don't need to explain "Besicovitch sets".
Since the system prompt likely includes something about not insulting the user, does the LLM modify it's responses if it realizes it's talking to famous politician, like "dont mention the time $politician was cancelled".
https://www.reddit.com/r/mathematics/comments/1tryyw7/terenc...
The difference to me is one of directionality - maths research is seeing a far off island and getting there by hook or by crook; bridge, draining the swamp, inventing an airplane or boat, whatever it takes. Software engineering is like covering a plain with tiles - every feature is ultimately filled in and the underlying beauty is obscured by a fractal of complexity required by the ever growing requirements.
Ookay.
Back in the day i was confused by 'Linear programming', which is optimisation and has nothing to do with coding.
> every feature is ultimately filled in and the underlying beauty is obscured by a fractal of complexity required by the ever growing requirements.
Right. I would say Mathematics tries to unobscure (patterns in) nature. Engineering is creating tools, sometimes leveraging natural patterns. But yeah, Fourier or Laplace definitely created tools, too.
Yes, functional programming feels a lot more mathy than procedural or OOP.
Every time.