Three brilliant students. The world’s best supercomputer. What could go wrong?
Mathilde, a brilliant student at l’ENS, Paris’ best research university, wants to simulate a new Big Bang. How do you code that on a quantum computer though? Welcome to the fascinating world of Q++.
Download the audiobook/podcast version here or subscribe to the podcast RSS feed by clicking just below:
Read on for the chapter!
Chapter Four: Q++
They waited two full hours before sneaking out and running back home. Szymon excitedly jumped up and down all the way back to the apartment.
“I can’t believe we got away with it,” he panted.
Mathilde nudged him with her elbow. “First time you’ve done something illegal Szy?”
“Kinda,” he rubbed his hair, “I mean, in real life, yeah.”
“What about online?”
His eyes shone bright. “Come on, like you’ve never hacked anything before?”
“Only for the most righteous of reasons,” she answered, pointing her nose in the air and heading towards the kitchen. She rapped her knuckles against Oliver’s room as she passed it. “Ollie. We’re home.”
Oliver joined them in the kitchen just as she was pouring water into the kettle.
“You want coffee?” she asked.
“I’ll go with tea,” he answered, “You guys make it out alright?”
“Yeah, just waited to make sure he was gone,” she dug her hand in her pocket, found the card and handed it to him, “Quick thinking Ollie. You saved our butts back there.”
“Well, I figured if you got caught I’d just say you stole it from me,” he said with a smirk.
“Still smart.” She took out three red mugs from the cupboard, and poured instant coffee into two of them and a Lipton sachet into the third. She handed each of them their drink and sat down at the little table.
“So who was the professor who caught us?”
“Simonetti,” Oliver sat down facing her, “You know, the Algorithmic professor? Always wears a leather jacket?”
No wonder the voice sounded familiar, thought Mathilde, I’m surprised I didn’t recognize it on the spot.
“Yeah, I have a class with him,” she said, and quickly changed the subject. “So Szy, what was the first thing you hacked?”
“I created a news app.”
“It was a while ago. I don’t know if it counts as a hack. There was a moment when all the major news websites in Poland started to hide their articles behind pay walls. It pissed me off. They gave free try-out periods, a certain number of articles for free, or stuff like that, but each one was different and it was so time-consuming to get access to them all without paying.”
“Eventually I just wrote a script that created new users to take advantage of the freemium options they had. And then because logging in took too long I just built an app that pulled in all the articles from a dozen different websites using those fake profiles.”
“What about you?”
Mathilde smirked. “I was eleven or twelve. Just entered secondary school, and my mom couldn’t afford the school canteen. So she’d pack me a bag filled with leftovers from the day before. All my friends would eat together and I’d have to go to the teacher’s lounge and ask if I could use their microwave…”
She took out her sachet of cigarette filters, placed one between her lips, and started to roll a new cigarette absent-mindedly.
“So anyway, this canteen used a magnetic card system. We swiped our student cards, and it checked if you still had cash on your account. If you did it deducted the value of the meal.”
“My mom worked late every night, so instead of going home I’d just spend all my free time in the computer lab. It didn’t take me long to install a key logger onto the admin’s computer when he wasn’t there. I didn’t do it to hack anything, I was just curious to see how everything was structured,” she said.
“But,” she continued, “When I logged in with his credentials, I discovered everything was completely open and connected. So I loaded up my account with a thousand euros and began eating at the canteen with my friends every day.”
They both smiled. As far as first hacks went, this one was cute. “Wouldn’t they have figured it out at the end of the year when they saw the difference between what the system said they had earned and what was in the bank?”
“Nah, I balanced it out. I made it to a thousand euros by taking 50 cents from the account of every kid in the school.”
“That’s me,” she said, tilting her head to the right innocently.
“Man, my first hack was way more low-key,” said Oliver, “I really liked this one girl in my class, but I was too shy to talk to her. So I sent her an e-mail from an official-sounding account I created, asking her to confirm her password ‘for security purposes’,” he emphasized it with air quotes, “Sent her to a phishing site I set up. I never did end up talking to her because she moved away barely a year later, but, by that time, I knew everything about that girl. I read all her emails religiously.”
Mathilde gave Szymon a look, but he didn’t catch it.
“By the way, did you have time to finish your part before Simonetti forced you out?” she asked, turning back to Oliver.
“Yeah. I mean, the logs will still exist in the system, but Kogej will never see them. Even if he wanted to, I’m pretty sure he wouldn’t even know where to look.”
“That means we’re good to go then,” she beamed, “Szy, can you send both of us the connection details later?”
“Alright,” she said, “Let’s get started!”
Mathilde woke up as the small lamp on her table reached maximum intensity. She had rigged the smartbulb so that it was linked to her alarm clock. Five minutes before it went off, the light turned on and gradually increased in intensity, simulating a sunrise. She checked the time: 1 p.m.
Before going to bed the night before, and after a lengthy conversation on how to code the platform, she had checked her schedule. Two classes were planned for today, but she had already missed the morning one and didn’t plan on going to the afternoon one either.
L’ENS was very lenient when it came to attendance. Fully aware that they had recruited the best of the best, they let the students dictate their own study terms. You could come to class, or you could choose not to and only show up for the final exam. As long as you passed, l’ENS left you alone.
She got out of bed, put on a pair of red shorts over the underwear that served as her pajamas, a hoodie two sizes too large, and slid into her chair. She grabbed a hair tie from her bedside table, tied up her messy auburn hair into a semi-neat ponytail, and pushed off with her feet against the bed, rolling neatly into position in front of her desk.
Setting up her tablet on the holder, she pulled out a keyboard, sent a quick message to tell Szymon she was up, and got to work. It was going to take a lot of time to get this platform up and running, and there was no point in wasting any of it.
The main problem with the difficulty of the task ahead was that she simply didn’t have much experience coding in Q++. Not a lot of people did. Until recently, software engineers had either been working with primitive assemblers or been running only the most basic programs and functions.
All of that had changed two years ago, when an anonymous user, known only by his online handle Repyllus, had suddenly dropped Q++ on the internet, free of charge. It had been an instant hit, and developers had scrambled to learn it as fast as they could. Major organizations then jumped in the fray and built on it, transforming it into the global standard for quantum computing. But it was still so complicated and recent that the number of people who could reasonably boast of being Q++ experts was in the low double digits.
Not to mention that even though she had dabbled with quantum computers in the past, the machines had rarely had more than a thousand qubits. Mark II had 1,600 times that amount, which meant its raw computing power was an unfathomable amount of orders of magnitudes higher.
Whereas the traditional bit could take two values, a 0 or a 1, a qubit held a probability of being either 0 or 1. In practice, that meant that instead of the 2 options given by a bit, a qubit could hold an infinity of values. Moreover, a qubit could be in multiple states at the same time, in what was termed quantum superposition of states – the probability it had of being 0, and the probability it had of being 1. By taking advantage of the fact that the qubit existed in multiple states, one could run multiple operations at the same time, hence exponentially decreasing the time it took to solve problems.
To be able to take advantage of the unique differences of qubits however, her code needed to be perfectly tailored to quantum computing, or it would run no faster than on a traditional computer.
Fortunately, there were already hundreds of Q++ repositories out there. Coders from around the world would post snippets of their Q++ code, showing how it worked and how it could be used, and Mathilde began spending most of her time simply trying to figure out how to alter it to meet her needs.
Halfway through looking at a movement-function, she realized a terrible limitation she hadn’t considered. She ran to Szymon’s door, knocked once, and let herself in.
“We won’t be able to store anything,” she sat down on his bed.
“I just realized. If we’re using Mark II, we won’t be able to store anything.”
“Well suppose we manage to create a universe, and we want to create a save-point or something. Or back it up. We can’t.”
She bit her lower lip in frustration, both at herself and at Szymon for not immediately getting what was technically one of the basics of quantum computing.
“How do we usually copy stuff? We take 2 bits, one called A and the other called B. Then we tell B: take A’s value.”
“Yeah,” Szymon’s brow furrowed, “And you end up with two As. So?”
“Yeah but if you do that with qubits, it doesn’t work. B becomes A, but in the meantime A will become something else. So you end up with A and C.”
“Fuuuuuck,” he slapped his forehead.
“Yeah. I don’t know how we missed it.”
It was one of the foundational rules of quantum mechanics. The simple action of copying qubits changed their original value. If they wanted to copy the universe, they would only end up with a replica somewhere else, but lose all the information contained in the original.
“So what does this mean for us?” Szymon asked.
“Well, it’s not a huge problem. The simulation can still work just fine. But it is a limitation. We won’t be able to create back ups. And we won’t be able to jump back to a moment in time that we’ve already seen.”
“That’s a bit annoying but overall…” he leaned his head back over his chair and looked up at the ceiling, “Wait, once we launch it, will we be able to move backwards and forward in time?”
“Forward, yeah, that’s the whole point. But backwards – probably not. I’m not entirely sure but I think our platform is going to be a giant one-way function,” she answered, “We can easily calculate the next state, given the rules, but we can’t use the same rules to move backwards.”
“Well think of the Game of Life example. You have a grid of nine squares, the middle one is live, all the other ones are dead. What was the state before that?”
Szymon thought about it for half a second before answering. “There’s a ton of different options. The top three could have been live. Or the bottom three. Or any combination of three live cells around the middle empty one, which would make it turn live from reproduction.”
“Exactly. Or two cells that kept it alive but died out on the next step. Backtracking is just impossible. For our simulation, I think we’re going to have the same problem.”
“So what you’re saying is, when we launch it, we’re going to be able to move forward in time, but there’s no way we’re going back.”
“Yup,” she said, “Which is why not being able to save anything is such a big problem.”
“Well… I mean, we can always launch it again from the start if we need to.”
“Yeah, I guess,” she said, getting up and walking to the door, “I just wanted to discuss it with you.”
“Wait,” he said as she left, “Before you go. Two things.”
She stopped and turned back towards him.
“First,” he raised a finger, “Are you hungry? I’m going to cook something, I’m starving.”
“What’s the second thing?”
“You might want to sit down for this. We need to talk about time. I’ve been thinking about the physics of our thing, and I’m pretty sure we’re going to need to introduce something new. I call it: the SzymonSecond.”
“Omelette du fromage,” said Szymon joyously as he poured a mix of beaten eggs and grated cheese into the hot pan.
“It’s omelette au fromage,” said Mathilde exasperatedly. Szymon’s French hadn’t improved an inch in the five months he had been in Paris. Rarely leaving the apartment didn’t help much. “So what’s a SzymonSecond?”
He stirred the mixture with a wooden spoon as he answered. “Remember how we said that we needed to make everything discrete if we wanted to use your cellular automaton framework for this universe?”
“Yeah,” she cracked the window open.
“So that means that everything can be expressed in non-divisible units. Like the cells in the Game of Life. The smallest unit there is, is the cell. If we’re looking at distance, we need a minimum unit that can’t be divided.”
“Yeah I’ve thought about that. All we need to do is put a really tiny unit right? So it’s almost as if it was smooth.”
“Yup. That’s for the first three dimensions. But what about time?”
“If everything is discrete, then time has to be discrete too. It’s not a spectrum, it’s a succession of jumps in time.”
She thought back to Game of Life, with the black and white cells. It made sense. There, time was discrete too. Each calculation led to a new instance of time.
Szymon grinned. “I had the same reaction. But when you think of it, it makes perfect sense. It’s like a movie, if you put enough frames fast enough, it gives you the illusion that time is passing smoothly, even though it’s not. It’s just a succession of images taken at tiny intervals of time from each other.”
“OK, so basically we need to define minimal units for each dimension. And for time, you want to call it the SzymonSecond?”
“SzymonSecondTM,” he joked, “And yeah, the unit is a big part. There’s other stuff too though, like the differential equations that define each dimension.”
It was a weird concept to wrap one’s head around. In their new universe, things wouldn’t be a line, or a plane, but a succession of dots, clinging so tightly together that they gave the illusion of continuity. Time would work the same way, split into an infinity of SzymonSeconds.
“That’s… a strange way to look at things,” She looked at her hand and realized her cigarette had almost burnt out. She’d been so lost in thought that she had forgotten to smoke it.
“It’s a minor mindfuck,” said Szymon, still focused on making the omelet, “But it’s a bigger one when you realize that it could be the case for the universe we live in now.”
They ate, and started to draw out the rules of the platform on their tablet’s Sketch app. Szymon built out detailed descriptions on how to delineate every dimension, and the characteristics of each quark, lepton and boson. Mathilde worked on building out the code that matched those rules.
They napped occasionally, only to start working again as soon as they awoke. When Oliver was home, Mathilde bounced ideas off of him, trying to gain inspiration from his own knowledge of quantum computing and Q++.
She started spending so much time in Szymon’s room she brought over her own pillows and stacked them up into a seat on the floor. There was a pleasure in working with Szymon – they could go hours without talking, and when they did it was straight and to the point. No subtleties, no walking around on eggs. If she asked something stupid he would call her out on it, and she returned the favor just as fiercely. She liked it. It was the complete opposite of the interactions she had had growing up with her mother. Everything was just simple and easy with him.
“GUYS!” yelled Oliver, breaking their concentration.
Their heads snapped toward the door. He was standing in the threshold, arms crossed.
“Finally,” he said, “I knocked like five times.”
“We’re in the zone,” complained Szymon, “You’re messing us up!”
“What do you want?” asked Mathilde.
“Floriane’s party is in an hour. Get dressed. We’re going.”
“Isn’t that on Saturday?”
Oliver rolled his eyes. “It is Saturday you geeks. You haven’t left the apartment in four days.”
She checked the date on her tablet with disbelieving eyes. It really was Saturday. How long have we been working for? she thought.
“Fine, give us half an hour to get ready,” she said.
She jumped into the shower, but despite the relaxing warmth of the water flowing down her body, her mind blazed through snippets of code. Try as she might, she was still there, thinking of Mark II. She shook her head in a vain attempt to clear it. I need to help Ollie tonight, she thought, and get him to keep helping me.
But that meant that she had to put on at least a semblance of a show, especially if she was going to be interacting with Floriane’s friends. Stupid judgmental Parisian girls. She pulled out a pair of tight jeans and a black top that dropped down over one shoulder, and reluctantly put on the bare minimum of eyeliner, mascara and a touch of light pink lipstick. She smacked her lips in front of the mirror, checked that her hair wasn’t in too much of a mess, and walked out.
Oliver was still in Szymon’s room, trying to convince him to wear something besides a hoodie.
“Come on Szy,” she cajoled him, “Just put on a white shirt and that blue jumper of yours. Pretend to be Parisian.”
“But I don’t want to look Parisian,” he complained as he reluctantly removed his hoodie.
They walked down the five flights of stairs and onto the street. It was already dark out, and their breath frosted in the air from the winter cold.
“How are we getting there?” asked Szymon.
“Subway. She lives in the 11th arrondissement.”
Szymon groaned again, and Mathilde smirked in agreement. She knew he hated the subway – the smell of urine, the filthy seats and the constant press of people from every direction was more than he could handle. She was about to add her voice to the complaint when her phone vibrated in her pocket.
She pulled it out and her heart skipped a beat as saw who was calling.
Charles Simonetti, it read. The professor who had almost caught them breaking into Mark.
~ End of Chapter 4 ~
Enjoy the chapter? Make sure to subscribe to my Facebook page here for updates on new chapters, or sign up to my newsletter (I don’t spam, only once a book is complete or for cool free stuff like my short stories!)
Thanks for reading!