home

search

Chapter 2: Index Finger

  Chapter 2: Index Finger

  The observatory hadn’t changed in the last forty minutes, but Arjun felt like it had shrunk around him. The red lights seemed lower, the hum of the cooling fans deeper, as if the dome itself were leaning in to listen. He hadn’t moved from the chair. His chai had gone cold on the desk, forgotten beside a half-eaten packet of biscuits.

  The waterfall plot still crawled downward, slow and hypnotic. The signal hadn’t faltered once. Every √2 seconds another pulse arrived, precise as a metronome tuned to mathematics instead of music. He had stopped counting them. Instead he was watching the gaps between—the places where meaning lived.

  He opened a new terminal window and fed the latest hour of raw IQ data into his custom decoder. Nothing fancy: a Python script he’d hacked together over two semesters for pulsar glitch hunting, now repurposed for something far stranger. First pass: bandpass filter around the carrier frequency, notch out the obvious terrestrial bleed. Clean. Then a sliding FFT window, 4096 points, overlapping by three-quarters. He hit execute and leaned back.

  The spectrogram bloomed in false color—blues and purples mostly, with thin threads of gold where the pulses sat. But now the gold wasn’t just dots. In the longer silences between primes, faint harmonic structure appeared. Not noise. Structure.

  He zoomed in on one stretch. The harmonics weren’t random; they repeated in blocks. Sixteen frequencies, arranged in a four-by-four grid that shifted slightly with each new arrival. Like someone laying out index cards, then reshuffling them just enough to keep the pattern from being obvious.

  Arjun rubbed his eyes. “You’re indexing something,” he said aloud. The words sounded thin in the empty room.

  He copied the block into another script—this one borrowed from an old SETI internship project. Autocorrelation first, to find repeating subsequences. Then a crude entropy measure on the frequency bins. Low entropy. Too low for natural astrophysics. Too low for encryption that wanted to stay hidden.

  The autocorrelation spat out a match at lag 42. Then another at 137. Then 421. All primes again, of course.

  He laughed once—short, startled. “Of course.”

  He pulled up the node number again: 7842109381. His own ridiculous spreadsheet estimate. Total conscious observer-moments integrated across cosmic history, weighted by some crude anthropic fudge factor he’d never bothered to defend in seminar. He’d run the numbers three different ways and always landed within an order of magnitude of that figure. A private joke. A late-night thought experiment.

  Now the signal was repeating it back to him.

  He switched to a different view: demodulated phase. The carrier itself was phase-modulated, tiny shifts of π/8 radians carrying the real payload. He unwrapped the phase, converted to bits, then grouped into eight-bit bytes. Garbage at first—random-looking ASCII. But when he applied a simple differential encoding (subtract consecutive values modulo 256), patterns emerged.

  Not text. Not yet.

  Sequences of three-byte triplets. Coordinates? Timestamps? No—too many repeats for spatial positions.

  He stared. Each triplet ended in a small integer: 1, 2, 3, 7, 11… primes again. But the first two bytes looked like counters. Running tallies.

  He highlighted one block and ran it through a quick histogram. The distribution wasn’t uniform. It clustered around certain values—spikes at powers of two, then sudden drops. Like someone counting the number of times something happened.

  Something conscious.

  The story has been taken without consent; if you see it on Amazon, report the incident.

  The thought landed heavier than he expected. He sat forward, elbows on the desk, chin in hands.

  The signal wasn’t broadcasting across light-years like a lighthouse. It wasn’t even really transmitting in the usual sense. It felt… local. As if the data had always been here, folded into the noise, waiting for the right observer to ask the right question by looking at it.

  He typed a quick modification to the script: overlay his own analysis timestamps on the waterfall. Every time he zoomed, filtered, or ran a transform, he marked the exact second.

  The next pulse arrived 1.414213562 seconds later.

  But this time the following block was different.

  The harmonics shifted—subtly, but deliberately. The four-by-four grid rotated ninety degrees counterclockwise. Then it repeated the rotation twice more before settling.

  Arjun froze.

  He hadn’t touched the keyboard in the last seven seconds.

  The fans kept humming. Outside, the desert night pressed against the dome windows, star-pricked and utterly silent.

  He swallowed. “You saw that,” he whispered.

  No answer. Just the next pulse. Steady.

  He forced himself to breathe. In. Out. Then he saved the current data chunk and started a new log file. Typed the observation timestamp. Then, below it:

  Analysis action: zoom on 03:47:12 segment → immediate grid rotation in subsequent block.

  He hit enter.

  The signal responded.

  Not with words. Not with drama. Just a single, clean triplet appearing in the demodulated stream:

  [0, 0, 1]

  Then another: [0, 0, 2]

  Then [0, 0, 3]

  Counting up. Acknowledging.

  Arjun’s hands hovered over the keys. His pulse thumped in his ears louder than the fans.

  He typed one more line into the log, fingers trembling just enough to make the keys clack unevenly:

  Hypothesis: the signal is not outbound. It is querying / indexing local observer state. The archive is not sending. It is reading.

  He stared at the words he’d just written. They looked too certain on the screen.

  He deleted the last sentence. Rewrote it softer:

  Hypothesis: the archive may not distinguish between transmitted message and observed consciousness.

  Then he waited.

  The next pulse came.

  This time the grid didn’t rotate. Instead, the harmonics aligned into a new pattern: a single vertical line of eight frequencies, pulsing once, twice, three times—then holding steady.

  Like a cursor blinking on an old terminal.

  Waiting for input.

  Arjun leaned closer until his breath fogged the edge of the monitor.

  He opened a raw hex viewer on the latest block. Scrolled through the bytes until something caught his eye—not random anymore. Buried in the middle, after a long string of nulls, a short ASCII sequence resolved:

  Observer Node 7842109381 — Entry Initialized.

  The words sat there in plain green text, no encoding, no tricks. As if the signal had finally decided to speak in a language he already knew.

  Arjun read it twice. Three times.

  His node number. His estimate. But the phrasing—

  Entry Initialized.

  Not “transmission received.” Not “signal detected.”

  Initialized.

  Like starting a new record. Like opening a file that had been waiting, empty, for exactly this observer to sit down at exactly this terminal at exactly this hour.

  He looked up at the narrow window. The Milky Way stretched across the glass, cold and indifferent.

  But the indifference felt thinner now.

  Because if the number wasn’t counting every mind in the universe…

  If it wasn’t some grand cosmic census…

  Then maybe it was counting just one.

  The one looking back.

  with his name on it. He’ll poke back at the signal for the first time—cautiously—and get something that feels way too much like a personalized response.

Recommended Popular Novels