Three Miles Past

Home > Other > Three Miles Past > Page 6
Three Miles Past Page 6

by Stephen Graham Jones


  He let that hang.

  “Dollars?” RJ finally asked.

  “Downloads,” his dad said, licking his lips, excited. “And you know what? Each one of those downloads has his name on it. That afternoon watching his little sister, it got him into MIT, yeah? Full ride.”

  “Ah, the Ride . . . ” RJ said, sliding down from the counter now as well.

  This was where all of his dad’s casual just-hanging-out stories always ended up: some kid getting a full ride to college.

  But still.

  Three hundred thousand downloads? With how many screen refreshes per session?

  Probably a million impressions, easy.

  And even at a tenth of a cent per—you could do some serious bank that way.

  All we needed now was the app.

  ~

  RJ’s great idea was “Naked Leapfrog.” I wasn’t against it, especially as it involved asking Lindsay from Chem to help, but when my mom found our storyboards on the kitchen table that night, we had to have another sit-down with my dad when his shift was up at ten.

  It went the usual way.

  The only reason I got to keep my phone was by arguing that I was testing code on it, for my college applications.

  RJ chimed in too, and threw in a Corvette if the app really took off, if my dad was interested in looking cool.

  “A sports car,” my dad said, and leaned back in what he called his Spartan chair. His no-nonsense chair.

  RJ shrugged, the left side of his mouth eeking over a bit, and, as it turned out for the next twenty minutes, my dad actually had a thought or two about sports cars. Complete with anecdotes and horror stories and statistics. There was maybe even some kind of insurance quote in there.

  I apologized to RJ with what of my face I could—we’ve been friends since third grade, so he got it—and then, slouching across the dark driveway to recompose ourselves in the bushes (one cigarette, maybe two), ash out on RJ’s old dog’s real headstone again, RJ said, “Dude, if only we could have seen that one in the rearview,” and I kind of looked behind us, had to agree.

  People have gotten rich on worse ideas.

  ~

  Most of what we needed for the app we could scavenge from stuff already on the market, though a couple of those took enough hours to crack that night that we probably should have just written them ourselves.

  “And we can’t ask Lindsay?” RJ said, his game keyboard glowing up his face like this was a campfire story we were telling to each other, conditional by conditional, curly bracket by curly bracket.

  “She’ll be all over us once the cash is rolling in,” I told him.

  We hunched back to the coding.

  The app we were building was going to be the definition of elegance. Just because it was so simple, or could be, if we wrote it straight. Not a game, not some stupid trivia, no overlooked system utility or navigation aid for amateur seamstresses, and definitely not another porn scrubber or privacy screen.

  A camera.

  Just that.

  It wasn’t supposed to kill us.

  ~

  What our app would have going for it was what RJ called the ‘chill factor.’ It was what he’d wanted to call the thing, even—nobody else was using it for an app yet—but I talked him down from that particular ledge, pulled us back to the realm of the sane: ‘No Takebacks.’ Even though takebacks was pretty much exactly what our app was about.

  RJ’s complaint about wishing we’d seen my dad’s Corvette lecture coming? We were marrying that to a handheld device, then, if everything panned out, amping it up into a portable haunted house.

  The idea was that, when you had that feeling somebody was behind you, just kind of lurking, waiting—Simms in Marketing taught us this last year: find something everybody alive shares, then winnow that down to a product they can buy—when you had that feeling, you could just ‘check your messages’ or whatever (this is you, calling the app up) then lower your hand back down, the phone still palmed there, and snap a pic of the world directly behind you.

  Which you could already do, sure—the problem with global anxieties is that there’s usually a global fix already in place—especially if you had the know-how to re-assign your shutter to a mechanical button. But, as we tested and found, it took some pretty serious skill and no small amount of dumb luck to keep that camera straight up and down. Pushing that mech button, it turned out it wasn’t just your finger muscles that got involved. Your whole hand tensed up, whether you told it to or not, and right at the wrong moment: when you were pushing the button.

  If you hack into the image stabilization routines and crank them up, they can scrub most of that motion out, yeah. But that just leaves you with a fairly clear shot of whatever you’ve got in the frame. Which is to say that, when you’re not looking, your aim tends to be off. Big surprise, I know. It turned out we were real good at snapping pics of the floor or the ceiling or our own asses, but hardly ever got what was behind us lined up properly.

  Our revolutionary solution, then, was to hook a line or two of code between the phone’s gyroscope and the camera’s shutter, so that the image would only capture when the phone was straight up and down, perfectly vertical, giving it a straight look back.

  As for lateral, though, the side-to-side—well, the app was going to be free, right? The only thing that could correct for that would be . . . a Bluetooth tie-in with a near-eye device strung up like a periscope? some infrared sensor to square the phone with the room? a fisheye lens? We could fake the fish-eye trick anyway, just stretch the image, let it distort out, but that wouldn’t change the original field of view, would just suggest it had been wider than it was, and the market was already spilling over with this kind of sleight-of-hand tomfoolery.

  Finally we just stole another of RJ’s dad’s garage beers, smuggled it to the bushes, toasted Cedric (the dead, headstoned dog), and started in with the field trials.

  The app worked perfectly. Better than we could have dreamed. A thousand people should have thought of this already.

  We took turns trying to sneak up on each other, caught ourselves on film each time, without having to look back. And it was good we ran the tests, too, or we never would have figured out to make the flash optional, and, in case there were some legacy phones out there not playing the game (ours did), we fiddled with the autorotate, to keep the image from getting flipped, because, when you’re trying to catch some slender dude ghosting up behind you, you don’t need to be worried about if you’re phone’s upside down or not.

  The lateral still sucked, of course, but what we’d lucked into there was that, when the washed-out, black-and-whited image of us playing backdoor ninja was only half in the image, it was approximately eighty-five times creepier.

  Score one for the good guys.

  So we went back to the drawing board (RJ’s basement room, the door locked), put a fat-fingered toggle on the flash, dialed up the contrast some, and then spent the rest of our last before-school weekend trancing on how to layer in random pics from the phone’s gallery, the same way those ‘zombie yourself’ apps stenciled gore over your face.

  The difference there, though, was that those apps were more participatory, always asked you to position your face in the dotted green lines, please, and, even with that kind of help, still, the final image kind of sucked.

  The other problem was the random pics being sucked from the phone’s gallery. What if, instead of a snap of your mom cooking hamburgers—we’d just copy her outline over, fill the rest with textured shadow—what if what the app sucked across to pretend was sneaking up behind you, what if it was a pretty sunset, an idyllic windmill?

  So we killed hours and many many braincells coming up with just five stock images to bundle in with the app: a girl crawling on the ‘wall,’ a guy just standing there, a hand starting to reach around some corner, a pair of floating eye smudges, and a simple wisp of smoke you could take to be whatever you wanted, or didn’t want. And we figured how to fade them into th
ese ‘takeback’ shots like they’d been there all along. It was spooky as hell.

  Except.

  One thing you learn, coding, is that there’s always an ‘except.’

  It was RJ who stumbled onto it: when you download those stupid rotating wallpaper apps or one of those ‘innocent maze with a jack-in-the-box zombie’ numbers, there’s always that download lag, where the server’s sneaking those hidden images across. It wasn’t so much that we were worried about people watching the progress bar, keeping a close eye on the running printout right above it—we would, but that was us—it was that, sneaking stuff into somebody’s memory like that, caching it they-don’t-know where, that was a porn move. And even if it was just a machine reviewing our app, not a real person, still, that kind of underhandedness, even if it was all in good fun: we were going to get filtered.

  Never mind that, after our app cycled through all five sneak_up images, the joke’s tired, the app deleted, only rated on how it ended, not how it was.

  We stole another beer, considered things.

  No, a windmill wasn’t scary, even if it was three foot high and sneaking up behind you in the hall.

  No, it wasn’t scary to see that same girl crawling along the side of the hall.

  What we finally settled on, though it was going to slow the process down, was upping the array of stock images from five to a cool hundred, and rigging the recursion such that it would iterate through however many images we made available, really. We were in it for the long haul, after all, and RJ was a serious whiz with fake randomnocity, and me, my job was to strip each of these images down to the bare bones. My goal was to get each down to about five kilobytes, but the wall I ran into was, of course, pixelation, which, unless you’re somehow in the game, isn’t all that scary. So what I finally lucked onto was letting the images swell back up to a whole fifteen kilobytes—they were all greyscale, had some definite blur built-in—but then just scaling them down to micro. Bam: seven kilobytes per, about. We had to dial the smoothing up a bit to compensate, but all in all, it was working.

  All that was left was to push these little sneak_up images into some buried directory online, .htaccess it for all time (though ‘Lindsay’ could probably break in . . .), and we were on to the second round of trials.

  The app was light, it didn’t glitch, it had a hooky name, some promised fun, and we’d left some space at the bottom of each image for all the banners that were going to run.

  “So?” RJ said, standing up from his bed.

  “It’s Sunday night,” I told him.

  Our eyes were bloodshot, our fingertips raw, our pores were exhaling cheese puffs—another weekend gone, lost forever between two curly brackets no one would ever properly appreciate.

  But it had been worth it, too.

  Screw college, right?

  RJ walked me across his driveway, my dad’s security light popping on as soon as we stepped up onto the concrete.

  The app was on both our phones, of course, and our laptops too.

  “Don’t take any pictures I wouldn’t,” RJ said, stopping at the free-throw line to sail an imaginary one in, and I saluted him, spun slow and fake-drunk on my heels—just another sailor, looking for my gangplank home—and leaned into whatever my dad had waiting for me after not checking in all weekend again.

  Tomorrow was the first day of senior year, though.

  There was nothing he could do to me that would matter.

  2.

  By Wednesday, RJ was a ghost.

  Not literally (not yet), but that was kind of just his place in the cafeteria, in the halls, in the parking lot.

  Usually, I’d be right there with him, but somehow the Life Sciences I was having to make up from sophomore year, it had taken off. Mostly because I wasn’t the only one having to make it up.

  Lindsay was in there too. My new lab partner.

  It was taking me longer and longer to get ready each morning. My dad would grumble over the breakfast table about the girl I was becoming, and how pretty I was getting, and I’d just chew, swallow, and float to second period again.

  I’d like to say I had no illusions about Lindsay and me, about homecoming and prom and life, but it went way past that. I was neck-deep in that particular fantasy, and sinking fast.

  At lunch I found RJ, leaned in, told him my plan.

  “Her?” he said back.

  Her phone was newer, brighter, better, was supposed to be harder to hack. I wanted to try the app there, if she was game.

  “Maybe we’ll play some Naked Leapfrog too,” I told him, shrugging, trying to come off more lecherous than I was.

  “I put a text button on it,” RJ said back.

  “Link-with-attachment, right?” I said, suddenly concerned.

  He didn’t dignify that.

  Of course it would be link-with-attachment. Trying to build our own cute little text program inside our app, we’d have to be poring through different carriers’ protocols, asking permission for this, not stepping on that.

  “What about the Lonely Brigade?” I asked.

  It was our code for the social networks.

  “You think?” he said, kind of doing his sneer thing.

  We were really talking now. Like it had always been.

  “Why not?” I said. “That’s where we want the pics to show up, don’t we?”

  “There’s no revenue for second-hand impressions,” he said. “You know that, right?”

  Because there would be no real way to track them.

  “But we can brand them, anyway,” I said. “Just clear-letter, discrete. Directing them back to the app, keeping it part of the chain, all that.”

  RJ shrugged one shoulder, was watching somebody across the cafeteria.

  It was Lindsay. I could tell by the way he let his eyes keep skating past her.

  “Remember that toddler game?” he said, coming back to me. “That my dad said?”

  “Red light, green light. Go directly to college.”

  “That’s all he could use it for, wasn’t it? For his MIT application. Because—putting banners on it would be stupid, wouldn’t it? Who advertises to babies?”

  I blinked, focused.

  He was right again.

  “But we’re not like that,” I said.

  He shook his head no, agreeing with me.

  But still.

  That guy, that app, he was our origin story. And now it was hollow. Now he was somebody we’d make fun of.

  “Think the app’ll scare her?” he asked then, catching my eyes for a flash.

  “You sleeping, man?” I asked back.

  “Jump right out of her pants, right?” he went on, then lifted his chin to get me to look.

  It was Lindsay, maybe two steps from us, balancing her water-with-lemon, her salad.

  She smiled, twirled past, biting her lip in hello and doing something impossible with her eyebrows.

  “Life Science,” RJ said, not watching her walk away. “What’s homework going to be like for that, you think?”

  “Exactly,” I said, and brushed past him, my eyes glued.

  ~

  Two days later, RJ started texting me some of the new takeback images he was generating.

  I was in the library with Lindsay and two of her friends. But mostly with Lindsay. At least in my head.

  So far I’d agreed to show her where she could nab papers online, places the faculty didn’t know about. I was going to show her where all the good music and movies were, too, but was going to space it out some. Surprise her on Thursday with what wasn’t in the theatres until Friday, that kind of stuff.

  You use what you’ve got, I mean. This was my one chance.

  And now RJ was helping.

  I looked at the image he’d flashed across, then lowered it under the table, scanned both ways to see if any teachers were close.

  “What?” Lindsay said.

  Her dad wouldn’t let her load any apps he didn’t scan first, as it turned out. The human virus checke
r, as it were.

  But when you’ve got a daughter like that.

  “Give me your number,” I said to her—that easy—and bankshot the image off a tower two miles a way, drilled it back under the table, to her phone, balanced right there on her thighs.

  It was a takeback pic, sure, but RJ had done something different, had twisted the code back on itself somehow.

  Behind the washed-out version of his long hallway was the crawling girl. She wasn’t on the wall anymore, though, but the floor. And not floating two feet above it like could happen, but right on the surface of the carpet, reaching forward along it like a cat, her face just blank.

  Lindsay dropped her phone. It rattled under the table.

  More, I texted back to RJ.

  We were going to be so rich.

  I thought that was the only way things could go, yeah. There’s going to be an empty seat at graduation now, though.

  Maybe two.

  ~

  By the beginning of the next week, RJ was a star, at least on the cell networks. Instead of a ghost, now he was dragging a fuse. Like he’d weighed his options, studied the landscape of his life, considered the future, and made the measured decision that senior year, we were all going to know his name. One way or the other.

  Let me say here that I never took credit for the images he was getting the app to produce.

  I’d had a hand in the initial program, had spent a hurried two hours parsing through the code with him on Saturday, his dad grilling steaks for us in the backyard, but that was just maintenance and bugkilling, trying to get it all to spec before we took it live.

  Before we could do that, though, we had to nab a domain—it was actually available, and, because it was for ‘college,’ his dad floated us twenty-four months on his card, base package—we had to stake out some freebie bulletin board, complete with set-up and faq threads, each of us set up as boss moderators. We were also supposed to write up little backstories for ourselves, to attach faces to the app.

 

‹ Prev