We arrive at the VU with five minutes to spare. You’d think they’d know that someone as important as Mistress was coming and prepare more food, but we make do with whatever’s left on the counter.
I sit down at what is fast becoming “our” table. Or rather, I try to sit. I yelp at the sudden pain in my ass. Damned welt, I think, my arousal peeking its head out from between my legs, a groundhog from its … mound. There’s something indefinably satisfying about being unable to sit comfortably for a day or two following Mistress’s ministrations. While painful, it’s also intimate, secret. A stark reminder that I am hers.
“What’s wrong, Sarah?” Beatrix asks innocently, a glint of self-satisfied amusement on her lips.
I scramble to think up a pusible lie for the people behind me to overhear. I sit down again, this time as slowly as I can, putting most of my weight on my right cheek. “Oh, I’m just sore,” I say feigning nonchance, “from falling on my butt while bouldering in the Arboretum. I bruised my leg pretty badly, too. It’s nothing to worry about.”
“Oh, I’m sorry to hear about your fall,” she replies cordially. I grin at our shared secret.
Considering my aversion to, and general incompetence at, lying, I feel pretty good about my delivery.
The guy behind me snickers softly, and whispers to his friend, “Like we didn’t notice the colr around her neck.” She returns a muffled giggle. I flush. Ah well, I think in resignation. Next time.
“So,” Bea asks, “what more can you tell me about programming that retes to…” She gestures absentmindedly, her finger circling, as if highlighting some invisible area on the table. “…our project?”
“I could expin abstraction in more detail, if you’d like. Nothing else springs to mind at the moment.”
“That sounds good,” she says, once again genuinely interested. I get the sense that she’s interested because her girlfriend is the one talking more than because of the topic’s potential to help explore her ability. I am quite alright with that. Fttered, even.
??????
We’ve discussed abstraction with functions, already. The rger part of abstraction, however, retes to objects and csses.
You can think of an object as a collection of fields. Each field has a name and a value. For example, a person’s contact information in your phone is an object. It has fields—first name, st name, phone number, email addresses, street address, and so on—and values for each of those keys: text—what programmers call “strings”—for the names and phone number, a list of strings for the email addresses, and an address object which has its own fields, like street address, city, state, and zip code.
Most modern programming nguages have a concept of a “pin old object” or–
“Poo!” Beatrix ughs delightedly.
“For better or worse, it’s actually POJO—pin old Java object. The ‘Java’ is silent to everyone save those pitiable Java programmers, tragically soulbound to their crappy nguage. What I find ridiculous is that JavaScript, an entirely separate nguage from Java, is what popurized POJOs, so why didn’t we just change what the J stands for?” I shrug.
POJOs use arbitrary strings for the fields’ keys, and the values of those fields can be anything: strings; numbers; booleans, also known as bits or fgs—true or false, a 1 or a 0; null, which is a pceholder value that means “does not have a value”; arrays—a fancy word for lists; other objects; and sometimes functions.
“Why are true and false called booleans?” Bea asks when I stop to take a bite of my lunch.
“I’m not sure, actually.” I grab my phone and tap out the question to an AI. Scanning the response, I summarize, “Evidently, ‘true’ and ‘false’ were invented by George Boole back in the mid-1800s. Before this, the world only knew of ‘maybe’ and it applied to every statement. Proofs became significantly harder after that, so I’m not sure Ol’ Georgie’s contribution to history was an improvement.”
Bea and Sarah Prime give me simultaneous snorts: Bea’s amused, Sarah’s derisive.
“But for real,” I say, “Boole was the one that realized we could assign 1 to true and 0 to false, something fundamental to computers’ ability to function. To this day, most spell checkers will compin if you do not capitalize the B. Drives me nuts.”
She smiles and I take another bite of my lukewarm pizza.
While POJOs are very versatile, most of the time we actually want our fields to be predefined. When we’re given an object with fields that have known names mapped to known types, we can know for certain that the fields we expect will exist. And this is why we have “csses”.
Csses are not objects themselves, but the definition of an object’s “shape”. The objects that are produced by a css are called instances or instantiations of that css. Not only do csses know what their fields are, but they also include functions that apply to their instantiations. These functions are called css methods, and fields of a css are usually known as properties.
Because my field is filled with pedants, I feel compelled to mention that technically fields are slightly different from properties, but the terms are often used interchangeably. Also, csses predate POJOs by some forty years, as the implementation of POJOs, themselves, are defined by a css called a Map or Dictionary.
“By the way,” I say, taking another bite, “if you ever level your pedantry stat to 13—the point at which people anal-retentively insist on distinguishing between fields and properties—I will be forced to break up with you. It would be hard, but loving such a person would be harder.”
Beatrix snorts. It’s a sound I’m quickly coming to love. “No promises,” she says. “However, if I were to achieve that level, I would break up with you, because I could not suffer such an imbecile that conftes fields and properties.”
“Completely fair. I’m gd we agree that the retionship would be untenable.”
I take a swig of my Cherry Pepsi and continue in my role as a stuffy computer science professor.
Here’s where abstraction comes in. Oftentimes, we’ll want to extend a css for more specific purposes. The canonical example is the Shape css. Shapes—polygons at least—can be defined by a list of xy-coordinates representing the corners of that shape, so we’ll add a field we’ll call “points” because we’re clever like that. Remind me sometime to tell you about my Programming II final.
“Tell me about your Programming II final,” Bea reminds me immediately.
I roll my eyes. “Okay, so the test asked us to write—on paper—a bunch of functions that calcuted different values, and some of those functions called other functions from earlier in the test. Pretty standard stuff. However, the instructions did not specify what our functions should be named. Naturally, I named all of mine after Disney characters. I nearly ughed out loud when I had to make DonaldDuck call MickeyMouse. Miraculously, I still got an A.”
She chuckles, but I can tell it’s less at my story than that I found it amusing enough to share. Ah, well. Guess you had to be there. Or had to be me, really. I smile awkwardly. At least she still seems to be enjoying the conversation.
“What does ‘call’ mean?” she asks.
“Oh, when a function is used, we say we are calling that function. Why? No idea. Probably because ‘use’ and ‘run’ are such common words that they’re ambiguous, and so we chose another one.”
So. Shapes. Suppose we want to draw our shape to the screen. Again, because we’re clever, we name our method “draw”. Now suppose we want to find the area of our shape. Well, which shape? Different shapes have different area formus.
Enter subcsses. A subcss, or derived css, is a css that “inherits” all of the members and properties of its base css, also known as a supercss or parent css.
We computer scientists hate ambiguity but apparently fetishize having multiple names for things. Remind me sometime to rant about the dozens of names we have for external code that’s imported into a project.
I wince at my phrasing knowing what’ll come next. “Rant abo–”
“No!” I interrupt. “None of that. Remind me ter.” I shake my head, bemused. She ughs and gives me a goofy grin. Dumbass, I think affectionately.
In order to know the formu to calcute a shape’s area, we have to know what kind of shape it is. We’ll make a Rectangle css which “derives from” or “extends” our Shape css. Now, a Rectangle is a Shape—it has the points field and the draw method—and it defines a new method we’ll name getArea, which simply returns its length times its height. We’ll create a few more subcsses of Shape: Triangle, Trapezoid, Square—which extends Rectangle, becoming a subcss of both Rectangle and Shape—and so on.
I’m simplifying a bit, but since all of those subcsses know how to calcute their areas and since the methods to do so are all named “getArea”, if we’re handed a Shape object but don’t know exactly which subcss of Shape we’re looking at, we can still call getArea on the shape and we’ll receive the correct value.
??????
“Thus, we have achieved abstraction!” I say with a flourish.
Beatrix mimes enthusiastic appuse.
“So,” I conclude, “what does this have to do with … our project? Nothing at all that I can see. At least not yet. But so long as you keep looking at me like that,” I gesture to her miraculously still-interested and possibly smitten expression, “I’m going to keep talking nerdy to you.”
She gives me an indelicate snort. “I like listening to smart people talk about their passions. I find it really attractive. Hot, in fact. And if you’re half as passionate about me as you are about computer science, I’m a lucky girl.”
“Bea, the way things are going between us, I’ll be twice as passionate about you as I’ll ever be about CS by sundown.”
Sporting the tee-shirt and jeans of a lesbian proving that she’s more punk than any bisexual, Sarah Prime pulls on a pair of noise-canceling headphones, flips both of us off, and stalks away mumbling something about making syrup from all that sap. Whatever. She’s just jealous that there’s no Beatrix Prime.
“So, subcsses,” Bea purrs in that irresistible lilt. “Sounds like your kind of css; I’ll be your instructor.”
??????
Leaving the VU, we join hands. “Let’s do something fun,” Beatrix says. “Something that isn’t sex.”
I give her a melodramatic groan to indicate that I agree with her. In just two days, Beatrix has become my person—not just my friend, not just my mistress, not even just my girlfriend; she’s become my person, my home, the first home I’ve ever known. I need our retionship to be more than skin-on-skin-deep. I’m pretty sure that she feels the same way.
I y out all of our options. “We could head to Boulevard”—a park on Bellingham Bay—“and stroll along the Boardwalk, or we could py Nintendo at my pce.” All of our options.
“I’d love to go to Boulevard with you! That sounds nice. But honestly, right now, I just want to be warm and cozy with you.” Bea gives me a kiss on the cheek.
“Sounds good to me!”
We head back to her dorm room so she can put on a warmer jacket and pack a bag of clothes—I guess we’re sleeping in my room tonight—so I can retrieve my things, and so Beatrix can Speak, “Be 95% natural, Sarah.” Boo. “But keep your vag.” Yay!
??????
“We are each holding a mug of hot chocote.”
My left hand is immediately level and holding a travel tumbler, my right still clutching Bea’s. Huh, I think. She said “mug” but summoned a tumbler. I guess intent is more important than the words used. I can’t decide whether that will make “programming” her ability easier or harder. Programmers hate ambiguity, but it also means that Bea won’t need to use exact syntax as long as I can expin the concepts clearly enough for her to understand.
“With whip cream,” she amends.
Sure, Bea could Speak us from her dorm room to mine, but the walk down Western’s campus is nice, calming. Beautiful, really. The thoroughfare, sparsely poputed for the weekend, composed of the full spectrum of weathered red brick hues; the mismatched architectural styles ranging from the one hundred thirty years of Old Main in the north of campus, evolving southward over the decades into the cutting-edge buildings just north of Fairhaven; crisp air under gray clouds masking the start of the January afternoon sunset. All together, it imbues a Western promenade with an air of romance, never more so than beside Beatrix.
The walk gives us time to chat. She tells me about her “baby”—fifteen-year-old—sister, Cire, and shares some of the fond memories she has of them back in Engnd. They used to get ice cream cones in the dead of winter. By tradition, they’d debate whether double chocote fudge or chocote chip cookie dough is the better fvor. I have to side with Cire, unfortunately. Chocote chip cookie dough is the clear winner. Mistress threatens to “fix” my taste buds.
I tell her about the camping trips my family would take up and down the western coast, always near a beach where we could surf.
“In the cold?” Bea says, taken aback.
“We wear wetsuits. A wetsuit, booties–”
“Boobi–”, she begins to ask with puppy dog excitement.
“No, not boobies,” I interrupt. “Booties, with a T.”
“I don’t know why you think that’s better,” Bea says. Phantom fingers pinch my butt. I roll my eyes, but chuckle despite myself.
“A wetsuit, booties,” I repeat, “and a good pair of neoprene gloves will warm up the water with your body heat in about five minutes, and then you’re set. While my family never went camping in winter, my dad took frequent trips on his days off to go surfing in the Strait of Juan de Fuca, no matter the season. He still does.”
Beatrix tells me her favorite flower is the orchid. I admit to her that I wish I had a favorite flower. For the first eighteen years of my life, I avoided anything that could even be construed as feminine—excepting my love of musicals—so I never learned any of their names. “We should go to a farmer’s market in May!” she says. “They’ll have all kinds of flowers and you can point out the ones you like best.”
Bea expects, even assumes, we’ll still be a couple four months from now, I think. She’s picturing us long-term, like I am. I feel warm, despite the chill air, and give her a kiss on the cheek.
“What was that for?” she asks.
“Oh, nothing. You just make me happy.”
“You make me happy, too, Baby.” I love the sound of “Baby” rolling off her lips. Bea giggles suddenly. “I can’t believe I’m calling you ‘Baby’ already. Usually that takes me weeks, even months, let alone ‘I love you’.” I try to smile, but end up swallowing a grimace. “What is it?” she asks, pulling us to the side of the brick path. “Do you not like ‘Baby’?”
“No, I love it! I get butterflies. I just wish I had a pet name for you.”
“It’ll come to you, I’m sure,” she says, “There’s no rush. I intend to keep you for a long time to come.”
I smile wanly. “In all my past retionships, I’ve called her Babe or sometimes Beautiful.”
“Those are nice,” Bea says.
“Yeah, but I don’t want to call you them,” I say quietly. She looks taken aback, even hurt. “It’s not that you aren’t a babe, aren’t beautiful—you’re the most stunning creature I can imagine! It’s that….” I try to put my feelings into words. “It’s that you’re not my past girlfriends. You’re special. I want to give you something new.”
She smiles, then, and gives me a tight squeeze. “You’re special to me, too, Sarah. I’ve only had two girlfriends before, and while the second seemed to be heading somewhere permanent, it was nothing like this, nothing like us. It needed to end, but it took a long time for me to see that, and an even longer time after I ended things to accept it was for the best.
“Now I’m gd I went through that grieving process in time to meet you. What we have is more than infatuation to me. I love you, Sarah Delfino, and that’s not something to take lightly.”
She kisses my lips, takes my hand, and we walk the rest of the way to Fairhaven.
??????
“Hah! Suck it, you yellow-dressed twat!”
You can learn a lot about someone by pying Super Mario Party. For instance, I have learned that Beatrix is a prolific trash-talker. I have also learned that she’s spent upwards of four hundred hours pying this game with Cire and internet randos and is globally ranked online.
Her comment isn’t addressed to me—I’m wearing my favorite pink sundress with bck yoga pants—but to Daisy, as she knocks her out of the ring. I just happen to be pying Daisy. That Yoshi, being pyed by the computer, knocks her out a second ter doesn’t seem to matter. I shake my head and smile at her as she performs a ridiculous “victory” dance to celebrate coming in second in this four-pyer free-for-all, where only the winner gets a significant reward.
“Kiss it, kiss it,” she says, waving her ass in my face while spanking herself. Then, noticing my expression, “What?”
“Nothing,” I say sincerely, unable to stop smiling as she continues shaking her hips from side to side.
“Whaaaaaat? Whatwhatwhatwhatwha–”
“There are so many sides to you, Bea. Romantic, loving girlfriend; caring friend; sexy dominatrix; competitive monster, apparently; ridiculous goofball. I never know what’s coming next.”
“So you’re saying I’m unpredictable? That’s– that’s concerning, Love. That should concern you,” she says cautiously, panic rising both in her voice and on her face.
I’m quiet for a moment as I consider my words, sensing this is a tender subject for her. “I’ve lived with unpredictable people my whole life. With those people, I never knew how they would react to something, whether they would be safe, defensive, angry, even ugh. The slightest things—things that didn’t bother them yesterday—could cause a nuclear meltdown today.” She nods, unsure of where I’m going with this.
“You, my love, are something else entirely. I rarely know how you’re going to act, but every time it’s in the best way possible. When I tell you something hard or heavy, no matter what your mood was before, you shift to Caring Friend.
“At dinner st night, I was expecting Caring Friend making a good first impression. Instead you made a good impression and then became Sexy Dominatrix. And rather than being angry or scared of being embarrassed in front of my friends—what I expected I would feel in that situation—I found that I loved the experience; through you, through that public sex orgasm self-denial, I discovered a new part of me. And it’s a part that I like.
“This morning, in the midst of Sexy Dominatrix, despite having my consent to do basically whatever makes you feel good, when you wanted me to rim you, you asked for my consent, anyway. You held the Sexy Dominatrix mask to your face, but you had shifted to Loving Girlfriend behind it.
“When we got here half an hour ago, I expected Romantic Girlfriend. Instead, I got Competitive Monster which I find both hirious and endearing, then Total Goofball whom I’ve adored since day one, and now Caring Friend—one that cares about my needs so much that, in spite of the fear I saw in her eyes, told me that I should be concerned that I found her unpredictable. And all of those sides—Competitive Monster, Total Goofball, Caring Friend—were wonderful, all shifting seamlessly to perfectly match the evolving situation.
“You shift from one aspect to the other, Bea, but it’s always the right aspect. And somehow, you know what I want and need in the moment better than I do; it looks like it’s intuitive to you, as if I’m intuitive to you. You are both fun and safe, two things the unpredictable people I grew up with were most certainly not. We had a phrase: they were predictably unpredictable. Your unpredictability is part of what makes you a joy to be with, because no matter which side of you you dispy, you are reliably, predictably wonderful.
“I love you, Beatrix. We are a better match than I dreamt possible. I hadn’t known until now what a truly good romantic match feels like.”
She stares at me for a long moment. Her eyes are wet, glistening. And then she lunges at me and gives me a more romantic, passionate, beautiful kiss than any ever produced in Hollywood.
??????
“Well, that was unexpected,” I say, lightheaded from the prolonged kiss. “Fantastic, but unexpected. It wasn’t that good of a…” I search my mental thesaurus for the right word. “…oration.” Ex??????? ??????, I think. N? ??? ???? ???? s?s???? ???? I ?? ? ?????.
Beatrix’s brow furrows. “You don’t know how much what you said means to me, Sarah. You and I click, yes.” She sighs before continuing. “The rest of the world and I … we really don’t.”
She shifts from straddling me to sitting sideways on my p, arms around my neck.
“My family,” she says, “always chided me for the way my behavior would leap from one mood to another. They said they were teasing, but it hurt. They did stop, eventually, when I asked them to. I guess they hadn’t realized I was self-conscious about it, but like, how couldn’t I have been considering they’d mention it at least once a week?
“Then sometimes my parents and I would get into fights because they felt I ‘couldn’t take anything seriously.’ I’d try to lighten the mood, and they’d get upset. They called me ‘maniputive’.
“This is what ended my st retionship. At first Amy seemed to like my ‘unpredictability’. She liked the novelty of the surprise, I think. ‘Which Beatrix is coming out today?’ she’d ask, and I’d smile. It felt good.
“About six months into the retionship, I pulled my knees up in front of myself on a seat at a restaurant. Sometimes, I find it more comfortable than sitting on a chair the normal way. Amy said it was childish and that she was embarrassed to go pces with me. She’d ask, ‘Why can’t you grow up?’ I’d tell her, ‘I don’t know; this is just me,’ and she’d say, ‘Well be someone better,’ or, ‘Be someone more mature.’ Things deteriorated from there. Berating, nagging, yelling sometimes. It’s not like we didn’t have good times together, but the evenings that left me feeling happy decreased, repced by ones that left me crying as I drove home.”
I hold her, remaining silent until I know she’s finished, giving her encouraging squeezes, looks, and nods to indicate I’m still listening.
“I don’t think Amy wanted to lose me, and I know that, despite the treatment, I didn’t want to lose her. I think we did love each other. Amy could feel the chasm between us growing, though, and so she proposed. And hoping this might fix our retionship, I said yes.
“It was a secret thing. There was no ring, and it wasn’t ‘official’, whatever that means. It was more a promise that we would get married when we were ready, after university. I only told my mum and Hannah, but I didn’t use the word ‘proposal’, because I didn’t want them to think I was crazy for getting engaged while in high school. God, sometimes I still feel like I’m crazy for saying yes.
“As you’d expect, things didn’t get better; they got worse. Eventually, after one too many evenings entering my house in tear-streaked mascara, my mum sat me down and asked if I really wanted to spend the rest of my life with someone who so frequently left me feeling like this. And then it was like a dam broke inside me. I told her everything. At the end, she hugged me tight, and said, ‘Maybe your fickle mood just isn’t a good fit for her.’ I know she was trying to be kind and parental, but her use of the word ‘fickle’ … it pierced me. I felt like she was saying I wasn’t good enough for Amy, that if I could just grow up, we could make it work, that we’d be right for each other. That this was all my fault.
“I broke things off with Amy a month ter. It took her by surprise, because we actually had been getting along pretty well. To her, I’m sure it seemed like things were getting better, but I felt I had been tiptoeing around her, and had been for at least six months. I was scared I’d embarrass her in front of our friends, and so I held myself back, suppressed all my natural instincts.” She straightens a proper posture and lifts her chin, but her tone is bitter as she says, “I tried to be the stable, mature girlfriend she wanted me to be.” She shakes her head ruefully, her posture and voice returning to normal. “It was so stressful, and I didn’t like who I was pretending to be. I never told her about my ability. How could I? She wasn’t safe.
“That’s my biggest fear with you. That you enjoy the novelty of my personality now, but in six months, it’ll be too much for you. That I’ll be too much for you. What you said though made me realize—or at least hope—that it’s not the novelty for you. You like who I am, even when I’m childish. Even when I get horny in front of your friends and put you into potentially embarrassing situations.
“And on top of all that, you make me feel safe to make mistakes. When I forgot to turn your colr invisible and Ben saw you, I panicked inside. My instincts prepared for an argument, or at least a rebuke. But then you were calm. Even if you hadn’t found that you liked being seen with it, I know you wouldn’t have yelled at me. We’d have discussed it, and that would have been the end of it. It would have pulled us together.
“It was initially just my gut feeling about you, when I first took you back to my room. I felt safer telling you about my ability than I did with the girl I had pnned to marry. And so far, everything that’s happened these two days has confirmed my instincts.”
I pull her to me, holding her close with my left hand, while stroking her hair with my right. “I’m honored you feel that way about me. Truly, Beatrix. It’s rewarding to hear I make you feel safe. It’s something I’ve really worked on over the st several years. It– I didn’t used to be safe.”
We sit in silence for a few moments, Beatrix on my p, her back supported by the arm of the chair and my hand, with which I gently stroke up and down.
“It does,” I say, “sound like your mom was right about you and Amy. She was absolutely wrong to imply it was your fault by calling you fickle; she was just right about you two not being a good fit. I know I’m biased and that I’m only seeing from your point of view, but it seems like Amy has quite a bit of growth of her own to do before she can be in a healthy retionship. If she wants you to be someone other than who you are, that’s on her. Everyone in a retionship must be able to be wholly themselves around the other or others, or the retionship simply won’t st long. I should know. That’s why my retionships all ended.”
“Oooh, ominous,” Bea teases, threatening to tickle me. There’s that goofball I love so much. She knew just when to lighten the mood. “I’d like to hear about it, but my stomach is rumbly. Do you want or need to discuss it now, or can it wait?”
“Yes, let’s eat. That conversation isn’t as pressing as it sounds. Things changed when I came out, and so the same issues won’t apply to us.”
??????
Dinner was uneventful. Bea and I ate with the five other people of the Stack 6 posse who hadn’t gone home for the weekend. We gabbed and joked and ughed, mercifully without a repeat of st night’s libidinal shenanigans.
I do learn something new about Beatrix: Bea is a shameless, brazen flirt. With me, yes, but also with my friends, especially with Ryan and Jeff, the two gay dudes from floor two. In the past, I probably would have become a little jealous, possessive. With Bea, I feel secure. I know it’s just banter, harmless fun. Bea wants to be with me; there’s no competition. So why would I feel jealous? I can just kick back and enjoy the show.
On our way back to the stack, Erica, the gal who lives in the room next to mine, told me she really likes Beatrix. “And, by the sounds of it st night, you really like her too!” She winks; I flush.
Back in my room, I tell Beatrix, “I think you forgot to soundproof my room st night before we had sex.”
She starts. “Yes. Forgot. We’ll go with ‘forgot’.” I roll my eyes at her. “What? It makes me hot to know that people can hear us.” She shrugs.
“It’s okay, but in the future could we restrict our auditory audience to your dorm? I don’t like to disturb people. Though, come to think of it, I’ve never felt disturbed before when I’ve heard people having sex, so maybe it’s not a big deal. Even so, I’d rather the people I regurly hang out with not hear us, especially when there’s a flogger involved.”
“Yes,” Bea says, “we can definitely do that. I might forget sometimes—honestly forget—so make sure to remind me if I do.” I nod. “Now, let me finish beating your fine ass at Mario Party.” I groan dramatically, then happily acquiesce.