The circuitry from the other robot has passed analysis with a perfect score. There’s nothing wrong with the electronics. Something must be goofy in the code, but why would the problems start out of nowhere? I set the malfunctioning robot on the ground, and pull up a new display.
It’s time to scan the code again, line by line, and figure out what is going on with the robots. Maybe Paul deliberately sabotaged them to keep me from finishing school. Whatever the problem, I need to find it, and fast. I don’t want to be the one stuck with a non-conformance for all this nonsense.
“Robert.”
“I’m working on it.”
“What happened to that one?”
“It turned retarded. Look, I’m a little busy, okay?”
“Alright, alright. I just thought I would let you know. I talked to the general manager for this area. He said the glitches are happening in several buildings, not just here.”
I sit up and spin to face him. “Several?”
“Yep.” He pushes his glasses up on his nose. “The screw ups are happening with other electronics too, not just with our robots. Wall displays, audio equipment, even some laboratory machines. The glitch is affecting the entire network. Try to concentrate on your normal maintenance. Someone else is working on it.”
He walks back to his cubicle office, leaving me feeling as though I’ve wasted my whole day tearing down these machines and checking code, when the source of the problem was never there. I look over the maintenance schedule and sigh. The glitches have also increased wear and tear on the machines. I send out the signal code for any bots needing service to return home, while looking over the long line already waiting.
I pick the electronics pack out of the one that punched me, and plug it in to the analyzer, and then start toiling away on the others. The computer runs a quick diagnostic, and the test comes back negative. Nothing wrong, just like the other one. I wipe the shell down with a rag and send it back to work, while the others continue filing in. I’m in for a long night.
***
When 1700 arrives, my preset alarm goes off. I have one more bot to disassemble, and the cleaning process will take a while. I tear it down, and dump the parts in the hoppers. I activate the cleaning protocols, and zip out of the shop without a word. I have things to do.
Activity in the store is pretty low. I trot through the aisles, rushing into the lift before the door closes. A man in a business suit stares at me while I try to reign in my heavy breathing.
“Two,” I say, and the lift accepts my command.
“Rough day?” asks the man.
I stand up straight and pop my back. “Kind of.” I eye his attire. Persistent clothing isn’t something that everyone wears. There’s a lot of cleaning and work with clothes that don’t come from a wall printer, and the fabric is pricey, so tossing them in a recycler is out of the question, which means necessary closet space, and a bigger apartment.
“I’m about to finish school. One of these days I’ll get a job where I don’t have to rush about. A better job, with more money. Might even be wearing some of those nice shirts.”
The man laughs. “Don’t be in too big of a hurry, kid. There’s plenty of rushing in the professional world too. It ain’t all it’s cracked up to be.”
“You sound like someone who’s never worked bot maintenance.”
“I haven’t. Actually I used to work in sewage treatment.” The lift stops and the doors open. “Don’t worry kid. Finish school, and you’ll get everything you’re after.”
“Thanks.”
I turn while exiting the lift, and dart toward my apartment. I grab a quick shower, print off some fresh clothes, and by the time I’m ready to brew up the tea, I realize that I haven’t seen or heard from Amanda. Is she still coming?
Call Amanda. A dialing panel shows up on the kitchen island with several possibilities for who I might mean by Amanda. I tap an image of her face. The call rings three times before silencing. My insides go hollow. I print out some quick biscuits and head to class.
***
I walk in, scanning, but there’s no sign of her. I try to dismiss the thought, but it’s impossible. I find a spot to sit down among several frustrated faces. The other students are rarely happy to be here, but today they look particularly upset, and I find myself wondering if I missed something on the feed.
I pop in my ear buds, and start the next lesson. For some reason, thoughts about Amanda continue to invade my mind like a virus. Perhaps it’s too much to hope that she would dump Mike and align herself with me.
As I start the first quiz, I realize that I’ve retained nothing from the course.
Several red X’s dot my quiz as I fail at question after question. Before I can submit the last sheet of questions, the screen goes black.
“What the crap?”
“There it goes again,” says one student.
“I can’t do this today,” says another, standing up.
Around the room, several of them are dropping ear buds in pockets, and the light of the console catches my eye. The test has been reset, and the lecture begins again. It didn’t save any of my missed answers.
Maybe it’s for the best. Maybe it’s a sign. Everything in the building is acting screwy, and I have a second chance at this. I try to push Amanda out of my mind, and focus.
I sit through the entire lecture again. When it ends, I manage to squeeze out a passing grade. There’s only one class left to go, and aside from a couple screen flickers, nothing standing between me and graduation.
And then she sits down to my right. I sweep the room for any sign of Mike, and then lean close. “What happened? What’s up?”
She turns to me, with a stain of redness on her neck. “Sorry I couldn’t make it earlier. I was a little busy.”
“What happened there?”
“Where?”
I point to the bruise. “You have a mark on your neck.”
“What?” She rubs her hand across the spot. “I don’t know. One of those machine parts must have hit me. I’ve been working on coffee machines all day. I must have bumped it. Doesn’t hurt though.”
Her cheeks darken, and her pupils refuse to meet mine. “I’m sorry. I forgot about our tea, um, time. I’ve been preoccupied.”
“I didn’t see you at work either.” A numb tingle runs from the inside of my arms, across my belly, and down my legs. Mike did this to her, and I’m so sure that I begin fantasizing about some way to get him on the agents’ radar, so they can beat him with their electric clubs. I imagine myself punching him in the face. If I get the first swing, maybe I’ll have a chance.
Amanda continues, “I was probably in the back. I told you, I was fighting coffee machines. They kept acting strange. We need to have them serviced tomorrow. I feel bad for blowing you off. Maybe we can do tea after we finish studying?”
“Sure.”
“Okay. Now, what’s wrong with these screens?”
My implant chimes with the annoying ring it puts in my ear when someone is trying to contact me. I mentally project the call on to the school display. Paul appears in the frame.
“Hey Robert. We’ve got a problem. How fast can you be back down here?”
“In the shack?”
“I need your help. This won’t wait till tomorrow. Something is really screwed up.”
“Okay, I’ll be there in a few.”
The call disconnects and my eyes return to Amanda.
“Guess I’m not the only one having a rough day,” she says. “Does that mean no tea tonight?”
“Call me when you finish studying. I might be done by then, and I’ll be ready for a dozen cups to dissolve the day.”
“Okay,” she smiles. “Good luck at work.”
SEVEN
I burst through the double doors of the maintenance shack, speaking loud enough to prick his ears from across the room. “What’s up?”
I enter Paul’s office, and his fingers are wiping across the wall. His blips must not be
moving the way that he thinks they should.
“I got a call from one of the agents in the building that a bot struck another customer. I’m poring over the code, but not seeing anything. I need to take a break, and I want to get another set of eyeballs on this.”
“You called me down to take a break, after hours? I thought you said it was a network infection.”
“I called you down, because I don’t want to wake up to injured customers in the morning. I’m trying to integrate a subroutine that will stop this crazy behavior until the larger problem is fixed. If we don’t figure something out, then I’ll need to turn them off all night. The market looks clean enough, but I’d prefer to have them on duty to keep things in order for midnight shoppers. Especially with all the fighting lately.”
“What can we do? The glitches are screwing up the computers at school, too.”
“Scan the code again. Just look it over. Maybe we can pull from an older code base with more basic instructions. I don’t know. I need coffee.”
He climbs out of the seat and brushes past, leaving me in an empty office with no idea how to proceed, or what he expects me to find. There isn’t anything wrong with the code. I catch myself on that thought, and search through my own files for time and date of the last update.
His chair reforms to my shape, hugging my legs. On the wall, my fingers carve out a corner of space with my personal files in view. Every file has a trace history: a list of modifications, time stamps, and even backed up data. This meta-data can take up more network space than the file itself. I pull the most relevant code file and check it, seeing precisely what I expect.
I access the company server, and compare timestamps with the last time a real change was made. It must have been several weeks ago, when I adapted the software to recognize a new food label. I pull all the code backups from immediately after that modification, and place them in a temporary folder.
When compiled into machine language, the code is the same. Identical. Any differences are found only in the comments, which the final program converts to a form that robots can understand. Comments are ignored. Paul appears at the door.
I shake my head. “It’s not the code.”
“Well,” he says, “It isn’t mechanical or electric.”
My vision drifts to his wall map. The aisles of the market are arranged in straight lines, little dots zip this way and that, and from this console, he can issue them specific directives. What kind of garbage instructions have you been sending to my bots?
“So,” he continues. “If nothing is wrong with anything, why are we having problems?”
Without looking, I know he’s pushing those stupid round chards of polycarbonate up on his nose, and doing that silly little rabbit wiggle with his mouth. Meanwhile on the wall, his directives aren’t showing anything that should upset the robots. Another dead end.
“Do you suppose someone is deliberately tampering with them from the outside?” I ask.
“What? Who?”
Every so often, through the course of physical work rather than speculation, an idea comes out of nowhere, like some ancient mythical god injecting the secret of fire into the dreams of a caveman, who consequently “invents” it. In the real story, the caveman, trying to repeat a spark he’d caught by accident upon seeing a couple rocks smash together, scrapes rock after rock against the cave wall and other rocks. He tries various combinations of quartzite, obsidian, and granite, until finally, by some miracle, two stones strike each other hard enough, and are of sufficient material composition, to produce a spark. If he can do it again, then he’ll uncover the secret that kick-starts civilizations.
I rush to my workstation, with Paul following me like a shopping cart. One of the mangled bots is laying on my desk. I drop the black electronics packet on a comms mat.
“We already ran diagnostics.”
“I’m not running a diagnostic,” I say, never looking away from the river of alphabet flowing from rear corner of the bench to the edge.
“I’m scanning every instruction this bot has received, and the corresponding instructions that the control center sent to the servos and gearboxes. Your updates, automated protocols from my workstation, and stuff like that. If it accepted an order from the Wi-Fi, I want to see it.”
I scroll back to the time of the first malfunction, and I don’t have to go very far before something odd appears. In this clutter of coded phrases, distinguishable as some form of language which machines understand, are strange strings of letters, numbers, and symbols. Even without a coding background, these single lines stand out against the more mathematical expressions and mechanical sentence fragments.
“What the crap is that?” I ask.
“What?”
I cast a glance over my shoulder to see him sipping coffee and staring at a tool on my pegboard.
“Touch it again, and I’m going to coat your chair in motor grease.”
He snickers. “Easy kid. Remember who’s working for who.”
“Fine, then you should be able to tell me what the hell these are.” I point out one of the strange lines of non-code.
“A-E-3? What is this?”
“I don’t know, but whatever it is, it filtered into this bot’s list of directives, like we sent it out as a special instruction. They’re being manipulated through the Wi-Fi.”
“That’s not possible, all the codes are encrypted, and they change over time. I don’t even know the access codes. They’re buried in the system software, somewhere none of us have access to. The only way to command them is from your desk or my office. And I didn’t do it.”
My forehead tenses. “Well, someone figured out a way to do it.”
I continue scrolling, trying to make sense of the nonsensical. “What I can’t figure out is why they are sending junk. They’re smart enough to hack the access codes, but then they just send these hashes of random key combinations?”
My eyelids blink out of desperation, applying a layer of moisture to the dryness behind them. The lighted text on the table blurs into snow. The black veil of concentration closes over my view. Two thin skin flaps shield me from ambient light and distraction. There’s nothing wrong with the code, or the components. The machines are receiving random instructions over the network. The glitches are affecting everything else that might be related. But why?
I open my eyes and turn to Paul.
“I have an idea.”
“Great. What is it.”
“We can send out a signal, and deactivate the Wi-Fi chips on all of the bots. They have the capacity to function without constant communication, and they will bring themselves in for regular maintenance. If they’re okay, I’ll just turn them around. I can do all the hardware inspections right here, without self diagnostics running back and forth over the network, and all the overhead with tracking maintenance schedules.”
“But I won’t be able to track them.”
“Right. It’ll save you some work too. They were originally designed for this.”
“There’s a reason designs are upgraded. I don’t know if management will like it. They have performance models that track bot activity directly, so they can share new protocols that are more efficient.”
“Do you want them to stop attacking people or not? That’s my solution, and it’ll work. Or you can sit here and try to figure out who’s broadcasting garbage signals that are making everything in the building glitch.” I hesitate.
“So you think,” he says, “that the robots are related to what’s happening with my music?”
“They’re getting random bits of data from somewhere. I’m not sending this trash to them. You aren’t sending it. It has to be coming from some hijacker.”
“And you think those signals are making everything glitch.”
“If the hackers are sending random access codes just to see what they can screw up, then yes. Everything is infected, maybe even the glitching people. Maybe the signals are screwing with our implants, and driving people nut
s.”
His skeptical look fades into a light hearted grin. “Making the people glitch. Folks are acting a bit strange lately. Okay, fine. How long will it take to shut down the Wi-Fi interaction.”
“I just need to write a batch file, and send it out. Ten minutes?”
“Okay do it. I need to call this in though. If the office tells me to turn them all back on, then what?”
“Then we chase them down, one at a time, and reprogram them.”
He nods. “Okay. Make it happen.” With that, he returns to his office, and I pull up my coding app on the desktop. The file takes even less time than I thought to compile, and I send it out. I simply tell the code that the Wi-Fi access calls are comments, and not actual instructions. I’m finished before Paul completes the phone call.
With no way to track the bots on the network, I jog to the market, and do a quick sweep of the aisles. Everywhere I look, bots are acting normally. I get another idea to test my theory, and return to the workstation.
I open a bot control app, and copy a couple of codes from my service records. Each code is a control address for an individual, and how they normally receive updates over the network. I send a specific signal to a few of them, which pings their computer and prompts a response. Nothing. They’re ignoring my commands, and therefore they should ignore any random data filtering over the network, even with the right encryption codes. Problem solved.
Just to be sure, I return to the service bay, and send a more specific signal to all of them, ordering them to shut down. I’ll know for certain in minutes if they are ignoring the commands or not. Paul returns.
“Well, congratulations. Your little idea just got a glowing review from the General Manager. Tomorrow morning, every bundled complex in town with our equipment will reprogram their bots to work off network.”
“Did you tell them it was your idea?”
“Nope. This is your baby. You might be right, but things could still go horribly wrong. It’s been a long time since I did any off network testing. I’m curious how the shopping carts will handle it.”
Viral Spark Page 5