Back to all posts

A Fields Medalist Handed Claude Code His 1999 Java Applets — It Found Bugs He Never Knew Were There

Published on Jul 13, 20264 min read
AI AgentsDeveloper ToolsGenAI

A Fields Medalist Spent a Weekend Debugging With Claude Code

On July 11, 2026, Terence Tao — the UCLA mathematician who won the Fields Medal in 2006 and has spent the past two years becoming one of the most visible advocates for AI-assisted mathematics — published a blog post with an unusually mundane title: "Old and new apps, via modern coding agents." By the next morning it was the #1 story on Hacker News. What made a legacy code migration post go viral wasn't the math — it was what the exercise revealed about what a coding agent can and can't be trusted to do with code nobody has looked at in decades.

Twenty-Four Applets, Twenty-Seven Years, One Language Migration

Tao's own website carries roughly two dozen interactive Java applets he wrote starting in 1999 — visualizations for complex analysis, number theory, and other topics he used in teaching and exposition. Java applets have been functionally dead in every modern browser for years, so the visualizations had quietly stopped working. Using Claude Code, Tao worked through porting the full set from Java 1.0 to JavaScript over a period of days, a task that would ordinarily require either hiring a contractor familiar with a twenty-five-year-old dialect of Java or writing the whole thing off as a loss.

The Agent Introduced One Bug — and Found Two Nobody Knew About

The result, by Tao's own account, was close to a wash on correctness. The porting process introduced exactly one new minor bug: a drag-event handler in one of the complex-analysis applets misbehaved when the cursor moved outside the applet's bounding box. Set against that, the agent surfaced two genuine bugs in Tao's original 1999 code that he had never noticed in twenty-seven years of the applets being publicly live. That's the detail that's stuck with engineers reading the post: a faithful re-implementation, done by an agent with no domain context beyond the source it was translating, acted as an independent code review pass on math that had been sitting untouched since before most current CS undergrads were born.

From an Abandoned 1999 Sketch to a Published Spacetime Diagram

The more striking part of the post isn't the migration — it's the new project Tao built alongside it. In 1999 he'd sketched an idea for a special-relativity visualization tool, something he described as "Inkscape, but in Minkowski space," and shelved it as too ambitious to build alone. Twenty-seven years later, working with Claude Code, he finished it: a 1+1-dimensional spacetime-diagram applet now live on his site. Tao published a curated transcript of the full Claude Code conversation that produced it, from the first rough sketch to the final published tool — a rare, unfiltered look at what an extended agentic coding session with a working mathematician actually looks like turn by turn.

Why This Lands Differently Than Another Benchmark Post

Most of the coding-agent discourse this year has been benchmark scores and enterprise adoption curves — SWE-bench percentages, JetBrains' finding that Claude Code adoption among developers jumped from roughly 3% in mid-2025 to 18% by January 2026, revenue run rates. Tao's post cuts through that with something benchmarks don't capture: a domain expert with no interest in being an AI evangelist, using the tool on code he actually cares about, in public, with the transcript attached. It reads as evidence for a claim the industry has been making with more confidence than proof — that agents are now reliable enough to hand a stranger's undocumented, decades-old codebase and get back something at least as correct as what a human would produce cold.

What This Means for Teams Sitting on Old Code

The practical takeaway for engineering teams isn't "go rewrite your legacy stack with an agent unsupervised." It's narrower and more useful: a faithful language-to-language port of a well-defined, self-contained module is now a task worth pointing a coding agent at as a first pass, specifically because re-implementation forces the agent to reason about every line rather than pattern-match around it — which is exactly the property that surfaced Tao's two dormant bugs. Treat the port as a review artifact, diff the behavior against the original, and budget human time for the review, not the writing.

Bottom Line

A Fields Medalist spent a few days getting Claude Code to resurrect code from 1999 and finish a project he'd shelved since before Java itself reached its second version. The bug count came out roughly even, the transcript is public, and the story that resonated with Hacker News wasn't the successful port — it was the two mistakes a human missed for twenty-seven years and a machine didn't.