The Adventures Of Hax0r Man Chapter 15 Hax0r Man reaches out to people by LateBlt Ugh. Hax0r Man's skin crawls at the thought of calling tech support again. It's not even basic revulsion with the need to call tech support in the first place (since all hardware and software should be documented to the point where there is no need to call tech support); what really bothers Hax0r Man is that his last call to tech support was a disaster in which he was able to gain no real information, and he has an ugly feeling in the pit of his stomach that if he tries again, it will be much the same. But it might be worth a try. Last time, Hax0r Man called a large manufacturer of end-user computers, a company profile which, apparently, suggests an unwillingness to impart deeply technical information to users of its products. Today, Hax0r Man has an issue with a product that targets a smaller audience; it's a microcontroller module, sold as a card that's made to plug into a computer so you can interface to it and program it through any standard mass-market PC. The company that makes these cards is a comparatively small operation, which means that it might be more likely to give Hax0r Man the personal touch, actually considering his questions rather than simply obsessing over customer call processing times. Hax0r Man has generally found this to be the case with small businesses, and so he figures it's worth a shot. Also typical of such small companies is their lack of a 1-800 tech support number. Since Hax0r Man has no phone and no money, he would essentially have no chance of calling this company if they were far away, but the benefits of living in Silicon Valley manifest themselves in this case, as they've been known to do for Hax0r Man in the past: The company he wishes to call is in the same town he is, so in less than an hour, Hax0r Man is able to round up enough spare change by digging in street gutters that he can use a pay phone to make the local call. Flush with this windfall, Hax0r Man triumphantly goes to a phone, inserts the coins, and dials the contact number he has for the company. The phone rings a couple of times, then a young woman's voice answers and asks how she may help Hax0r Man. Unfortunately, Hax0r Man suspects this woman would not appreciate the complete and truthful answer to her question, so Hax0r Man gives her a highly condensed answer which focuses on only one specific need. "Hello, may I please speak with tech support?" Hax0r Man asks in his best telephone voice which he uses in those unpleasant situations where the use of this inefficient, obsolete technology is still necessary. "Certainly, please hold for a moment." The woman, true to her word, puts Hax0r Man on hold for a moment. And indeed, it really is only for a moment; Hax0r Man has been on hold for probably less than 10 seconds when the line is picked up again by a disaffected but courteous-sounding man. "Hello, tech support. May I help you?" the disaffected-but-courteous guy asks Hax0r Man. "Um, hi. Can I please have your automated system?" Hax0r Man asks. "I'm sorry sir, what was that?" "When I first called, I spoke to a woman who transferred me to you. Now I'm talking to another live person. I didn't call this number to talk to a live human being. I called so I could listen to a menu of choices and press 3 for tech support, then go through approximately four to nine other menus before finally being put on hold for half an hour to two hours while excessively-overacted hold messages make inhumanly inane guesses as to what my problem might be and suggest ways I can fix my problem if indeed those stock guesses are correct. When I want to talk to a live person, I'll let you know, but until then, can I just go through the computer?" Hax0r Man is quite irked now; this company's service is terrible. The outrage is made much worse by the fact that they are a computer company; they make computer products! Customers calling in should interact with computers, not some boring drone who is likely to just recite boring things about having a nice day. Computers are precious, people not; you can even go out onto the street and easily find people there, but the same is not true of computers. "I'm sorry sir, we don't have one of those. But I can put you on hold for a couple of hours if you'd like." "Do you have a nice on-hold message?" "Sorry sir, but no, it just plays music." "Oh, music is good. Does it play the Super Mario Bros. theme song?" "No sir, I think it plays something by Tchaikovsky." "Well, I appreciate the offer, but I think I'll just skip being on hold today. I'm trying to write a little program to load into this microcontroller card of yours, but I can't find an opcode list for it anywhere in the documentation. What instructions does this thing have?" "Um, I'm not sure I understand you sir... Are you familiar with the development environment for the product?" "Yeah, but it only seems to let you program in a high-level language like C. Nobody wants to use boring high-level languages; I want to write for this chip using assembler, but I can't do that without a list of opcodes." "Uh, I'm not sure if our product supports that feature, sir..." "Is there a higher level of tech support you can escalate me to?" "Umm..." The support tech pauses. It's apparent that this is probably the only person in the whole company who provides tech support, but he doesn't want to make the company seem foolishly small by admitting to that fact, so he's trying to find some way he can get around admitting that. Hax0r Man has anticipated this outcome, and so he dares to ask for the person who he really wanted to talk to anyway. "Can you please put me through to the engineer who designed this card?" In any large company, asking this question from a support tech is probably a sure ticket to denial. Customers talking to engineers is a no-no; but when you work with these small shops, they see no harm in it. Hax0r Man's call gets transferred again, and although he's on hold for noticeably longer this time (while the support tech no doubt describes what he must consider a very strange call to an engineer who probably rarely receives calls from customers), it's not too long before Hax0r Man is connected to the one person who's most likely to be able to answer his questions. If this guy doesn't know, no one will. "Hi. I like your product. Nice design," Hax0r Man compliments the engineer. "I just have a few things I want to know. First off, where's the opcode list? How am I supposed to know what instructions the actual microcontroller chip has?" "Um, well, you don't," the engineer says. "The product is designed to be programmed using our IDE." "Yeah, I know, but I don't want to use the IDE." "Then you can't use the product. It was made to be programmed with our IDE only." "What? Then what's the point of the product?" "To act as a microcontroller. Do you know what a microcontroller is?" "Yes, of course. But nobody actually uses them to microcontrol anything. They use them to do hax0rly experiments like generating music by varying the toggle rate of a pin and stuff like that. Nobody wants to program these things in C." "I don't think that's quite accurate. Most of our customers program the device in C. In fact, all of them do, because if they didn't, then they couldn't use the product." "That's pretty useless. Why did you design it that way?" "Because that's how people want to use these things. People don't want to program at the opcode level anymore. People want to program using an HLL." "That might be true of the people who work the counters at fast-food restaurants, but come on. You're an engineer, right?" "Yes. Well, I guess; what's your definition of an engineer?" "Well, you designed this card, right?" "Yes." "And you're seriously telling me computer and electronic engineers are going to program an IC using an HLL?" "That's correct." Hax0r Man is floored. This may be one of the most extreme light-bulb moments he has had in his life. With the force of a thousand tidal waves, the light turns on in his mind, and suddenly, many things which he has not been able to understand for the past several years shift into complete focus. "But tell me," Hax0r Man says slowly. "Isn't the point of a device like this to enable people to understand how it works?" "Um... No. You seriously think I made this thing just so people can see how it works? This is a controller device, you can use it to drive outputs..." "I know, I know. I know what a microcontroller is. Please. But why would you design a programmable device which other engineers might not be able to fully understand?" "Because that's not what the device is for. It's not just made to be understood." "Is this normal for electronic devices today?" "Yes." The engineer is increasingly adopting an I'm-talking-to-an-idiot- and-I'm-not-worried-about-letting-you-know-I-think-so tone. "Then there isn't very much hax0ring in these devices..." Hax0r Man says sadly. "Probably not. We're a business, not a place where wannabe hacker kids go to learn about electronics." Hax0r Man lets that one go, on the suspicion that the engineer is now simply baiting him. "So, please tell me... If you don't consider hax0ring to be important, then what do you do?" "I'm an engineer. I design products." "But in your spare time. Do you write programs in HLLs when you get home from work? What do you do when you go home?" "I go out with friends. Sometimes I go snowboarding with them on weekends." Even despite the epiphany his mind is still struggling to digest, Hax0r Man is still dumbfounded by the engineer's use of the word "weekends", as in, plural. When Hax0r Man was lucky enough to be employed like this engineer, weekends were the most precious time imaginable, a glimmering opportunity to write more code or lay down more circuits before needing to go back to work. To think that this engineer, presumably a person with considerable computer and electronics knowledge, goes snowboarding on "weekends", i.e. on a regular basis and not just as a one-time joke, seems sort of like a schoolteacher casually remarking that he goes child-molesting during recess. "Please tell me, sir..." Hax0r Man pleads, speaking very slowly and quietly because he is thinking carefully as he goes along. "Do you do these things because you consider them more important than hax0ring?" "I guess I must, because I choose to do them instead." Hax0r Man suddenly realizes that he has a lot to learn about something that he has never bothered to study before. "Is there anythinhg else you can tell me as I embark on my journey of discovery?" Hax0r Man asks entreatingly. "What?" "Thank you, and have a nice day!" Hax0r Man hangs up and ponders what he's just heard for a long, long time. In a sense, his initial dark thoughts were right: He didn't get any useful technical answers out of this tech support call. But he might just have learned something potentially even more valuable. * * * Emerging back onto the street some time later, Hax0r Man takes a look around, and although he's been on this street many times before, in many ways it seems like he's seeing all the things here for the first time. As is usual for almost any city street, there are lots of people around, but for perhaps the very first time in his life, Hax0r Man stops to actually look at these people. Hax0r Man has always been aware that there are many types of people around him, and he's never had too much of a problem interacting with them, but he's never seen humans as much more than just random bags of flesh that move around; curious distractions, but nothing worth paying significant attention to. As Hax0r Man studies the people milling about, a new sense of appreciation for the diversity of people begins to awake in his mind. Truly, people come in many fascinating sizes, shapes, and colors. Examples are everywhere. That guy over there by the fountain; he looks like he could be a musician who makes MOD files on an Atari platform. That man wearing shorts and walking a dog; maybe he programs flight simulators on SGI workstations. The woman with a cell phone and a purse; she looks like she might be a people person, so she probably writes software for the Commodore 64. And the young boy walking with a backpack and a lunch box is almost certainly an Apple II coder, since the Apple II is so popular for school classroom use. All of these people have different styles, and as Hax0r Man watches them, he begins to feel like this fact is oddly wonderful. What Hax0r Man thinks he might have learned from his phone conversation is that people are important. Of course, on some technical level, this is obviously true; computers don't grow on trees. There would never have been computers in the world had there not been people to make them. Similarly, computers will not run without electricity, so they need humans to keep burning fossil fuel. And of course, most importantly of all, computers--which exist first and foremost to be understood--cannot be understood unless there are sentient minds around to understand them. This is a role that human beings alone can fill in the world. But maybe there's more to human beings than just hax0ring alone. Maybe there's something to be said for hax0ring in groups. Hax0r Man thinks that it might just be more fun to hax0r if you have somebody else to hax0r with. With this epiphany in mind, Hax0r Man decides to reach out to the world and touch someone. Hax0r Man decides to begin with the little boy, because children like to talk a lot and this will probably be an easy way to get some conversation. "Good day to you, sir," Hax0r Man greets the boy. "What is your favorite 6502 opcode? Mine is JMP, because it lets you go anywhere you want in only 3 bytes." "What?" asks the boy. "What is your favorite 6502 opcode?" Hax0r Man repeats. "Do you like JMP too? Or do you like indirect Y-indexed instructions?" "Uh..." The boy adops an open-source expression, but unlike most other people Hax0r Man talks to (who usually manage to recover their clock signal after a few wait states), the boy remains fixed in this state for an uncomfortably long time. This is one thing that gently irritates Hax0r Man about young children: They are often incapable of dealing with uncertainty, and rather than trying to ask constructive questions to gain further insight, they will often get stuck in an infinite loop unless you jog their processes with some injected logic. In this case, Hax0r Man isn't sure what else he should say, since his question is so simple and straightforward that he cannot imagine how anyone could be confused by it, especially when that person is an Apple II hacker, as Hax0r Man suspected the boy must be. Maybe the boy uses Commodore 64s instead? But that makes no sense; the C64 uses the 6510, which is instruction-compatible with the 6502. Where could the confusion arise from? "Thank you, have a nice day!" Hax0r Man says brightly, leaving the boy still standing open-mouthed on the sidewalk, looking as though he has just seen a llama playing a trombone. Hax0r Man isn't especially good with children, and although he finds them charming in their honesty and simplicity, the boy is clearly not on the same wavelength as Hax0r Man right now, and he sees no way to change that anytime soon. Moving on, Hax0r Man decides to try the friendly-looking woman, since he's always had a soft spot in his heart for the enduring appeal of the Commodore 64, and would be happy to talk to a C64 hacker right now. "Good day, ma'am," Hax0r Man greets the woman pleasantly. "I'm sorry to bother you, but I'm looking for some EEPROMs that are pin-compatible with those used in the 64 so I can make my own ROM BIOS. Would you happen to know where I can find some?" There is a pause, then the woman says "I'm not sure what you just said, but I can pretty definitely say that the answer is no." Given the unsure nature of the woman's words, her tone is surprisingly certain. "Fair enough, thank you. What do you use when you want to rework the 64's ROM? Do you dissolve open the ROM chip's packaging with some acid solvent and manually change the wiring inside with tweezers? That seems like it would be more work, but I can certainly appreciate that sort of direct, hands-on approach." "I don't think I do that either, but I still can't be sure since I still don't know what you're talking about." "You know, the ROM. The read-only memory for the 64. You're a Commodore 64 hacker, right?" "Umm, not the last time I checked." "Oh! I'm terribly sorry, I should stop jumping to conclusions like that. What's your platform of choice? Don't tell me the TRS-80!" This is meant to be a bit of a joke on Hax0r Man's part, but the woman does not laugh or show obvious signs of amusement. She must have a very understated sense of humor; how intriguing! "Well, my platform is mostly environmental right now. I'm trying to encourage people to recycle more, and bike to work instead of driving when possible." Now it is Hax0r Man's turn to pause and adopt a blank expression. The words he has just heard spoken are so far removed from what he expected and the thought patterns he was going through that his brain has gone completely off the trolley. He staggers backwards unsteadily as if someone has just dealt a blow to his forehead; the weight of the woman's words actually seem physically heavy, as if they are pressing him down into the pavement. It's not that Hax0r Man has anything against environmentalism--he sort of supports it, in the sense that he doesn't want the planet to be destroyed. It's just that his brain has become boggled by being knocked into a very different plane of thought, and one he's not accustomed to thinking in at that. Trying to collect his thoughts and ensure that he understands the woman a little better, Hax0r Man asks "I'm sorry, can you clarify? I'm not sure I understand what you just said." "Well, I'm an environmentalist. I encourage people to tread lightly on the planet by not polluting or wasting energy." "Okay. That sounds pretty good; I like the idea of not wasting energy. Are you a hacker of some kind?" "No, I don't think so. I'm not really a computer person." "I see." Hax0r Man doesn't mind non-computer people, but... "What are you doing in Silicon Valley, then?" The woman actually laughs, as if there were something funny about the question. "Not everyone in Silicon Valley is a computer person, you know." "I guess not. But why do they come here, then? It doesn't seem to make sense, like going to a sports store when you don't actually want sporting goods." "Silicon Valley isn't just a place for computer people. Think about Russian Hill in San Francisco. Do you know the story of how that neighborhood got its name?" "Yeah, the early settlers found some gravestones with Cyrillic lettering, and the area has retained the name ever since." "That's right. But how much Russian influence does that area actually have?" "I don't know, although from what I understand, not very much." "That's right; hardly any, actually. It's just a name. Places take on names because of events that happened in history, and those names tend to stick long afterward. Silicon Valley will probably be called as such for at least a hundred years, even if the technology industry completely leaves the area. I wouldn't take the name too seriously; this was once the technology capital of the country, and to a certain extent it might still be, but don't think that you'll find nothing but tech types here. In fact, geeks are probably a minority in Silicon Valley." Hax0r Man is sad to hear this, but deep inside himself, he begins to strongly suspect that the woman is right. It makes sense. Just because he's in Silicon Valley, doesn't mean there's any actual silicon there. Indeed, lately it seems like there isn't very much left at all. Once again, this would explain a few things. But Hax0r Man wants to try again, just to be sure. Thanking the woman for her time, he runs to intercept a guy who, just from his physical posture, Hax0r Man guesses is some kind of a computer person. "Good day, sir," Hax0r Man greets the suspected computer guy. Opting for a fairly simple and straightforward question, he continues: "Can you tell me what pin 4 on the 8086 is for?" This is an almost foolishly simple question, since every PC clone on the market today is still based on the original x86 architecture, and knowing x86 is like knowing how to count. But the man shakes his head. "Sorry, I don't know what you're talking about." Hax0r Man would normally dismiss this as an indication of a non-computer person, but now he wants to make sure. "I'm sorry, I thought you looked like a computer person..." "Well, I am. But I still don't know what you said." "You're a computer person? What do you do?" "Database administration. I look after a MySQL database for a law firm." "I thought you said you're a computer person." Hax0r Man already knows where this is going, but he is dutifully doing his part to teach people about computers so that they can understand what a computer is. "Yes... I am. I'm a database administrator." "So, you're a database person." "Yes, I suppose you could say that." "A database is not a computer." "No, but it runs on a computer," the database man says with evident irritation. "That's right. And right now, you're wearing eyeglasses, but that doesn't make you an optometrist." "Uh... No, you're correct, it doesn't." "So, using a computer application doesn't make you a computer person. I'm interested in computers. And when I say computers, I mean computers, not databases. A computer is a machine that runs on electric circuits and usually has some kind of system programming that allows the user to run other programs." "Sure. What's the point?" "I'm looking for other computer people. Do you know any? People who write ROM chips out of 28-gauge wire and solder? People who build CPUs from MOSFETs?" "I don't think those people exist anymore. If they do, they're certainly a very tiny minority, and you'll have a very hard time finding any at all." "But this is Silicon Valley. Doesn't that mean they should be everywhere?" "No. Silicon Valley doesn't have those kinds of people anymore. Silicon Valley is mostly about the Internet now." Hax0r Man is annoyed by this idea, even though he knows it's probably true, too. He likes the Internet, but the Internet also has nothing to do with computers; it runs mostly on routers and switches, which are not computers. "So where can I find those kinds of people?" Hax0r Man asks. "I honestly have no idea, but I suspect they just don't exist anywhere in the world anymore." "I see. Well, sir, thank you for your time." Hax0r Man walks away from Fraudulent Database Person Posing As A Computer Person slowly, and begins to amble down the sidewalk in a meditative state. He has heard many things today from many different people, and although most of the things he has heard are disturbing to him, he believes that they are true, or at least close enough to true for practical purposes. If ROM hackers, home-cooked CPU architects, and 4-bit programmers are indeed extinct, then Hax0r Man has been very much left behind by the world. In a sense, this does not matter at all; Hax0r Man can keep doing such things himself, and forget about what everybody else is doing. But he intuitively understands that if he does this, eventually all of those things will be lost. Hax0r Man has only ever really had one concrete goal in life: To enjoy and create awesome hax0ring by and for the rest of the world. Hax0r Man will not live forever, and if real hax0rly artistry dies with him, then his life will have been in vain. If he is the last hax0r left, hax0ring will die when he does. This is a non-preferable outcome. Hax0r Man has never been a "people person", and as a longtime resident of Silicon Valley who lived through the PC revolution and the dot-com boom, he never dreamed that the computer industry would actually need a boost or be in danger of becoming forgotten. But it appears that this has in fact become the case, and if Hax0r Man is to stop it and create more hax0ring that will continue for generations to come after he's gone, he is going to need to reach out to people in ways that allow him to "click" with them. This is something he has never really done before. It will require a whole new way of thinking, and a whole new way of living. It may fail catastrophically, but Hax0r Man is beginning to understand that this is something he must at least try to do. The Man--for no longer can he honestly call himself a Hax0r--feels a great sense of loss at leaving behind pure hax0ring, yet at the same time, he feels a sort of numb peace in his soul, as though all his responsibilities have just been lifted away. When a person's ideals and dreams are destroyed, they are gifted with the clear-headed matter-of-factness that comes from having nothing to lose; if The Man were to get hit by a truck tomorrow, it would no longer matter, since there would be no loss. It is a strange sort of peace, and for a while, The Man finds himself unable to do much except ponder it with gentle stupefaction. But only for a little while. Hax0ring may be dead; the war may have been lost. But there appears to be another one to fight, and this one is far from over. The Man can only hope that this one turns out a little better.