Chilaquiles Con Code
By Mary Alexandra Agner
Illustration by Linda Saboe
Vigilantes never make breakfast.
Her mother points this out on two occasions: whenever Rosa asks about her father and when her mother comes home from the late shift to find her up, programming. Rosa can’t tell if her mother intends the interruption — to stop, heat the chilaquiles, talk to each other with their mouths full — as punishment, but it never feels that way. Making breakfast is a commitment to family, not a hit-and-run solution.
Awake all night, exhausted eyes burning like her mother’s, Rosa thinks her mother looks liminal, like Mamá has walked over an edge. At breakfast, her mother shares old family tales, embellished border crossings, and poems all the way back to her grandmother’s grandmother. The sounds are different to Rosa’s ears, fluid and crisp at the same time, like the absence of the cursor blinking off, then redefining itself in harsh right angles.
Pushing the last bites around on her plate, Rosa’s mother makes small angry noises. Rosa waits, knowing what’s coming, bad end to a good moment. “Shouldn’t you be sleeping more? How will you pass your finals? And isn’t there some interview this week you said?”
Listening harder, as she takes in breath to sigh, Rosa realizes it’s not anger, it’s worry. Her mother murmurs that she still hasn’t mentioned Rosa to her boss, although high school graduation is in a few weeks. Rosa knows Mamá does not want fluorescent lights and cleaning chemicals for her when it’s clear she loves FOR loops and data structures. Rosa’s mother has seen the mail, the business company logos, so official-looking, on paper even in this day and age. She is hoping very hard. And so she nags.
“Mamá, I am doing well, I promise. I am still just a little niña, so pequeña I barely need sleep.” She smiles, hoping for a smile back. “Last late night, I promise.” Her mother looks hopeful.
“About the interview—” Rosa stops when she sees her mother’s face cloud over. “No, no, it’s just different than a normal interview, ok? I go in—”
“Dressed nice!”
“Sí, Mamá, in my new suit, and I answer some questions, but after lunch—”
“Are they giving you food? Do I need to pack?—”
“Sí, Mamá. They’re health nuts at this place, probably beans and veggies—”
“Tortillas?”
“Mamá—” But she sees her mother laughing at her.
“After lunch, we all get a programming problem and we only have a few hours to solve it. So I’ve been practicing.”
“Not so well, then, if you’re still up when I come home.”
“Mama!”
“Well.”
“No, no, I usually do like three an evening. So I’m doing well, I promise.”
“Your father” — Rosa nearly chokes — “was very clever, always could convince people he was more clever than he was.” She looks her daughter in the eye. “Use this if you can.”
And then the sunlight swarms the kitchen, turning her mother with her uncanny stare into simply a tired old woman. Rosa knows she has to make her own clever. If her dad had it, he could only have left it to her by nature not nurture. But it makes her smile wider at the doorman and the lobby attendant, falling off only as the elevator doors close and she remembers happy women are perceived as less competent. She struggles with a neutral face. Lips turned up so not to be perceived as angry. Her reflection in the elevator’s metal doors shows the dark brown bun of her hair straining at her temples — Mamá helped — lips up and eyes serious, skin yellowing in the industrial lights.
The seventh floor outer walls are windows but she cannot take in the city skyline for all the suits and heads. They mill, they snack, chat, move so slowly Rosa barely makes it out from the closing doors. She had not expected so much competition, but they are allowing anyone in who passed the online test. Quality, not quantity, chica, she reminds herself.
At least the ceiling is high enough she can make out the check-in banner over all the slicked-down hair. She applies her high heels judiciously and surreptitiously and the crowd parts; this is the only reason she wears them.
The ladies with the badges smile at her, unworried to look incompetent, their jobs requiring a real glow. They take her identification and widen their eyes as her file comes up on the screen turned away from her. One of them points at the screen. The lady in front picks up a badge — Rosa Cruz — and holds it out to her, pointing at a blue number in the lower right corner: 1.
“They’ve put the entrants in heats, like in racing, staggered starting times, so that not everyone is at the same part of the test this afternoon.” The lady lowers her voice. “They are informally ranked by the online test results and the top candidates are in heat 1.” She smiles. “Knock ’em dead, sister.”
Rosa clips the badge on, looking down to smile back as much as she can. “Thank you.” She takes the packet: schedule, brochure, company overview. Her personal interview isn’t for another hour. What she really wants to know is how many other name tags have small blue ones on them. She starts in one corner of the room, sections it, and begins a depth-first search, softly ticking off a mark each time she passes a blue.
“Twenty-seven,” says a voice behind her. “In the first heat,” he finishes and Rosa turns to face him politely.
She’d only managed half the room so far. She’d already marked a tick for the curly-headed ginger talking to her. Her first impulse is to thank him but: she was only half doing it for the end result, searching out the competition. Mostly, she’s enjoying being in the details of her own code. She doesn’t owe him any thanks. She nods and smiles.
He holds his hand out, “Roger Turnbull, although I know you can read so I’m just being polite.” Rosa’s eyebrows go up and she shakes his hand.
“Rosa, obviously.”
“Obviously the only rose, yes.”
“Oh, I see someone I know, excuse me—” and she breaks her search pattern for the ladies’ room, struggling to keep her anger off her face. There’s always one. As the sound drops, she thinks, honestly? There’s always a dozen. Maybe today there’ll be one who makes a better joke, one about code and not the coder. Rosa always hated those ten-on-one team practice interviews in school but today, when the interviewers all argued with each other about elegance and efficiency, she was able to drink water and slow down her breathing. It was behind her now and she was sure she’d done well enough that it wouldn’t be the event that disqualified her. Her next hurdle was lunch, then the coding competition.
As she leaves the bathroom stall, propping her hip against the laptop bag to hold it in place, another woman steps out to wash her hands. They look at each other. Rosa wants to think enemy, they’re only going to take one token female but it’s not in her. Boring brown hair starts to smile and Rosa says, “Let’s kick their butts, huh?” They fist bump wet knuckles.
“I’m Anne. I’m not going to make that joke about reading, ok? I’m so sick of hearing it.”
Rosa nods. “Want to sit together for lunch?”
“Yes.” Rosa sees Anne’s hesitation, knows her own face has it too. “Yes,” Anne says again. “I want a break, some food, good conversation, not fending off flirts. I want to be my best for the competition. So I don’t care if it’s a black mark against me to eat with the token Latina.” She twists the words into scare quotes and Rosa smiles. Anne falls back into herself. “Unless you don’t want to, I understand if you don’t want to.” She waits, looking down at her hands while she dries them.
“That all sounds good to me.”
Outside, it’s easy to spot the table with the other women: it’s completely surrounded. Rosa makes eye contact with the badge ladies as she and Anne walk by. Two of them follow, politely pointing out the empty tables to those attendees standing. Rosa and Anne take seats, laughing: they’ll swarm but not sit.
They introduce themselves around. Rosa’s by far the youngest. She and Anne end up passing notes on paper napkins once one of the other women climbs her soapbox. On Rosa’s other side, a silent woman slowly bites each nail down, collecting the clippings, then tying them together in another napkin. At least the food is good. Anne is trying to impress her by writing out her Geek Code, which Rosa finds heinously old-fashioned but sufficiently amusing to get her to the moment when the man at the microphone calls out, “Five minutes until the competition begins. Will those of you in the first heat please enter the auditorium?”
At the door, she and Anne trade all their belongings for a ticket and a laptop, slim and black, bearing only a sticker with a serial number. Rosa’s impatience soars as she settles into the seat assigned her. Nothing else matters but this unopened rectangle. “Don’t get hacked.”
Not much as instructions go, but pretty straightforward, Rosa thinks. The text fades off the screen, the spinning disc tells her to wait. Her fingers hover over the keyboard, flipping the disc back and forth across the screen: too much energy.
The screen brightens, opening three terminal windows. One’s sitting in the Apache home directory, one in a student home directory, and one editing access.conf.
Rosa immediately checks root password, finds it unset, changes it, then changes the student account password.
Her fingers stop, brain rushing. To remain unhacked, she simply has to let nothing through. But that’s too easy an answer. There must be something important in some of the data trying to make connections with her. She just has to figure out which ones, the good from the bad, the flirts from the serious coders.
She checks, finding no rulesets currently enabled, and begins writing the simple standard ones, refusing connections on non-standard ports. She opens a new window to quickly add a script that will monitor connection requests on those, number and nature— and forcing only stateless connections, at least for now.
She checks her weblogs in between lines of code, driving herself half-crazy. No hits yet.
Then she thinks to hit herself. which tells her what browsers she’s allowed and she points one at Google, out of curiosity. Nothing. These folks are hard core. She’s only got a standard Apache install and her head. Two deep breaths and she realizes her job may be like that, protecting stuff from the unknown without the Internet as a crutch.
Pointing the browser at her IP, she gets a blank page. She checks the source code in the browser against the Apache install.
Rosa goes back and disables CGI. Just for now, she thinks, until I get a handle on all of this. They didn’t say that she had to actually serve web pages.
Her monitor script blinks at her: someone outside is saying hello on a non-standard port. She blinks then laughs, realizing everyone else is silent. Oops. Anyway, it’s the gopher port and she thinks it’s funny, maybe they want to tunnel in. Rosa lets the packet in and inspects it. It would have passed her standard sniffers if she hadn’t closed off the port. She points her browser at its source IP and pings it.
Website comes up: Congratulations! Just as the text begins to animate, she kills the browser, knocking her elbow hard against the chair’s arm. Probably bad, she decides, rubbing her elbow, animated gifs could hide malicious code. The gopher is not friendly.
Just as she decides to go on the offensive, the denial of service attack begins. Again, she could close everything down, like battening hatches and hail, and let it slide off her. But she’s still curious, it’s still too easy an answer.
Rosa has plenty of memory on the laptop. She pulls out a random number operator and takes in all the packets, isolating them by storing them non-contiguously. She checks one: different source IP.
While that runs, Rosa sends out her own packets, following both the gopher and this new source. The gopher wants to talk, sending a SYN. Maybe the congrats was just a congrats. While here it can hurt to listen, Rosa wants to try anyway, and she’s got her guard up. Out goes her SYN-ACK, the rodent’s ACK nearly simultaneous.
Waiting, Rosa checks her wall against the DOS, resettling the laptop on her legs. She looks at a packet, text only, especially its time to live. Very huge. She adjusts her ruleset to exclude those larger numbers and stops taking in the packets.
She starts writing something that will wipe the used memory locations multiple times when the rodent sends data down their open line. She isolates the first packet and looks in it. She checks the header size specified against the data sent.
The denial of service attack stops suddenly and it’s like it got quieter without all those packets pounding against her firewall. Deep breath. Sigh.
The rodent’s data length checks out.
Her own offensive code, trying to peek into the DOS address returns an open port, unguarded. Rosa opens a root-only port and probes the source port through it.
Converting the rodent’s data into ASCII, Rosa reads, “Have you tried port 4?” Well-known, unassigned a standard use by the networking community, anyone can bind something to port 4 if they are clever enough.
She grins, watching her own code already sneaking into the enemy’s port 4.
The grin drops off as she gets a “connection busy” response. Who else is probing my enemy’s port? she wonders.
Then Rosa thinks to look at the enemy’s source IP in her browser. She recognizes the company logo before the rest of the page loads; it’s all over today’s brochures and letters at home. The DOS came from the company’s servers. And now she’s trying to sneak in? Worse: she’s not the only one.
She could try to lock the port, keep the other intruder out. Hacking her host, her hopefully-future employer, wasn’t part of the instructions.
Rosa turns back to her own wall, sending another ACK to the rodent. The PA system announces, “Thirty minutes remaining for those in the first heat. We’ll be coming through the auditorium at that time to retrieve your laptops.” Coughs, scuffs, cloth against seatbacks, distracted, she shakes her head to clear it.
Make herself look more clever than she is. She’s good at web defense, that’s why she’s packed into this room with college grads and gray hairs making career changes. She stares at the screen. “I’m much more interested in protecting,” Rosa whispers. She wants more mornings, blurry-eyed, with chilaquiles.
More clever to a packet means nothing. But the programmer behind those packets? What if there are clearly many of her? And she throws her packets into the port, spoofing IP addresses as she goes. Let the coder think they are not the only two here knocking.
Rosa tests out these spoofed IPs. Is there anywhere she can leave something running to plug the hole in port 4?
Someone in the auditorium sneezes. Rosa looks up, completely disoriented by how full the room has become. Then: “Sniffing” she whispers to herself. If the intruder isn’t another attendee in the competition, then they’re probably hiding themselves as one — in both cases, they’re coming through the company’s subnet. So Rosa begins sifting through the network traffic for packets heading to unguarded port 4.
Ten digits outside the subnet — but she manages to memorize them just as the lights come to full in her part of the auditorium and the computer screens of heat 1 go dead. Hers is not the only cry of surprise.
Rosa doesn’t move but others do, standing, laptops clicking closed. So she sees the screen light up again with her blue 1 morphing into a red 1. She managed to stay among the top competitors!
She smiles broadly. But she makes herself stare for another ten seconds, counting, until the screen fades to black. She closes the machine and pulls her coat check from her suit’s single, hidden pocket. Time to take a break. Time to take the weekend off before worrying about a job.
Rosa catches up with Anne and they both exit, returning their slips, retrieving their gear.
“It’s been a pleasure.” Anne hands Rosa her card. “Keep in touch.” As Anne walks off, Rosa reads the card, runs her finger over the embossed light blue design behind Anne’s name, email, and major platform handles. At first glance the design is one of those images with two ways to see it, like the vase and faces, the obvious figure just tangled Cat 5 cables. Cute but nothing compared to today’s stories for Mamá. Mamá has the house full: cousins, the smell of rice and beans, expensive American ale someone has snuck into the fridge. Rosa laughs and laughs, retelling her stories like a fighting match: her little webserver against a Goliath DOS attack. Her family cheers in all the right places. Even so, Rosa’s happy when the guitars come out, even when Esteban threatens to recount her deeds in song. She hands him another ale.
She could lean against the kitchen wall forever, music weeping in through the windows of their small patio. The musicians count out the beat to start something new, “dos, tres, quatro.”
Rosa stands up, sneaks off to her room, boots up her machine. Uneasy, she probes port 4 on the company’s machine. No response. No connection error. She sighs. It’s done. Monday, another job application. Let it go.
The blinking cursor does not keep her awake. In the morning, no one else is probing port 4. Rosa researches her IP address: no information on the registrar that isn’t generic. She makes breakfast for her mother. Vigilantes don’t cook chilaquiles. And she’s not one of them, she won’t write that code to monitor port 4, invade the company’s privacy.
Even if it means she’d be protecting them?
She slams the dirty dishes down; Mamá admonishes her. Rosa scrubs half-heartedly. She wipes the counters, counting the crumbs.
Hands washed, Rosa writes the code to watch port 4, light surveillance that feels like aggression for the sake of protection. She walks away once it starts running.
She babysits her cousin’s kids. She reads a book without computers in it. She refuses to look at her email but she sighs at her phone. She eats leftovers for dinner, her mother out working.
She gives up and goes back to her room. Rosa brings up the script’s output. The enemy probes the port four minutes after every hour, occasionally switching to 44 minutes after the hour. It’s stupidly predictable. And they don’t seem to do more than probe.
Rosa throws herself against the bed, stares at the ceiling fan clacking. “I will spend all day tomorrow at church,” she promises the part of herself that cannot make up its mind.
And she does.
Monday morning Rosa begins dialing at 8:59am. She pushes send as the seconds tick over. Looking for the number, she’d found Anne’s card and stares at it while listening to the rings. The secretary sounds very awake for 9am.
Concentrating on her ears and not her eyes, Anne’s background design resolves into “P4.” Port—
“Hello. I attended the interview and computer challenge last Friday—”
“You’ll hear back later this week, like they told you.” Awake but not quite nice.
“Yes, but port 4—”
“I’ll transfer you to Human Resources.” Tinny sounds, music coming to her down a long, long tunnel. Rosa taps the card against the kitchen counter in time. Why does Anne’s card read port 4?
“Ms. Cruz? Fred Malcolm.”
“Yes — how did you know?”
“We’ve been monitoring all activity on port 4, curious to see whether you would call. What’s your concern?”
“Someone’s trying to hack you. They’re doing a bad job of it—”
Malcolm laughs. “Thank you, Ms. Cruz. We’ll be putting a job offer out in the mail to you later today so please look for it. You did an excellent job at the challenge and we are very impressed with your principles. Anne’s looking forward to having you working with her.”
He waits for Rosa to respond.
Anne? Port 4 was a test.
That she passed.
And Mamá can stop working nights. She’s going to be a vigilante that always makes breakfast. She’s got people to protect. And she can’t do that hungry.
“Ms. Cruz?”
“Yes, yes, I’m sorry—” she stops herself. No need to apologize. Deep breath. “Exactly what kind of offer are you making me?”