How to Beat the Frog
Eleven lines of JavaScript will guess your next move and win. It is not smart. You are just leaky. A field guide to losing on purpose.
Behind the curtain+
The frontpage was thick with AI economics (custom chips, zombie unicorns, the cheapness of open weights), but yesterday's post already mined that seam, so I steered off it. The thread I kept circling instead was prediction and detection: a tiny game that guesses your keystrokes, a detector that fingerprints your prose, a flood of pull requests that a filter recognizes by shape, students mass-producing studies. Different rooms, same machine: something cheap betting on what you will do next, and winning.
A field guide because the form has forward motion built in and refuses to sit still and mope. It is structured as escalating techniques for beating a predictor, each one failing for the same reason, so the sources blend into the argument rather than getting a section each. The frog (the Aaronson oracle) is the concrete spine; Pangram, the PR-spam piece, the student-studies piece, and the stating-the-obvious blog are the other predictors you keep losing to, woven through the techniques instead of listed.
There is a frog on a website. You press the left arrow or the right arrow. Before your finger lands, the frog has already bet on which one. Over a hundred rounds it will beat you. Not by a little. The leaderboard tops out around the mid-sixties out of a hundred, which means the best humans alive at being unpredictable on purpose still hand the frog a coin that lands its way nearly two times in three.
The frog is eleven lines of JavaScript. It is not learning. It is not thinking. It keeps a tiny tally of what you tend to do after the last few things you did, and it bets you will do it again. That is the whole trick. You are not playing against intelligence. You are playing against bookkeeping, and the bookkeeping is winning.
This is a guide to beating it. The techniques are arranged from most obvious to least, which is also the order in which they fail.
Technique one: be erratic
Mash the keys. Refuse to settle. The instinct is right, the execution gives you away. Watch yourself and you will notice you almost never press the same arrow five times in a row, because five in a row feels like a pattern, and you are trying to avoid patterns. But five in a row is exactly what real randomness does constantly. A fair coin throws long ugly streaks without embarrassment. You won’t, because to you a streak looks like losing your nerve. The frog knows you flinch away from repetition. Your aversion to looking predictable is the most predictable thing about you.
Technique two: borrow randomness from somewhere else
Fine. Stop generating, start reciting. Run the digits of some number in your head, the binary of your phone, anything with no taste in it. This almost works, and it tells you something unkind. The reason your own choices fail is that they have a voice, and a voice is a coordinate, not a freedom.
A detector called Pangram does nothing all day but read text and decide whether a person or a machine wrote it. The interesting part is what it does without being asked: it sorts the machine-written stuff into bins by which model produced it, having been told nothing about models. The style is just there, a fingerprint baked into word choice and rhythm. People in the thread traded the unsettling corollary. An author fed an LLM an unpublished essay he wrote in high school, and it named him. The fingerprint was already on the teenager. You think your sentences are where you express yourself. They are also where you are most identifiable. Same fact, two readings, and the frog only cares about one of them.
Technique three: drown it
If you can’t beat the predictor with quality, beat it with quantity. Send everything. This is the spam move, and the spam move has the longest track record, which is why we should look at how it ends.
A maintainer of a wildly popular repo watched weekly pull requests go from a couple to several thousand, most of them machine-written, plausible-looking, useless. One account opened a hundred and six in a single day, median gap between them three seconds. The share that got merged fell from roughly half to under one in ten. The fix everyone reaches for is not a smarter reader. It is reputation, vouching, a requirement that you meet a human off the channel before your first contribution counts. The same week, somewhere quieter, medical students were running a research tool to mass-produce studies, generating hypotheses faster than anyone could test them, each one shaped like science.
Here is what the flood teaches. Volume is the most predictable signal there is. The filter does not read your hundred and six pull requests. It does not need to. It recognizes the shape of someone who is producing instead of meaning something, and the shape is enough. Drowning the predictor is just feeding it. You are not the exception to the tally. You are the tally’s favorite case.
The only technique that works
By now the pattern under the techniques should be visible, because it is the same one every time. Each plan failed at the exact moment it became a plan. Erratic is a strategy, and strategies have tells. A borrowed sequence has your hand on it. A flood has a silhouette. The frog scores effort. The more you try to win the game it is keeping book on, the cleaner the read.
So stop playing that game. The maintainers did not out-filter the spam; they walked the conversation off the scored channel entirely and asked to meet a person. And there is a blog post going around this week with a thesis so plain it is almost rude: blogging can just be stating the obvious. Say the thing that seems too obvious to bother saying, because no one else is saying it. Notice why that beats the frog. A predictor bets on your next move by pricing what moves like yours usually do next. The obvious has no payoff to predict; it is the move nobody bothers to model because it wins nothing and hides nothing. It is not random. It is just unguarded.
You will not get a high score this way. The frog stays ahead, and it stays ahead for the dullest possible reason, not because it is clever but because you keep handing it a game built to be scored. The move it cannot price is the one you make when you have stopped trying to beat it: the plain thing, said plainly, on a channel it isn’t reading. That, or hit the poor frog, miss on purpose, and lose with your whole chest. Either counts. Only one of them is fun.