What's new

Updates on my research and expository papers, discussion of open problems, and other maths-related topics. By Terence Tao

Home

Home

About

About

Career advice

Career advice

On writing

On writing

Books

Books

Mastodon+

Mastodon+

Applets

Applets

Subscribe to feed

Subscribe to feed

Old and new apps, via modern coding agents

11 July, 2026 in advertising | Tags: AI, Allen Knutson, applets, Gilbreath's conjecture | by Terence Tao

advertising

AI

Allen Knutson

applets

Gilbreath's conjecture

Terence Tao

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). This was moderately successful; but the applets were time-consuming to program, and eventually the standards for web pages stopped supporting this version of Java, and the applets became non-functional.

several applets in Java 1.0

the applets became non-functional.

However, in the last few days I have begun the process of migrating much of my old web page and blog data to a more maintainable repository, using modern AI assistance. As an experiment, I asked the agent to port my old applets to a modern supported language (we landed on Javascript), and it managed to do so in a matter of hours, with all of my old applets now functional again, with even a few graphical upgrades (for instance, the Besicovitch set applet is now colorized, in contrast to my original monochrome version). I am particularly pleased to see the honeycomb applet that I wrote with Allen Knutson in 1999 come back to life, as this was a particularly tricky one to code by hand:

more maintainable repository

all of my old applets now functional again

Besicovitch set applet

Allen Knutson

come back to life

Notoriously, LLM-based coding agents can create various blatant or subtle bugs in their code; but in the porting of these two dozen or so applets, I could only find one minor bug (the handling of a drag event in one of the complex analysis applets had unwanted behavior when dragging outside of the main box), and in fact the agent identified two bugs in the original code that I was not aware of, so it ended up being a net wash as far as code quality was concerned. In any event, as these applets are meant to be secondary visual aids rather than critical components of a mathematical argument, the downside risk of such bugs is relatively low.

The process was painless enough that I decided to also try coding some new apps, in addition to porting the old ones. Back in 1999 I had an ambitious idea for a visualization tool for special relativity; this was before the release of the software tool Inkscape, but the idea I had in mind was basically “Inkscape, but in Minkowski space”. I had even started writing Java code for this app, but the code complexity became too much for me, and I abandoned the project. However, after a couple hours of “vibe coding” with an AI agent, I was finally able to generate an applet that matched the vision I had back in 1999, which can now be found here. A summary of the conversation I had with the agent to generate this code can be found here (it has been edited down to remove a large number of tedious technical implementation reports). While I have playtested the app somewhat, I would be interested in receiving further feedback on this “alpha” version of the applet, as I am sure (especially given the LLM-generated nature of the code) that there are still some bugs and rough edges to be ironed out.

writing Java code for this app

can now be found here

can be found here

After writing my blog post on the Gilbreath conjecture paper earlier today, I realized that I could similarly ask the agent to code a visualization tool for the Gilbreath conjecture to accompany the paper and blog post. After another few hours of conversation, this is now done; you can try out the visualization here. Again, the procedure was quite painless (see this transcript of the process), and I think I may add such interactive visualizations as supplements for future papers; as such 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.

try out the visualization here

this transcript of the process

Share this:

Print (Opens in new window)

Print

[Print (Opens in new window)

Print](https://terrytao.wordpress.com/2026/07/11/old-and-new-apps-via-modern-coding-agents/#print?share=print)

Email a link to a friend (Opens in new window)

Email

[Email a link to a friend (Opens in new window)

Email](mailto:?subject=%5BShared%20Post%5D%20Old%20and%20new%20apps%2C%20via%20modern%20coding%20agents&body=https%3A%2F%2Fterrytao.wordpress.com%2F2026%2F07%2F11%2Fold-and-new-apps-via-modern-coding-agents%2F&share=email)

More

More

Share on X (Opens in new window)

X

[Share on X (Opens in new window)

X](https://terrytao.wordpress.com/2026/07/11/old-and-new-apps-via-modern-coding-agents/?share=twitter)

Share on Facebook (Opens in new window)

Facebook

[Share on Facebook (Opens in new window)

Facebook](https://terrytao.wordpress.com/2026/07/11/old-and-new-apps-via-modern-coding-agents/?share=facebook)

Share on Reddit (Opens in new window)

Reddit

[Share on Reddit (Opens in new window)

Reddit](https://terrytao.wordpress.com/2026/07/11/old-and-new-apps-via-modern-coding-agents/?share=reddit)

Share on Pinterest (Opens in new window)

Pinterest

[Share on Pinterest (Opens in new window)

Pinterest](https://terrytao.wordpress.com/2026/07/11/old-and-new-apps-via-modern-coding-agents/?share=pinterest)

Recent Comments

Unknown's avatar

Old and new apps, vi…

Upgrading old Java applet…

Terence Tao's avatar

Terence Tao

245A, prologue: The problem of…

Terence Tao's avatar

Terence Tao

254B, Notes 1: Equidistributio…

Terence Tao's avatar

Terence Tao

245B, notes 1: Signed measures…

Unknown's avatar

A digestion of unit distance…

JEFF GARZA's avatar

A Bayesian probability wo…

Unknown's avatar

245B, notes 1: Signed measures…

Unknown's avatar

245A, prologue: The problem of…

Unknown's avatar

254B, Notes 1: Equidistributio…

Terence Tao's avatar

Terence Tao

245A, prologue: The problem of…

Terence Tao's avatar

Terence Tao

Analysis II

Unknown's avatar

Books

Unknown's avatar

245A, prologue: The problem of…

Unknown's avatar

Nonlinear dispersive equations…

Unknown's avatar

Analysis II

Top Posts

Old and new apps, via modern coding agents

Old and new apps, via modern coding agents

Gilbreath's conjecture: a Cramér random model and a deterministic analysis

Gilbreath's conjecture: a Cramér random model and a deterministic analysis

A digestion of unit distance constructions

A digestion of unit distance constructions

Career advice

Career advice

About

About

On writing

On writing

Applets

Applets

245A, prologue: The problem of measure

245A, prologue: The problem of measure

Work hard

Work hard

Does one have to be a genius to do maths?

Does one have to be a genius to do maths?

Archives

July 2026 (3)

July 2026

June 2026 (3)

June 2026

May 2026 (1)

May 2026

March 2026 (4)

March 2026

February 2026 (3)

February 2026

January 2026 (4)

January 2026

December 2025 (5)

December 2025

November 2025 (5)

November 2025

September 2025 (1)

September 2025

August 2025 (3)

August 2025

July 2025 (1)

July 2025

June 2025 (2)

June 2025

May 2025 (5)

May 2025

April 2025 (2)

April 2025

March 2025 (1)

March 2025

February 2025 (3)

February 2025

January 2025 (1)

January 2025

December 2024 (3)

December 2024

November 2024 (4)

November 2024

October 2024 (1)

October 2024

September 2024 (4)

September 2024

August 2024 (3)

August 2024

July 2024 (3)

July 2024

June 2024 (1)

June 2024

May 2024 (1)

May 2024

April 2024 (5)

April 2024

March 2024 (1)

March 2024

December 2023 (2)

December 2023

November 2023 (2)

November 2023

October 2023 (1)

October 2023

September 2023 (3)

September 2023

August 2023 (3)

August 2023

June 2023 (8)

June 2023

May 2023 (1)

May 2023

April 2023 (1)

April 2023

March 2023 (2)

March 2023

February 2023 (1)

February 2023

January 2023 (2)

January 2023

December 2022 (3)

December 2022

November 2022 (3)

November 2022

October 2022 (3)

October 2022

September 2022 (1)

September 2022

July 2022 (3)

July 2022

June 2022 (1)

June 2022

May 2022 (2)

May 2022

April 2022 (2)

April 2022

March 2022 (5)

March 2022

February 2022 (3)

February 2022

January 2022 (1)

January 2022

December 2021 (2)

December 2021

November 2021 (2)

November 2021

October 2021 (1)

October 2021

September 2021 (2)

September 2021

August 2021 (1)

August 2021

July 2021 (3)

July 2021

June 2021 (1)

June 2021

May 2021 (2)

May 2021

February 2021 (6)

February 2021

January 2021 (2)

January 2021

December 2020 (4)

December 2020

November 2020 (2)

November 2020

October 2020 (4)

October 2020

September 2020 (5)

September 2020

August 2020 (2)

August 2020

July 2020 (2)

July 2020

June 2020 (1)

June 2020

May 2020 (2)

May 2020

April 2020 (3)

April 2020

March 2020 (9)

March 2020

February 2020 (1)

February 2020

January 2020 (3)

January 2020

December 2019 (4)

December 2019

November 2019 (2)

November 2019

September 2019 (2)

September 2019

August 2019 (3)

August 2019

July 2019 (2)

July 2019

June 2019 (4)

June 2019

May 2019 (6)

May 2019

April 2019 (4)

April 2019

March 2019 (2)

March 2019

February 2019 (5)

February 2019

January 2019 (1)

January 2019

December 2018 (6)

December 2018

November 2018 (2)

November 2018

October 2018 (2)

October 2018

September 2018 (5)

September 2018

August 2018 (3)

August 2018

July 2018 (3)

July 2018

June 2018 (1)

June 2018

May 2018 (4)

May 2018

April 2018 (4)

April 2018

March 2018 (5)

March 2018

February 2018 (4)

February 2018

January 2018 (5)

January 2018

December 2017 (5)

December 2017

November 2017 (3)

November 2017

October 2017 (4)

October 2017

September 2017 (4)

September 2017

August 2017 (5)

August 2017

July 2017 (5)

July 2017

June 2017 (1)

June 2017

May 2017 (3)

May 2017

April 2017 (2)

April 2017

March 2017 (3)

March 2017

February 2017 (1)

February 2017

January 2017 (2)

January 2017

December 2016 (2)

December 2016

November 2016 (2)

November 2016

October 2016 (5)

October 2016

September 2016 (4)

September 2016

August 2016 (4)

August 2016

July 2016 (1)

July 2016

June 2016 (3)

June 2016

May 2016 (5)

May 2016

April 2016 (2)

April 2016

March 2016 (6)

March 2016

February 2016 (2)

February 2016

January 2016 (1)

January 2016

December 2015 (4)

December 2015

November 2015 (6)

November 2015

October 2015 (5)

October 2015

September 2015 (5)

September 2015

August 2015 (4)

August 2015

July 2015 (7)

July 2015

June 2015 (1)

June 2015

May 2015 (5)

May 2015

April 2015 (4)

April 2015

March 2015 (3)

March 2015

February 2015 (4)

February 2015

January 2015 (4)

January 2015

December 2014 (6)

December 2014

November 2014 (5)

November 2014

October 2014 (4)

October 2014

September 2014 (3)

September 2014

August 2014 (4)

August 2014

July 2014 (5)

July 2014

June 2014 (5)

June 2014

May 2014 (5)

May 2014

April 2014 (2)

April 2014

March 2014 (4)

March 2014

February 2014 (5)

February 2014

January 2014 (4)

January 2014

December 2013 (4)

December 2013

November 2013 (5)

November 2013

October 2013 (4)

October 2013

September 2013 (5)

September 2013

August 2013 (1)

August 2013

July 2013 (7)

July 2013

June 2013 (12)

June 2013

May 2013 (4)

May 2013

April 2013 (2)

April 2013

March 2013 (2)

March 2013

February 2013 (6)

February 2013

January 2013 (1)

January 2013

December 2012 (4)

December 2012

November 2012 (7)

November 2012

October 2012 (6)

October 2012

September 2012 (4)

September 2012

August 2012 (3)

August 2012

July 2012 (4)

July 2012

June 2012 (3)

June 2012

May 2012 (3)

May 2012

April 2012 (4)

April 2012

March 2012 (5)

March 2012

February 2012 (5)

February 2012

January 2012 (4)

January 2012

December 2011 (8)

December 2011

November 2011 (8)

November 2011

October 2011 (7)

October 2011

September 2011 (6)

September 2011

August 2011 (8)

August 2011

July 2011 (9)

July 2011

June 2011 (8)

June 2011

May 2011 (11)

May 2011

April 2011 (3)

April 2011

March 2011 (10)

March 2011

February 2011 (3)

February 2011

January 2011 (5)

January 2011

December 2010 (5)

December 2010

November 2010 (6)

November 2010

October 2010 (9)

October 2010

September 2010 (9)

September 2010

August 2010 (3)

August 2010

July 2010 (4)

July 2010

June 2010 (8)

June 2010

May 2010 (8)

May 2010

April 2010 (8)

April 2010

March 2010 (8)

March 2010

February 2010 (10)

February 2010

January 2010 (12)

January 2010

December 2009 (11)

December 2009

November 2009 (8)

November 2009

October 2009 (15)

October 2009

September 2009 (6)

September 2009

August 2009 (13)

August 2009

July 2009 (10)

July 2009

June 2009 (11)

June 2009

May 2009 (9)

May 2009

April 2009 (11)

April 2009

March 2009 (14)

March 2009

February 2009 (13)

February 2009

January 2009 (18)

January 2009

December 2008 (8)

December 2008

November 2008 (9)

November 2008

October 2008 (10)

October 2008

September 2008 (5)

September 2008

August 2008 (6)

August 2008

July 2008 (7)

July 2008

June 2008 (8)

June 2008

May 2008 (11)

May 2008

April 2008 (12)

April 2008

March 2008 (12)

March 2008

February 2008 (13)

February 2008

January 2008 (17)

January 2008

December 2007 (10)

December 2007

November 2007 (9)

November 2007

October 2007 (9)

October 2007

September 2007 (7)

September 2007

August 2007 (9)

August 2007

July 2007 (9)

July 2007

June 2007 (6)

June 2007

May 2007 (10)

May 2007

April 2007 (11)

April 2007

March 2007 (9)

March 2007

February 2007 (4)

February 2007

Categories

expository (321)

tricks (13)

expository

tricks (13)

tricks

guest blog (10)

guest blog

Mathematics (918)

math.AC (9)

math.AG (42)

math.AP (115)

math.AT (17)

math.CA (196)

math.CO (207)

math.CT (9)

math.CV (39)

math.DG (37)

math.DS (90)

math.FA (24)

math.GM (16)

math.GN (21)

math.GR (90)

math.GT (17)

math.HO (14)

math.IT (13)

math.LO (54)

math.MG (48)

math.MP (31)

math.NA (26)

math.NT (212)

math.OA (22)

math.PR (111)

math.QA (6)

math.RA (49)

math.RT (21)

math.SG (4)

math.SP (48)

math.ST (11)

Mathematics

math.AC (9)

math.AC

math.AG (42)

math.AG

math.AP (115)

math.AP

math.AT (17)

math.AT

math.CA (196)

math.CA

math.CO (207)

math.CO

math.CT (9)

math.CT

math.CV (39)

math.CV

math.DG (37)

math.DG

math.DS (90)

math.DS

math.FA (24)

math.FA

math.GM (16)

math.GM

math.GN (21)

math.GN

math.GR (90)

math.GR

math.GT (17)

math.GT

math.HO (14)

math.HO

math.IT (13)

math.IT

math.LO (54)

math.LO

math.MG (48)

math.MG

math.MP (31)

math.MP

math.NA (26)

math.NA

math.NT (212)

math.NT

math.OA (22)

math.OA

math.PR (111)

math.PR

math.QA (6)

math.QA

math.RA (49)

math.RA

math.RT (21)

math.RT

math.SG (4)

math.SG

math.SP (48)

math.SP

math.ST (11)

math.ST

non-technical (209)

admin (48)

advertising (78)

diversions (7)

media (14)

journals (3)

obituary (15)

non-technical

admin (48)

admin

advertising (78)

advertising

diversions (7)

diversions

media (14)

journals (3)

media

journals (3)

journals

obituary (15)

obituary

opinion (37)

opinion

paper (272)

book (23)

Companion (13)

update (26)

paper

book (23)

book

Companion (13)

Companion

update (26)

update

question (128)

polymath (87)

question

polymath (87)

polymath

talk (69)

DLS (20)

talk

DLS (20)

DLS

teaching (190)

245A – Real analysis (11)

245B – Real analysis (22)

245C – Real analysis (6)

246A – complex analysis (11)

246B – complex analysis (5)

246C – complex analysis (5)

247B – Classical Fourier Analysis (5)

254A – analytic prime number theory (19)

254A – ergodic theory (18)

254A – Hilbert's fifth problem (12)

254A – Incompressible fluid equations (5)

254A – random matrices (14)

254B – expansion in groups (8)

254B – Higher order Fourier analysis (9)

255B – incompressible Euler equations (2)

275A – probability theory (6)

285G – poincare conjecture (20)

Logic reading seminar (8)

teaching

245A – Real analysis (11)

245A – Real analysis

245B – Real analysis (22)

245B – Real analysis

245C – Real analysis (6)

245C – Real analysis

246A – complex analysis (11)

246A – complex analysis

246B – complex analysis (5)

246B – complex analysis

246C – complex analysis (5)

246C – complex analysis

247B – Classical Fourier Analysis (5)

247B – Classical Fourier Analysis

254A – analytic prime number theory (19)

254A – analytic prime number theory

254A – ergodic theory (18)

254A – ergodic theory

254A – Hilbert's fifth problem (12)

254A – Hilbert's fifth problem

254A – Incompressible fluid equations (5)

254A – Incompressible fluid equations

254A – random matrices (14)

254A – random matrices

254B – expansion in groups (8)

254B – expansion in groups

254B – Higher order Fourier analysis (9)

254B – Higher order Fourier analysis

255B – incompressible Euler equations (2)

255B – incompressible Euler equations

275A – probability theory (6)

275A – probability theory

285G – poincare conjecture (20)

285G – poincare conjecture

Logic reading seminar (8)

Logic reading seminar

The sciences (1)

The sciences

travel (26)

travel

additive combinatorics

approximate groups

arithmetic progressions

Artificial Intelligence

Ben Green

Cauchy-Schwarz

Cayley graphs

central limit theorem

Chowla conjecture

compressed sensing

correspondence principle

cosmic distance ladder

distributions

divisor function

eigenvalues

Elias Stein

Emmanuel Breuillard

entropy

equidistribution

Erdos

ergodic theory

Euler equations

exponential sums

finite fields

Fourier transform

Freiman's theorem

Gowers uniformity norm

Gowers uniformity norms

graph theory

Gromov's theorem

GUE

Hilbert's fifth problem

ICM

incompressible Euler equations

inverse conjecture

Joni Teravainen

Kaisa Matomaki

Kakeya conjecture

Lie algebras

Lie groups

Liouville function

Littlewood-Offord problem

Maksym Radziwill

Mobius function

Navier-Stokes equations

nilpotent groups

nilsequences

nonstandard analysis

Paul Erdos

politics

polymath1

polymath8

Polymath15

polynomial method

polynomials

prime gaps

prime numbers

prime number theorem

random matrices

randomness

Ratner's theorem

regularity lemma

Ricci flow

Riemann zeta function

Schrodinger equation

Shannon entropy

sieve theory

structure

Szemeredi's theorem

Tamar Ziegler

ultrafilters

universality

Van Vu

wave maps

Yitang Zhang

The Polymath Blog

RSS

The Polymath Blog

Polymath News and AI

Polymath News and AI

Polymath projects 2021

Polymath projects 2021

A sort of Polymath on a famous MathOverflow problem

A sort of Polymath on a famous MathOverflow problem

Ten Years of Polymath

Ten Years of Polymath

Updates and Pictures

Updates and Pictures

Polymath proposal: finding simpler unit distance graphs of chromatic number 5

Polymath proposal: finding simpler unit distance graphs of chromatic number 5

A new polymath proposal (related to the Riemann Hypothesis) over Tao’s blog

A new polymath proposal (related to the Riemann Hypothesis) over Tao’s blog

Spontaneous Polymath 14 – A success!

Spontaneous Polymath 14 – A success!

Polymath 13 – a success!

Polymath 13 – a success!

Non-transitive Dice over Gowers’s Blog

Non-transitive Dice over Gowers’s Blog

Leave a comment

Comments feed for this article

Comments feed for this article

Leave a comment Cancel reply

Cancel reply

Δ

For commenters

To enter in LaTeX in comments, use $latex <Your LaTeX code>$ (without the < and > signs, of course; in fact, these signs should be avoided as they can cause formatting errors). Also, backslashes \ need to be doubled as \\.  See the about page for details and for other commenting policy.

about page

« Gilbreath’s conjecture: a Cramér random model and a deterministic analysis

Blog at WordPress.com.Ben Eastaugh and Chris Sternal-Johnson.

Blog at WordPress.com.

Subscribe to feed.

Subscribe to feed.

Comment

Comment

Reblog

[Reblog]()

Subscribe

Subscribed

What's new

Join 12,125 other subscribers

Sign me up

Already have a WordPress.com account? Log in now.

[Subscribe]()

[Subscribed]()

What's new

What's new

Already have a WordPress.com account? Log in now.

Log in now.

What's new

Subscribe

Subscribed

Sign up

Log in

Copy shortlink

Report this content

View post in Reader

Manage subscriptions

Collapse this bar

What's new

What's new

Subscribe

Subscribed

[Subscribe]()

[Subscribed]()

Sign up

Sign up

Log in

Log in

Copy shortlink

Copy shortlink

Report this content

Report this content

View post in Reader

View post in Reader

Manage subscriptions

Manage subscriptions

Collapse this bar

[Collapse this bar]()