← Back to all posts
News

Terence Tao Let a Coding Agent Loose on His 1999 Java Applets. It Ported All of Them in Hours, and Found Two Bugs He Missed.

July 12, 2026 · News
Terence Tao Let a Coding Agent Loose on His 1999 Java Applets. It Ported All of Them in Hours, and Found Two Bugs He Missed.

TL;DR

Terence Tao, plausibly the most famous living mathematician, published a detailed writeup on July 11 of what happened when he pointed a coding agent at his software backlog. The agent ported roughly two dozen Java 1.0 applets from his late-1990s course pages to JavaScript in a matter of hours. Tao found exactly one minor bug in the ported code. The agent found two bugs in his originals that he had never noticed. He then revived an app he abandoned in 1999 as too complex to build, a special relativity editor he describes as "Inkscape, but in Minkowski space", in "a couple hours" of vibe coding, and published the edited agent transcripts next to the working apps. The post spent Sunday at the top of Hacker News.


The most famous dead code on the internet

Tao has been building interactive teaching tools since roughly 1999, when he wrote a set of applets in Java 1.0 for his complex analysis and linear algebra courses at UCLA (the linear algebra set was originally written with Kim Chi Tran in 2002, and the complex analysis applets date from 1998 to 2007). Then browsers dropped the Java plugin between 2015 and 2017, and a quarter century of pedagogical software became archaeology: source code intact, runnable nowhere.

That is the classic legacy-port problem, and it is exactly the shape of work that never gets prioritized. The code works in theory, the rewrite is pure toil, and the payoff is a nice-to-have. So it sat for a decade, on the homepage of a Fields Medalist, dead.

Java 1.0 appletswritten 1998-2007 browser plugins die2015-2017, code dead live again in JShours, July 2026
A decade of dead code, revived in an afternoon. The port took hours; the waiting took ten years.

As part of migrating his homepage and blog data to a maintainable repository, Tao asked the agent to port the whole set to JavaScript. It did, "in a matter of hours". The applets now run in any browser at his new tao-web site, and the page states the provenance plainly: "Ported with the assistance of Claude Code." The blog post itself never names the tool; the credit sits on the applets page, which is the only place Tao names Claude Code.

The bug ledger

The number that makes this more than a feel-good demo is the bug accounting, which Tao reports with the precision you would expect. Across the two dozen ports he found a single defect: "the handling of a drag event in one of the complex analysis applets had unwanted behavior when dragging outside of the main box". Meanwhile the agent surfaced two bugs in his original code that he was not aware of. His verdict: "it ended up being a net wash as far as code quality was concerned."

bugs found across the ~24-applet port (count) in Tao's originals2 added by the port1 source: Tao's own accounting in the July 11 post
"A net wash as far as code quality was concerned." The agent left the codebase slightly better documented about its own flaws than it found it.

Read that scoreboard again: the code review of a Fields Medalist came back with two findings, and his review of the machine came back with one. Mathematics has always been a humbling profession; now the tooling is too.

The 27-year-old backlog item

The ports are the headline, but the new apps are the more interesting half of the post. In 1999 Tao wanted to build an interactive editor for special relativity spacetime diagrams and gave up: too complex for the time he had. In July 2026 he got a working alpha in "a couple hours" of what he cheerfully calls vibe coding. His description of the result, "Inkscape, but in Minkowski space", is the most Terence Tao product pitch ever uttered, and the app is live.

He then built a Gilbreath array explorer in "another few hours of conversation", as a visual supplement to a research paper involving Gilbreath's conjecture (write the primes in a row, repeatedly take absolute differences of neighbors, and the conjecture says every row after the first begins with 1). A third app, a random variable visualizer, is already on the site marked in development, dated July 12. The pipeline from "this might help readers" to "shipped" is now measured in hours, and he says he plans to attach such interactive visualizations to future papers.

Just as notable is what he shipped alongside the apps: edited transcripts of the agent sessions, trimmed, in his words, of "a large number of tedious technical implementation reports". You get to watch how a top mathematician actually steers an agent, decision by decision. More people shipping AI-built artifacts should copy this receipts-attached format.

What the agent did not replace

Tao is explicit that his programming experience and domain expertise remained essential, and his list of where will look familiar to anyone who does this daily: keeping the data model separated from the user interface, staging the development (math engine first, GUI on top), catching implementation issues the agent glossed over, and making the architectural calls.

He is equally explicit about the failure modes. LLMs can produce blatant or subtle bugs, and he judges that acceptable here only because these are secondary visualization aids, not mission-critical components. The apps are labeled alpha, the transcripts are published, and the claims are scoped. That part of the post is straight-faced, and it should be.

Why builders should care

The generalizable claim in the post is this one: "the precise language or spec that a given piece of software is written in has become far less relevant". Legacy code used to be like a house: moving it to a new foundation cost more than rebuilding, so nobody ever moved it. Agents turn the house into flat-pack furniture. The structure survives the move, and the foundation it was originally poured on stops mattering. Every team has a shelf of Java 1.0-equivalents: the Flash training tool, the Python 2 scripts, the internal jQuery dashboard nobody dares touch. Tao just published a documented, verifiable account of that shelf getting cleared at a cost of hours.

The Hacker News thread (about 390 points and 111 comments as of Sunday evening UTC) converged on the same reading: agents are unusually well suited to exactly this class of software, low-stakes, verifiable by eye, valuable but never urgent. That matches Tao's own scoping, and it is a more honest picture of where coding agents are in mid-2026 than either the "no more programmers in five years" comments in the same thread or the dismissals two replies below them.

Key Takeaways

  • Terence Tao published a first-person account on July 11 of a coding agent porting roughly two dozen Java 1.0 applets from his late-1990s course pages to JavaScript in a matter of hours.
  • The bug ledger favored the machine: one minor defect introduced by the port, two previously unknown bugs found in Tao's original code. His verdict: "a net wash" on code quality.
  • His applets page credits Claude Code by name; the blog post itself refers only to "the agent".
  • He also built two new apps in hours each, including a special relativity editor he shelved in 1999 as too complex, and published edited agent transcripts alongside them.
  • Tao says his expertise stayed essential for architecture, staging, and review, and he scopes agent-built code to non-mission-critical work.
  • The strategic claim for builders: porting friction has collapsed, so the language your legacy code is written in matters far less than it did.

Sources: Terence Tao, "Old and new apps, via modern coding agents", tao-web applets page, Hacker News discussion, Quanta Magazine

AIcoding agentsClaude CodeTerence Taodeveloper toolslegacy codemathematics
CONSOLE
$