The Computer Guy

Vladoff wasn’t at work today, actually, he hadn’t been to work in three months. He never called in, never made vacation or leave of absence arrangements. Normally, you would have expected him to be fired by now, but not Vladoff, he’s too smart for that.

It all started about a year ago, with six hours of meetings, as if that was a productive way to spend the most valuable time of his life. Vladoff has been a computer programmer for all of his adult life, and most of his childhood, but his current career was getting him fed up. When did software development mean that you sat in meetings or on conference calls all day?

Vladoff had grown up in a poor household, but when he got a hand me down computer from his uncle from a failed business venture twenty some odd years ago, his life changed. He was only twelve years old, but operating the computer seemed to be in his genes, as it was only a few months before he had written his own dialer to find access to other computers, long before the Vice President of the United States invented the Internet.

He spent most of his teenage years writing software viruses, hacking into computer systems and learning computer coding and networking all the way down to base code. He always used assembly language back then, there was no better way to get complete control of a computer than that. When he was in his late teens, he was even paid for his hacking on occasion, which only elevated his ability to break into any computer system he wanted to. He had a reputation for never letting a customer down, since whatever he set out to do, he got done.

Then there was the day of reckoning, a day that changed his life forever, for better or for worse depends on your point of view. He was in the middle of trying to hack into the Federal Reserve for a customer that, he supposed, represented a bank that was in a little trouble with the institution, when there was a knock on the door. He opened it, and was immediately grabbed and thrown down on the floor. He didn’t resist, as his chosen career didn’t give him the advantage of a strong physique. It was the FBI visiting him that day, not a friendly visit by any means. He was cuffed as they searched in every nook and cranny of the little apartment and carted out all his computer equipment. They had a warrant, they said, but he wasn’t in the mood to read it.

He spent 40 days locked up before a lawyer working Pro Bono got him released without bail. One condition of his release was that he was not allowed to use a computer while the case was still active. That was like taking away his oxygen, he didn’t even feel there was a reason to live as he knew nothing else.

He was lucky enough to be able to stay with friends since his earnings from his job at the local grocery store were barely enough to buy food, never mind pay for his apartment. He had been evicted from the previous apartment while in jail, so he had nothing. He sometimes imagined all his belongings sitting in a pile on the street in front of his old apartment building, people sorting through it for useful stuff while he sat in jail. How depressing.

It was a year before he actually wound up in court, the longest year of his life. Of course he had used a computer on occasion, but he knew he was being watched, so he could never log in anywhere, never create a new account, just look and read. He still wrote code though, mostly utilities that he could sell to other hackers for some income.

The court battle didn’t go very well, the FBI had amassed plenty of evidence against him. Most of it was supplied directly by him, on the hard drive of his IBM XT computer. He was young, invincible, immune to being caught by the law enforcement community, or so he had thought. He was facing 17 counts of fraud and 6 counts of conspiracy to commit fraud. The prosecuting attorney seemed really angry at him, or at least he put on a good show of it. His attorney told him he could be looking at eighty years in prison if they convicted him. Eighty years.

He was lucky, his attorney found many loopholes in the fraud charges due to the fact that they were all committed on the computer. Laws around computer crimes back then were still in their infancy, and it was easy to argue that they didn’t apply to acts on the computer. He got off with time served, that was close, too close, and he needed to find a different way to use his skills to make a living.

He landed his first coding job at a company that wrote anti-virus software, kind of a dichotomy, but an appropriate one. Who would be better qualified to find and eradicate viruses but someone that wrote them. It was a fun job, he was well respected for his abilities there, but it didn’t last. His company was bought by a behemoth software company that didn’t really care about his skills, so he had to move on.

He’d been with this company for fifteen years now. He rarely wrote code any more, as he now had the title of Senior Software Architect, so he was looked on for advice, not for code. It was cool in the beginning, sort of a boost to the ego which soon wore off. He rarely met anyone in person now, always working alone and participating on conference calls was his day in the life. The only time he talked to his supervisor was if there was a problem, or during his yearly performance review, which was a farce. His boss didn’t have the slightest idea what he did every day, he was just happy if there were no complaints.

A year has gone by since his brainstorm, he was living the life of leisure now, with a six figure income to boot. He had started the project for fun, he could even work on it during his conference calls, so he had plenty of cover to work through the details.

It started as a simple idea, being as he realized one day that most of the questions he received on his instant messaging client were repetitive. Variations on a theme, all of them. He wrote an application that intercepted in incoming message and analyzed the text for the key words to decide if it was a question or statement. If it was a question, it searched the history of his replies for something that was similar and replied with that text. If it didn’t find a good match, it searched the text of all the other employees of the company, if that failed, it searched several web blogs that programmers often used for an answer. Soon he wasn’t ever replying to IM’s any more, it had been completely automated.

Next was e-mail, he used the same basic principle, looking for previous e-mail threads that he could use to formulate responses, if not his, then other people in the company. Hacking into the messaging and e-mail system was easy. He was actually kind of disappointed that these companies, with all their hype and service packs still couldn’t keep someone out that wanted in.

E-mail was a bit more challenging though, because many e-mails he received were not really sent to him, he was just CC’d on them for information purposes. He coded those so that the system would only formulate a response if his name was mentioned in the body of the text somewhere. It took some time to tweak, but he liked the results. After a month of bug fixes, he wasn’t replying to e-mail any longer.

Now he had time to ponder on the biggest challenge, phone and conference calls. He had written an application that recorded all his calls early on in the project. It hooked into the application programming interface of his soft phone client. He had been recording conference calls for months by the time he was ready to start any coding.

The first order of business was getting into a conference call, that meant hooking into the calendaring application and having his software trigger at the right time and cull the meeting invite for a conference number and PIN code. That was coded in a couple of days, now the system dialed into his conference calls for him automatically. Then version 2.0, stated his name and listened for his name to be mentioned during the call.

He designed the system to do a speech to text translation of the entire call. When his name was detected, the system used the massive database of information that he had available from the messaging, e-mail and Internet to formulate a verbal response. If the system could find a snippet of audio from a previous conversation it inserted that, if it couldn’t, it had to produce a text to speech response.

This is more challenging than it might seem at first glance. He spent hundreds of hours reading words from the dictionary into a database engine to construct responses in his own voice. He then had the system automatically construct answers and use his recorded words to formulate the responses. The responses didn’t initially go right out over the phone, but he had them go into his headset so that he could critique the responses.

He discovered that just recording a word wasn’t good enough, as a word has different inflections when spoken in a sentence that is a statement than when it is a question. It also will often sound different if a word is spoken early in a sentence or later, or at the beginning or end. Once the system had constructed a response, it ran the response through the grammar checker of the word processor on his machine. It then had to select the recorded words from a database based on the position of the word in the sentence as well as whether the sentence was a question or a statement.

It had taken three months of painstaking work to get this working to his satisfaction. It was sometimes very distracting to have his own voice answering questions in his ear as he, himself, spoke the words. When he had gone for two weeks straight without having to make any adjustments to the logic, he had his maiden voyage. He let the system participate in its first solo conference call. He monitored the system, of course, but he never had to intercede, it was doing as good a job as he could ever do.

Now that he had the speech to text / text to speech engine completed, he concentrated on the most challenging of verbal communications, a direct phone call. A direct phone call is more challenging for the reason that the caller may use much more informal language as well as sarcasm.

He modified his conference call speech engine to take a parameter to know that it was a one on one phone call. Then he created a synonym database to accept variations on words that the system had to key on as his name, such as dude, guy, bud, buddy, mister, you etc. etc. Then he wrote a randomization engine that used these words in responses to the caller as well. For this version, if the caller made a statement that didn’t make logical sense to the parsing engine, it just responded with “Yeah, right!”

His first test call went fairly well, but there were going to have to be some logic changes to make the sentences sound more personal. Many sounded matter of fact, which works fine on a conference call, but sound cold during a phone conversation. During his second test call, a problem arose. His randomizing engine was using words like guy and buddy to respond to a woman caller. OK, that was a little awkward, he had to build a function that handled gender detection on the calling voice and then only use randomized name synonyms that were gender appropriate.

As a fail safe, if the system couldn’t find what it considered an appropriate response to a caller, it would respond that “Something has just come up, I’ll have to call you back shortly.” It then sent a text message to Vladoff with the text of the conversation up to that point with the caller ID information from the call. He would have to work on smoothing that engine out over the course of a much longer period of time.

He added a utility to the entire set that periodically manipulated items on the screen, so his Instant Messaging client didn’t show him as idle. He started a modification to the system to stop it from responding to e-mail and answering phone calls 24 hours a day. He thought that would raise some suspicion eventually and needed to be addressed.

Too late, it did get noticed. Vladoff got an e-mail from his boss stating that he had been voted the employee of the month in the department due to his unending willingness to help his teammates and working exemplary hours to get the job done.

That’s pretty funny he thought, he got the award and he hadn’t even been to work in months. Worst part was, he was going to have to go in to receive the award, what a cramp. Vladoff thought about that for a minute, maybe he wouldn’t have to go in after all . . .

Let me know what you're thinking