Free Novel Read

Close to the Machine_Technophilia and Its Discontents Page 2


  “No, no, no, no. What if the members of the set start with spaces. Oh, God. It won’t work.”

  He is as near to naked despair as has ever been shown to me by anyone not in a film. Here, in that place, we have no shame. He has seen me sleeping on the floor, drooling. We have both seen Danny’s puffy white midsection—young as he is, it’s a pity—when he stripped to his underwear in the heat of the machine room. I have seen Joel’s dandruff, light coating of cat fur on his clothes, noticed things about his body I should not. And I’m sure he’s seen my sticky hair, noticed how dull I look without make-up, caught sight of other details too intimate to mention. Still, none of this matters anymore. Our bodies were abandoned long ago, reduced to hunger and sleeplessness and the ravages of sitting for hours at a keyboard and a mouse. Our physical selves have been battered away. Now we know each other in one way and one way only: the code.

  Besides, I know I can now give him pleasure of an order which is rare in any life: I am about to save him from despair.

  “No problem,” I say evenly. I put my hand on his shoulder, intending a gesture of reassurance. “The parameters never start with a space.”

  It is just as I hoped. His despair vanishes. He becomes electric, turns to the keyboard and begins to type at a rapid speed. Now he is gone from me. He is disappearing into the code—now that he knows it will work, now that I have reassured him that, in our universe, the one we created together, space can indeed be forever and reliably numeric.

  The connection, the shared thought-stream, is cut. It has all the frustration of being abandoned by a lover just before climax. I know this is not physical love. He is too young, he works for me; he’s a man and I’ve been tending toward women; in any case, he’s too prim and business-schooled for my tastes. I know this sensation is not real attraction: it is only the spillover, the excess charge, of the mind back into the abandoned body. Only. Ha. This is another real-world thing that does not matter. My entire self wants to melt into this brilliant, electric being who has shared his mind with me for twenty seconds.

  Restless, I go into the next room where Danny is slouched at his keyboard. The big, wire-haired dog growls at me. Danny looks up, scowls like his dog, then goes back to typing. I am the designer of this system, his boss on this project. But he’s not even trying to hide his contempt. Normal programmer, I think. He has fifteen windows full of code open on his desktop. He has overpopulated his eyes, thoughts, imagination. He is drowning in bugs and I know I could help him, but he wants me dead just at the moment. I am the last-straw irritant. Talking: Shit! What the hell is wrong with me? Why would I want to talk to him? Can’t I see that his stack is overflowing?

  “Joel may have the overlapping controls working,” I say.

  “Oh, yeah?” He doesn’t look up.

  “He’s been using me as a programming dummy,” I say. “Do you want to talk me through the navigation errors?” Navigation errors: bad. You click to go somewhere but get somewhere else. Very, very bad.

  “What?” He pretends not to hear me.

  “Navigation errors. How are they?”

  “I’m working on them.” Huge, hateful scowl. Contempt that one human being should not express to another under any circumstances. Hostility that should kill me, if I were not used to it, familiar with it, practiced in receiving it. Besides, we are at that place. I know that this hateful programmer is all I have between me and the navigation bug. “I’ll come back later,” I say.

  Later: how much later can it get? Daylight can’t be far off now. This small shoal of pre-installation madness is washing away even as I wander back down the hall to Joel.

  “Yes! It’s working!” says Joel, hearing my approach.

  He looks up at me. “You were right,” he says. The ultimate one programmer can say to another, the accolade given so rarely as to be almost unknown in our species. He looks right at me as he says it: “You were right. As always.”

  This is beyond rare. Right: the thing a programmer desires above, beyond all. As always: unspeakable, incalculable gift.

  “I could not have been right without you,” I say. This is true beyond question. “I only opened the door. You figured out how to go through.”

  I immediately see a certain perfume advertisement: a man holding a violin embraces a woman at a piano. I want to be that ad. I want efficacies of reality to vanish, and I want to be the man with violin, my programmer to be the woman at the piano. As in the ad, I want the teacher to interrupt the lesson and embrace the student. I want the rules to be broken. Tabu. That is the name of the perfume. I want to do what is taboo. I am the boss, the senior, the employer, the person in charge. So I must not touch him. It is all taboo. Still—

  Danny appears in the doorway.

  “The navigation bug is fixed. I’m going home.”

  “I’ll test it—”

  “It’s fixed.”

  He leaves.

  It is sometime in the early morning. Joel and I are not sure if the night guard is still on duty. If we leave, we may not get back up the elevator. We leave anyway.

  We find ourselves on the street in a light drizzle. He has on a raincoat, one that he usually wears over his too-prim, too-straight, good-biz-school suits. I have on a second-hand-store leather bomber jacket, black beret, boots. Someone walking by might wonder what we were doing together at this still-dark hour of the morning.

  “Goodnight,” I say. We’re still charged with thought energy. I don’t dare extend my hand to shake his.

  “Goodnight, “he says.

  We stand awkwardly for two beats more. “This will sound strange,” he says, “but I hope I don’t see you tomorrow.”

  We stare at each other, still drifting in the wake of our shared mind-stream. I know exactly what he means. We will only see each other tomorrow if I find a really bad bug.

  “Not strange at all,” I say, “I hope I don’t see you, either.”

  I don’t see him. The next day, I find a few minor bugs, fix them, and decide the software is good enough. Mind-meld fantasies recede as the system goes live. We install the beginnings of a city-wide registration system for AIDS patients. Instead of carrying around soiled and wrinkled eligibility documents, AIDS clients only have to prove once that they are really sick and really poor. It is an odd system, if I think of it, certifying that people are truly desperate in the face of possible death.

  Still, this time I’m working on a “good” project, I tell myself. We are helping people, say the programmers over and over, nearly in disbelief at their good fortune. Three programmers, the network guy, me—fifty-eight years of collective technical experience—and the idea of helping people with a computer is a first for any of us.

  Yet I am continually anxious. How do we protect this database full of the names of people with AIDS? Is a million-dollar computer system the best use of continually shrinking funds? It was easier when I didn’t have to think about the real-world effect of my work. It was easier—and I got paid more—when I was writing an “abstracted interface to any arbitrary input device.” When I was designing a “user interface paradigm,” defining a “test-bed methodology.” I could disappear into weird passions of logic. I could stay in a world peopled entirely by programmers, other weird logic-dreamers like myself, all caught up in our own inner electricities. It was easier and more valued. In my profession, software engineering, there is something almost shameful in this helpful, social-services system we’re building. The whole project smacks of “end users”—those contemptible, oblivious people who just want to use the stuff we write and don’t care how we did it.

  “What are you working on?” asked an acquaintance I ran into at a book signing. She’s a woman with her own start-up company. Her offices used to be in the loft just below mine, two blocks from South Park, in San Francisco’s Multimedia Gulch. She is tall and strikingly attractive; she wears hip, fashionable clothes; her company already has its first million in venture-capital funding. “What are you working on,” she wanted t
o know, “I mean, that isn’t under non-D?”

  Under non-D. Nondisclosure. That’s the cool thing to be doing: working on a system so new, so just started-up, that you can’t talk about it under pain of lawsuit.

  “Oh, not much,” I answered, trying to sound breezy. A city-wide network for AIDS service providers: how unhip could I get? If I wanted to do something for people with AIDS, I should make my first ten million in stock options, then attend some fancy party where I wear a red ribbon on my chest. I should be a sponsor for Digital Queers. But actually working on a project for end users? Where my client is a government agency? In the libertarian world of computing, where “creating wealth” is all, I am worse than uncool: I am aiding and abetting the bureaucracy, I am a net consumer of federal taxes—I’m what’s wrong with this country.

  “Oh, I’m basically just plugging in other people’s software these days. Not much engineering. You know,” I waved vaguely, “plumbing mostly.”

  My vagueness paid off. The woman winked at me. “Networks,” she said.

  “Yeah. Something like that,” I said. I was disgusted with myself, but, when she walked away, I was relieved.

  The end users I was so ashamed of came late in the system development process. I didn’t meet them until the software was half-written. This is not how these things are supposed to go—the system is not supposed to predate the people who will use it—but it often goes that way anyhow.

  The project was eight months old when my client-contact, a project manager in a city department, a business-like woman of fifty, finally set up a meeting. Representatives of several social-service agencies were invited; eight came. A printed agenda was handed around the conference table. The first item was “Review agenda.” My programmer-mind whirred at the implication of endless reiteration: Agenda. Review agenda. Agenda. Forever.

  “Who dreamed up this stuff?” asked a woman who directed a hospice and home-care agency. “This is all useless!” We had finally come to item four on the agenda: “Review System Specifications.” The hospice director waved a big stack of paper—the specifications arrived at by a “task force”—then tossed it across the table. A heavyset woman apparently of Middle-Eastern descent, she had probably smoked a very large number of cigarettes in the course of her fifty-odd years on earth. Her laugh trailed off into a chesty rumble, which she used as a kind of drum roll to finish off her scorn.

  The other users were no more impressed. A black woman who ran a shelter—elegant, trailing Kente cloth. She kept folding and draping her acres of fabric as some sort of displacement for her boredom. Each time I started talking, I had to speak over a high jangle of her many bracelets set playing as she rearranged herself and ignored me with something that was not quite hostility. A woman who ran a clinic for lesbians, a self-described “femme” with hennaed hair and red fingernails: “Why didn’t someone come talk to us first?” she asked. A good question. My client sat shamefaced. A young, handsome black man, assistant to the hospice director, quick and smart: he simply shook his head and kept a skeptical smile on his face. Finally a dentist and a doctor, two white males who looked pale and watery in this sea of diversity: they worried that the system would get in the way of giving services. And around the table they went, complaint by complaint.

  I started to panic. Before this meeting, the users existed only in my mind, projections, all mine. They were abstractions, the initiators of tasks that set off remote procedure calls; triggers to a set of logical and machine events that ended in an update to a relational database on a central server. Now I was confronted with their fleshly existence. And now I had to think about the actual existence of the people who used the services delivered by the users’ agencies, sick people who were no fools, who would do what they needed to do to get pills, food vouchers, a place to sleep.

  I wished, earnestly, I could just replace the abstractions with the actual people. But it was already too late for that. The system pre-existed the people. Screens were prototyped. Data elements were defined. The machine events already had more reality, had been with me longer, than the human beings at the conference table. Immediately, I saw it was a problem not of replacing one reality with another but of two realities. I was there at the edge: the interface of the system, in all its existence, to the people, in all their existence.

  I talked, asked questions, but I saw I was operating at a different speed from the people at the table. Notch down, I told myself. Notch down. The users were bright, all too sensitive to each other’s feelings. Anyone who was the slightest bit cut off was gotten back to sweetly: “You were saying?” Their courtesy was structural, built into their “process.” I had to keep my hand over my mouth to keep from jumping in. Notch down, I told myself again. Slow down. But it was not working. My brain whirred out a stream of logic-speak: “The agency sees the client records if and only if there is a relationship defined between the agency and the client,” I heard myself saying. “By definition, as soon as the client receives services from the agency, the system considers the client to have a relationship with the provider. An internal index is created which represents the relationship.” The hospice director closed her eyes to concentrate. She would have smoked if she could have; she looked at me as if through something she had just exhaled.

  I took notes, pages of revisions that had to be done immediately or else doom the system to instant disuse. The system had no life without the user, I saw. I’d like to say that I was instantly converted to the notion of real human need, to the impact I would have on the working lives of these people at the table, on the people living with AIDS; I’d like to claim a sudden sense of real-world responsibility. But that would be lying. What I really thought was this: I must save the system.

  I ran off to call the programmers. Living in my hugely different world from the sick patients, the forbearing service providers, the earnest and caring users at the meeting, I didn’t wait to find a regular phone. I went into the next room, took out my cell phone, began punching numbers into it, and hit the “send” button: “We have to talk,” I said.

  By the time I saw Joel, Danny, and Mark, I had reduced the users’ objections to a set of five system changes. I would like to use the word “reduce” like a cook: something boiled down to its essence. But I was aware that the real human essence was already absent from the list I’d prepared. An item like “How will we know if the clients have TB?”—the fear of sitting in a small, poorly ventilated room with someone who has medication-resistant TB, the normal and complicated biological urgency of that question—became a list of data elements to be added to the screens and the database. I tried to communicate some of the sense of the meeting to the programmers. They were interested, but in a mild, backgrounded way. Immediately, they seized the list of changes and, as I watched, they turned them into further abstractions.

  “We can add a parameter to the remote procedure call.”

  “We should check the referential integrity on that.”

  “Should the code be attached to that control or should it be in global scope?”

  “Global, because this other object here needs to know about the condition.”

  “No! No globals. We agreed. No more globals!”

  We have entered the code zone. Here thought is telegraphic and exquisitely precise. I feel no need to slow myself down. On the contrary, the faster the better. Joel runs off a stream of detail, and halfway through a sentence, Mark, the database programmer, completes the thought. I mention a screen element, and Danny, who programs the desktop software, thinks of two elements I’ve forgotten. Mark will later say all bugs are Danny’s fault, but, for now, they work together like cheerful little parallel-processing machines, breaking the problem into pieces that they attack simultaneously. Danny will later become the angry programmer scowling at me from behind his broken code, but now he is still a jovial guy with wire-rimmed glasses and a dog that accompanies him everywhere. “Neato,” he says to something Mark has proposed, grinning, patting the dog, happy as a clam
.

  “Should we modify the call to AddUser—”

  “—to check for User Type—”

  “Or should we add a new procedure call—”

  “—something like ModifyPermissions.”

  “But won’t that add a new set of data elements that repeat—”

  “Yeah, a repeating set—”

  “—which we’ll have to—”

  “—renormalize!”

  Procedure calls. Relational database normalization. Objects going in and out of scope. Though my mind is racing, I feel calm. It’s the spacey calm of satellites speeding over the earth at a thousand miles per second: relative to each other, we float. The images of patients with AIDS recede, the beleaguered service providers are forgotten, the whole grim reality of the epidemic fades. We give ourselves over to the sheer fun of the technical, to the nearly sexual pleasure of the clicking thought-stream.

  Some part of me mourns, but I know there is no other way: human needs must cross the line into code. They must pass through this semipermeable membrane where urgency, fear, and hope are filtered out, and only reason travels across. There is no other way. Real, death-inducing viruses do not travel here. Actual human confusions cannot live here. Everything we want accomplished, everything the system is to provide, must be denatured in its crossing to the machine, or else the system will die.

  [1] TRANSACTIONS

  “SOFTWARE IS TEAMWORK,” SAID THE WOMAN IN THE beautiful black outfit. The pants were wide-legged and had a lacy, vaguely see-through surface; the jacket was of wool that draped like silk. In her hand was a glass of twelve-year-old Bordeaux. We were at a wine-tasting party. “Systems analysts, user representatives, department managers, programming managers, programmers, testers” —the woman’s wine glass moved slowly left to right—“an organized team of players working in cooperation to meet well-defined objectives.”