A Favor For My Friend (MF, MFM, Fsolo, wl, share, cheat) --------------------------------------------------------------------- This story is actually about two couples, and it turns out much to everyone's surprise that all four of them end up getting a favor. These two chapters are an optional continuation to the original story, which you should read first. See favor4my.txt --------------------------------------------------------------------- Chapter 2 Ann knew it for a fact, now, as she stared out the tiny window at the clouds below. She did not like riding in airplanes. More than that, she hated having to spend an entire day sitting in airport waiting areas and cramped airplane seats. She especially did not want to be landing at a strange airport in a strange city, with no one to meet her. Worst of all, she dreaded landing late at night, and then having to drive nearly an hour to a strange hotel in another city she had never been to. No, she thought, even that wasn't the worst. The worst was that sometime after midnight she would be crawling into bed alone in that hotel, while Tom would be in bed alone at home. And the really, really, worst part was that it would be nearly a week before she saw him again. Damn, damn, DAMN! Her life wasn't supposed to be like this. She had grown up in the South Bay, which they were calling Silicon Valley by the time she got to high school. She was seventeen when she became intrigued by computer programming, and she went on to San Jose State to get a BS in software engineering. She was in the perfect place at the perfect time. She started dating Tom in her last semester at Fremont High, and kept going with him after she went to SJ State, only ten miles away. She and Tom were really very different from each other, but they clicked, somehow. Besides, the sex was fantastic. In the middle of her junior year she moved in with him, and they were married that June. Tom hadn't gone to college, instead going straight into construction after high school. They were able to rent a small place within a mile of the college for a reasonable rate — well, reasonable for San Jose. They had agreed that they wouldn't start a family until later. It was the nineties, and she intended to dive into the dot-com ferment. She had lots of interviews and quite a number of offers, but she took her time looking for the right one. When she interviewed at SoftClaims she knew she had found it. They were a small company with a dynamic CEO and a real product that the insurance companies were lapping up. The people were friendly and she felt at home immediately. Best of all, they were located in Silicon Valley's "Golden Triangle", not five miles from the place she and Tom called home. So that was Ann's life, and she loved it. She loved Tom and their little home. She loved the challenges she found in her computer every day, and the people she was working with. She loved being able to switch between those two environments with a ten minute drive. Silicon Valley provided all of the enjoyment, all of the challenge, and all of the acceptance she needed. Ann felt no need to travel beyond her little world; the internet brought the rest of the world to her. Then Frank knocked her lovely life apart. Frank was her manager, and she would never have said she loved him, though she did respect and admire him. Frank had the lofty title of "Vice President of Software Engineering", which was rather silly since he only had eight people working under him, but that's the way titles tend to go in very small companies. He also had the title of "Chief Architect", which he really did deserve, since he had dreamed up their flagship product. OK, Ann admitted to herself, 'knocked my life apart' is overstating things a bit, but he sure did disrupt it for a while. Just last Thursday he had stopped by her office. "Ann, we've got a Sev 2 situation at Geico, and we're going to have to send somebody there pronto. You're the best debugger we've got, so I need you to go. Can you be there by Monday morning?" She had sputtered that she couldn't possibly ... that she'd never done anything like that. Her objections were overruled. Thinking back, she had to smile a bit. She hadn't even known where "there" was. Well, she certainly knew now. Or at least she hoped to God she did. Geico, it turned out, was in Chevy Chase, Maryland, which she thought sounded more like an actor's name than a city name when she heard it. SoftClaims was too small to have a secretary, so she'd had to make the travel arrangements herself. Frank had apologized, but told her they couldn't afford to send her business class. He did warn her not to take a redeye, although that would have been even cheaper. She had nodded, pretending she knew what he was talking about, and figured it out once she started looking at schedules. To her surprise at least half the flights left the Bay Area at night and arrived in the DC area in the morning. Trying to sleep on the plane did not appeal to her, nor did trying to tackle Geico's problem Monday morning with little sleep and no shower. She had breathed a thank-you prayer for Frank's redeye comment. So, instead, here she was, wasting the whole day Sunday sitting in cramped coach seats and waiting in airports. Damn, damn, DAMN! She had to wait three hours in Denver before she boarded her second plane of the day, but she decided three hours in an airport wasn't quite as bad as three hours in a plane. Frank had given her a laptop to take along, and she had downloaded their program listings onto it to have as a reference when she got to Geico. She normally used a desktop machine in the office, and in fact used that mostly as a terminal emulator to tie into their mainframe. So she took advantage of the time in Denver to get more familiar with the laptop. She discovered immediately that she should have gotten a better text editor, but she was able to make do with NotePad and WordPad. The battery ran out after about an hour and a half, and she looked around the new Denver concourse for some place to plug in. The plugs were easy to find, actually, because there were guys with laptops sitting next to them. But there were already two guys sitting next to each one, so she was out of luck. ~~~~~~~~~~~~~~~~~~~~ Ann was exhausted when she finally landed in Baltimore, though she couldn't have said why. She hadn't hardly done a thing all day long. The clock in the baggage area said 10:55 when she finally dragged her suitcases over to the rental car shuttle. She tried to tell herself that it was only 7:55 in California, but that didn't seem to help much. Fifteen minutes later she steeled herself for the last tortuous leg of the journey, unfamiliar highways in an unfamiliar car. I-195, I-95, I-495, MD-185, Connecticut, Bradley, Wisconsin. Ah, at last! Holiday Inn. When she was finally able to crawl into bed she didn't even think about Tom. She simply fell asleep, immediately. It was only in the morning, a morning that arrived hours too early, that she had the twin guilts of not having missed him, and not having called to tell him she had arrived. She couldn't call him now; it was only 4:30 in California. ~~~~~~~~~~~~~~~~~~~~ It was nearly 9 o'clock when Ann finally walked into the reception area at Geico headquarters and announced herself. The receptionist told her she was expected, and that someone would be down soon to escort her. "I've probably kept them waiting," Ann flushed. "I should have been here an hour ago." The receptionist looked at her notes again. "Oh, you just arrived from the West Coast, didn't you? Don't worry, no one comes in that early the first day. Good Lord, it must feel like 6 AM to you right now." "Yes, it sort of does," she admitted. "Well, here's a badge for you. Just have a seat over there and rest a bit. I'm sorry, honey, but we don't have coffee out here. Someone will meet you soon, and they'll take care of y'all. Ann was almost afraid to sit on the plush sofa she was pointed toward. What if she fell asleep? Thankfully there were magazines on a stand nearby. "Ann Thomas?" she heard, while staring at the ads in a random magazine she had picked up. She looked up to see a tall young man. — Wow, what a hunk! "Yes," she said, struggling out of the low sofa. "Hi, I'm Bob Jeffreys. You can call me Bob. Can I call you Ann?" "Yes, of course, Bob." "Well, Ann, you have no idea how glad we are that you're here. We know you have a small operation out there, and we don't like to push you too hard, but R-Seize has been a real godsend for us, and our actuaries have come to totally depend on it. Then last week, it suddenly died. The guys are going crazy." He suddenly stopped. "Wait! What am I going on about? First things first. Let's get you a place to set your things down, and something to drink. Coffee?" "That would be great," Ann sighed as he led her out of the lobby. "I hope you don't mind," Bob told her as he guided her through a maze of elevators and hallways, "but you'll be seeing a lot of me. I should have told you, I'm in IS, and my main job this week is seeing that you have everything you need." 'How,' Ann thought, as she looked again at that hunky man striding beside her, 'did I get to be so lucky?' But she didn't say it out loud. Instead that thought was followed by a guilty pang. Tom! He would be up by now, and she needed to call him before he left for work. So when Bob set her down at a desk with a computer and a phone, the first request she had was not for coffee, after all. "Uh, Bob, this is kind of embarrassing, but is there some way I could call out, and make a collect call home?" "What? Well, yes ... and no. Yes, you can call out, but no, I won't let you make a collect call. Just dial 9 and your home number. Including 1 and the area code, of course," he grinned. "But that would charge it to the company. This is a personal call." Bob folded his arms and looked sternly at her. "I told you, my job is to be sure you have everything you need. Right now you need to make a personal call. I'll go get you some coffee while you take care of it. Cream and sugar?" "Cream, no sugar," she said automatically. "Wow, thanks, Bob, it'll only be this once. The call, I mean." ~~~~~~~~~~~~~~~~~~~~ She was still on the phone when she spotted Bob winding his way toward her through the maze of cubicles in the large room, a cup in each hand. "Tom, honey, I know you have to get to work, and I've got to go. I love you!" "I love you, too, Ann, and I miss you." "Yes, I miss you, too. I'll call you tonight. 'Bye, honey." Ann saw Bob peer over the partition to be sure she was off the phone before he entered. "Let me guess," he said as he put her cup down on the desk. "I can see you're married from the ring you're wearing, and I'll bet you didn't even get a chance to talk to your husband when you got in last night." "Yes, I am, and I didn't get in until after midnight. I should have called Tom anyway, but I ... well, I ... guess I was just too tired." "Midnight! Get a life, girl. What're you doing up at this time of the morning?" God, she loved that grin of his. He reminded her of someone, but she couldn't place who. Well, if he wanted to joke, then she could, too. "I have no idea what I'm doing, since it's obviously," she looked at her watch, "not even 6:30 yet, but maybe I'll be able to figure it out once I get this coffee in me." Bob shook his head. "Truly, Ann, you amaze me. Usually when guys come from California they stagger in about ten o'clock looking like hell, but you're bright, and beautiful, and just ... amazing." 'Oh, shit, slow down, heart,' Ann thought as she took a big gulp of the searing hot liquid. She managed to calm herself enough to say, "Yeah, well you'd better start worrying about if I've got any brains inside my body, rather than what the outside looks like, if we're going to get this mess straightened out." Bob's face suddenly looked stricken. "Sorry, Ann, that was over the line. I've got this big mouth, and when I see a beautiful girl I can't seem to help blurting it out. I'll try to behave myself." "Not," he added with a sideways look, "that it's going to be easy. But because of that wedding ring, and because of your Tom, I'll try." "Maybe also because of your wife or girlfriend?" The words were out of Ann's mouth before she realized they were a horrible mistake. "No, there's no problem there," he replied, his eyes boring into hers. "I'm free as a bird." Ann suddenly realized she was falling deep into his eyes, and tore hers away from him. "OK, let's get to work. I'll need an ID on your mainframe." "Sure, here it is, with the password." He pulled a slip of paper out of his shirt pocket. "Careful with that, you're APF authorized. I trust you're aware of the dangers." "Yeah, that's the way we have to run most of our debugging back at SoftClaims. Of course," she grinned, "if I crash the system there I've only got about a dozen people screaming at me. Here it's probably hundreds." "Yep, and some of them would scream much more loudly than you or I would want to hear. There would probably be some dollar signs involved, too, and I don't mean the kind you see in cartoons for swear words. Or, at least, that wouldn't be the only kind." "I understand. I'll be careful. Now, can you give me a crash course in your SYS1.PARMLIB setup? I'll need to set some SLIP traps." At that point their conversation degenerated into an arcane sequence of acronyms incomprehensible to the uninitiated. Suffice it to say that no sexual innuendoes were involved. It was more than two hours later, after much frantic keying of cryptic commands, and many frowns as they both stared at the monitor, that they finally started to speak something resembling English again. "All right! That gives me three IPCS dumps to dig through, which should keep me busy for hours," Ann grinned. "Now you'll have a chance to get some of your own work done. I hate to admit it, but shooting dumps is the part of the job I like best." Bob shook his head. "Anybody that likes staring at millions of hex numbers has got to be crazy. But you're wrong, I can't leave you alone now." "You can't? ... Oh, no! It's this da- ... blasted authorized ID, isn't it? Of course! I understand. You have to watch me, or I could steal all your corporate secrets." Bob laughed. "No that's not it at all. Your VP had to sign a nondisclosure agreement before you could even get into the building, and you'll have to sign one yourself a little later. No, the reason I can't leave you alone is because it's time for lunch, and you don't know where the cafeteria is." 'Damn that cute smirk of his,' Ann thought. 'I could fall for this guy big time.' "But it's only nine o'clock in the morning," she replied, batting her eyes, and immediately regretting having done that. "Not for me, it isn't," he growled. "It's time we got your butt off that lazy time zone of yours." He pounded the heel of his hand against his forehead. "Noo! I did it again. Oh, Ann, I'm so sorry." "It's OK, Bob. I asked for it. I'm the one who should say I'm sorry." ~~~~~~~~~~~~~~~~~~~~ The cafeteria was noisy, and crowded. They ended up having to sit at a table with some guys Bob knew. Ann decided that was a good idea, actually. Better their talk about the Redskins, who were apparently some local football team, than a more intimate conversation with Bob. 'No,' Ann corrected her own thought, 'I didn't mean intimate.' But everybody was talking and laughing, and she couldn't seem to concentrate enough to figure out what she did mean. After lunch Bob did leave her alone, and she dug into the first dump. She was soon chasing TCBs and RBs all over memory, stopping occasionally to puzzle her way through trace tables. Everything seemed to be working correctly, but then all the tasks would drop into a wait state. It was like everything was hung waiting for everything else. It didn't make sense. After three hours of what felt like beating her head against a wall she switched IPCS from that dump to the second one. She started seeing the pattern more quickly this time. Something was locking the system up, and everybody else ended up waiting for it. But who was to blame? She couldn't seem to spot it. "Earth to Ann. Anybody home?" She jerked her head up. It was Bob, of course. "Oh, sorry. I didn't hear you come in." Can I ask a question?" "Sure, what?" "When was the last time you got up, to get a drink, or go potty?" "I ... I don't remember. It's been a while, I guess." "Oh, yeah," Bob challenged her, "so where are the rest rooms and the drink machines, anyway?" Ann looked around hopelessly. "I guess they're ... I don't remember." "In other words, you haven't been out of that seat since lunch, right?" "Yeah, I guess you're right." He pressed on. "And what time is it now?" She glanced at her watch. "It's only three ... oh, wait, I haven't changed the time since I got here. You mean it's after six already?" "Look around. How many people do you see here?" "Oh, I guess they've all gone home. But I can't go! I still don't understand what's going on." "I think you need a break. Let your subconscious work on it for a while. Come on, I'm taking you out to dinner." "No, Bob, I'll be fine. Let me work a while longer on this, and then I can get something to eat back at the hotel." "Nope, you can't do that." Ann sighed. "All right, what's your excuse this time. I know they have a restaurant at the hotel, I saw it this morning." "My excuse is that I'm getting hungry. And Geico won't let me leave until you do." "Oh, I'm sorry, Bob! I didn't realize! OK, let me make a couple of notes and get out of this." ~~~~~~~~~~~~~~~~~~~~ "For future reference," Bob said with a trace of a smile as they started to leave a bit later, "the closest rest rooms are right over there, and there are hot and cold drink machines down that hall and around the corner to the right." "Don't worry about remembering this route," he assured her as he once again guided her through halls and down elevators. "Besides, this isn't the way we came in this morning." "I kind of wondered. It didn't seem the same." "I assume you parked in the visitor parking area. We're not going there right now." 'Oh, oh,' Ann thought. 'This doesn't sound good.' "So, where, may I ask, are we going?" "We're going to one of the employee lots, where my car is." "Don't I get any say about this?" "Nope." It seemed like this man was trying to take charge of her entire life. She realized she should resist, or even be insulted, but the truth was it felt kind of nice. Tom could bluster, and be macho, but Bob was smooth, a real gallant. When they got to his car he opened the door for her, and even shut it once she was seated. ... Oh my. After he slid into the driver's seat she decided to make one last try for independence. "Thank you for driving me around to my car." He grinned at her. "I told you, I'm taking you out to dinner." "You don't TELL a married woman you are taking her out to dinner. You don't even ASK her. Have you cleared this with my husband?" "Of course not. He's not even here. If he were here, HE would be taking you out, wouldn't he?" "Well, yes." "So, I'm doing him a favor. He can't take you out, so I'm doing it for him." "But, ..." "No but. Look, if you're worried that I'm going to try to seduce you, I give you my word, I'm not going to. After dinner you are going to drive your car back to your hotel, alone. I'm not even going to kiss you good night, even though I know I will be greatly tempted to." Ann was sure she was supposed to find his words reassuring, but she didn't. They just made her think about the things they weren't going to do. Maybe she should give him a good night kiss, just to spite him. No, that wouldn't be right. But maybe if it was just a quick kiss on the cheek ... "A penny for your thoughts." Damn. Now what could she say. "Oh, nothing. I, uh, was just, uh, thinking about those dumps." He concentrated on shifting lanes as the narrow street they were on merged into a wider one, then shot her a quizzical look. "If you say so." She decided it was time to change the subject. "Where are we going?" "Ah, that partly depends on you. I don't want to take you some place where you would hate the food. How do you feel about Indian?" "Mmmm, sounds good. But," she teased, "if you're doing it for Tom then you shouldn't take me there. He claims that curry is awful." "Hmm, good point. We certainly don't want to upset him. How does he feel about seafood?" Ann laughed. "Actually, his idea of a romantic night out at an exclusive restaurant is to take me to Red Lobster." "Well, I think we can do a bit better than that." "Er," he added after a pause, "I mean, a bit more exclusive, not a bit more romantic." 'Damn!' she thought, 'I did it again.' "No, please, Bob, nothing at all exclusive. I just want to go some place very casual." "All right, then, I know the perfect place." He made a left turn, and Ann caught the street sign. Van Ness, just like back in San Francisco, but this street was an alley by comparison to the San Francisco boulevard. After about a mile he turned right on Connecticut. She remembered that from her midnight drive last night. "How far is this place, anyway?" "Not far, only a couple of miles more." They rode in silence for a bit, then he asked, "So where do you and Tom live? Somewhere close to 'Frisco?" "Eewww!" she groaned. "Don't say that. I don't know why, but out there that's sort of like a swear word, or something. We either call it 'San Francisco' or 'The City'. As for your question, we're close enough that we can get up there in a little more than an hour, if the traffic isn't too bad. But we don't go very often. There's so much to do in the Valley." "Oh, Silicon Valley, right? So how big is the valley, anyway?" Bob hardly had to say a word after that as Ann babbled on about the little world she loved, the place that had been home for all her life. She was surprised when he announced, "Here we are." He took her arm to lead her into the restaurant, which called itself simply "Pesce." The interior was lit dimly; she saw the tablecloths and elegant appointments, and pulled back. "No, Bob, this is far too fancy. Please, somewhere else." "Nonsense," he insisted, holding her arm firmly. "It's just a bistro cafe. The prices are modest, and besides, I'm buying, so it won't go on your expense account." "This is all wrong, Bob. We mustn't do this." "We've been through all this," he said calmly, still gripping her arm as they stood in the small entryway. "I'm just a stand-in for Tom, who would be taking you out to dinner tonight if he were here. Remember?" She sighed in resignation, and soon they were seated at a small table for two in a corner. Ann was extremely nervous, or keyed up, or something. She wasn't at all sure of what she was feeling. She couldn't keep her mind on what Bob was saying, and kept stumbling and asking him to repeat whenever he looked at her, waiting for an answer. There was no way she was going to be able to decide what she wanted to eat, and she finally told him to pick something for her. When the food arrived it appeared to be delicious, but she really couldn't taste anything, and she wouldn't have been able to say later what she had eaten. The whole event seemed to be some sort of a dream; not a nightmare, exactly, but nothing at all like reality. She breathed a sigh of relief when they finally walked back out into the night air. Her relief was short-lived. Sitting beside him in the darkened car for the trip back to Geico was even worse than sitting together at their tiny table. She was shaking uncontrollably when he finally pulled up beside her car. Bob looked over at her, and said, quietly, "Hang on, I'll get the door." She tried to pull herself together as he walked around the car. He opened the door and reached in for her hand. She swung out, and stood, ending up in his arms. "Remember," he whispered in her ear. "I'm not going to kiss you, I'm not going to go back to the hotel with you, I'm not going to do ... what I'm dying to do." "Oh, Bob," she sobbed, and clutched at him, kissing his neck. "There, there, you're just tired. You've had a very long day. Get a good night's sleep, and things will look much different tomorrow. You have your car key, right? There you go. Drive safely. Good night." He shut the door and Ann suddenly felt totally alone. It was a loneliness that smothered her like a black fog. She forced herself to start the car, turn on the lights, and drive off. She forced herself to remember the route back to the hotel, and later to remember where her room was. The whole time his words kept echoing in her brain. "I'm not going to kiss you, I'm not going to do ... what I'm dying to do." She threw herself on the bed, and still she heard the echoes, though they were not his words, really. "I'm not going to kiss you. ... I'm not going to stroke your neck. ... I'm not going to touch your chest. ... I'm not going to squeeze your boobs. ... I'm not going to unbutton your blouse. ... I'm not going to kiss all over your chest. ... I'm not going to stroke your thigh. ... I'm not going to slip my hand inside your skirt. ... I'm not going to slide it up between your legs. ... I'm not going to touch your panties. ... I'm not going to rub your sopping wet pussy through them. ... I'm not going to take your panties off. ... I'm not going to slip my fingers into your juicy cunt. ... I'm not going to kiss your pussy lips or lick your clit. ... I'm not going to do ... DOO ... DOOOO ... DOOOOOOOOO!!! "... what I'm dying to do." Ann's brain came back into foggy focus and she realized that she was lying on her back with her blouse hanging open and her skirt pulled up to her waist. She had two fingers in her cunt and a thumb on her clit, and her panties were nowhere to be found. She was sooooo satisfied. ~~~~~~~~~~~~~~~~~~~~ Sleep. That's what she needed now. Just to go to sleep. She was almost there, but something kept nagging at her. Finally she knew what it was — she needed to pee. As she rolled out of bed she realized, 'Oh, and also take off my clothes.' But it wasn't until she had finished on the toilet that it really hit her. TOM! Oh, My God! What had she just done! Not even two nights away from home and she'd already cheated on Tom. No way could she talk to him now. ... No, but she had to. She had promised him. ... She couldn't! He'd hear it in her voice. He'd know she had been unfaithful. 'Besides,' she thought as she dragged herself back to bed, 'what time is it? Maybe it's too late to call.' She looked at the bedside clock. 10:13. That's only 7:13 in California; not too late at all. ... Maybe he's not even home. Maybe he went out to eat dinner. ... No, he'll be home. He's waiting for my call. Ann paced for five minutes trying to make up her mind. She finally decided she had to make the call. She'd keep it short, claiming that she was dead tired. She'd think about how she was almost asleep a little earlier. She'd let him hear the sleepiness in her voice. Tom answered on the second ring. He told her he loved her and missed her. He said he understood about her being tired and advised her to get a good night's sleep. He told her he wouldn't be home the next evening because Mark and Paula had invited him over for dinner. When she hung up Ann wasn't sure what she had said to him, but whatever it was, she didn't think he sounded at all suspicious. She fell into bed and was asleep almost immediately. ~~~~~~~~~~~~~~~~~~~~ Ann woke up thinking about two big problems: the dumps, and Bob. She came up with a couple of partial solutions to the Bob problem: 1. Concentrate on the job. In particular, the dumps. 2. Absolutely no more dinners, or any other time outside of Geico, with Bob. Of course Bob met her in the lobby again and escorted her to her work area, but this time Ann paid particular attention to the route they followed, memorizing each turn. If nothing else, that kept her from obsessing on Bob himself. She chased him away as soon as they arrived at her cube, explaining that she was still working her way through the dumps. He nodded, and left a phone number for whenever she needed his help. She brought up the third dump and spent some time on it, but it seemed to have the same symptoms as the first two. She was going to have to get a dump earlier, before everything was hung. She pulled out her laptop and started digging through the listings, trying to think where she could set a trap. She finally came up with what she hoped would be something useful, and was just checking her SLIP logic when Bob showed up. "Lunch time," he announced. "Already?" she asked, looking up. "Actually I was just about to call you. I want to set another trap, and thought you should keep an eye on me when I do it." "Worried about those dollar signs, I take it," he grinned. "You know it! Besides, once we have the trap in I'll need you to run your test suite, the way you did yesterday." "You've got a deal, but first, lunch, OK?" "OK," she sighed. Why did she always surrender to him? ~~~~~~~~~~~~~~~~~~~~ After lunch the two of them worked together to set up the new trap, and then to run the tests. Nothing. The trap didn't even spring. Ann chased Bob away to do some more research, and finally came up with a new trap point in the code. "This one better work," she muttered to herself as she dialed his number, "or he's likely to kick me out as a goddamn stupid broad." She needn't have worried. The trap worked perfectly and she soon had two more dumps, both from the one of the first tests Bob ran. Ann was soon deep in that weird world of millions of hex numbers that she loved, once again a detective on the trail of her quarry. This time everything looked normal; data was flowing, tasks were running, results were being produced. Suddenly she noticed the little clue, the insignificant fact that was so innocuous no normal person would think twice about it, the sort of clue that always distinguishes a true detective from the rest of us. The second dump this afternoon was bigger than the first one. She went back to yesterday's dumps. They were all about the same size, and all bigger than the second one today. MEMORY LEAK, her brain screamed. Something was eating storage. Ann groaned internally. Playing sleuth was normally fun, but not when it meant cataloging hundreds of blocks of storage and comparing the blocks from one dump with the blocks from another dump. That was pure tedium, and unfortunately it was not something she could tell IPCS to do for her. Well, actually, she could, but it would mean writing a bunch of code to run under IPCS. She was tempted, but quickly convinced herself that she would spend considerably more time writing the code than it would take to do the analysis by hand — this time. After making a mental note to work on that code when she got home, Ann settled down to the task before her. By the time Bob showed up to announce that it was time for dinner she had a list on her PC showing every storage block belonging to R-Seize with its type and size from the first dump that day, and another list showing the same thing for the second dump. Boy, was she ever ready to take a break. ... But not with him, she told herself, sternly. This time she was eating alone. "Dinner time?" she asked, looking up at him. "OK, master, lead me to the lobby." He shook his head. "Nope, it doesn't work that way. You're coming with me." He strode off toward one hall out of the room. "Oh, no, I'm not. The lobby is this way, and that's the way I'm going. If you won't take me, I'll go by myself and see you in the morning." Bob turned and laughed. "You're crazy! There's no way you could find the lobby by yourself. You'd be wandering the halls, and before long someone would report you to security, then we'd both be in trouble." "Oh, you think so, do you? What if I went down that hall to the end, turned right and went to the second corridor, turned left and went to the elevators, took an elevator down to two, got out the back of it and turned right, went to the end of that corridor and turned left, then took the first hall to the right and went down to the third place I could turn left, walked until I found an elevator and took it down to the first floor, went straight out from the elevator to the fourth hall leading to the right, down to the end of that and left, and kept walking until I got to the big glass doors?" God, how Ann loved seeing the look on his face and the way his mouth was hanging open when she finally stopped talking. Bob finally snapped his mouth shut. "You win," he said, and led her back on precisely the route she had described. When they got to the lobby, Bob turned to face her and reached out with his right hand to touch her left arm, but she quickly intercepted his hand with her right hand and turned the gesture into a handshake. "Good night," she said. "I'll see you in the morning." "Good night," he replied, with a baffled look on his face. ~~~~~~~~~~~~~~~~~~~~ That night in her hotel room Ann worked on correlating the two storage lists she had on her PC, and it didn't take her very long to figure out that the I/O buffer pools were growing. Then she read through listings until nearly midnight, trying to think about why that might be happening, and why that would cause the code to lock up even if it did. It really didn't make much sense. Runaway storage usage would normally cause an ABEND, not a lockup. And she was sure there hadn't been any ABENDs. Besides, the code had a check that limited total buffer size to 32 megabytes. She finally gave up and fell into bed. Wednesday morning Ann stared at one of Monday's dumps again, and now she could see that, yes, everybody was waiting for data. But why, when there was obviously reams of data sitting there unprocessed? She finally had to admit to herself that she was going to have to go for the final recourse, the tool novices turn to frist, and that she usually scorned. She was going to have to step through the code, watching it run on the computer, one instruction at a time. Since computers run many millions of instructions per second, and Ann wouldn't be able to see more than a couple a second, at best, it is obvious that stepping all the way though a program that normally runs in, say, five seconds, would take her more like five months! No, make that more like years, since she would need to stop and think occasionally, and she obviously couldn't keep at it 24 hours a day, 7 days a week. Fortunately, that isn't the way it's done. Instead the programmer sets some breakpoints in the code at "interesting" points, and when the computer hits a breakpoint it stops and waits patiently for human-speed analysis. Well, actually, the whole computer doesn't stop. Big mainframe systems are normally doing hundreds or thousands of "tasks" at once, and it's only that one task which stops. Otherwise those dollar-sign things Ann and Bob were talking about earlier would have started happening very quickly. Anyway, Ann decided she would have to swallow her pride. "Bob," she said, "I'm going to have to step through the code. Can you set your tests up to run under TSO?" "Sure, no problem." "OK, next question. Do you have anything better than TSO TEST?" "How about ASMIDF?" "Oh, yeah! Much better. OK, let's get to it." It was the middle of the afternoon before Ann found the culprit. Some of the database records in the buffers were being skipped, but they were not being discarded. Eventually the buffers filled with those "bad" records, and there was no room for any "good" data. She could see that they were being skipped because of a flag in the data, but what did that flag mean? Ann finally called Bob in and explained what was happening. His mouth suddenly opened in a big "Ohhh!" "It's a bunch of new data we put in the database last week," he explained. "We were getting ready to cut over to a new table structure, and we wanted to load the data ahead of time so we could play with it. But we added that flag so the current programs would ignore it." "Well, R-Seize ignored it, all right," Ann groused, "but it couldn't figure out how to get rid of it." "So," Bob asked, "if we backed that data out of the database, R-Seize would start working again, right?" Ann nodded. Bob looked at his watch. "I think you and I are going to pull some late hours tonight. Is that all right with you?" Ann nodded again, despite the queasy feeling in her stomach. ~~~~~~~~~~~~~~~~~~~~ Bob ordered pizza, then started putting together DSNUPROC commands to clean up the database. This time it was Ann's job to be the sounding board, and it was a good thing she was. It's amazing how many errors you catch just by explaining to someone else what you are trying to do. The delivery boy called, asking where he should go, and Bob arranged to meet him at the front gate. He started down to his car, but stopped. "Before I go, I should start a database backup. We don't want to mess things up so bad we can't get back." Naturally they had a canned procedure for that, and Bob had it kicked off in no time. As he left, he tossed over his shoulder, "Can you get us some sodas, and anything else you think might be good?" "Sure, boss, will do," Ann grinned. As she made her way to the machines, Ann realized the queasy feeling was gone. For maybe the first time she just felt comfortable around Bob. He really was easy to get along with, and she wondered why she had reacted so strongly before. By the time Bob got back with the pizza, Ann had the Pepsi waiting for him that she remembered he liked, along with the root beer for herself. She had also brought back two packages of Ding Dongs, the long time standby of programmers everywhere working overtime. Bob laughed when he saw them, and gave her a thumbs up. They managed to key in the DSNUPROC commands between bites of pizza, and were all ready to go when the backup finished. The pizza was half gone, and the sodas were empty, by the time they could start the test suite. "OK, here goes nothing," Bob announced. Five minutes later he was looking in dismay at the results. The hangs were gone, but so were half the answers. It didn't take Ann long to realize what the problem was. "R-Seize doesn't have all the data it needs." "Oh, no! I got rid of too much." "I'm afraid so." "More sodas," Bob said glumly as he started the database restore. That took half an hour. By the time it had finished Bob and Ann knew what they had done wrong the first time, and were ready with the new commands. The pizza was now three quarters gone, and Ann giggled as she spun it around so the edges of the slices pointed at 9 and 12. "Look," she pointed out, "it says nine o'clock, and that's about what time it is. Which is going to happen first, the clock says 12, the pizza says 12, or the test cases all work?" Bob shook his head. "I sure hope it's the test cases, though I must say having you here makes this night much better than any of the other nighttime database battles I've had to fight." "Yeah, I've had to put in some late nights, too. It goes with the territory. They normally get pretty lonely. Not this one, though," she admitted. Bob looked up from the keyboard where he had just finished typing in the new commands. Their eyes caught, and he smiled. Ann felt a surge of warmth through her entire body, and decided she liked the feeling. Very much. They really didn't have anything to do until the new processing was complete, and that might take fifteen minutes. Neither of them wanted any more pizza, so they just sat there, and talked quietly. Mostly they talked about how different their lifestyles were. Ann had focused on security, Bob on freedom. As they talked, they each came to a better appreciation of the other's philosophy. They each began to think they needed to broaden their own goals. Neither of them noticed when the DSNUPROC job ended. Finally, Bob happened to look at the screen. "Hey, it's done! Let's run some tests." He typed in the test driver commands and then leaned back in his chair. Ann reached over and put her hand on his. "Here's hoping," she whispered. He turned his hand to clasp hers, and they watched the screen together. "It's working," he whispered. "I think we've done it, Bob." Their grip tightened as the results continued to roll out. "Yes! Yes! We've done it, Ann, we really have!" They both jumped to their feet and went into a bear hug, which they held, excitedly. It wasn't until perhaps a minute later that Ann gasped, and pulled away. She bit her lip and looked down. "We ... I ... should get back to the hotel." "Right, but be sure you're here first thing in the morning. I'm dying to see what happens when we tell the guys they can use R-Seize again." "Yeah, me, too." She managed to look up at him and grin. ~~~~~~~~~~~~~~~~~~~~ They dumped the last two pizza slices in the garbage. The Ding Dongs had, strangely, evaporated some time during the evening. Although Ann wasn't aware of it, they were still holding hands as Bob escorted her to the front lobby. Once they were there he gave her a quick hug and an even quicker kiss on the cheek, which she returned. "'Night, Bob." "'Night, Ann, see you in the morning." "Oh, yeah!" She had that warm feeling in her belly, and a smile on her face, all the way back to the hotel. Once she got to her room she stretched out on the bed and let all her muscles relax. It had been a good night. She finally opened her eyes and looked at the clock. 11:40. Only 8:40 in California, not too late to call Tom. "Hi, Tom, it's me." "Oh, hi, Ann, it's good to hear your voice. How are things going there?" "Real good! I figured out what the problem is, and we ... I think I have a temporary bypass so the guys here can get back in business tomorrow." "Oh, ... uh, ... does that mean you'll be coming home tomorrow?" "No, my flight's not 'til Friday, like I said. Tomorrow I hope to come up with a real solution so they aren't stuck with the bypass." "So you'll arrive in San Jose about nine, Friday night?" "Yes, and you'd better be there. Otherwise," she teased, "I'm likely to run up and kiss the first handsome man I see when I get off the plane." "Oh, oh," he laughed, "can't have that. I'll definitely be there." "You said you had dinner with Paula and Mark last night. How did that go?" "Uh, OK. Say, I just realized. It's nearly midnight there. Shouldn't you be sleeping?" "Yeah, I guess I should," she yawned. "I'd better say good night." "Good night, sleep tight." "I love you, Tom." "I love you, too." Ann wondered, as she hung up, if something had gone wrong at Paula's house. Before she left California she had asked Paula to look out for Tom, and that was obviously why Paula and Mark had invited him to dinner. Maybe Mark didn't really want to do it. Maybe the two guys got into it somehow. Well, there was nothing she could do about it now. She'd find out when she got home. For now, she needed to sleep. She undressed, fell into bed, and slept soundly until the alarm woke her. ~~~~~~~~~~~~~~~~~~~~ Ann was back at Geico headquarters before 8 AM the next morning — too early, she realized as she saw the hours painted on the lobby door. Well, she would just have to wait five minutes. Then the door opened and HE was standing there. "Good morning," he smiled, looking delighted to see her. "I guess you're as anxious as I am this morning." "Yes, I guess I am," she said with a bit of a flush. God, but he looked good standing there. He clutched her hand and pulled her through the door. "OK, show time!" They were giddy and giggling as they half ran, hand in hand, down the aisles to the first elevator. When the elevator door closed, he pulled her to him for a hug, which she returned. They broke apart when the elevator stopped, and seeing people in the hall as the door opened they tried to be more proper as they made their way to the next elevator. That elevator was empty as they stepped in. Bob pushed the button for their floor, then stared into her eyes as the door closed. Those eyes were an irresistible force, drawing her to him, and Ann's arms went up around his neck as she pressed against his body. The kiss was electric. She barely heard the ding announcing their floor. Bob managed to push her away from him as the door opened. They stood there, not moving, just staring at each other. The door started to close again, but Bob reached out just in time to stop it. They both let out a huge breath of air, then struggled to be dignified, to walk side by side, to act as if nothing had happened. When they got to Ann's temporary office cube they sank into the two chairs and looked at each other, but didn't say anything. Finally Bob reached for the phone, dialed some numbers, and started speaking. "May I have your attention for a moment." Ann could hear his voice echoing from speakers in the ceiling. "As you know, we've had a brilliant young lady from SoftClaims here this week to chase down our R-Seize problems. She has managed to prove that I caused the problem myself last week, and she helped me clean it up last night. We think the program should be working now, so go for it!" A great cheer went up through the room, and Ann broke out in goose bumps. Bob set the phone in its cradle and reached for her hand. She grabbed it and squeezed tightly. They sat there, staring deep into each others' eyes as the cheers around them morphed into a chorus of "Oh, yeah!" "Right on!" "Hey YES!" "DAMN! It's working!" "Fantastic!" and way too many other expressions to be able to pick them out. Bob squeezed her hand then released it. "I'm going to monitor the transaction rates," he whispered. "I want to watch," she whispered back, scooting her chair over next to his. She leaned against him, pressing the side of her chest against his arm as he keyed in some commands. She reached for something to help her balance, and found her hand on his thigh. They watched the numbers scrolling on the screen. Somehow his hand had dropped to her leg when he finished typing, and they were squeezing each others' thighs. "Yes, they're holding up," Bob whispered, still staring at the screen. "Yes, yes, yes," Ann agreed, feeling his triceps muscle flexing against the side of her breast. Finally he turned to her. "We did it, Ann, we really did it! Let's celebrate! I'm going to take you out on the town tonight." Suddenly the alarm bells went off in Ann's brain, and she shook her head. "No, Bob, you can't." She searched furiously for an excuse. "You didn't tell the truth in your announcement, and you know it. R-Seize should have been able to handle records with that flag on. You need to be able to expand your database, and I need to figure out how to fix our program. Now get out of here, before you drive me crazy." "Too late, Ann. You know, and I know, that we're already both crazy for each other. But I will leave you alone. For now!" Ann watched him leave, and knew he'd be back for lunch. She knew he'd find some way to take her somewhere they could be alone. She knew she wouldn't be able to resist him. She knew she was dying to be alone with him right then. But she also knew she mustn't let it happen. Focusing on the code that morning was the hardest thing Ann had ever done, and there was no way she could keep thoughts of Bob from teasing at the edges of her consciousness. At eleven she sternly told herself she knew what she had to do, and she slipped quickly down to the cafeteria. She selected ice tea and a chicken salad in a takeout container, and was in the checkout line when she saw the brownies. 'Gotta keep up my strength for the afternoon,' she told herself, and added that to her tray. After she paid for the food she ditched the tray, balanced the brownie on the salad, and made her way back up to her work station, holding the drink container in one hand and the salad in the other. She sat down with a sigh that mixed relief with acute disappointment. At least now she was safe until dinner time. Sure enough, Bob showed up about half an hour later, and his look of dismay was priceless as he saw the scattered remains of her lunch. "Sorry, I was hungry. I didn't get any breakfast this morning," Ann lied. "Oh, OK, ... I guess. ... I was hoping ... Well, never mind, how's it going?" "Well, I know now what module I'm going to have to put the fix into, but it's a real ... complex piece of code, so it's going to take me a while yet." She had started say something else, but realized in time that you don't admit to customers that parts of your code are pieces of shit, with logic as tangled as a plate of spaghetti. "Well, in that case," he said, trying to look pitiful, "I guess I'll have to get something for myself, and eat alone in my office in complete misery." "Get out of here, goofball," she laughed. "And if you're hinting that you want to eat here, forget about it. This is complicated stuff, and I need to concentrate." Bob was back about two hours later, and talked her into a short soda break. So much for brownie strength. At least the Coke machines were popular enough that he didn't have a chance to get her alone. She admitted she was still working on the logic details. It was after four the next time he showed up. Ann had a fix written out that she hoped would work. She didn't have the source programs on her PC, just compiler listings, and the source wouldn't have done any good even if she had it, because she'd need a bunch of macros, and Geico's procedures for running the compiler wouldn't match SoftClaim's, anyway. What Ann had done, though, was "compile" the changed lines by hand, converting them into the strings of hex digits that the computer would need to be able to process them directly. Like many mainframe programming shops, SoftClaims always left a "patch area" at the end of each program. Ann had figured out how to insert an instruction at the right place that would jump to the patch area. She had to steal an instruction inline to make room for the jump instruction, so in the patch area she had to put the stolen instruction, her new instructions, and an instruction to jump back. That should work, but: 1. Did she really find the right place to insert the new logic? 2. Was the new logic really going to fix the problem? 3. Did she hand-compile the new logic and jumps correctly? 4. Would the system state and registers still be valid when the code jumped back to where she inserted the first jump? Well, OK, the chances weren't great, but it might work. "So how would you feel about putting a hokey USERMOD on your system?" "Well," Bob shrugged, "If we apply it with SMP/E we could always back it off." "That's what I figured. Anything special about running SUPERZAP here?" "SUPERZAP," he gasped. "You're going to patch the code in hex?" "Sure," she grinned, "nothing to it." He shook his head. "You are absolutely astounding. If you say you can do it, then I believe you." "Hey, I'm not perfect. I'm willing to bet I won't get it right the first time. In fact, are you up for another long night?" Bob sighed. "Spending the time with you — definitely. Spending the time here — not my first choice, but better than nothing." "Bob," Ann said, holding up her left hand, "I'm still married, remember?" He looked at her ring, and nodded. "Yes, I know, damn it." Computer programming is an extremely humbling profession. You would not believe how many stupid errors it is possible for a very capable programmer to make in only a few lines of code. Compilers typically find a whole series of errors in a single run. Trying to work at the machine level, as Ann was doing, multiplies the error probabilities tenfold. It also slows the error detection rate by at least tenfold, because all of the errors are found one at a time while manually analyzing execution failures. In fact it was nearly eight o'clock before the new code would run at all, even using the database from which all of the "bad" records had been deleted. It was after midnight by the time the database records were reinserted, the code didn't crash processing them, and Bob's tests were all working. By that time Bob and Ann were too far gone to celebrate. They just looked at each other with bleary eyes and agreed that they seemed to have succeeded. After that they agreed that they were both dog tired, and went their separate ways to sleep. See favor3.txt for CHAPTER 3