The phone wakes him before the laptop does. Tommy squints at the screen: at the top, in the chat with Tom2036, there is a fresh image. Not a word more — just a meme, straight in the face.
“Again with your riddles,” Tommy mutters and smirks.
He knows the story: back at the dawn of cryptocurrency, someone gave away a pile of bitcoins for two pizzas — bitcoins that would later be worth a small city. He overpaid for nonsense and did not even notice. Tommy swiped a finger — the image slid upward. Tom2036 always throws something weird in the morning: pizza today, something else tomorrow. Just a morning hello.
He drags himself to the desk and wakes the laptop. On the screen is a small showcase of wins: a tab with a polished Snake, which he had recently run through review and voiceover, next to an internet-hosted landing page, a little farther 2048 and Tetris. Everything works, moves, some of it already lives on the internet. A month ago, he would not have dared even dream about that.
Tommy clicks Snake, runs it for a couple of seconds, opens 2048, closes it. The scores rise, the tiles merge, the buttons on the landing page get clicked. And all of this changes only because he himself had already designed the rules and baked them into the code. He moves the cursor from tab to tab and catches himself on the fact that nothing inside stirs. Beautiful. Alive. And — quiet. None of these windows knows anything about the real world outside. Everything is too predictable, so to speak: only what he himself put in.
Like an aquarium, he thinks. The fish swim, but they are his fish, and the water is what he himself poured in.
And then it finally gets him for real. These days everyone is battling it out online, all together. And he is cranking out toys for one person. He wants something that thousands would play at once — like in Pokémon GO: you go outside, and the game knows what is really around you. Something really cool. Or at least a simple app that pulls something from the real world into itself. So that today the screen shows one thing and tomorrow another — not because he tweaked it, but because something outside really changed.
He closes the tabs one by one and goes to Alex.
First they go through the most obvious ideas.
“Weather,” Alex suggests.
“Too banal,” Tommy cuts him off. “That is the first thing any beginner builds. And you can see the weather out the window. Keep going.”
“Traffic jams on the roads.”
“Solid. But gray and office-like.”
“The world population counter?”
“Warmer. But it does not catch the eye.”
Tommy spins a pencil, looks at the ceiling. He needs something that happens on the planet by itself, without him, and is obvious at a glance. And bright.
“Earthquakes,” he says slowly, still not quite believing it himself. “A world map. And on it, real tremors flash up. Right now, where it is shaking.”
“Oh, now that is hot.” Alex perks up. “Earthquake Radar. Let us call it that.”
The name appears in his head immediately with a picture: a dark map, living dots, a pulse, like on a dispatcher console. Tommy is already imagining opening it in front of someone: “Look. These are not placeholders. This is really happening right now.” An earthquake either happened or it did not — you cannot draw it like a game score. Cool thing.
And, as always, he cannot wait: he immediately messages Sam, without even thinking it through — almost with excitement:
“Sam, listen, can we make it so there are real earthquakes on the map. Will you do it?”
Sam usually picks things up from half a word. But here — no.
“I will not,” Sam answers. “More precisely, I can draw you the prettiest dots. But they will be fake earthquakes. The program itself does not know where the ground is shaking right now. In games I knew everything: the timer, the score, the positions of the pieces — it was all generated right in the code, there was something to take from, straight from inside. But earthquakes have nowhere to come from inside the project. Give me a real data source — you will get a real radar. Do not give me one — you will get pretty fakes.”
Tommy types out a reply, deletes it. Something unpleasant twinges inside. He was used to thinking that Sam was omnipotent: until now, Sam had done absolutely everything he was asked. And here — a wall. And even Sam cannot jump over it himself: he does not know the weather, the dollar exchange rate, or tremors on the other side of the world. Until someone connects a real data source to the project.
flowchart LR Q["I want: real earthquakes
on the map"] --> S{"Does the program have
a real data source?"} S -->|"no"| F["Pretty dots —
but fake"] S -->|"yes"| R["A real radar:
changes with the world"] F -.-> N["Next question:
which data do we need
and where to get it?"]
And a quick thought flickers off to the side: if he learns to make things with live data, that is a completely different level. For that, probably… Later — first things first.
He goes back to Alex, but now with a different question. Not the vague “I want something real,” but a specific one:
“All right. Which data exactly does the radar need — and where do you even get it?”
“Oh,” Alex replies. “That is where you should have started.”
GO TO FULL VERSION