Toni L.P. Kelner - Laura Fleming 04 - Country Comes to Town
Page 22
“I’m with you so far, but it seems like it’d be right much easier if the computer could understand English.”
“But then I’d be out of a job,” I said with a smile. “Anyway, code has to be broken down into little bitty chunks. I couldn’t just tell a computer to walk across the floor. I’d have to give it a list of instructions like (1) lift right foot two inches off the ground, (2) move foot six inches forward, (3) lower right foot to the ground, (4) lift left foot two inches off the ground, and so on.”
“I thought computers were smart,” Thaddeous said.
“Not really. They only do what you tell them to do. And even when I break instructions down into steps and write those steps in code, the computer still can’t understand me. The steps have to be translated into what we call machine language.”
Michelle said, “I’ll take your word for it, Laura. You mind if I get something to drink?”
“Go ahead,” I said, and continued explaining the process to Thaddeous. “We’ve also got to think about memory size and speed. Code takes up an awful lot of space in a computer’s memory, and it takes a long time to read and follow the instructions. Just like it would be hard for you to remember umpteen steps to walk across the room, and it would take you a whole lot longer to do each little piece separately. Okay?”
“I’m still with you,” he said, but he was starting to sound doubtful.
“A compiler program takes code and translates it into machine language. Moreover, machine language doesn’t take up as much space as code, and the computer can read it faster. Translating code into machine language is what I mean by compiling a program. The code I started with is stored in source files—the translated files I end up with are compiled files.”
“Then what’s a decompiled file?”
“Once a program’s been compiled, not even a programmer can read it—at least, I can’t. But you can take a compiled file and decompile it to get the source files back out of it. That takes time, so if you’ve got any sense, you save copies of the source files until you’re darned sure you won’t need them.”
“But Philip didn’t do that?”
“He didn’t do it at SSI, anyway. When Neal went looking for them, all he found was garbage. So he had to decompile. But we,” I concluded triumphantly, “have the source files right here.”
Michelle came back in with drinks for all of us and sat down next to Thaddeous. “Is the lesson over?”
“All done. Let’s see what we’ve got here,” I said, opening up the first program file. I don’t know what Thaddeous expected from code, but I could tell from the look on his face that this wasn’t it.
He said, “I can’t make hide nor hair of this mess.”
“Of course not,” I said in mock indignation. “I spent four years in college learning how to read this mess.”
“What do you do now?”
“I look to see what Philip hid in his comment lines, if you’ll give me a minute.” The minute stretched into several minutes, and into half an hour, and kept on stretching. The problem wasn’t the code itself—it was some of the cleanest I’d ever seen. The problem was that there were so many comment lines. Most programmers, myself included, rely on memory to remember what a piece of code is doing and why it was set up that way. By rights, we should make comments about all kinds of stuff that we don’t, either because we get busy or because we don’t want to bother. Not in this code. Every step was thoroughly documented. The thing was, all the comments talked about was the program.
After a few minutes, Michelle and Thaddeous started talking in low voices while I worked. Then they moved over by the TV so they could watch it, keeping the sound down. An hour later, Michelle turned to me and said, “Well?”
I couldn’t blame her for sounding impatient, but I had to say, “I can’t find anything. No secrets, no instructions, no nothing. Unless Philip did something really sneaky, like the first letter of each comment line spelling out something. He tried to claim that tricks like that ‘proved’ Shakespeare was the Earl of Oxford, so I wouldn’t be surprised if he tried it himself.”
“Now you’re talking,” Thaddeous said.
I found a pad and pen, and I read out the first letters of a bunch of comments for Michelle to scribble down.
“Does it spell out anything?” I asked.
She looked at it, and shook her head. “Not in English, it doesn’t. Not in Italian either.”
I took a look, but she was right. It was gibberish.
“Rats!” I said. “I thought we were on to something.”
Michelle looked disappointed, too, but Thaddeous said, “It didn’t hurt to try.”
“The answer has to be in here somewhere. Maybe if we took every third word …” I stopped. “No, Philip would never have done that much work. Besides, the comments are too well written. If he was forcing words in to make up a code, they wouldn’t read so clearly. I don’t think he could have done it.”
“Maybe we should sleep on it,” Thaddeous said, looking at his watch.
But something had just dawned on me. “You know, I don’t think he could have done it.”
“You said that already,” Michelle said.
“I mean he couldn’t have done any of this. This doesn’t look like Philip’s code.”
“Are you looking at the wrong file?” she asked.
“It’s StatSys, all right. I just don’t think it’s Philip’s. I don’t think he wrote this.” I scrolled through more of the code. “I’m sure he didn’t.”
Thaddeous looked at it with me. “How can you tell?”
“Because programmers have different styles. I know you don’t think of programming as creative, but it is if it’s done right. No two programmers work the exact same way, any more than any two artists work the same way. Dee and Dom do serviceable, easy-to-understand code, but it’s boring, with no flourishes. Philip’s code was nothing but flourishes. Oh, it usually worked, but it was very idiosyncratic. Nobody could figure it out but Philip.”
“What about your programs?” Michelle asked.
“Not as boring as Dee’s and Dom’s, but easier to deal with than Philip’s.” I didn’t want to admit the next part, but it was true. “I’m not nearly as good as whoever it was who wrote this stuff.”
Thaddeous didn’t look convinced.
“It’s hard to explain if you don’t program, but trust me, this is very elegant code.” I tried to come up with a way to show him what I meant. “Do you remember how Paw used to tell a story?”
“He was pretty straightforward. Just told you what he wanted you to know, and then went on.”
“Right. How does Vasti tell a story?” I knew that our cousin had cornered him more than once, just like she had me.
He grinned. “She tells you all kinds of stuff that doesn’t have anything to do with what she started talking about, but eventually she gets it all out.”
“Well, Philip coded like Vasti tells stories. This code is what Paw would have done if he had been a programmer.”
“Now I see what you’re saying,” he said.
“And there are all these comment lines. Philip almost never put in comments. He used to say that if a program was hard to write, it should be hard to understand. When we were in college, he always got points taken off because he didn’t put comments in his projects. There’s no way he’d have written as many as this program has—he’d have said that it was a waste of time. I’m telling you, Philip did not write this program.”
“But if Philip didn’t write it …” Michelle started to say.
“If Philip didn’t write it,” I said, “then he stole it.”
Chapter 38
We didn’t say anything for a minute, but then Thaddeous asked, “Laurie Anne, I know programmers make good money, but I don’t know how much code is worth. Is it a lot?”
“Well, this core code is the basis for everything SSI has done over the past seven years. I don’t know exactly how much money they’ve made, and of course, they
’ve made enhancements. But even with marketing costs and company overhead, I’d guess that the profits would been in the hundreds of thousands of dollars. You could make a strong case that a good chunk of that money should have gone to the author of StatSys.”
“It seems to me like even a hundred thousand dollars would make a right good motive for murder,” he said.
“You bet it would,” Michelle agreed.
“What I want to know is who wrote it, if it wasn’t Philip,” Thaddeous said.
“Not one of the MIT crowd, or they’d have said something years ago,” I said. “They’d have recognized their own work, and I can’t imagine any of them letting Philip take credit for their work.”
Thaddeous said, “What about the way he was trying to blackmail them into changing votes? Couldn’t he have blackmailed somebody into this?”
I said, “Let’s say Philip blackmailed somebody into letting him claim StatSys. And that person has kept quiet all these years. But then Vincent and Inez started trying to get Philip out of SSI, and Philip had to use that same threat to keep from getting fired. Only now the person being blackmailed is sick and tired of having whatever it is hanging over his or her head, so decides to get rid of him once and for all. That way his or her secret is safe, and SSI doesn’t go bankrupt.” It sounded more and more convoluted to me the longer I talked, but Thaddeous and Michelle were nodding.
“That might be it,” Thaddeous said.
“But which one did Philip steal the code from?” Michelle asked.
“I don’t know. Philip claimed to have developed StatSys during his last semester at MIT, and by that time I wasn’t spending a lot of time with the group. I don’t know who could have been working on a project that complicated. But Colleen might know.”
Michelle handed me the phone. “So what are you waiting for? Call her!”
“I can’t—it’s almost midnight,” I protested, putting the phone back. “I’ll call her in the morning.”
“Are you telling me that I’m going to have to wait until tomorrow? I’m going crazy here!”
“It seems to me like the best things are worth waiting for,” Thaddeous said to her, and darned if he wasn’t flirting when he said it. That distracted her enough that she agreed that I should call Colleen the next day. And when he announced that he was going to take her home in a taxi because it was so late, I think she forgot all about SSI.
Chapter 39
Colleen must have left for work pretty early the next day, because I missed her in the morning. And I guess she never checked her phone messages, because even though I left her a message every hour, she didn’t return my call. After spending the entire day at SSI staring at my phone, waiting for it to ring and jumping every time it did, I was a nervous wreck. Only it was never Colleen—it was Thaddeous or Michelle checking up. I finally laid down the law and told them I’d call them just as soon as I heard from Colleen, but that only meant that the phone didn’t ring at all.
I hated to leave the office because I didn’t want to be away from a phone for the time it took me to take the subway to my apartment, but I needed the distraction. And I had been home just long enough to read the note from Thaddeous saying he was going souvenir shopping when the phone rang.
“Hello?”
“Laura, this is Colleen. I got your messages.”
I almost said finally, but resisted. “Hi, Colleen. Thanks for getting back to me. I had a question about one of the hard drives.”
“Is anything wrong with it? If there is, I’ll give your money back.”
“No, there’s nothing wrong.” The next part was going to be tricky. Despite having had all day to worry over it, I still didn’t quite know just how I should ask her what I needed to know. Like a true Southerner, I decided to try to work my way around to it gradually. “I found some old StatSys files on the smallest drive and wondered if they were anything important.”
“I don’t think so,” she said, sounding a little confused. “Unless SSI wants them. You’d know better than I do what’s important.”
I forced a laugh. “You’re probably right. These are old files, probably from back when Philip first came up with StatSys. I just didn’t want to trash the files without making sure.”
“Well, you don’t have to worry about them,” she said, and I could tell she was wondering why this was worth all the phone messages.
“You know, I was just looking at the code and it really is a remarkable piece of work. Even more remarkable when you think about Philip doing it all by himself.”
“He always talked about it like it was good, but he said I didn’t know enough about computers to really appreciate it.”
That sounded like Philip. “I imagine it must have been pretty boring for you when the group talked about computers.”
“I’ll say. I got to the point where I’d just zone out when they got started. Especially Philip and Neal. If they weren’t talking about computers, then they were talking about the statistics course they were taking. They’d go on for hours and hours. Until Neal left, of course. Philip was real broken up about that.”
“He must have been, them being roommates and all,” I said, but I was really just making conversation while I tried to think of a way to ask more about StatSys. Which is why I nearly missed what she said next.
“Yeah, he really threw himself into his work after that, just spent hours on the computer. He said having the new hard drive made it easier.”
“Philip bought a new hard drive?” That didn’t sound like Philip. He was always broke and checked the trash behind the computer lab every week to see if any usable floppy disks had been thrown out.
“No, he scrounged it. It had been Neal’s, but he left it when he dropped out.”
“Really?”
“He left his whole computer system behind, but parts of it were broken. I think he’d gotten so frustrated because of the virus that he’d thrown it across the room. And then kicked it. There was glass all over the room from his screen, and the CPU had been busted wide open.”
“Bless his heart.” I couldn’t picture Neal doing it, but I could understand it.
“Philip did salvage a keyboard and some other stuff. And the hard drive.”
“But Neal’s hard drive had crashed. Did Philip reformat it or what?”
“I don’t know. He just started using it.”
“And the virus never recurred?”
“Not that he ever mentioned.”
Of course, Philip might have been able to get rid of the virus that had so confounded Neal, but I was starting to think that there might be another explanation. “Of course, I wasn’t around much then, so I don’t know that I ever heard the whole story.” I was keeping my fingers crossed that Colleen was too well brought up to ask why I wanted to know about it now. Thank goodness her parents had done such a good job.
“There isn’t that much to hear. He got a virus on his hard drive that messed it up right in the middle of working on his dissertation. When he couldn’t get his data back, he left school. Philip and I were out of town when his hard drive crashed, so we didn’t know anything about it until we got back.”
“I always wondered how Neal picked up that virus,” I said speculatively. “We didn’t know as much about them as we do now, but he was always mighty particular about what diskettes he put into his system and who he’d let use his computer.” I remembered an argument between him and Philip over that very thing. Philip had spilled Coke on Neal’s keyboard once, and Neal had been furious and had absolutely refused to let Philip use his system ever again. Even though it was his own doing, Philip had been as mad as a wet hen.
Colleen said, “Philip would have given him a hard time about it if Neal hadn’t left the way he did. Like I said, we were out of town, and when we got back to my place, Neal had left a note on my door. He was desperate to find Philip, said he’d tried everything and he just couldn’t get the drive running again. I felt sorry for him, and Philip couldn’t wait to get to t
heir dorm room and prove how smart he was. He was so …”
“Full of himself?” I suggested.
“Exactly. But when we got there, Neal was gone. There was just a note and what was left of his computer. I didn’t hear anything out of Neal for years, not until he showed up at SSI.”
I should have talked to Colleen a little while longer to be polite, but I couldn’t wait to get off the phone. I made an excuse about there being somebody at the door so I could hang up and try to put it all together.
The first piece was what folks at SSI had told me about Philip planting computer viruses and booby traps at the office. He’d played all kinds of practical jokes while we were dating, and while most of them had been ultimately harmless, they sure had been a pain in the rump.
The next piece was Neal being a much better programmer than Philip, and Philip hating to admit that anybody was better than him at anything. Plus, Neal had a better system than Philip that he wouldn’t let Philip use.
The two pieces added up to a golden opportunity for Philip to play a nasty trick on Neal. Couldn’t he have created a virus that would make it look as if Neal’s hard drive had crashed irrevocably? And couldn’t he have timed the virus so that it would go off while Philip was out of town so Neal wouldn’t suspect him of being responsible? Couldn’t he have messed up the backups, too? And wouldn’t it have been just like Philip to show up his roommate by “fixing” the problem he’d caused in the first place?
If anybody else had done it and then found Neal gone, he’d have called Neal to get him to come back to school, but I couldn’t see Philip doing that. I could see him getting rid of the booby trap so he could use the hard drive. And I could see him being nosy enough to look at Neal’s files, and eventually finding StatSys and realizing what he could do with it. He used it to start SSI, and kept people away from the code all those years because he was afraid somebody would realize that it wasn’t his.