Chapter Sat 06/11 09:03:10 PDT
The vault door of the lab stands open, with Father already in place next to his standing desk. Everything looks normal except that a portable whiteboard is covering the shelves where he stores the medical gear.
“Ah, Noah!” he says, looking up at me. “I just finished the initial calibration of the software for your cloud to your specific neural signature.” He fiddles with a connector on one of the humming boxes on the server rack. “We’ll get you updated, then take some additional measurements.”
“More measurements?” I ask, glancing at the metal slab with its black straps. “Like the ones we did last time?”
“No, nothing so invasive this time,” he chuckles. “Some passive collection as you interact with the nanobots control software. Just like we used the headset and glove simulators to prepare you for the implant’s interface, I’m providing you with an emulator to practice using nanobots before we give you the real thing.” He pats a black box the size of a toaster resting on his desk. “You’ll connect to this little fellow and run emulated bots that it will show on a screen. They should respond in the same way the real ones will. The wireless signals to and from your phone will be identical.”
“Sounds good. Do I just come here to your lab to practice?”
He shakes his head. “I have this unit here, but a second one will be available for you in the Learning Center. Just check it in and out from Janet or Roxanne when you need it. You can practice whenever you like.”
“OK. Thanks.”
“Let’s get to work then. Look here, please,” Father directs me, disconnecting one of the screens on his desk and plugging its input cable into the emulator box.
The screen lights up with a close-up view of a single nanobot. Roughly spherical with regularly spaced ports, it reminds me of a soccer ball. Father points around the image and describes how each port can be configured with sensors, jets, laser emitters, or appendages.
“These sensors here,” Father explains, “can detect heat, light, humidity, or several other things. The jets allow the bots to fly or act as pumps for gasses. In the standard configuration, jets are spaced regularly around the bot and take turns being either the input or the output depending on which direction the bot wants to fly or pump.”
He pulls up a data sheet with specifications for the jets. There are so many numbers I don’t catch a third of them before he flips the screen to another data sheet.
“You’ll have access to this later, so don’t feel like you need to memorize it now. But you should be at least somewhat familiar with the capacities of each bot so that you can calculate how many you need to employ to lift or move an object, for example.”
I nod, trying to absorb as much as I can. Father waits patiently, his proud father’s smile filling his face. I hate that crooked smile so much.
“So does the force for a push scale linearly with the number of bots I have pushing?” I ask, applying terminology I picked up in Mr. Johnson’s class over the last month. “Or are there diminishing returns?”
Father’s face lights up. I guess that was a good question. He launches into a long answer that goes way over my head, stopping to do some complex math on the whiteboard that I can nearly follow. I nod appreciatively, and he seems to think I got it all.
“Enough of that tangent. Let’s talk about the appendages on the bots,” he continues, walking back to his desk. “Each port can host a single gripper that can link it to other bots either in a chainlike flexible connection or a rigid one, or to other surfaces in the same way.”
He points to some diagrams on his screens, then launches into another whiteboard session diagramming out the different ways that bots can link and connect. The physics involved is fascinating. Despite being a murderous monster, Father is a surprisingly good teacher—almost at Mr. Johnson’s level. For a moment, I’m captivated by his explanations and his energy. I even forget for an instant what a monster he is.
I see a glimpse of why so many of my siblings worship him.
“This description is more comprehensive than you strictly need,” Father says, wrapping it up. “The hardware abstraction layer provided in the bots’ onboard software takes care of all the details at this level. But it’s always good to understand the fundamentals, don’t you agree?”
I do, still trying to digest it all. Who knew that there was so much math involved in figuring out how chains can move?
“Good, good,” Father says, pushing onward. “But I imagine that the actual controls will be of more immediate interest to you. Let’s get started with those. Your phone, please?”
He holds his hand out for it. I hand it to him and he connects it up to his server rack.
DEBUG INTERFACE INITIALIZED
“Ready?” he asks. I give my loving Father a nod.
“Good. The simulated bot on the screen here will react just like the real hardware. You can trigger actions on this one by accessing the bot controls in your software library. Try it now with some basic commands.”
I select the bot and take a look at some of the functions it has. I pick the command telling the bot to go forward. It asks for a speed, so I give it one meter per second.
The bot on the screen reacts to the command, with numbers on the screen showing how much simulated air would be sucked in on one side and blown out the other. The thing starts moving around against the simulation’s patterned background. A bunch more numbers appear near it showing direction, speed, and metrics about the bot’s power reserve, health status, connection strength, and everything else I might want to know about how it’s doing.
“Good,” Father says. “See it moving forward, just as expected? You’ll get similar feedback from your implant, if you enable it. Go ahead and make our little emulated friend here take a turn instead of just going straight.”
I find the command to tell the bot to turn and trigger it with ninety degrees as the parameter. The emulated bot on the screen makes a neat turn to the right.
“Good,” Father says. “Just as it should be. Go ahead and stop it now.”
I find the command and issue it, and the emulated bot halts. I’m starting to get the hang of this.
“Excellent. Let’s put some of the programming training that you’ve been doing into practice then, shall we?”
“Sure.”
“Please write me a function to have the bot move in a circle,” Father instructs.
Hmm. This might be tricky. I’m still not much of a programmer. I write a function telling the bot to move forward a bit, then turn a few degrees. No, wait, I need to wrap the commands in a loop, so they will repeat. Yes. That should work. Once it’s done, I run it.
“Hmm, very close,” Father says, tracing the motion on the screen with a finger. “It looks like you’ve actually implemented a polygon, and your bot seems to be willing to spin around the perimeter of it forever. Next time, make sure to put a termination condition in your loop instead of just having it repeat endlessly. But very good for someone with your background and training.”
“Thanks.”
I’m so relieved that I did well enough. I’ll have to study harder in my computer science work. I’m definitely behind where I want to be, since I only started learning how to write software a few months ago.
“Good, good. I assume by now you’ve set up a few sensors, correct?”
“Yeah, I created a few.”
He glances at one of his screens and taps some keys.
“Hmm. This can’t be right. One thousand three-hundred and ninety-three distinct sensors configured?”
“Yeah.” I shrug. “That sounds right-ish, but I’m not exactly sure. I lost count after the first few hundred.”
“All that in just five days?! My goodness, Noah. That’s a sensor for every muscle in the human body! Plus a whole host more that are triggered by non-motor activity.”
His face is so full of surprise that I’m not sure what to make of his reaction.
“Is that OK?”
“OK?” he repeats. “Noah, I haven’t seen this much dedication from any of your siblings. And in such a short time! Most of them still don’t have this many set up.”
“I’m doing my best. I spent most of my free time on it this week.”
“Well, your best is excellent. Keep up the good work, and you will see your efforts paid back with interest!”
“I will,” I promise him. I’m glad I’m doing well with this. It’s so important to be a part of his mission to save the world.
“But back to the matter at hand. Since you’ve already learned how to bind the motor sensors to trigger commands in your console, go ahead and connect up a few of those sensors you have to some bot motion commands. I’ll provide a small maze that I would like you to help our emulated bot get through.”
Lines pop up on the screen, surrounding the bot in a twist of obstacles. I hook up the forward and stop functions to the nerves that talk to my index finger so that when I extend it, the bot moves, when I retract it, the bot stops. I bind the turning functions to my thumb and start running the maze. It’s not so different from using a game controller. Father watches intently as my little soccer ball starts, turns, stops, and navigates its way to the opening in the far corner as it obeys the twitches of my finger and thumb.
“Got it,” I declare once I make it out.
“Fantastic!” Father exclaims. “I want you to take note of some of the behaviors you observed. The bots will continue doing whatever you last told them to do until another command or trigger tells it to do something else. In practice, the bots have quite a few automatic triggers built into them. For example, if you have your bots performing a task, but you begin to walk out of range, they’ll interrupt their task to follow you and stay in range of the cloud’s mesh network.”
“Makes sense,” I say. “Otherwise you’d lose connection to them, right?”
“Very good! I’m glad you understand.” He gives me another of his proud smiles. He seems happy to be teaching me. It sure is great to have such an amazing Father.
“Now, as you develop your own control code, you’ll use functions that you write instead of just the built-in commands. When you do that, you can get more elaborate, complex behaviors than you could by simply binding sensors to base commands. You could take that circle function that you wrote, and have it run with a twitch of a finger, for example, though I’m sure you’ll want to do more interesting things than that.”
I nod. “I’ll work hard on getting my programming skills up.”
“I have no doubt that you will.” He pats me on my shoulder. “Now, on to the next bit of work for the day.”
He begins to diagram on the white board again, this time laying out the basics of the bots’ optical systems.
“One of the more important and useful skills you’ll be developing is to see using your cloud. You’ll do this by aggregating the tiny sensors on many nanobots into a coherent picture. Most of this capability takes place not in the software, but in your own brain. You will be the one putting the signals together, understanding what they mean. This will take some practice, so I’ve provided some samples for you to work on. You’ll get a neural impression of an image that I recorded earlier using a nanobot sensor cluster. Along with it, you’ll get a photo on the screen of the same thing from the same angle to help you correlate it. Are you up for running through some exercises now?”
“Sure. I’m ready for anything.”
He steps back to his desk. “I love the enthusiasm you are bringing, Noah. Let’s begin.” He clicks something and a flood of impressions hits my brain. It’s not like anything I’ve ever felt before, and it’s not pleasant at all.
“I think I’m going to be sick,” I warn him.
“Oh, sorry,” he says, scrambling to hand me an emesis bag. “ I should have warned you to close your eyes.”
I close them and the nausea recedes. I set the empty bag down on the operating table.
“The dizziness and nausea are very normal for your first time,” Father reassures me. “Your brain is not used to seeing out of two sets of eyes. Take a moment, and when you’re ready, tell me what you think this image is.”
The impression presses against my brain again. I feel a headache starting as I focus on it.
“Something round?” I try to describe it. “A circle maybe?”
“Open your eyes.”
I do. The screen he gestures to shows a simple line diagram of a circle.
He grins. “You’re the first one to get it right on your first try.”
“Show me the nanobot version again.”
He smiles even more broadly at my eagerness. I close my eyes and have him turn it on and off again a few times. I can almost see it. Almost.
“It does take some practice,” he says. “Are you ready to try another one?”
“Let’s do it,” I say, closing my eyes and steeling myself for the next mental onslaught.
The impression comes in. My stomach churns, but the revulsion is manageable this time. The throbbing in my skull intensifies. It’s almost like seeing, but not quite. I can’t explain it. It’s like describing color to a blind person.
“Can you tell what it is?” he asks.
“A triangle?”
“What kind?”
“Equilateral. Pointed downward.”
I open my eyes and the image on the screen looks exactly like I expected. I take a deep breath and get ready. “Give me another one, Father.”