Book Read Free

Skillful Death

Page 36

by Ike Hamill


  “What else do you have?” Bud asked.

  Edgar showed him another game, and then another. Finally, he invited Bud to touch the machine.

  “Can I get you coffee, or something else to drink?” Edgar’s wife asked from the doorway.

  “No,” Bud said, not removing his eyes from the computer display. “Thank you,” he added with a quick nod.

  “This is connected to the computer as well?” Bud asked. He pointed at a printer that pulled a scroll of paper from a box on the floor.

  “Yes,” Edgar said. “With some programs you can print. I have a program where you can type letters or books and they will print out here.”

  “Who makes this machine? I want to see the inside now.”

  “Oh,” Edgar said. “It’s kind of an ordeal to show you the inside. I mean, it’s easy to open, but you have to disconnect everything and move the monitor.”

  “I’ll help,” Bud said. He stood and began to shift things around on the desk.

  “Okay, sure,” Edgar said. He moved methodically and Bud struggled to maintain his patience with the man.

  When he finally glimpsed the inside of the machine, Bud sat down hard and didn’t take his eyes from the components. It contained hundreds of traces, connecting dozens of integrated circuits in a puzzle of complexity. The cables were color-coded and routed with care. Each part was placed neatly and the design spoke of a careful regard for order. The simple concepts of its foundation were repeated again and again, until the sum achieved the amazing results he’d seen. Bud fell in love with this machine.

  “Who makes this?” Bud asked again.

  “Oh,” Edgar said. “A little company down south. They’re going to be at the computer fair next month, you should go.”

  “I will,” Bud said. “You’ll drive?”

  53 ACCIDENTAL BILLIONAIRE

  THE TRIP TO SAN Francisco took almost fourteen hours by car. Bud and Edgar switched off driving each time they stopped. Bud’s fatigue melted away when he set foot in the exhibit space of the computer fair. Booths of computer manufacturers and software companies packed the floor and men milled around, talking to the vendors.

  Bud followed the crowd to a display of a portable computer. The machine and tiny monitor were built into a hard suitcase you could carry around. When he pushed his way to the front and saw the inside of the machine, Bud moved on. It looked well-constructed, but the design was not elegant.

  Edgar used his time to talk about software. He looked for new programs to load onto his machine so he could do more things. Edgar purchased a floppy drive, so he could load programs faster than the cassettes would allow.

  Bud didn’t talk to many people. He approached any booth where a machine was in pieces so he could study the design. He recognized the patterns and saw where the different companies had borrowed ideas from each other. He kept notes on interesting details and things he would like to investigate further. Several vendors demonstrated add-on capabilities for machines, and these fascinated Bud. He imagined different systems a computer could control. The only thing Bud purchased was a technical manual meant for programmers. With it, he had a detailed explanation of Edgar’s machine, and all the systems it contained. With it, he envisioned creating his own programs for the computer.

  They stayed the night in a two-story motel near the highway.

  Bud kept his light on most of the night, reading his book. This method of learning represented an enormous shift for Bud. He’d tried to learn various subjects from books in the past, but he had always failed. The words never gave him any insight. This book, and these concepts, were different. Bud studied the diagrams and learned each section. He reviewed the tables over and over, learning the descriptions of instructions one could feed to the machine. From the examples, he understood how to piece together a complex program from the simple arithmetic available.

  On the trip home, he drove Edgar crazy. While Edgar drove, Bud kept his nose buried in the book, or marked down notes in his diary. When it was his turn to drive, Bud only glanced at the road occasionally. He gave most of his attention to the book, which he propped against the window with his left hand. When the sky grew too dark to read, Bud shifted the book to his right hand and turned on the map light. Edgar couldn’t sleep. Every time he closed his eyes he envisioned dying in a head-on collision.

  By the time Edgar dropped him off at his apartment, Bud already had the structure for his first program designed.

  ♣ ♢ ♡ ♠

  Bud liked to program graphics. He was fascinated with making things move on the TV screen. When he wasn’t working, Bud listed out pages of machine codes in his notebook, executing the program in his head to understand what it would do on the computer. When Edgar granted him access, Bud typed in his codes furiously to see if his program would behave as he expected before Edgar would politely ask him to leave.

  After a few weeks of begging for time, Bud sent away for the specifications for the cassette decoder. The computers cost too much for Bud to afford, but he was able to purchase enough parts to make his own cassette drive. Using this device, Bud could enter all his machine codes on a keypad and record them to cassette. Then, when Edgar gave him time, he ran his test programs immediately instead of spending all his allowed time keying in the codes.

  When Edgar announced a vacation, Bud realized the depth of his own addiction. Bud usually spent two nights a week at Edgar’s house tucked away in the basement, programming and testing. Edgar and his wife tried to ignore his presence. They graciously tried to go about their lives and allow Edgar’s friend to use the computer which otherwise might stay dark. After all, computing was a hobby of Edgar’s, but it was one of his many hobbies. For Bud, it seemed to be a calling, and he was unlucky enough that he couldn’t afford to buy his own machine.

  So, when Edgar and his wife took a two-week vacation, Bud was lost. They were nice to him, but not nice enough to give him a key to use while they were gone. Bud spent several days tracing through his code by hand, executing it in his mind. He began to consider breaking in to Edgar’s house. An announcement in the newspaper saved him from this crime.

  “Lecture: Computers in Our Lives, by Professor Bernard Shaulen,” the announcement read. The lecture was that same evening. The important part for Bud was the venue: The University of Washington Computer Lab. Bud took a bus and arrived forty minutes early. Once in the building, Bud wandered and poked his head in doorways. Tucked in one corner of the building, he found two lecture halls with attached labs. The blackboards contained machine codes, pseudocode, and diagrams of circuit gates. One lab had ugly, boxy, hulking machines. The other lab contained a dozen machines just like Edgar’s. Each was in perfect condition, and each contained every upgrade Bud had ever heard of.

  He sat down, booted a machine, and began typing.

  He inserted a disk, loaded his latest program, and began to work on the subroutine which processed the keyboard input. In seconds, Bud was lost in code, oblivious to the world.

  A man slipped into the room and leaned against the wall behind Bud.

  Bud still kept his head shaved. In Denpa’s village, all the men over a certain age kept their heads shaved, and Bud had brought the tradition over to his new home. His stubble was pure white. His face showed crinkly lines around his eyes, and his fingers had the thick bulges of an older man’s hands. Aside from that, Bud could have been any age from thirty to fifty.

  The age of the man behind him was a little easier to peg. The man leaning against the wall had long hair, parted in the middle, which seemed to match the drooping mustache which trailed down either side of his mouth. With the hair, wide tie, and wide collar on his button-down shirt, the man was certainly somewhere between twenty-five and thirty years old.

  Bud dropped the machine into its monitor mode so he could view and manipulate the memory directly. In that mode, he could see the state of the machine, and enter instructions directly for the machine to execute when he resumed his program. He was speaking dir
ectly to the machine, bypassing all the conveniences that most programmers used. The way Bud controlled the machine required a flawless understanding of the workings of the computer.

  Bud typed the machine codes of his instructions from memory. While his program executed, Bud made notes about the subroutine he’d just invented.

  The man leaning against the wall broke his silence, startling Bud. “You’ve memorized the whole instruction set?”

  Bud turned halfway around to get a look at the man.

  “Just the parts I use,” he said, with a smile.

  “We’ve got an assembler you can use,” the man said. “It’s in that box of disks.” He was referring to a helper application that would help a coder develop a program.

  “I’ve never used one,” Bud said. “I wouldn’t know where to start.”

  “You can save time. You don’t have to memorize everything, and you can use abstractions to generate multiple machine codes from one line. It compacts everything and makes it simpler.”

  “Thanks,” Bud said.

  The man shrugged when he saw that Bud had no intention of changing his methods.

  “I’m Bernie,” the man said. He held out his hand and approached. “Bernie Shaulen.”

  “Oh,” Bud said. “Don’t you have a lecture tonight?”

  “Yeah, in a few minutes. It’s in the classroom next door. Are you coming?”

  “I thought I would work on my program a bit.”

  “You’ll get kicked out when the guard comes by. He hates coders. Doesn’t matter if you have a pass or not, he’ll kick you out after eight, every time.”

  “Oh,” Bud said. “When does it open again?”

  “You’re a student, right?”

  “I’m afraid not.”

  “That makes it tougher. The lab is only open to students. That’s easy enough to fix. Go over to admissions in the morning and you can enroll. If you’re a resident, you can audit one class per semester for a tiny fee. Just sign up for my class and you’ll get access to the lab from eight until eight.”

  “Twelve hours?”

  “Every day except holidays.”

  ♣ ♢ ♡ ♠

  Bud gave notice at the repair shop the next morning. He moved out of his apartment and moved into an efficiency near the university. For two months, he spent twelve hours a day in the computer lab. He arrived when the morning guard unlocked the door. He went home sweaty, scruffy, and hungry, twelve hours later. His obsession consumed him.

  One morning, his fingers were still. His program pushed the machine to its limits, and he couldn’t think of a way to free space for more instructions. His program was nearly complete, but he had drowned the machine in code.

  Bernie glanced through the doorway as he walked down the hall and stopped dead in his tracks. He knew Bud would be there, sitting at the same machine. What made him stop was that he’d never seen Bud sitting and not typing or writing. He approached slowly, waiting to see if Bud would blink or breathe. When Bud turned towards Bernie, the professor nearly jumped back.

  “Hey, Bud.”

  “Hello, Mr. Bernie.”

  “Is there something wrong? Some problem with the machine?” Bernie asked. He looked at the screen and saw a block of memory with high address numbers.

  “I’ve run out.”

  “Run out?”

  “Of space.”

  “No, that can’t be,” Bernie said. “These machines are fully upgraded. What could you be doing to fill the whole thing?”

  “I was working on my inductor model, trying to make the transients realistic.”

  “Your what?”

  “I wrote a program to simulate circuits,” Bud said. He broke from the machine monitor and executed his program. The screen filled with a circuit diagram and diagnostic readouts. “You enter your circuit here, and then when you execute, the program simulates all the voltages and currents. You can use it design and test a circuit without having to build it.”

  “That’s amazing,” Bernie said, leaning closer. “Does it work?”

  “Yes, except the transient isn’t smooth enough. You can graph it here,” Bud said, as he pushed a button. The screen changed to a graph of voltage and current. “You see how coarse that is? I want to smooth it out like this.” Bud switched to a view of a capacitor. The curve was pleasingly smooth.

  “Can’t you use the same curve? Aren’t they basically the same curve?”

  “One is current, the other voltage,” Bud said.

  “Okay, sure, but can’t you just substitute one for the other? Why do you need two different functions?”

  “I don’t know how I would re-use the function.”

  “Perhaps you should attend my lecture today. We’re talking about parameters and code re-use.”

  “I really need to finish this.”

  “I think you need to attend my lecture so you can figure out how to finish.”

  Bud thought about the book he’d bought in San Francisco. Before that book, he’d always believed that he could only learn by doing. The book had shown him a new way of learning. Perhaps Bernie could teach him in the same way. Bud packed up his stuff and followed the professor into the classroom.

  The students looked like miniature versions of Bernie. They all looked familiar since he’d seen each of them in the lab at some point. Bud took a seat near the door and pulled out his notebook. He studied his code while he waited for the lecture to start.

  Bernie tailored the lecture for Bud. He gave a contrived example of a routine that had three jobs to do and an absurdly small amount of space in which to execute. First, Bernie tackled just one of the problems, showing how he could design a program in the space to accomplish the task. He repeated the procedure for the other two tasks. The students could see that the three functions would never all fit in memory at the same time.

  Bud saw his own problem reflected in the program scrawled on the chalkboard.

  Next, Bernie rewrote his solution, feeding a parameter into his routine and allowing that parameter to control the execution. With a clever use of the parameter, Bernie made the routine change its nature. Suddenly, one block of code had multiple meanings depending on the context.

  The world split apart as Bud’s mind opened to the possibilities. He realized in an instant that he’d been thinking too linearly. His whole approach had been restrained and limited. With Bernie’s method, he could cut the size of his program in half, and have all the room he’d ever need to finish. Bud looked around the room, expecting to see the same wonder he felt reflected on the faces of the other students. They all looked bored. Most weren’t even taking notes on the lecture. Could it be that they already knew this approach? How could they just sit there? Knowing what they knew they should be fighting over each other to get to the lab. Bud forced himself to stay put and hear the rest of the lecture. He was glad he did. He learned several more techniques to optimize his methods.

  Bud began writing in his notebook. He didn’t write what Bernie put on the board, but wrote all the ideas which Bernie ignited in his brain.

  ♣ ♢ ♡ ♠

  Bud was living on his modest savings, and they were running low. He ignored his dwindling pile of cash, and focused on finishing his program. As he completed his working circuit simulator, Bud realized that he would never call the program done, but it was certainly useful.

  He showed the program to Bernie.

  “And you’ve tested it?” Bernie asked.

  “Against a hundred circuits,” Bud said. “It works.”

  A group of students, sensing that a completed program was being unveiled, gathered around Bernie and Bud.

  “Show me one from the beginning.”

  Bud restarted the program.

  “You move your cursor around the screen like this. You can insert any one of these electronic parts. When you drop a part, it doesn’t have any connections until you hit ‘Enter’ and then draw a line to another part. You can create a node like this.” Bud designed a simple a
mplifier on the screen. “When I’m done, I simulate like this. Here’s my input voltage over time and here’s the output.”

  “Wow,” several students said, as Bud brought up the graphs.

  “You see that distortion here?” Bud asked. “If you build a prototype, you’re never sure if the distortion is coming from the long wires, or a bad component, or interference. With this simulator, you can eliminate all those variables. If I increase this resistance and decrease my output a bit, you’ll see that distortion disappear. That way I can pin down the source.”

  “That’s amazing, Bud,” Bernie said. “You’ve really got something here. How much are you going to sell it for?”

  “Sell it?”

  Bernie laughed. “I know you built this for yourself, but surely electronics manufacturers would like to purchase it?”

  “Don’t they already have programs like this?”

  “Bud, they have programs on mainframes that require a dedicated engineer to feed in all the parts and variables. They can do the same simulation, but it takes a week to get back the results. Then, if they want to tweak something, it’s another week to modify. You can take what you’ve done and put it directly in the hands of the engineers. Think of the cost savings.”

  “I wouldn’t know where to start.”

  “That’s the great thing about being at a university—we have every discipline right here.”

  ♣ ♢ ♡ ♠

  Bernie and Bud met with the head of Electrical Engineering who set up a demonstration with Sterling Electronics. The CEO of the company wanted to purchase Bud’s program on the spot, but Bernie asked for more time. Bernie practically dragged Bud back to his office and sat him down.

  “Bud, this isn’t the type of program you sell,” Bernie said.

  “Why not? I have rent to pay. With what they’re offering, I could pay my rent for three years.”

 

‹ Prev