KENNY'S GREAT BIG PROJECT
The folder Kenny was supposed to read was sitting on the airplane seat table in front of him. He was thinking about his stock-picking program. He had given up on it a long time ago, but he had worked hard on that program, for a little while, and now he couldn't stop thinking about it.
Cambridge, MA
August
He had to do something. He could barely sit still. It was the Itch.
Kenny's lanky body, bare except for white undies, was stretched out desperately on the rickety chair in front of his computer. It was 2 a.m., dark outside and sweltering both in and out of his apartment. He couldn't sleep, so he would write another stupid program. Sweaty, hot. The Itch.
He was too impatient for activities such as reading or watching an old movie. They wouldn't help. They weren't doing anything, making anything. He wanted to do something, and the only thing he knew how to do was write computer programs. The only problem was that he didn't know what program to write. He never did.
The cursor blinked on the screen, waiting for him.
A scan of the folders on his computer told a story of a computer programmer with nothing to program. ASCII Face: a program that took a photo and converted it into a rough likeness composed of letters and keyboard characters. ASCII Face didn't work well; Kenny had only worked on it for a couple days. Pic Grabber: a program composed after ASCII Face that had lain stale for a week. Pic Grabber would autonomously navigate to a few preselected news sites and download the photos on those pages to Kenny's hard drive. Pic Grabber had been intended to collect pics for the ASCII Face program. It performed its task correctly, but Kenny never put it to use.
Triangle Drawer drew triangles on the computer screen, and then added lines connecting the points of some triangles with those of other triangles. Kenny had spent 43 minutes writing Triangle Drawer.
Number Guesser would guess what number you were thinking of, taking "higher" and "lower" as inputs. It would also choose a number and let you do the guessing, leading you on with a series of taunts. ("Too low. Try again, idiot.") Number Guesser had been an active project for a grand total of 1 hour and 53 minutes.
What would it be tonight? How about Program Idea Generator, he thought. That would be useful. None of his classes or teachers ever addressed what was worth programming. Everything was an exercise to build skills and tools. Homework. Endless preparation for a Great Big Project that was never named or described or even alluded to, and which he doubted would ever come. There appeared to be no point to what he was learning. Computer science ceased to be something he was interested in. Then it was just something he studied because he had to study something.
Graduating had not solved the problem: he had to do something. Getting a job seemed like a loathsome proposition. So he had looked at graduate school. He was good enough to get recommended into a top graduate program. His professors didn't seem to think he was anything special (they didn't seem to think there was a Great Big Project for him, either, evidently). He just happened to be better than most of his classmates -- the ones who hadn't gone off to become bankers, at least. He was a little surprised when he got in and when it dawned on him that the graduate stipend would cover his living expenses. For a few months he was almost excited.
In grad school his adviser had made him choose his own projects. There were no homework assignments. But he kept rejecting Kenny's proposals as not "serious." That word was in every email from Kenny's adviser. Serious. Apparently programming was pretty serious business. Serious. What a serious idiot. At first Kenny interpreted "not serious" to mean "too easy." He suspected later that the only "serious" projects were the ones closely in line with his adviser's own research, which Kenny found absurdly esoteric. Kenny didn't care much what he worked on, but he couldn't give up hope that whatever he did might be connected, however faintly, to that mysterious Great Big Project waiting for him out there. Insisting on that point had made it difficult to get along with his adviser and was the main reason he had dropped out of grad school.
That hot summer night was the same problem, same blinking cursor. But it was the night he started the stock-picking program.
The traces of history on Kenny's hard drive gave no indication as to why he would tackle picking stocks. He had never shown any interest in the subject, and he knew almost nothing about it. He had only a dim idea of what a stock was.
A car drove by outside, past the peeling white paint and dark screen of the open window by the street. Kenny clicked open a few web pages describing the basics of the stock market. You can trade stocks online, right? And you could look up stock prices online. But the market closed, right? You can buy stocks at other times, can't you?
The stock picker was doomed from the outset. Kenny might have possessed the ability to make it work, but he lacked the commitment, and he knew it.
Serious. Maybe the stock-picking program was serious. Making money was serious. Providing for his girlfriend, or impressing her, would be serious.
But where could he begin? He reviewed some programs he had written recently. Word Quiz consulted a dictionary and gave you a word and four possible definitions, one of which was correct and three of which were selected randomly from other words in the dictionary. The quiz ended up being too easy, even for Kenny's modest vocabulary. Word Guesser navigated itself to a news page and tried to extract definitions from the page by snipping out text. Word Guesser didn't work at all, but it used a lot of the same code as the Pic Grabber, so Kenny had written it quickly. It would take a page with the sentence, Britney Spears is a complete disaster, and output the definition, Britney Spears: n. A complete disaster. That kind of program is called a "scraper," because it scrapes words and images from a web page.
Kenny reflected on the fact that he liked writing scrapers. There was instant gratification to scraping. That, and reusing programming code that other people had already written.
He clapped his hands. "Yes!" He leaned back. He had an idea. He would write his stock picker with the mother of all his scraper programs: Pats Suck. The stock picker still wouldn't work, probably. But he was pleased with his idea. It would provide a couple hours of something interesting to do.
He put on The Beatles (the White Album) and stood up to think. For a moment, the Itch was gone.