Jazz, Frank Geitner’s black cat, lay resting next to a parked Mitsubishi Pajero in the street outside Frank’s house. It just lay there, slouching in the shade of the car. Didn’t even bother to move when Andrew parked his new Tesla S just in front of it.
Frank hadn’t replied to any of the seven calls Andrew had made since lunch. To a certain point Andrew could understand him. But it didn’t matter. He needed to have a chat with Frank. Make him understand the gravity. Reason with him.
Two percent of half a billion was still a lot of money. In fact, it was exactly ten million dollars. Not as much as the seventy-five million Andrew and Ken were worth, but heck. It was still a lot of money.
Andrew rang the doorbell.
Nobody replied.
Andrew fetched his key from the car. Andrew and Ken had both received a key each, back when they had been based in Frank’s basement. Andrew had never gotten around to handing it back.
He inserted the key in the lock, and pushed the door open.
Andrew quickly checked the alarm on the wall. A green light shone back – it was turned off.
He entered the living room, calling out Frank’s name. There was no response.
In fact, it was suspiciously quiet in the house. Andrew had been so used to always hearing music when he was there. Frank always played music. Everything from Rolling Stones to Wagner. Now it was dead quiet.
It was also strangely tidy. Had Frank hired a cleaner or a maid?
The staircase down to the basement was blacked out. The light bulb must have gone. Andrew stumbled, blind as a bat, down the stairs.
Halfway down, he stopped. He pulled out his mobile phone and located the flashlight app he’d installed not long ago. The same flashlight app that had started it all. A flashlight app, developed by an underage McDonald’s employee in his spare time. At least it worked well, Andrew thought as he pointed the beam of light at the next step.
He found the light switch at the base of the stairs. The fluorescent tubes blinked a couple of times, as if they couldn’t quite decide whether to work or not, and then they illuminated Frank’s basement. Frank’s empty basement.
It was totally empty. All equipment had been removed. Frank Geitner’s laboratory, his small kitchen where he could spend four hours making a pancake.
It was all gone.
When had Frank moved out?
Where was he?
Andrew ran up the stairs, jumping two steps in one, and methodically he started to search through the rest of the house. It was all empty. It had been totally cleaned out. There were no clothes in the closets, not a single piece of food in the pantry. The house seemed uninhabited. And it seemed like it had been like that for a while.
He walked out the main door, and stood outside for a couple of minutes. He was attempting to remember if Frank had said anything about moving, but he was almost certain Frank had never mentioned anything about it.
The black cat, which had been resting next to Andrew’s car, came strolling in the gate.
Jazz.
Frank’s cat.
The very cat that had inspired the Tuna Life app, at least the basic idea that Tuna Life had evolved from.
Jazz – Frank’s pet.
Surely he would never have left without his cat, not voluntarily.
The cat leaned into Andrew’s leg, purring.
Andrew picked her up, by her stomach, and scratched her underneath her chin.
Suddenly he hesitated. Jazz had a collar. He lifted the small metal tag attached to the collar, and read.
He couldn’t believe it.
Jazz wasn’t Frank Geitner’s cat.
Frank Geitner had never owned a cat.
Jazz belonged to his neighbour.
43
The Swedish programmer, Fabian Svenson, stared at the screen with a worried facial expression. He punched a few keys, and printed a page of machine code. Then he walked over to Andrew Engels’ office. It was empty. Andrew was the only one with a physical office in Tuna Life’s new trendy premises. His office was located inside a see-through glass bowl. Ken Speis had explained that it was supposed to represent a small aquarium, a fish bowl. The company was after all called Tuna Life.
Fabian placed the printout on Andrew’s office chair, and walked over to one of the slippery slides leading down to the floor below. All food was free at Tuna Life, and it was one of the reasons Fabian Svenson loved his job. In addition to being an excellent coder, he was also a very fit person. It had only one drawback; he needed to eat a ridiculous amount of proteins each day to maintain his muscle mass. A workplace with free food was ideal.
He was halfway into his second serving of chicken parmigiana when Andrew sat down at his table.
“What’s this?” Andrew asked, placing Fabian’s note on the table in front of them.
“I think it is best we go back up to the fishbowl to discuss that,” Fabian replied.
The fishbowl. Was that what they called his office? Andrew fretted.
Fabian glanced at the half-eaten chicken breast for a second, before deciding to bring the plate up to Andrew’s office.
They had to take the stairs up to the second floor. Andrew was glad Ken hadn’t come up with some crazy installation for that as well; a climbing wall or some other overly creative thing. It was still a work place – not a bloody play centre for kids, even though it was sometimes hard to make the distinction if you visited Tuna Life’s premises for the first time.
“So, what is this?” Andrew asked, as he closed the door to the fishbowl behind him. “I’m not an expert in coding, so this piece of paper doesn’t tell me anything.”
“I think we have a problem with Tuna Life’s source code,” Fabian said.
“A problem? What sort of problem?”
“A couple of weeks back Frank asked me to review the source code. See if I could find any redundancies or inefficiencies. Basically see if I could speed up the code.”
“Did you find anything?”
Fabian leaned against the clear wall of the fish bowl. “I found something. Not what I had expected though. The source code is simply excellent, and in the beginning I had no idea how to suggest any improvements. It’s almost perfect. But then I started to look closer at the code, and it turns out it includes functions we don’t need.”
“Could it be that Frank has included functions we may need later?” Andrew asked.
“That was my first thought too,” Fabian replied. “But there is something very strange about some of the code.”
“What do you mean?”
“My background is from AVG Antivirus. I worked there for more than three years before joining Tuna Life. My job at AVG was to find viruses, malware, spyware – everything that could possibly threaten the security of computers and mobile devices. Frank knew this. He was the one hiring me.”
“And?”
“I believe Tuna Life contains a Trojan Horse.”
“What did you just say?” Andrew asked.
“It’s hard to explain, but I believe that some of the code in our software opens up the possibility for someone to take control of our users’ mobile phones, computers and tablets.”
“What do you mean?”
“Whoever logs on as administrator of Tuna Life can in theory control all the devices of our twenty-five million users. Computers, mobiles, tablets. Everything. He can turn on and off cameras, copy or delete files from public or personal folders, access passwords. Whoever logs on as administrator can do all this.”
“And who is the administrator?” Andrew asked.
“Frank Geitner is the only administrator,” Fabian replied.
Andrew shook his head. “I thought Google and Apple reviewed all the code before they approved our app. How can they have let it through if it contains a virus?”
“I’m not sure, but I have a theory,” Fabian answered. “The virus, or the Trojan Horse, is most likely hidden in a library only Frank worked on.”
“A library?” Andrew asked.
“It’s a bit complicated.”
“Try.”
Fabian sighed before he started. “Part of the code has been included in a library. If you review the source code you only see the reference to the library, you don’t actually see the code inside the library.” Fabian scratched his nose, before continuing. “Imagine a webpage. You can easily view the html coding of a webpage. Most internet browsers even have a function you can turn on that shows all coding as text. What you can’t see, however, is the code of the underlying links. All you see are the links themselves. In much the same way you are not able to view the code in the libraries Frank has included in the source code, only the reference to the libraries. If you want to view the code of the various links, then you have to physically click on them.”
“So what is the problem?” Andrew asked.
“The problem is that Frank has optimised these libraries so much that it is impossible to view their source code. You can only guess what they are meant to do – and I believe they are meant to release a virus.”
Andrew swore, before pulling himself together. “Thanks Fabian. Thanks for bringing this to my attention. Could I also ask you a huge favour?”
“Of course, anything,” Fabian replied.
“Don’t mention this to anyone. I need to discuss it with the board, and we don’t want to do anything rash before we know all there is to know.”
“No problem,” Fabian replied. He was starting to get hungry again. He needed to get a snack before he finished up for the day, and could head off to the gym.
“Fabian,” Andrew called out, just as Fabian was leaving the fishbowl. “This page with all the numbers. I still don’t understand what this is.”
“It’s the IP addresses to all the devices the program has accessed.”
“So someone has already accessed and stolen information from these computers?”
“I don’t know if someone has stolen anything, turned on the camera or simply just tested out if it works. All I know is that the program has been used to access those computers.”
Andrew Engels swore. Why now, why now when everything was going so well?
He waited until the muscly Swede had closed the door, before he googled IP addresses. He knew what an IP address was, it was simply a unique number allocated to your device.
Rights holders could use this address to figure out who was uploading piracy copies of Hollywood movies and new TV-series to file-sharing networks. He had also read about all the troubles movie companies had attempting to identify the persons behind the various IP addresses. He entered the page www.whatismyipaddress.com and started to key in the first line of numbers. He managed to key in two combinations before he suddenly stopped. Both were Australian users, and were using Telstra as their internet supplier. He erased his browser history and closed the laptop, swearing. If there at any stage was to be an investigation he had now committed a cardinal mistake. He was an idiot. He had just searched up two of the IP addresses – that in itself would be proof that he’d had knowledge of what had happened.
He considered the situation. What was done was done – there was nothing he could do about that now. Instead he stuffed the piece of paper in his left pants pocket, and rose from the chair.
He decided to drive to an internet café on the other side of town to figure out which internet providers were hidden behind the various IP addresses. Andrew had amassed powerful contacts in both Telstra and Optus, the two largest phone companies in Australia. Perhaps he could use his contacts to find out who had been spied on? It could make it easier to ascertain who was behind this if there was a pattern. A method to the madness.
In the corner of his eye he saw Ken take the slippery slide down to the canteen together with Fabian, blissfully unaware of what Andrew had just discovered. He also noticed that a group of programmers had gathered around the 3D printer he had won at the Gold Coast Tech Awards. They seemed agitated. Andrew walked over to check out what they were up to.
“Try the trigger.” One of the programmers stood with something looking like a white gun in his hand.
“What’s going on?” Andrew asked.
“We’ve printed a gun,” the programmer declared, beaming with pride. “The Liberator. We found the blueprints on the net and made a few improvements. Took the printer all night, but the end result is quite good.”
“Does it work?” Andrew asked.
“We haven’t tried it yet. But I’ve got a buddy over in California who printed one last week. Works a treat, he says.”
“Give it to me.” Andrew extended his hand.
“Let’s just give it a try,” the programmer responded.
“If you still want to have a job tomorrow, you hand that fucking gun over now,” Andrew snapped. “And no more fucking around printing guns. It’s just a matter of time before it will be banned, and we don’t want to be on the list of companies that have downloaded the blueprints of all this shit.”
The five programmers standing around the 3D printer nodded in silence. It was the first time anyone had ever heard Andrew raise his voice.
Andrew grabbed the plastic gun along with a handful of bullets they had managed to acquire from a dodgy website, and walked straight back to his office. He hadn’t intended to get so angry, it had just come naturally.
They had a possible virus in the Tuna Life software – the last thing he needed was for police to raid their offices because some idiot-coder had printed a 3D gun. Hell, Tuna Life had a bunch of foreigners working in the office. It wouldn’t surprise him if the Federal Australian Police could arrive at the conclusion that one of them was a potential terrorist.
He sighed loudly as he closed the door to his office. On consideration he wouldn’t risk leaving the gun or the bullets at the office. He would have to bring them home instead. He would disassemble the gun and throw it away with the garbage. Parts by parts it wasn’t dangerous.
44
It didn’t look like the garden of the old reddish-coloured brick house had been visited by a lawnmower for at least six months. Grass and weed were fighting for territory, and it looked like the weed was winning the battle. In all the surrounding gardens you would be hard pressed to find a single weed.