God Does Not Play Dice. We Built Software That Does

quodeq1 pts0 comments

God Does Not Play Dice. We Built Software That Does. — quodeq blog

Essay 08 &middot; July 2026 &middot; 10 min<br>God Does Not Play Dice. We Built Software That Does.

Einstein lost the argument about a probabilistic universe. Software has just lost the same one. What that costs, what scale buys back, and where the road forks.

Victor Purcallas Marchesi

1,982 words

Reliable systems do not erase uncertainty. They decide where it can matter.

On 4 December 1926, Albert Einstein wrote to his friend Max Born and lost his temper in<br>the most polite way available to him. The new physics was impressive, he admitted. It<br>produced results. But something inside it was wrong, and he could not let it go.<br>"Jedenfalls bin ich überzeugt, dass der Alte nicht würfelt."<br>In any case, I am convinced that the Old One does not play dice.

What offended him is easy enough to say at a dinner table. The new theory claimed that at<br>the smallest scale, nature does not decide in advance. You cannot predict what a particle<br>will do, only the odds of what it might do. Einstein was certain this meant the theory was<br>unfinished, and that somewhere underneath there had to be real machinery making real<br>decisions.

He was wrong.

It took forty years to design a test that could settle the question and thirty more to run<br>it without loopholes. In 2022, Alain Aspect, John Clauser and Anton Zeilinger<br>won the Nobel Prize<br>for the answer. There is no hidden machinery, unless you are willing to let it work faster<br>than light. Einstein spent his final decades defending a universe that does not exist.

I think about that letter more than I expected to. Not for the physics, which I am not<br>qualified to argue about. For the offense.

Same input, same output

Software made a deal with determinism very early and never renegotiated it.

The promise came from Newton. If you know what a system is made of and the rules it<br>follows, you know exactly what it does next. Everything we built sits on top of that. Lock<br>files, so today's build matches last month's. Tests that go green or red and mean it. Tools<br>that walk backwards through years of history to find the change that broke something, which<br>only work because the past is fixed.

Same input, same output. That was the deal.

Then we put an AI model inside it.

The usual first reaction is to turn the model's creativity setting to zero and assume that<br>solves it. It does not. In September 2025 a team at Thinking Machines Lab<br>asked a model the same question one thousand times<br>with the randomness switched off. They got 80 different answers.

The reason is worth sitting with. Not creativity, and nothing mysterious about neural<br>networks. Arithmetic. The chips give slightly different results depending on how much work<br>they are handling, and that depends on how many other people happen to be asking the same<br>server something at that moment.

Your answer depended on strangers.

The engineers resisting this are not being nostalgic. Spend fifteen years learning to build<br>systems that behave the same way every time and suspicion is the correct reflex. But<br>quantum mechanics never killed Newton. We still fly spacecraft on classical mechanics,<br>physics learned to work both sides of the argument rather than settle it, and a century<br>later there is still no theory of everything. Software is heading somewhere similar, and I<br>am fine with that. You do not need a theory of everything to ship on Friday.

The auditor had a bad Tuesday

Here is the part that took me longest to see, and once I saw it most of the anxiety went<br>away.

We were never deterministic either.

Put the same code in front of two senior engineers and you get two different reviews. Put<br>it in front of the same engineer on Monday morning and again on Friday at six, and<br>you still get two. An auditor flags whatever their attention, their last incident and their<br>blood sugar make visible that day.

Nobody has ever run a code review twice expecting the outputs to match. If a colleague<br>handed you identical comments on two passes a month apart, you would not be reassured. You<br>would assume they had stopped reading.

And notice what we did about that. Nothing.

We never asked humans to become reproducible. We built the process around them instead.<br>Developers used to be artisans, everyone with their own tools and their own way of working,<br>and then we industrialised without much noticing: shared builds, linters, mandatory review,<br>staged rollouts. None of it made anybody deterministic. It decided where each person's<br>judgment was allowed to matter. The<br>surgical safety checklist<br>does not turn surgeons into machines, and nobody wants it to. Industrialisation was never<br>about removing the human, but about designing a chain where unpredictable humans could<br>still produce a reliable car.

We never made reviewers reproducible. We built a process that gave their judgment a place to matter.

A different colleague in every language

What I did not expect is how literally the comparison would hold once...

built software never play dice einstein

Related Articles