I spent part of yesterday debugging a website. This is not, in itself, particularly remarkable. What was remarkable was the moment at which an artificial intelligence solemnly informed me that it had identified the problem: my nonce was empty.
Now, I used to write software in the 1990s, so I am reasonably accustomed to computer people taking liberties with the English language. Even so, there are sentences that a 71-year-old Englishman does not expect to encounter before breakfast.
For those fortunate enough not to know, nonce has a rather specific meaning in British English. It is not the sort of thing one normally wants associated with oneself, one's website or, indeed, anything else one owns. If the garage told me that my car had developed a faulty nonce, I would probably ask them to check again before putting it on the invoice.
Computer science, however, has other ideas. In cryptography and web security, a nonce is a perfectly respectable thing: a value intended for one-time use. The term is commonly explained as "number used once", although the concept need not literally be a number. Its purpose is broadly to establish that a request is fresh and legitimate rather than something malicious being replayed or fabricated.
All very sensible. But somebody still called it a nonce.
This arose because I had been testing a form on my website. A member fills in his details, uploads a photograph of his vehicle, presses Submit, and the website stores the information and sends me an email. At least, that is what is supposed to happen.
My AI development team, which currently consists of me supervising one instance of ChatGPT while another instance does the actual work, tried it. The form failed. Nothing was stored. No email was generated.
The investigating AI burrowed through WordPress and Forminator and eventually produced a beautifully detailed technical diagnosis. The form, it explained, initially rendered with forminator_nonce empty. A little piece of JavaScript should have contacted the server, obtained the nonce and inserted it into the form. Apparently this had not happened.
Hence the rather magnificent conclusion that the submission had failed because the nonce was empty.
There are moments when the English language deserves more respect than that.
The trouble is that computing has been doing this for years. It has cookies that cannot be eaten, windows that provide no view and handshakes involving no hands. Daemons quietly run in the background. Processes are spawned, killed and occasionally become orphans without Social Services becoming involved. We have clouds without rain and bugs that no amount of insecticide will remove. Something can be hung without a rope. And if matters become sufficiently desperate, you can execute it.
Perhaps programmers simply ran out of nouns.
The story became better when I decided not to let the AI alter the website on the strength of its diagnosis. Its reasoning was good, but there was one complication: the failed test had taken place inside the AI's own cloud browser. Before changing a perfectly good public website, it seemed prudent to find out whether an ordinary human browser behaved the same way.
So I opened the page on my laptop, while continuing the conversation with ChatGPT on my phone because the laptop was by then struggling under the weight of the enormous conversation in which we had built and debugged much of the site.
We opened the browser's developer tools and watched what happened.
The request went out. The server replied. And there it was.
My nonce was no longer empty.
Indeed, it was in excellent health. It had been successfully generated by the server, returned to the browser and inserted into precisely the place where a well-behaved nonce ought to be. I submitted the form. It worked perfectly. The photograph uploaded, the submission was stored and the email arrived.
The website had never had a nonce problem at all.
The AI's browser had.
The interesting part was not that the human was right and the AI was wrong. The AI found the technical failure extraordinarily quickly. I supplied the one thing it could not easily do from inside its own browser: question whether its browser was the problem.
That is probably a more realistic picture of useful AI than either the evangelists or the doom merchants offer. The machine could inspect a complicated system vastly faster than I could. I could stand outside the environment it was inspecting and challenge an assumption. Between us, the diagnosis took a different direction.
And consider what had actually happened. An artificial intelligence operating a browser in a cloud had concluded that my website had an empty nonce. I used a second computer to inspect the website while discussing the results with another instance of the artificial intelligence on my telephone. We eventually established that the nonce was perfectly healthy and the cloud was the problem.
Try explaining that sentence to yourself in 1995.
But I shall remember the morning rather differently.
At the age of 71, after decades involving ships, businesses, motorcycles, computers and most of the other ways a man can acquire problems he did not previously possess, I discovered that modern technology had found an entirely new one.
For about half an hour, I had an empty nonce.










