UCLA mathematician Terence Tao spent a few days in July using AI coding agents to bring roughly two dozen defunct 1999-era Java applets back to life as JavaScript, finish a special-relativity visualization tool he'd abandoned the same year, and build a companion app for a new number theory preprint — all within a single week.
Two Dozen Java Applets From 1999 Run Again as JavaScript
Tao began coding math applets in Java 1.0 in 1999 for his complex analysis and linear algebra courses, building visual aids like a honeycomb applet co-written with Cornell mathematician Allen Knutson and a Besicovitch set visualizer. The applets worked for years, but browser standards moved on, and Tao documented the applets going dark in a 2008 post.
The revival happened as a side effect of a larger project: Tao has been migrating his old website and blog archive into a more maintainable GitHub Pages repository. As an experiment, he asked a coding agent to port the old applets to a supported language, landing on JavaScript, and the agent finished the port in a matter of hours. All of the applets are now functional again, some with small graphical upgrades — the Besicovitch set applet is colorized where the original was monochrome — and the Knutson–Tao honeycomb applet, which Tao describes as particularly tricky to code by hand, is running again too.
The Agent Introduced One Bug and Caught Two Tao Didn't Know About
Tao is explicit that LLM-based coding agents can produce blatant or subtle bugs. Across the roughly two dozen ported applets, he says he found only one: faulty handling of a drag event outside the main box in one of the complex-analysis applets. In the process, the agent also flagged two bugs in Tao's original 1999 code that he hadn't previously known about — by his own account, a net wash on code quality.
Tao's framing of the risk matters here as much as the tally itself. He calls these applets secondary visual aids rather than load-bearing components of a mathematical proof, which is why he's comfortable accepting whatever bug rate the agent introduces. That's a narrower and more specific claim than "AI coding agents are reliable" — it's closer to "AI coding agents are an acceptable risk for supplementary, non-mission-critical code," a distinction that tends to get flattened in broader vibe-coding debates.
A 1999 Idea for "Inkscape in Minkowski Space" Finally Shipped
The applet revival led Tao to try building something new rather than just porting old code. Back in 1999, before Inkscape existed, he wanted a drawing tool for special relativity — spacetime diagrams built directly in Minkowski space. He started writing the Java code at the time but abandoned it once the complexity became unmanageable.
After a couple of hours of what Tao calls "vibe coding" with an AI agent, the tool finally exists as a working app, which Tao has published as an alpha version and is soliciting bug reports on, given that it hasn't been extensively vetted. He also published an edited transcript of his conversation with the agent, a "making-of" page that strips out the more tedious technical back-and-forth. The gap between the two versions is the story here: a project he judged too complex to hand-code in 1999 took a couple of hours with an agent in 2026, though that comparison rests on Tao's own recollection of the original attempt rather than a controlled test.
The Gilbreath Visualizer Follows a Validate-Build-Commit-Push Pipeline
The same day Tao, Zachary Chase, and Zach Hunter posted a new preprint on Gilbreath's conjecture, Tao asked an agent to build an interactive companion visualizer for it. The conjecture concerns a triangular array built from repeated absolute differences of consecutive primes; the new paper proves an analogous result for a Cramér random model of the primes and isolates the two ways the underlying property can fail.
The resulting app, built over what Tao describes as another few hours of conversation, lets users explore a difference-triangle generator with parity and magnitude coloring, run a live check of the conjecture along the left diagonal, and load preset examples including Pascal's triangle, a parity-obstruction case, and the paper's Cramér geometric model. The published "making-of" transcript also shows the agent working through a defined publish pipeline to get the app live.
What Tao's Low-Stakes Framing Says About Vibe Coding's Limits
Tao's post lands as a specific, credentialed data point in a much broader and messier argument about agent-assisted coding. The term "vibe coding" traces to a February 2025 post by Andrej Karpathy describing a mode of development where a programmer accepts AI-generated code with little or no review — a description that went on to become Collins Dictionary's word of the year. Since then the term has loosened to cover most prompt-driven, agent-assisted development generally, and it draws both enthusiasm for lowering the barrier to entry and criticism over accountability, maintainability, and security in production code from commentators including Simon Willison.
Tao's account doesn't resolve that argument, and he isn't claiming it does. He's describing a specific, bounded case: a working mathematician using agents on visual aids and companion tools that sit outside the proof itself, where a bug is an annoyance rather than a correctness risk. His own comparison of bugs introduced versus bugs caught is self-reported and informal rather than a systematic audit, and he doesn't name which coding agent he used. What his post does add is a concrete, publicly inspectable trace of the process — two published "making-of" transcripts — for anyone trying to gauge, beyond the general debate, what agent-assisted coding actually looks like for a specific, low-stakes technical task. Tao says he intends to keep using agent-built interactive visualizations as supplements to future papers, under the same reasoning about acceptable downside risk.
Comments (0)
Please sign in to join the discussion.
No comments yet.
Be the first to share your perspective on this topic.