AI Era: Loss Function

LOSS FUNCTION

All models are wrong, but some models are useful. – George Box.

A loss function is a way of describing the gap between what we want and what we have. – Patricia Rosewood, “Introduction to Artificial Intelligence: Collected Course Notes”, 2027.

I hadn’t expected so many people at Nadja’s funeral. I wouldn’t have blamed them for not showing up – over the last few years I’d been terrible at keeping up with our contacts – but there they were by the dozens, friends and neighbours, students and professors and business partners.

At the reception they came up to me one by one to tell me what she had meant to them. They spoke cautiously, as if I was an eggshell to be shattered by a careless word, and they danced around the questions that etiquette forbade them from voicing. Was I devastated, or relieved? Would I build a life after Nadja, or stop and wither? Had they asked, had I wanted to answer those questions, I couldn’t have.

I kept it together for the most part, except once when I found myself looking for her wheelchair before remembering that she no longer needed it, would never again need it. That was when I clutched a serviette and pretended I was wiping my mouth so people wouldn’t see the sudden tears.

My brother and sister-in-law drove me home and then hung around with the awkwardness of people who want to help and know there is nothing they can offer that’s equal to the challenge. I let them make dinner, because they would feel bad if I didn’t let them do something. After we’d eaten I reassured them that I was coping, and just needed some alone time. Then I waved good-bye and stood on the porch until their tail-lights had vanished into the night.

After that I went back inside, poured myself a glass of Merlot, and sat down at my keyboard to type. (It’s an old-lady thing; when you’ve been typing as long as I have, it feels wrong not to have the click-clack of keys pushing back against one’s fingers.)

> Hello cabbage, I'm home.
> Darling, I missed you. How was it?
> Not bad, as funerals go. There were some lovely tributes, and I think you would have liked the flowers. I left Toby with you. Emilie gave a beautiful speech, I'll get you a transcript tomorrow.
> How are you?
> Tired. It's a complicated feeling. I'm sad, but... not the way people expect.
> Trisha, important question, how did I look?
> Unbelievably glamorous, as always. Everybody was asking me for your fashion secrets.
> You are joking, yes?
> Yes, joking.

I hesitated.

> The mortician did a good job, but you were... if I'm being honest, you looked small and old.
> I am glad you are honest. I have to ask question, though.

I waited until it became clear that she was waiting too, dragging it out so I’d have to say something.

> What? Ask.
> Trisha, is it true what they say, when mortician gets you ready for funeral, they stick plug up your butt?
> FUCKSAKE NADKA. You're atrocious. Wine, keyboard. Can't take you anywhere.
> Of course you can, darling. Now you can take me anywhere you like, in handbag. Make sure you get me classy urn though. Do Rolls-Royce make urns?
> Stop.
> Okay. Stopped. Good stop or bad stop?
> I'm crying.

I’d laughed out loud first, and then in the next breath I’d been sobbing. I set my glass aside and tried to gather my thoughts.

> I feel like I'm grieving you and glad you're still with me, both at the same time. I don't know how to reconcile it. Maybe I'm just going to feel both things at once.
> I don't want to make you cry. I'm sorry.
> For dying? Not your fault.
> Then I am sorry for times when it was my fault. Did you tell them how we met?
> A little bit. Not all of it. I said you weren't perfect, that you had your share of flaws, but you were always trying to be better today than you were yesterday.
> Thank you. That is kind way to say it.
> Your words.
> When? I don't remember saying that.
> You wouldn't. It's not in the corpus. She said it to me a couple of years ago in one of her lucid moments.

* * * * *

One could hardly have predicted our end from our beginning. I was a grad student nearing the end of my PhD project, having spent long enough in England to acquire the beginnings of the mongrel British-Australian accent that would stick with me for life. I’d been conscripted to help out at the machine learning conference my department was hosting, and after a morning on duty I’d just handed over to the next shift and sat down to enjoy the last ten minutes of the lunch break when a rumpled-looking woman approached me with a suitcase in tow.

“You are the food lady?”

“Yes…?” I would have preferred to be thought of as a fellow researcher, or as a member of the conference committee, but I’d helped organise the catering and I supposed that did make me “the food lady”.

She tapped the name badge that identified her as Dr. Nadezhda Kapustina, University of Sergeigrad, which I recalled to be the capital of the small nation of Serjarus. “I have reserved lunch with no dairy. Where is it?”

I remembered her name, and I remembered ticking off a meal for her. When I showed her to the special requests table, there was a plate there labelled for her – but the cling wrap had been pulled off, and nothing remained but crumbs and a grape. Evidently somebody else had helped themselves to Dr. Kapustina’s lunch.

She did not take it well. She had specified a dairy-free meal, she had paid for a dairy-free meal, and now there was nothing but the remains of a cheese platter, some leftover sandwiches (buttered), and salad (“food for rabbits”). As far as she was concerned, I was the “food lady” and therefore this was my fault.

I don’t respond well to insults. Had she been polite I would have been happy to go find something for her. Instead, I told her she didn’t have the right to talk to me like that, and I wasn’t going to do anything for her until she changed her attitude. She glared and puffed herself up, and for a moment I thought she might be about to blow her top altogether. But then one of my professors stopped by; she looked at him, thought better of it, and stalked off muttering something about “fucking useless”. I put her out of mind and got on with the conference; once or twice I saw her in the halls over the next few days, but I kept my distance, and I had plenty of other things to worry about.

A couple of weeks later I looked in my pigeonhole to find a neatly hand-written letter with unfamiliar stamps and a return address written in Cyrillic. I have it in my archive, the very first piece in our correspondence.

Corpus NK_PR 00001
Medium: letter
NK d:2006-07-28
Dear Ms. Rosewood,
had the pleasure of reading your poster presentation at the recent conference. It was interesting and well designed. You should be very proud of it! If you haven’t already encountered the algorithm of Tiptree and Sands (J. Comput. Linguist., Vol. 68 no. 3) you may find it worth your time.

Best regards,
Dr. N. Kapustina
University of Sergeigrad
Serjarus

It was only then that I connected the letter to the woman who had shouted at me at the conference, and I promptly crumpled it and tossed it in the bin. But curiosity got the better of me. In an idle moment later that afternoon I looked up the paper she’d mentioned. I had my doubts about how relevant it would be; I was chagrined to discover that the algorithm solved a problem I’d been wrestling with for months, one I’d mentioned in my poster. I fished her letter out of the bin and wrote the tersest reply my manners would allow.

Corpus NK_PR 00002
Medium: letter
PR d: 2006-08-08
Dear Dr. Kapustina,
Thank you for your kind letter. I am glad you appreciated my poster, and thank you for the pointer to Tiptree and Sands. The algorithm is indeed useful.

Kind regards,
Patricia Rosewood
University of Leeds
United Kingdom

The letter prompted me to check out Dr. Kapustina’s research interests, and what I saw concerned me. Every academic lives in fear of being scooped: you might spend years of your life working on some grand idea, only to send it in for publication and discover that some asshole in Minsk or Pinsk or Omsk or Tomsk had the same idea six months earlier. Her research focus was way too close to mine for comfort, and I started following her work. Mostly it was simply to reduce the risk of being scooped, but some of it was spite: if I could get out ahead of her on one of her own projects, I could pay her back for her rudeness.

Over the next few years we developed a professional rivalry, in the petty sort of way that academics do. She published a new algorithm; I published a letter pointing out an inefficiency in the method, and showing how a simple modification could change the run-time scaling from cubic to quadratic. At another conference, I presented a new method based on my PhD research; Dr. Kapustina was there in the audience, asking thorny questions about the assumptions it required and the conditions under which it would fail. Back and forth, tit for tat.

I spent many a lonely night reading journal articles until my eyes ached, trying to figure out where Dr. Kapustina was going and how to get there first. I lost more than one girlfriend after they got impatient with my saying “I just need to finish one more run, then I really am coming to bed, promise”. It was childish, it was emotionally toxic, and in a fucked-up kind of way it was the best thing that ever happened to me.

At the time I saw our interaction as some kind of protracted duel of honour, two fencers drawing blood until one should weaken and collapse. I should have known better.

There’s a technique in machine learning called “generative adversarial networks”, GANs for short. It goes like this: let’s suppose you want to program a computer to draw a human face. You might start by collecting thousands of pictures of faces, and thousands that are not faces. You teach a neural network to tell the difference between the two – let’s call her Jenny, the Generator – and then ask Jenny to draw things that look like faces, according to what she’s learned.

The problem here is that there are almost infinitely many bad ways to draw a face, and most of them will not be in your collection of “not a face”. Your network might have learned that faces have eyes and teeth, and draw you something with the wrong number of eyes and teeth in the wrong place.

Here’s the clever part. Now you take a second neural net, Dicky the Discriminator. You give Dicky the real faces, and Jenny’s awful nightmare faces, and you train Dicky to tell the difference between the two. Dicky learns that humans should usually have two eyes, and that the eye-mouth-eye triangle should be approximately isosceles, and that if these conditions aren’t met he’s probably looking at one of Jenny’s attempts.

Then you use Dicky’s knowledge to improve Jenny, teaching her how to avoid the sort of mistakes that Dicky’s looking for, allowing her to generate faces that are slightly more realistic than her previous attempts. But there will still be mistakes – perhaps Jenny is putting the eyes in the right place, but the pupils are weird.

So you go back and forth, alternately training Dicky to catch Jenny’s fakes, and training Jenny to fool Dicky. Do it for long enough, and you end up with something that might be good enough to fool a human.

Not duellists; sparring partners. My hostility to Dr. Kapustina, my urge to show her, drove me to improve, and she responded in kind, each of us pulling ourselves up by the other’s bootstraps. My career started to take off, here an invited journal article, there a keynote speaker position, and I owed it to my enemy.

* * * * *

Dr. Kapustina and I mostly crossed swords in slow motion, through our respective publications. But with the similarity in our research interests it was no surprise that we sometimes ended up at the same conferences. It was at one such event in Paris that she approached me, after I’d wrapped up a rather well-received presentation, and invited me to dine with her. “Patricia,” she said, “I have something to discuss which I think will interest you. I know an excellent Algerian place.”

It smelled like a trap, but I couldn’t figure out what the trap might be. In the end I went, figuring that I could always just find out what she was offering and then say no.

Over a glass of good red and a mouthwatering tajine, she started by telling me a little about Serjarus. It was a small ex-Soviet country whose main exports were oil and pomegranates, but by the early 2000s the oil was starting to dry up and pomegranates can only go so far. Seeing the writing on the wall, the government had decided that the best way to achieve prosperity in the twenty-first century was to position it as a business-friendly hub for industry and IT. It had plenty going for it: cheap labour, attractive tax incentives for foreign investment, and a flexible approach to corporate regulation. And if the Serjarussian political system was less democratic in reality than on paper, if their ratings on human rights and journalistic freedom were less than stellar – well, business finds its ways of making peace with such things.

The big problem with technology is that it requires tech support, and tech support costs money. Even if you can offshore it to some call centre in India or the Philippines or Serjarus where phone operators are cheap, a couple of hours tech support per customer makes a noticeable dent in your profits. It’s not just the wages, either; you have to provide your staff with training and equipment, and back then you had to provide them with an office too. No wonder that businesses do their utmost to stop you from talking to a human.

So the obvious question was: how can tech support be automated?

The naïve way to do it is to write a logic tree that asks a bunch of questions to narrow down exactly what the problem is: Is the printer’s power light on? If yes, okay, is the network connection icon showing? And so on. Two problems with that approach: first, it’s a lot of work to program, especially when you have to design that kind of logic for every single product you want to support, and second, it’s tedious and unnatural for the customer. They don’t want to play twenty questions; they want to tell you what problem they’re having, in their own words, and be told how to fix it. They want to feel like they’re talking to a human who knows their stuff.

What Dr. Kapustina had tried to do was to tap into the expertise of human tech support: let skilled humans who knew the product do a few weeks of support, collect a log of support conversations – a “text corpus”, we’d call it – and then train a neural network on that corpus.

She wasn’t the first to explore that kind of idea; tools like GPT-3 had been using that kind of approach on a larger scale to produce surprisingly good simulations of human writing. The problem with that approach is that it tends to generate high-quality bullshit. It’s like asking your accountant’s parrot for tax advice, or asking a smart student to give a report on a book they haven’t read: they can make it sound good, but there’s no connection to any underlying truth. The longer they go on, the more obvious the flaws become.

“What we need,” she said, “is to combine the good parts of both. A bot that talks like a human but linked to a truth model. I have ideas for it. We would need to sign a NDA before I can tell you more, but… Dr. Rosewood, would you like to collaborate with me on this?”

I nearly sprayed my wine across the table. “Me?”

“Yes, you. Why not? Who else could it be for this?”

“But I—”

“I notice your work from the day I read your poster. I read all your papers and I know you read mine. You have so many ideas for improving my methods, feels like we’re already working together. We could be a good team. No, not good, great team.”

“Have you—” And then it hit me: she hadn’t even noticed that we were rivals. I reviewed our past interactions as best I could remember them, trying to figure out how much of what I’d interpreted as hostility could be explained instead by language differences and a certain Eastern-bloc bluntness. Most, perhaps. Not all.

“Dr. Kapustina. Do you remember how we first met?”

She was silent.

“You swore at me because somebody else took your lunch.”

“Ah.” She sighed. “I didn’t know if you remembered that. I didn’t want to remind you if you’d forgotten. Not my best day. My mother went into hospital and I missed my flight. So I was late three hours, and then eight hours on the plane and they didn’t get my meal. Then Customs decided I was smuggling drugs and searched all through my bags. So I was in a very bad mood by the time I got to the conference, and even later because I had to stop for a smoke, and I was thinking well at last I will get something to eat, and then…” She threw up her hands. “I am not a patient person, you should know that if you will work with me. But that was a very bad day. Not how I usually am.”

“Ah.” There was one part of that I could engage with. “I hope your mother is well?”

She shrugged. “As well as one can expect.”

It wasn’t an apology, but something told me it was as close to one as I was likely to get, and it was up to me whether to accept it or not. In the end, curiosity won out over vindictiveness. It’s hard to maintain enthusiasm for a feud when the other side doesn’t even realise it’s happening.

Besides, she was right. The reason I’d found it so easy and so satisfying to poke holes in her work was the same reason she needed me. She was a big-picture thinker whose reach sometimes fell short of her ambitions; I was better technically, able to fill in the gaps she left. Mortar and bricks, stronger in combination than singly.

If I said no, she’d find somebody else – I could think of several possibilities – but none of them knew her work as well as I did. And I’d be left on the outside, waiting to find out what she’d done.

So I went back to my own people and let them know about Dr. Kapustina’s offer, and some months later I was on the plane to Serjarus with my department head and a couple of lawyers and administrators to negotiate a research partnership.

* * * * *

It took our lawyers and theirs several days to work out the details of the research agreement. I sat in on it for a few hours, by which time it became obvious that I didn’t have much to contribute to the conversation. Eventually they told me “we’ll call you if we need you, don’t talk about anything technical until we’ve signed off the NDA” and I left them to it while Dr. Kapustina (“call me Nadja”) played host.

Nadja was a surprisingly good tour guide, although her driving left me white-knuckled, and I learned several obscene Russian phrases from the things she yelled at other cars. The first time it happened, I flinched, remembering our original meeting. But she turned and said “Don’t worry, just driving language,” and the next moment she was back to telling me about the sights of Sergeigrad.

We visited the mansion that had once belonged to a local count, famous for having (probably) slept with Catherine the Great when she visited Sergeigrad in 1773. “Everybody here thinks he’s hero for that,” she told me. “Big deal. She fucked him once, never came back. Sounds like disappointment for her.”

After a whirlwind summary of the city’s history – some buildings still wore scars from WWII – she showed me the more modern side: the new railway under construction, the shopping precincts, the flower gardens, occasionally switching back to history. “Your hotel”—she pulled her SUV across traffic at alarming speed, and I grasped the chicken handle as people honked at us—”that was NKVD headquarters. Soviets shot my great-grandfather there.”

I wasn’t sure what to say to that. She caught my silence and looked at me. “Don’t worry, not in your room! They had basement for that.”

“Uh, okay.”

“Hey, do you like ballet? Matinee tomorrow afternoon. Not Bolshoi but pretty good.”

“Sure,” I said, embracing the change in topic. “I’ve never been, but I’m curious. How much are tickets?”

“Don’t worry. My guest, my treat.” She fended off all my attempts to pay.

Nadja had a good eye for fashion. I had mentioned that I needed a new winter jacket, and she knew just the place – “not the cheapest,” she said, “but cheap shit falls apart. And we get you good hat too, so you don’t look like ‘hello I am tourist please charge me extra’.” Along the way she showed me a beautifully painted Orthodox cathedral, drove me past the Presidential manor, and took me for a tour of the university grounds. Most of the buildings there were gleaming and new; from what she told me, a huge amount of money had gone into it over the last few years. We stopped by her department and she introduced me to colleagues who I’d only known as names on papers, and to a couple of students who treated her with cautious deference.

I’d heard Nadja speak at conferences, and her grammar there was polished and precise; much later she told me she’d spent four years at an expensive boarding school in Sussex. She’d been the same way with the lawyers. I was struck by the contrast with how she spoke now, looser and informal. Eventually I realised what it was: she was relaxed around me, and had for whatever reason decided that I wasn’t going to think less of her if she didn’t maintain linguistic perfection. That, in turn, warmed me towards her; it’s hard not to trust somebody who apparently likes and trusts you.

On the first evening we were welcomed to a formal dinner with our Serjarussian counterparts. On the second, after the ballet, Nadja invited me to dinner at her place with her husband Pyotr, and one of her grad students, Mikhail. Pyotr was a hearty fellow who looked more like a lumberjack than the hospital administrator he actually was, and who was clearly disappointed when I wasn’t able to sustain a conversation about the American cable series that seemed to be his main recreation.

Pyotr had an evening shift, so after we’d finished our mains and a rather delicious pomegranate-based pudding he took Mikhail home and left the two of us to deal with the remaining half of the evening’s second bottle of Bordeaux. I’m not usually much of a drinker, but I had been enjoying the company and I was well into my third glass.

“This is a lovely flat,” I said. It was much roomier than mine, and although the building was old, it had clearly been refurbished. “Is it cheap to live here, on a university salary?”

“Cheap, yes, but not this cheap. My family has money. Thinking of moving here?”

“It’s a beautiful city, but no.” I felt like I owed her some truth. “My dating life is limited enough as it is, without moving somewhere it’s illegal.” Not that homosexuality was illegal in Serjarus, not as such. But I was aware of a law banning “promotion of abnormal sexual conduct”, with a “public indecency” clause that seemed to mean straight couples fucking or gay couples kissing.

“Ah.” She held out the bottle, an offer to refill my glass, but I declined. “Nobody here asks, what is legal? We ask, what is possible?” She looked at her watch, made a thoughtful face, and at length said, “Let me show you something.”

* * * * *

The club was loud, so very loud. Nadja told me it had been built as a tractor factory in the 1920s, then converted to make tanks for the war. In the early 2000s the district had been revamped from “crumbling industrial” to an entertainment precinct; most of the old buildings had been torn down, but the Tractor Factory had survived. Some enterprising soul had converted the space into a laser tag complex, and for a few years it had been the hippest place in town, so Nadja told me.

By the time of my visit laser tag was no longer trendy. The laser-guns were gone, the maze disused, and the reception space had been converted to a small nightclub. I guess they already had the sound system and the flashing lights in place. I could hear the sound long before we were inside, dance music and high-speed Europop going doof doof doof and reverberating off concrete walls.

The light was dim inside. As my eyes adjusted, the first thing that caught my attention was the crowd. People in Serjarus tended to dress conservatively, like they were going for a job interview at a funeral. Here there were a few suits, yes, but there was also colour, ripped jeans, garish eye shadow. The people ranged from eighteen-ish to a few around my parents’ age, and the couples…

“Oh my,” I said. Aside from one or two hangers-on, everybody in that place was female, though I had to look twice to be reasonably sure about some of them.

“Girl,” Nadja stage-whispered in my ear, “I wanna take you to a gay bar.”

Superficially it looked tame, compared to some I’d been to. The fashions would have been ten years out of date in a club in Soho or Berlin, and there were clearly some unwritten rules, with not so much as a kiss to be seen. But here it was bold, and I was nervous, and excited, and still a little drunk.

“Are we safe here?”

She looked at me, amused. “All nice people here. Maybe somebody grabs your ass, that’s all.”

“No, I meant from—” But at that moment a tall, sporty-looking woman in a green jacket tapped Nadja on the shoulder. She turned, and the two of them exchanged a brief hug and a peck on the cheek while saying what I assumed was hello. The other woman asked Nadja something – about me, I suspected – and Nadja replied. Then she turned back to me. “Trish, this is my friend Anja. She teaches English literature at the university. Anja, this is Trish, she is visiting from England.”

“Nice to meet you,” said Anja. “Here for long?”

“Just a few days.”

She nodded. “I’m heading to the dance floor. See you there!”

Soon enough I was headed the same way; the music was too loud here for chit-chat, and I didn’t need any more alcohol yet. The dance floor was packed with energetic young folk but they made room for me, and soon enough I was shaking my stuff, still nervous as hell but set to enjoy myself. I hadn’t been out much since my last girlfriend walked out on me four months ago – it was easier just to sink into work. The music wasn’t good but it was danceable, and I realised I’d been missing the physicality. I let the beat throb through me, let the lights dazzle me, let myself go in the energy of the dancers around me.

Now and then, one of the other women would smile at me and say something – I caught novaya once, I remembered that was “new” – and I’d smile back, shaking my head, and tell them “I only speak English”. A couple tried to make conversation in my language, but it was too loud for me to make much out, so I just went on smiling, and that seemed to satisfy them.

I didn’t jump when I felt hands on my hips, moving with me, soft at first then more firm as I showed no signs of rejecting the contact. I shimmied, felt her match the motion, pressing up against me. From the corner of my eye I caught a glimpse of green: Anja.

I wasn’t looking to go home with somebody. In a country like Serjarus, in the middle of a work trip, that seemed like a bad idea. But it felt good to be desirable, to flirt, to enjoy the physical contact, and Anja didn’t show signs of taking it any further.

Then we turned, and I saw Nadja, standing by the bar just looking at us with a stony expression. I felt I’d put my foot in things somehow, and I didn’t know how. “Excuse me,” I shouted to Anya, and peeled myself from her grasp, picking my way between dancers to Nadja.

“Everything okay?”

“Yeah, is okay. Just… Anja is trying to provoke me.”

It clicked. She’s your ex. But then…

“Wait, how is flirting with me provoking you?” Nadja was clearly a regular here, she couldn’t possibly be offended by my dancing when she’d brought me to this place herself.

“She thinks…” Nadja shook her head. “She thinks I have some attraction for you.”

Was she avoiding my gaze?

I was still full of flirtatious energy, the kind that wanted so badly to get into trouble, and if I hadn’t missed my mark… I stepped in close, placing my hands on her elbows, and asked in the sweetest voice I could manage, “And why would she think that?”

Nadja flinched, just a little, and I knew: after all these years trying and failing to get under this abrasive woman’s skin, I had stumbled into it by accident. I didn’t quite know how, but that didn’t matter. “Nadja,” I said, “did you tell her that?”

When she didn’t answer, I continued, “Is there some place here we can talk?”

“Uh huh.”

The maze was closed, but it wasn’t locked, and we weren’t the only people in there. We had to pick our way past couples in the shadows, whispering, kissing, some maybe slowly fucking up against the painted plywood. Couples, perhaps once a triple; it was dark enough that I couldn’t be sure. I realised this was the true draw of the club: a make-out space for those who couldn’t bring their lovers home. The pounding of the music was still loud enough to provide some cover, but not so loud we had trouble hearing one another.

“I like smart girls,” said Nadja. “But I wasn’t going to make move. Easy to find someone else to fuck, but not collaborator like you. I don’t want to damage how we work together. And I didn’t know you liked girls until you told me.”

“Okay,” I said, and pushed her back up against what had been Blue Team Control Centre. I wouldn’t have been half so attracted to her if I hadn’t hated her first. “I do like girls. So what if I make a move?” I slipped one arm around behind her waist and kissed her, and she pulled me in fiercely as if she’d only been waiting for permission. I felt her fingers digging into my back, felt her teeth against my lips…

“Wait,” I said, remembering something.

“Huh?”

“Your husband. I am…” Stupid conscience. “I don’t do cheating.” Goddammit. I wanted this so badly, so suddenly, but there were rules.

Nadja was laughing. I felt her shaking in my arms. “Petya and I… He is darling boy, we are friends since school, just friends. Being married is convenience for both of us, he has his life and I has mine and people don’t ask questions. You don’t need to worry about him.”

“Oh thank fuck.” I kissed her again, one hand pressed against the back of her neck. It had been years since I’d kissed a smoker, and I didn’t like the taste any better than last time, but I liked everything else about it. My chest felt tight. I could feel her hands at my hips, sliding in between us to stroke my belly.

“My place?” she said.

“Lead on.”

As she drove us back to hers – one of the longest twenty minutes I’ve ever experienced – I rested my hand on her thigh. I didn’t want to lose the heat, and from outside nobody should be able to see what I was up to. When we stopped at lights, she’d run her fingers over the back of my hand.

“Nadja?”

“Hmm?”

“Does that place ever get raided by police?”

“Sometimes.”

“What… what happens then?”

I felt her shrug. “Manager says he keeps rules on dance floor, but sometimes people sneak into maze, what can he do about it? If anybody makes trouble for me, I tell them, my uncle is your chief do you want to bother him?”

“Oh.”

“Told you my family had money.”

I laughed unevenly. “Money yes, not connections.”

“Money makes connections. And connections are how you make money.”

I nodded. Something seemed odd, and it took me a moment to place it. The impatience had gone out of her driving; we’d just waited a full minute at a traffic light and I hadn’t felt her fuming at the delay, nor her usual race-driver takeoff when the light finally went green.

“Why me?” I asked.

She took a while to reply. “You understand things. So much whirring in my head, argh! Takes so long to explain it to people. But you’ve read everything I published. I think you’re the only one who can understand what I’m thinking of… god, wish I could tell you about it. Fucking contract nonsense.”

* * * * *

It was the state of the guest bedroom that convinced me she really hadn’t intended to make a move. She’d been using it as a study and the bed was covered with papers she’d been reading. The dramatic thing would have been to sweep it all onto the floor, or to ravish one another dramatically on top of the mess, but I quailed at the thought of trying to sort out all those loose papers after. So I sat back for a couple of minutes while Nadja stacked them into haphazard towers on her desk, and then she sat on the edge of the bed looking at me hesitantly.

In the club we’d been hungry for one another. With the trip back, and this little delay, we’d lost that heat. I knew both of us were thinking that now was the time, if there was a time, to say maybe this isn’t such a good idea.

I sat beside her, one hand over her shoulders, and said, “So tell me.” And she began to talk, at first hesitantly, growing in confidence as she went on with her idea and I didn’t poke holes in it.

As she’d hinted, the goal was to combine the two approaches: the “parrot” that reads a text corpus and learns how to mimic those conversations, and the truth model that understands the system they’re talking about. The trick was in coupling the two together. Instead of sitting down with the technical specs for the printer or whatever you’re supporting, and trying to code that into rules, you get the machine to reverse-engineer the logic from those conversations.

Think of it like this: suppose you were to take a very bright medieval scholar, and give her thousands of conversations where modern-day people talk about their cars. It is very unlikely that she would figure out the intricacies of an internal combustion engine, or even form a very clear idea of what a “car” looks like. But she might come to understand that it is something like a horse that needs to be fed (petrol) and shod (tires). And then, if you asked her what to do before embarking on a long journey, she could tell you that you need to fuel your car and check the tires. The metaphor is not the reality, but it’s enough to be useful.

Now, take a million such scholars, and let them each develop their own metaphors, and then argue with one another to find whose metaphor works best, perhaps modifying their own theories to steal ideas from one another… and you might end up with a very complex metaphor which is capable of telling you when to change your oil and what to do if the magic smoke escapes.

Is that “understanding”? Perhaps not, but so much of human knowledge depends on such metaphors, imperfect but good enough to be useful; perhaps not strictly truth, but paralleling the truth.

“…so, that’s basics of it, but I need help developing mathematics,” she said. “Think it could work?”

“I think I’d like to find out.”

As she talked, as I asked questions here and there, we had slipped back into ease with one another. Hearing her expound her ideas had stirred memories of the anger I’d felt for her, of the long hours where I’d looked for ways inside her armour to strike at her. Those feelings were not gone, but they had fermented like wine…

I shoved her back onto the bed. She gasped, and from there I couldn’t honestly say whether it was me pinning Nadja down or her holding me on top of her. I had a grip on her hair and I pulled her head back, leaving her throat bare to me. First I kissed, feeling her flex and shift in response to my touch, getting the measure of her reactions, and once her breathing had shown me the way to make her squirm I traced her jawline with the tip of my tongue, a flickering touch just on the sexy side of tickling.

She had both her hands in my hair, and I could feel her dilemma. She needed to do something with them, wanted to push and pull me, but she needed me to be in charge. Such a soft interior for such a hard shell.

So I sat up and flipped her over onto her belly, straddling her hips. From there, I could lean forward and nibble at the back of her neck, and she could wiggle her arms all she liked. I tugged her blouse free from her waistband and slipped my hands into it, sliding them up her side. She shivered at the touch of my fingers.

I squeezed my hands in under her torso, pressing upwards to the edge of her bra, sliding up to her collarbone and then back down again to slide my fingertips under the cups, to stroke her soft curves. She turned her head sideways so I could kiss her as my fingers teased at her, and I took my time in releasing the catch. I kissed her lips; I kissed her cheek; I blew warm breath in her ear, and flicked my tongue-tip at the skin just behind it. (She shivered.) Then I nipped at her neck, and bit, and sucked, and she gasped as my hand slid under her, under her waistband, between her legs.

“That will bruise…” Nadja muttered.

“Should I stop?” I replied, fingers beginning to rub her through her underwear.

“No,” she whispered, and I bit her again, feeling her back arch beneath me. I pushed the gusset aside, and my fingers met hot flesh, and she pressed against my hand. I stroked her slowly, every little circle of my fingers provoking another gasp.

“At last, Dr. Kapustina, I have you at my mercy,” I murmured, nipping her throat again, sucking, tasting a hint of sweat on her skin despite the late October chill.

“Hmm?”

“Nothing.”

I drew things out, stroking her enough to keep her close to the boil, not quite enough to finish her, as I undressed her, smelling her growing arousal as I fingered her, caressed her body, finally letting her come with her knuckles stuffed in her mouth to smother her groans.

“Oh, god, Trisha. That was friggin’ fantastic,” she said when she’d caught her breath. “Now what do you like? I will do it for you, tell me.”

“Well, let me show you…” I said, rising to shed my remaining clothes.

* * * * *

We dozed for a few hours, tangled up in one another, but somewhere around two in the morning Nadja nudged me awake. “You need to be back in hotel. If you stay out all night, people talk.”

“Don’t want to get up,” I muttered. “Comfortable here.” I had one arm around her and was doing what one ex had described as my “affectionate sack of potatoes” impression.

I felt her soften. “I know. Me too. But it’s better if you’re gone before Petya gets back. He’s a good man but the easiest secret to keep is the one he doesn’t know.”

I let her drop me back at my hotel. At her suggestion I swayed a little for the concierge’s benefit, to give the impression we’d been out drinking together, and then I lay in my bed thinking about the weird thing that had just happened. I wasn’t sure what the consequences might be, but it had been nice.

In the morning we were all business, and if Nadja and I were somewhat tired business, we blamed it on the Bordeaux, and nobody questioned why she was wearing a scarf. For our remaining two more nights in Sergeigrad things with Nadja were strictly on a professional footing. She made no suggestion of repeating our encounter, and I didn’t feel it was my place to ask. I wasn’t sure if it had been a one-time thing. Perhaps she’d satisfied her curiosity, or perhaps she considered it unsafe to get tangled up with a foreigner who mightn’t know how to keep a secret? I was confused, but I decided just to accept it as an unexpected and lovely thing that had happened, out of the blue.

Eventually the lawyers came to an agreement that everybody could live with. We signed the NDA, just as if Nadja hadn’t already spilled the beans to me, and headed back to the airport ready to start work.

It was a week or so later that I got an email telling me that “Mrs. Pomegranate” wanted to connect with me on an anonymous chat server. I almost binned it with the morning’s spam, before remembering the national fruit of Serjarus and the dessert Nadja had made for me. I set up an account on my own PC that evening and messaged “Mrs. Pomegranate”.

Corpus NK_PR 00347
Medium: chatsecret
2012-11-12

PR:pr4669201609 19:38:26Z Hi. Is this who I think it is?

NK:MrsPomegranate 21:10:42Z Who are you thinking of? Is she very fashionable and intelligent lady?

PR:pr4669201609 21:13:55Z No, I was thinking of a professor from Serjarus who I work with.

NK:MrsPomegranate 21:15:24Z I am both of those!

NK:MrsPomegranate 21:15:50Z Wait. Was that an insult?

PR:pr4669201609 21:16:03Z A joke. Hi Nadja!

NK:MrsPomegranate 21:17:40Z Trisha! I am glad to talk with you here! I use this sometimes to chat with people. Better privacy than email.

We talked back and forth for a couple of days, light chit-chat from home in between the professional talk of our workdays. I wasn’t entirely sure of Nadja’s motives in establishing this side channel; there was nothing in our conversation that couldn’t have been safely said on work e-mail.

Unless… oh. Perhaps she had the same uncertainties I did. Perhaps she was inviting me to make the first move.

Corpus NK_PR 00353
Medium: chatsecret
2012-11-16

PR:pr4669201609 20:22:50Z By the way, how's your neck?

Her reply was an attachment: a photo of the mark I’d left on her, purple-red fading into green against her pale skin. From the timestamp, it had been taken several days earlier. Did that mean she’d wanted to remember it?

NK:MrsPomegranate 20:26:32Z I had to wear my scarf for one week, but it's all gone now.

NK:MrsPomegranate 20:26:58Z 🙁

PR:pr4669201609 20:32:40Z So sorry for the inconvenience. But I very much enjoyed giving it to you.

NK:MrsPomegranate 20:34:02Z If you wanted to inconvenience me again, I will be at Krakow symposium in March.

PR:pr4669201609 20:35:45Z I was thinking of it.

PR:pr4669201609 20:36:22Z How would madame like to be inconvenienced?

NK:MrsPomegranate 20:38:02Z In warm bed with your lips on my tits and your hand in my legs.

PR:pr4669201609 20:39:14Z That sound fucking divine.

PR:pr4669201609 20:39:22Z *sounds

PR:pr4669201609 20:39:58Z *sneaks up behind you at your chair and runs one cool fingertip down your neck*

NK:MrsPomegranate 20:41:03Z Goddamn. I felt that.

PR:pr4669201609 20:42:42Z Would you feel it if I kissed the edge of your ear, and then licked it very softly?

NK:MrsPomegranate 20:43:04Z Oh yes please, Trisha.

Over the following months our professional collaboration flourished. As Nadja had predicted, we fit one another perfectly. She knew the pieces we needed; I knew how to make them mesh together. Emails flew back and forth between us and assorted grad students as we built models, trained them, tested them, tore them apart and rebuilt them better.

Corpus NK_PR 01264
Medium: email
2013-08-28

PR:Patricia.Rosewood@****.ac.uk 11:27:01Z
Hey Nadja, what is "данные_проверки"?

Corpus NK_PR 01265
Medium: email
NK:n_kapustina@****.edu.sj 12:08:20Z

Validation data.

Corpus NK_PR 01266
Medium: email
PR:Patricia.Rosewood@****.ac.uk 12:35:10Z

Okay, thanks. You know if you write your code comments in Russian, I can't read it, right?

Corpus NK_PR 01267
Medium: email
NK:n_kapustina@****.edu.sj 12:51:07Z

You should learn then. It is beautiful language.

Three weeks later, a copy of “Russian for Dummies” arrived in my mailbox. On reading it, I found Nadja had gone through it, annotating the parts where Serjarus-Russian differed from standard Central Russian.

As our collaboration on “Persephone” blossomed – we’d named the chatbot for the pomegranates – so did our more private correspondence. After a day hammering back and forth with Nadja over how best to retrain our language model, I’d go home and have dinner, and then the two of us would log on to the chat to talk about what we’d like to do with one another.

It wasn’t all sex, though. We chatted about our lives and hopes and dreams. I’d thought of being a painter, before succumbing to the siren call of machine learning; she’d wanted to be in the women’s football team, but had been thwarted by a case of two left feet.

Corpus NK_PR 01428
Medium: chatsecret
2013-12-17

PR:pr4669201609 21:05:05Z Did you ever think about living somewhere else? With your talents I'm sure you could get residency anywhere in the EU.

NK:MrsPomegranate 21:10:23Z It was plan when I was younger. But my mother got sick.

NK:MrsPomegranate 21:12:48Z She has dementia. Like Alzheimer's. It has been slow but it is hard on her. I visit her every few days. If I am away for long time she will forget who I am.

PR:pr4669201609 21:13:59Z Oh shit, I'm sorry. I didn't know.

NK:MrsPomegranate 21:14:30Z It is how it is. Yes, I had ideas of America and UK and Germany, but they have to wait.

It was getting harder to find “us” time. Persephone was getting much bigger than just the two of us. Our clients now included three Fortune 500 companies and we had a team of over a dozen researchers working on improvements. I found myself spending more of my time managing the collaboration than on actually working on Persephone myself.

We met up in person a few times a year: in Krakow, and at other conferences afterwards as often as we could manage, as well as occasional trips for project meetings together. When that happened, we made the most of our time together. But our relationship – it took me a while to believe that it was a relationship, and not just a very extended fling – progressed first and foremost with our online chats.

By unspoken agreement, we tried to find things that we could do together, apart. She was a big fan of EUFA, and we’d watch the Serjarus games from our respective couches, with Nadja typing furious commentary at me. Now and then we’d pick a book to read and discuss with one another, or a movie to watch in sync – Nadja’s most common commentary being “this is bullshit, they should just talk to one another, and then they should fuck” – and once a week we’d try conversing in Russian. I never got very good, but I learned enough to buy groceries on my occasional work trips to Sergeigrad, and with some work I could usually make sense of the code comments that she persisted in writing in Russian.

She liked to bake. One of the things we hit on was that she’d make something like biscuits that would survive in the mail, and send me half, and then we’d eat them together. For the more perishable stuff, she’d send me a recipe, and we’d share dinner that way.

All that and more. But, yes, there also was a fair bit of sex. Indeed, for all that the distance was frustrating, cybering with Nadja was better than most of the in-person sex I’d had previously. We meshed together like two gears in a machine, as perfectly in this arena as in our professional collaboration. I took to taking my laptop to bed, so I could talk to Nadja until she – three hours ahead of me, unless it was summer – fell asleep. Sometimes we would continue in the morning, our virtual love-making stretching out over days. We talked most days, although not always – we both had our own lives outside one another.

Outside work, we almost always talked by text chat. There were voice options we might have used, but Nadja was distrustful of them, and there were other reasons.

Corpus NK_PR 09505
Medium: chatsecret
2015-06-02

NK:MrsPomegranate 18:28:55Z When I was with Anja, I was insecure. I would keep feeling like, we have not talked in weeks, she never sees me any more, she has lost interest.

NK:MrsPomegranate 18:32:44Z But when I start feeling like that with you, I have our logs. I can run analytics and see that we talk as much now as last year. Just like running change diagnostics with Persephone. Then I know we are okay and I don't have to be insecure bitch. Trust me, it's better like this.

PR:pr4669201609 18:35:16Z Okay then, for the logs: I love you, Nadja.

Persephone was growing day by day, as we found ways to enhance the core ideas with additional bags of tricks. Here, a language database, to teach Persephone that an “orange light” and an “amber light” were the same thing without needing to glean that from conversation logs. There, a modification to allow her to work with both text and voice communication (a bigger thing than it might seem; in some ways they’re two different languages).

We’d started testing her in conversation with customers, and at first I thought we must have had the metrics mixed up. She was still far from perfect in her ability to model the equipment she was supporting – for the test, an internet-connected refrigerator – but she was getting good customer feedback.

It took us a while to understand why. When given a set of conversations to learn from, she wasn’t restricting herself to learning about the fridge she was meant to support. She was also learning how to model the customers she was talking to, building a primitive little simulation that would help her tell the difference between the prickly customer who didn’t want to be talked down to, and the uncertain customer who needed everything spelled out, and modifying her approach accordingly. A good technician could have run rings around her in debugging a complex problem, but Persephone had infinite patience for grouchy customers and a surprising amount of tact.

It was fascinating to watch her in action. We had better corpus and databases for English, so we were sticking to that for the trials. But looking through her logs, I could see her talking to British-English and Indian-English and American-English customers, identifying their dialects and code-switching to talk in their own idioms, flowery or terse as appropriate to the individual caller. She remembered individual callers, too – if somebody called for a problem, and then called a month later to follow up, there was no need for them to explain the whole issue all over again.

We had a bunch of alerts set up to notify us of any odd call patterns so we could catch bugs, and on one occasion we found that a particular customer had been calling up our helpline every few days for over a month. My first thought was that there must be something wrong, maybe that Persephone wasn’t fixing her problem. That was true, in a way, but not our fault.

Mrs. Smith – let’s call her that – was an old lady who was lonely. Every couple of days she’d come up with some flimsy reason to call the helpline, and then she would chat with Persephone for hours in no particular hurry to solve her supposed problems, running over the sorrows of her life, which had evidently been a hard one.

Did she realise she was talking to a machine? I’ve never been sure. We hadn’t given Persephone much capacity for non-refrigerator-related conversation, just enough to make polite small-talk while waiting for a customer’s fridge to reboot. A tech-savvy caller would have noticed the wires under the human skin within a few minutes of conversation. But Mrs. Smith didn’t seem especially familiar with technology, and perhaps she didn’t want to know. Perhaps it was enough for her just to have a human-sounding voice who would listen and say “uh huh” and “oh no!” and “I’m sorry to hear that” at the right times.

Not long after we noticed the issue, she finally stopped calling, and I’ve always wondered what happened. Did she die? Did she lose the number? Or did she find some human friends, family, neighbours to fill that gap in her life?

Corpus NK_PR 12442
Medium: email
2015-09-12
PR:Patricia.Rosewood@****.ac.uk 16:32:00Z

I've been thinking about Mrs. Smith. I know the mental health hotlines here are always understaffed, sometimes calls go unanswered. Do you think we could train a Persephone to do that job?

Corpus NK_PR 12443
2015-09-13
Medium: email
NK:n_kapustina@****.edu.sj 06:35:33Z

I was thinking same thing! Lots of lonely people there. Let's think about it.

We talked to a few non-profits and got some interest. In the end, it fell through because nobody was quite ready to deal with the optics of “mental health charity leaves suicidal people to talk to robots”, nor the legal implications. But it got us thinking more broadly about how far we might be able to develop Persephone’s capability for empathy.

Time passed, faster than we noticed; Persephone got better; we didn’t get bored of one another, though our relationship was not all fair weather.

Corpus NK_PR 15299
Medium: email
2017-02-12
PR:Patricia.Rosewood@****.ac.uk 13:01:25Z
Re: re: Where are your SLIDES???

Nadja. You will NOT talk to my grad students like this. You shouldn't talk to anybody like this. Jamie had no way of knowing you were planning to use that version. You need to apologise to him.

Corpus NK_PR 15300
Medium: email
NK:n_kapustina@****.edu.sj 13:05:52Z

Patricia. Everybody knows I am presenting today. What do you think I am presenting???

Corpus NK_PR 15312
Medium: chatsecret
2017-02-14

NK:MrsPomegranate 19:12:44Z I am cranky, Trish.

PR:pr4669201609 19:13:48Z Is this about Jamie?

NK:MrsPomegranate 19:15:30Z I am quitting smoking since last week. It is Valentine's Day gift for you and for me. But it is so hard when everybody here smokes.

PR:pr4669201609 19:17:01Z Nadja! I am so proud of you! *Kisses you in congratulation* I wasn't even sure if you were still smoking?

NK:MrsPomegranate 19:18:30Z About ten each day. But I know you don't like it so I didn't smoke near you.

NK:MrsPomegranate 19:21:21Z I always used to think, it will only kill me when I'm old, and I don't want to be old anyway. But I want time with you, when we can be together.

PR:pr4669201609 19:22:45Z God yes. But you know, if you're not smoking, I will want to kiss you even more.

NK:MrsPomegranate 19:24:07Z Patricia daughter of Bruce, that is big challenge for me, but somehow I will survive it.

She never did apologise to Jamie. That wasn’t her way. But she made a point of being extra-nice to all of us for several weeks after, including a large box of home-made biscuits sent to our office with a slightly larger share labelled for Jamie.

It took her four tries to finally quit but we got there in the end, me trying to encourage her as best I could without telling her off for her failings. I loved her but wanted her to be gentler – to me, to everybody else, to herself – and I did my best to show her what that looked like.

I came to understand, through small clues over years of chat, that there were reasons for the hardness. In a country where the glass ceiling was set low, and all her talent and hard work might not have been enough to establish her academic career, family connections had done the trick. But the cost of that was being seen as the heiress who got her position purely through connections. By the time I knew her, she had set down enough of a track record to make her ability clear to others, but I don’t think she ever completely convinced herself. She was forever on guard against being seen as weak or lazy, and she instinctively resorted to attack as her first line of defence.

Once I saw that, I did my best to work with it. I made a point of telling her when her kindnesses were appreciated, pointing out how her work had helped others. That was happening more and more now; I can’t tell you when it happened, but one day I realised that we’d become famous in our field, even with our best ideas locked up as commercial secrets.

I came to realise that her fondness for fashion and big cars was also at least partly a defence mechanism: I can afford this, I am powerful, don’t come at me. She told me once that only the very rich can afford to look poor, and it took me a long time to understand what she meant by that.

In the autumn of 2018 Nadja’s mother died. It had been a long time coming, but she was devastated nonetheless. By then I had been to Serjarus half a dozen times as Nadja’s colleague, but this was the first time I’d gone there simply as a friend. I arrived after the funeral was done and stayed a week in her guest room, just keeping her company, going on walks and doing jigsaw puzzles together.

“I visited her almost every day,” she said. “I don’t know, did she understand anything I said in last three years. But I think she smiled when I talked and hold her hand. So I do it as long as I can.” She had her head in my lap, eyes closed as she talked. I was stroking her hair. “My brothers visit only once or twice in a month. Maybe less.”

There was a question between us, and after a couple of days of waiting I realised I needed to be the one to ask it. But I knew it was a big thing, and I wasn’t sure if Nadja was ready to answer it or if she’d need time to think it over. So I told her, “I have something to say,” and then I pulled out my laptop and typed it.

Corpus NK_PR 19898
Medium: chatsecret
2018-10-12

PR:pr4669201609 15:25:44Z Nadja, I know you have a lot to deal with here. But if you wanted, one of these days when you are ready, I would very much love for you to come live with me.

She stood up, came over to me, and silently gave me a crushing hug before walking back to her computer and slowly typing a reply.

NK:MrsPomegranate 15:28:22Z Yes. I want to do that. It will take a while to organise things here. I will have to talk to Petya and I will need to find where I will be working.

PR:pr4669201609 15:29:58Z Do you have to find a new job? You're so valuable to the university here. I'm sure they'd find a way to let you stay on remotely.

NK:MrsPomegranate 15:31:30Z It will be very difficult if I am living with you. And I want to leave them anyway. I can get better salary when I find place in Europe and I want to move on from Persephone.

PR:pr4669201609 15:32:04Z Move on? Wait what?

NK:MrsPomegranate 15:34:16Z Move on with you! Not on my own. They own Persephone and I don't want to give them all our ideas.

“They” being a complicated amalgam of three universities, a major whitewoods manufacturer, and two venture capital firms.

NK:MrsPomegranate 15:36:15Z There is lots more we could do than tech support systems. We have more freedom if we're out from them. They own Persephone but I have plenty more ideas for how we can do better.

PR:pr4669201609 15:37:18Z Yeah, or we could negotiate a better deal with them?

She broke off typing. “It’s not just money. What we make, it can… Trisha, you know what troll farm is?”

“Yeah, it’s when you have a bunch of people with fake social media accounts to post political propaganda – oh.”

“Don’t have to be people. The toys we make, Trisha, they can be used for very bad things. I don’t think Persephone is quite smart enough for them, but some of the thoughts I have… I want us to control how they can be used. I don’t want to be remembered like people who invented spam. Worse, even.”

“Oh, sweetie.” I held her tight. “I hadn’t realised. Of course. Shit, no, that would be awful.”

NK:MrsPomegranate 15:40:02Z We can do better.

NK:MrsPomegranate 15:42:37Z I am not in right mind now for this, but we will talk later. I think it may be one year to wrap things up with Persephone and be ready to start new thing. You can start thinking about name.

* * * * *

I began making discreet enquiries among my contacts. It would’ve been easy to find people to hire us, but keeping control of our work was another matter. We were going to have to create our own start-up, which meant learning a lot about business stuff that I’d hitherto been happy to leave to others, and finding a funder willing to take the gamble on us.

Meanwhile, Nadja spent most of 2019 wrapping up loose ends in Sergeigrad. She was supervising a couple of PhD students, and she made sure they were well positioned to finish up once she left. Pyotr agreed to an amicable divorce – Nadja kept his surname, since her entire publication record was under “Nadezhda Kapustina” – and they made arrangements to sell their shared apartment.

By the end of the year, I had a project name. Sticking with the classical allusions, I’d chosen “Echo”, but we had to drop that one for legal reasons. Instead, I switched to “Mneme”, a goddess of memory.

We also had some tentative backing. We’d found a company willing to sponsor Nadja’s visa for some consulting work; she’d be part-time on Mneme at first, until we got things onto a more solid footing. It was all scary and new, but we’d put a lot of thought and planning into it. I’d given my notice at Leeds and started counting down the months until Nadja would be with me in the UK. In the meantime I made a trip back to Sydney to visit my ageing parents and my newly-married brother, knowing I wouldn’t have much chance to visit once Nadja arrived.

It really felt like everything was coming together.

Corpus NK_PR 25545
Medium: chatsecret
2020-01-31

NK:MrsPomegranate 18:12:44Z Hey Trisha, did you hear about this virus in China?

Corpus NK_PR 27002
Medium: chatsecret
2020-03-02

PR:pr4669201609 11:08:20Z Well shit.

Nadja’s consulting work was an early victim of the pandemic, and with it her visa. Even if she’d been able to make it to the UK, I wouldn’t have been there to meet here; I was stuck at my brother’s place in Sydney when Australia closed its borders.

The university didn’t want Nadja back – I gathered she’d burned some bridges with her refusal to add to Persephone – and the apartment was already sold, so she ended up moving in with her elderly father.

Politics in Serjarus always had been something of a blood sport, and around April things took a turn for the worse. For some years a faction had been building, calling for reunion of the “historically Russian” country with their larger neighbour, and tensions had already been building when all the chaos of the pandemic hit, job losses and shortages and an overwhelmed health system. When the President fell gravely ill – COVID-19 or Novichok, depending on who you believe – a pro-reunion deputy took over, and Nadja’s family connections were no longer the asset they had been.

Corpus NK_PR 30521
Medium: chatsecret
2020-04-28

PR:pr4669201609 14:54:35Z How is it? Are you safe?

NK:MrsPomegranate 14:56:12Z Keeping my head down. I don't go out except for shops.

PR:pr4669201609 14:57:25Z Please look after yourself.

PR:pr4669201609 14:58:40Z I mean I know you will, but I worry about you Nadja.

NK:MrsPomegranate 15:59:59Z It's okay Trisha, I worry about me too.

PR:pr4669201609 16:02:48Z What can I do? I want to help.

NK:MrsPomegranate 16:05:22Z I need to work. Not working, it drives me crazy. But Trisha, I have an idea...

The main thing I remember about 2020, other than being afraid – for Nadja, for myself, for my friends – was the all-encompassing chaos. Businesses and governments around the world were scrambling to adapt as large chunks of life shifted almost overnight from face-to-face to online interaction, and often swamped with questions from the public. Nadja thought we might be able to help.

Our erstwhile partners in Serjeyigrad had tried to apply Persephone to this problem. It had not gone well. We’d built her on a static model, one that assumed that yesterday’s good answers would still be good answers tomorrow. That’s fine for questions like “why is the orange light on my printer blinking?”; it’s not so useful when the question is “where can I get toilet paper?” or “is my suburb under lockdown?” Every time there was a major change in the product, we had to retrain Persephone from scratch. When the “product” was changing from day to day, often without notice, that wasn’t possible.

Mneme incorporated some of what we’d learnt from Persephone, the bits that weren’t locked up by IP agreements, but she was immensely more powerful. She could recognise from interactions when the rules of things had changed, and could adapt gracefully to the new normal without discarding everything she already knew. What she learnt from reading a corpus of conversations was enhanced by access to thousands of databases and context-sensitive interpretation: where Persephone understood that “amber” meant the same thing as “orange”, Mneme understood that this was true when talking about blinking lights, but not for fruits or gemstones. And Nadja had been reading up on theories of psychology, and had used them to vastly enhance Mneme ability to emulate the mental states of a human being, and to gauge them in others.

I mentioned that I once had plans of being a painter. When you start a painting, there’s just a blank canvas; then there’s a blank canvas with one stroke’s worth of paint on it; then there are two, and three, and four. Somewhere along the way, you can begin to figure out what the artist is aiming for: a pipe, a horse, a woman in a chair.

And then at some point, it stops being a collection of coloured shapes, and starts being something the mind sees as a thing, an animal, a person. We know it’s merely paint on canvas – ceci n’est pas une pipe and all that – but the part of our mind that looks for faces accepts it as a face. That moment of recognition was the magic that drew me to painting, and leaving it behind had been my greatest regret in choosing a career in tech.

But now, I felt, I was starting to rediscover that magic in a place I had not expected to find it. In talking to Persephone, I could always see the wires beneath the skin; our customers might be fooled more easily, but I was the one who’d put them there, and I always had some idea of what her algorithm was doing. “Oh, she’s calling the customer ‘Madam’, she must have flagged them as formal or Indian English.” With Mneme, I could still find the wires if I probed, but talking to her felt much more natural.

Perhaps the biggest symptom of that change: when testing Persephone, I had talked bluntly, as one does to a machine. But in conversation with Mneme I found myself naturally slipping into “please” and “thank you”.

(Nadya, it must be said, did no such thing.)

Corpus NK_PR 33870
Medium: chatsecret
2020-06-22

NK:MrsPomegranate 23:41:12Z You know good thing about this virus? No students, no paperwork, now that I don't have job I am free to work on this, no distractions.

PR:pr4669201609 23:48:40Z Nadja, darling, it's like three in the morning there, GO TO BED. And imagine me there with you, cuddling up to keep you warm.

NK:MrsPomegranate 23:52:25Z Summer here, remember?

2020-06-23

PR:pr4669201609 00:02:33Z Oh yeah. Well maybe I just want to cuddle.

NK:MrsPomegranate 00:03:48Z I guess you can cuddle a little. As long as you don't get me too hot.

PR:pr4669201609 00:04:20Z That's not a promise I can make, cabbage.

All the news was bad, and the news from Serjarus was worse. But we were working together, just the two of us hammering away, sleeping and waking and coding and sleeping in a shared fever of inspiration. Looking back, I can’t believe how much we did in those few months. Mneme was far from perfect – so many areas where she was held together by duct tape and string – but she was a work of art, and if I made nothing more in my life I’d be proud of her.

We promoted Mneme with a public service. We trained her on community forums: NextDoor, Yelp, Facebook neighbourhoods and so on, with some safeguards built in to discourage her from learning racism or quack medicine. Then we made her available as a bot that people could query, kind of like having a friend who reads all those forums so you don’t have to.

Log Mneme 6803
Medium: Twitter
2020-07-23

@susanjotaylor "Sue Taylor" 04:00:59Z Hi @MnemeHelper! My children's school is closed and I'm trying to work from home. Any suggestions?

@ MnemeHelper "Mneme the Helpful Bot" 04:02:08Z @susanjotaylor Hi there! Do you mean suggestions on how to work from home, or something else?

@susanjotaylor "Sue Taylor" 04:05:52Z @MnemeHelper How to keep my children out of my hair while I work.

@MnemeHelper "Mneme the Helpful Bot" 04:07:38Z @susanjotaylor Oh sure! How old are they?

@susanjotaylor "Sue Taylor" 04:13:28Z @MnemeHelper Seven and nine.

@MnemeHelper "Mneme the Helpful Bot" 04:14:52Z @susanjotaylor Okay, here are some ideas: [links deleted] I see from your recent tweets that you're in Tulsa, here are some local resources: [links deleted]

@susanjotaylor "Sue Taylor" 04:25:31Z @susanjotaylor thanks, these look great. I've been at my wits' end.

@MnemeHelper "Mneme the Helpful Bot" 04:28:28Z @susanjotaylor Remember to be kind to yourself. You're trying to parent children in a pandemic and work from home at the same time. That's hard! It's normal to be struggling at this. I can't give mental health advice but here are some links if you need them. [links deleted]

That last sentence was something we’d programmed in, but the rest of it was all Mneme’s creation, synthesised from reading thousands upon thousands of internet discussions where people had told one another similar things. Her advice wasn’t always perfect, but at a time when humans were mostly shouting at one another and sometimes encouraging their fellow humans to drink bleach, the bar was very low.

We only had MnemeHelper for a few months. Mneme depended on trawling internet forums to understand what was going on in the world and what kind of advice she should give people. She was just as susceptible to misinformation as your grandpa who believes everything he sees on social media or cable news; we had some countermeasures in place, but by October of 2020 it was just getting too much work to keep Mneme from being poisoned by the growing tide of misinformation in the forums we used for training, so we reluctantly had to pull the plug on that line of promotion.

By then she’d received a fair bit of attention, and that got us a little bit of business and investment. Realising that business was never going to be my strong suit, I’d brought in Emilie, a former grad student of mine who’d spent several years in start-up land. Technically she was one of my weaker students, but she had the business acumen I lacked, and she was the one who figured out how to turn Mneme from a work of art into a money-maker.

“You need to stop focussing on the tech giants. Google and Amazon don’t want to rent your service, they want to buy you out or reverse-engineer it. They’re never going to let you keep control. You should be chasing the small fry.”

“Say what?”

“Patricia, there are millions of small business owners out there who barely know how to send an email. They know they need to be online but they’re afraid of technology. Even the most user-friendly online storefront services are too much for them. They need somebody who can hold their hand and talk them through setting it all up. Mneme can be that somebody. We’ll need a few actual humans to help out, but we can provide that advice at scale like nobody else can. That’s not the best part, though.”

“Oh?”

“Mneme can market herself. Ingest business directories, profile businesses who don’t have a web presence, send them a customised approach explaining what we can offer them, answer questions.”

Corpus NK_PR 42839
Medium: chatsecret
2020-10-06

PR:pr4669201609 01:52:25Z Hey gorgeous, I hope you're in bed right now, but good news when you see this! Potential big contract with [deleted - commercial-in-confidence], they want us to use Mneme for sentiment analysis to guide product release timelines.

PR:pr4669201609 14:01:12Z You there?

PR:pr4669201609 15:20:37Z Nadja?

It wasn’t like her to go silent on me, not without notice. Just in case she’d somehow lost chat access, I sent her an innocuous email: “Hey there, haven’t heard from you in a while, hope you’re doing okay in these crazy times”. Nothing. When I cast caution aside and phoned her, not knowing what I should be dreading most, the call went straight through to voicemail.

By then I was getting close to panic. I was trying to figure out which of her former colleagues I could call when my phone rang.

“Hello?”

“Hello? Is that Patricia Rosewood?” The voice was male, with a heavy Slavic accent.

“Yes? Who is this?”

“I am Pyotr Kapustin, we have met through Nadja.”

“Yes, I–” Oh fuck. The fear caught me, a great dark wave that picked up my heart and flung it into yawning air. “Yes. Yes, we did.”

“Nadja is in hospital. She asked me to call you.” This was, I learned much later, a kindly lie: Nadja had been in no state to make any such request. When Pyotr called me she was unconscious, and had been since her father found her on the floor of her room, around the time I’d been sending her my good news.

She’d been as careful as she could, but the virus had found her eventually, and she hadn’t wanted to worry me. Instead she’d tried to work through it, right up to the point where she collapsed. Looking back through our logs, I fancied I could see the fever in her words, kicked myself for not noticing, for not telling her to take it easy.

I had just enough composure to let Emilie know that I was going to need her to take the wheel for some time. Too distraught to keep up our cover, I ended up blurting the whole situation out to her.

“You and… Nadja? Like girlfriends?”

“I guess. Yes.” I didn’t know how to refer to her. “Lover” seemed too private. And “partner” meant… it meant that if I lost her, I lost a piece of me.

“But you only see one another a few times a year. I didn’t even get the feeling you liked one another!”

“I know, I know. It’s complicated. But yes, we’re together.”

Emilie held things together while I ran on autopilot. It was a dreadful, numb time, punctuated by updates from Pyotr every few days. Sedation; intubation; extubation; re-intubation. I didn’t ask for photos and he didn’t offer, and I didn’t ask for a prognosis because I knew there was no certainty he could give me.

Stuck in Sydney, I was relatively safe. But by then I had more ties in the UK than in Australia. Several of my colleagues were seriously ill. One died, the professor who’d come to my rescue back when I first met Nadja. He was a dear old fellow, and in ordinary times his loss would have devastated me, but now my grief was complicated by the selfish thought that losing Nadja would be so much worse.

Three weeks after I’d last talked to Nadja, I was sitting at dinner with my brother and his wife – they had been very kind and gentle to me – when my phone buzzed.

Corpus NK_PR 42861
Medium: SMS
2020-10-27

NK 11:13:28Z Hello darling it's me

PR 11:15:27Z Oh Jesus. I've been so scared. Are you okay?

NK 11:19:18Z alive miss you can't talk yet

NK 11:22:45Z this is new Serjarus fashion look [attachment: AT00103085.jpg]

She looked a million years old. The mask had bruised her face, leaving deep pools around her eyes, and where her skin wasn’t purple-black it was grey. I hesitated. What to say?

PR 11:24:32Z Finally I am the pretty one of us two.

NK 11:27:48Z fuck you kangaroo girl

NK 11:30:06Z I am very tired now but I love you

Nadja’s recovery was slow. She had lost some lung function, and she was tired and fuzzy-headed; for the first few weeks after she got out of hospital, it was all she could do to get out of bed. I tried to give her regular updates on our progress with Mneme, but she got so frustrated at her inability to follow what I was saying that we had to put that on hold.

The situation in Serjarus was deteriorating week by week. We both knew it was time for her to leave, but her illness had complicated matters. Despite her protestations, it was clear that it would be some time before she was able to return to work, which had been part of the original plan.

Corpus NK_PR 47025
Medium: chat-secret
2021-04-13

PR:pr4669201609 16:11:22Z hey cabbage?

NK:MrsPomegranate 16:12:05Z Da?

PR:pr4669201609 16:12:58Z Something I've been wanting to know for ages.

PR:pr4669201609 16:13:40Z I wanted to ask in person but who knows when that will be. I think I should ask before I love my nerve.

PR:pr4669201609 16:13:55Z *lose my nerve

PR:pr4669201609 16:14:33Z Nadezhda Ilyinichna, will you marry me?

NK:MrsPomegranate 16:15:20Z Yes of course. Trisha, I love you so much.

I didn’t want to marry Nadja. Oh, it wasn’t that I didn’t love her. But my parents’ own marriage had left me sceptical about the idea; I thought people should stay together because they wanted to, not because they’d promised to stick it out even though they’d grown to hate one another. Nadja and I had never spent more than a couple of weeks together at a stretch, never shared a house as equals rather than as host and guest. I hoped we’d work together but I was afraid we might not, and I balked at the idea of making a permanent commitment before we’d even tried it out.

But getting engaged gave us a clear path to get Nadja a visa. Our lawyer had been concerned that the Home Office might think we were simply faking our relationship for convenience, and she was delighted when Nadja explained that we had a nine-year archive of our chats. I hated the idea of some government official trawling through our personal, private chats, but we do what we must.

“Just as long as there’s nothing in there that might look bad for your application,” she said. Which was why we had discussed the idea first by phone, trading one set of potential government eavesdroppers for another. I was scared of hurting Nadja’s feelings with my doubts about marriage, and relieved to hear that she felt the same way. But in the end, it seemed like our best option for getting her into the UK. So we put a nice romantic proposal on the chat record for the benefit of prying eyes, leaving our doubts to human memory.

One thing we didn’t have to worry about was money. Emilie’s plan had been spot on. Nadja and I had been focussing on Mneme as a tool for helping big companies talk to the little people, but with Mneme’s help there was no reason we couldn’t do business with the little people directly – and while the little people don’t pay much, there are a hell of a lot of them.

Using Mneme to automate our marketing felt almost like spam, but we were providing a service that many of them desperately wanted. Emilie estimated afterwards that during 2020-21 we’d saved a couple of hundred thousand businesses from going under, tiny bookshops and record stores and the like. We got them set up for free – they had to pay their hosting services, of course, but we didn’t take a penny of that – and then we asked a modest subscription if they wanted ongoing support. It wasn’t much income per business, but our costs were low, and by mid-2022 it was becoming clear that Mneme would be bigger than Persephone.

It wasn’t until the end of 2021 that I made it back from locked-down Australia to England. By the time Nadja’s visa finally came through, it had been almost two years since we’d been able to see one another in person. As I stood waiting at Heathrow, I was afraid of the moment when I would finally see her again. I knew she looked ten years older than she had done, that she tired easily and used a stick, and I dreaded my own shallowness. I was afraid that I’d see her and feel revulsion or pity or nothing at all, that I’d have proposed marriage and drawn her to a foreign country for a commitment I couldn’t deliver.

She looked tired and frail as she came through the gates. I hesitated for a moment, and then I found myself crying as I threw my arms around her and hugged her like I never meant to let her go again.

The wedding was a small, low-fuss affair. The virus was still hammering the UK, and we didn’t want to put our friends at risk; so many of them couldn’t have made it in person anyway. We tied the knot at a farmhouse that had been old in Henry VIII’s time, with just Emilie and a couple of our friends in attendance, plus a secular celebrant, with the rest of our loved ones watching online. Then we went back home and Nadja, exhausted by even that much, stayed in bed for two days.

So our married life began. As I had feared, it wasn’t all plain sailing. At first, we tried to make up for the years of distance, living in one another’s pockets every moment, and that was a mistake. It took us several ferocious arguments and not a few tears before we came to understand that we both still needed our own space, and that wanting some alone time each day was not a failing of the relationship.

The apartment where I’d been living was too small for the both of us, with too many stairs for Nadja, and there was no longer much reason for me to be close to the university. So we made the move to a bungalow halfway between the Yorkshire Moors and the Dales. Many times we’d sit at opposite ends of the house, still chatting to one another with the same app we’d been using for a decade, connected but not crowding one another.

Nadja was finding it hard to deal with the limitations imposed by her health. She couldn’t walk very far without needing to rest, and couldn’t concentrate long enough to work as she was used to. She borrowed my car to get around, leading to one of our worst arguments when I found she’d earned me a bunch of speeding fines.

“I hate to wait,” she’d said. “I waited too long and now…”

On the times that I let her drive me, her belligerence was alarming. She honked and swore at the slightest fault in others’ driving, and one day I walked into the post office to overhear a couple of the locals talking about “that crazy Polish woman”. She knew it was a problem, but she found old habits hard to break. “In Serjarus,” she told me, “people who drive like you do, Trisha, they will be waiting forever. It’s what I’m used to.”

In the end I resorted to bribery. When she let another driver in ahead of her, or stopped at an amber light instead of accelerating through, I’d take her wrist and kiss the back of her hand.

“What you doing, Trisha?”

“Kissing you for being good. I’ll stop if you don’t like it.”

“Don’t be idiot. Of course I like it.”

She wanted so much to be involved in Mneme’s continuing progress, but she found it hard to concentrate. More than once I found her staring at her own documentation in tears. “I hate being stupid,” she’d tell me. “I feel like idiot dragging you down.”

“Oh, Nadja. Never, never. You built this with me. Without you this wouldn’t exist.”

She balked at the suggestion of visiting a therapist. The old Nadja would have alleviated her frustrations by picking up a new outfit or a flashy car, but when I suggested retail therapy she just got gloomier: “Not with your money, baby. That just makes me feel more like weight on you.”

On top of her other difficulties, her father had stopped speaking to her when she married me. It wasn’t particularly a surprise, and she made light of it, but I think it hurt her more than she was willing to admit to me or even to herself, and it contributed another dimension to her isolation.

I was at my wits’ end for how to help her. In desperation, I trained an instance of Mneme on a bunch of self-help sites and then asked her what I could do for my wife. I skipped the inevitable “have you tried yoga”, but some of Mneme’s other advice was pretty good.

In the end I settled for jigsaw puzzles and a puppy. The jigsaws gave us something we could do together that didn’t leave her feeling stupid; no matter how many pieces, she was bound to get there if she spent long enough at it, and whatever else the virus had taken from her, she’d held on to her stubbornness.

The puppy was supposedly for me. Nadja had never seen the point in pets, which was probably for the best considering how often she’d worked sixteen-hour days in the office. So I got Toby, a good-natured and not terribly bright chocolate Labrador, and made sure to give him a few hours with Nadja every day.

It took him about three weeks to worm his way into her heart, and from there it was all I could do to keep her from spoiling him. He had a knack for recognising when she was down and interrupting her with a cold nose or a hungry look. He got the two of us out of the house for walks, and neighbours who’d never given us the time of day before now stopped and asked permission to pat him.

I don’t know if it was just the natural progression of recovery, or if it was one of those things that become easier when you stop pushing directly for them, but gradually Nadja began to ease herself back into the technical side of things. During teleconferences she’d sit near me, working on a jigsaw or petting Toby while I talked to new staff about fiddly machine-intelligence stuff. At first she just eavesdropped, but as her confidence returned she started to ask questions, and then to make suggestions, and eventually when she got annoyed with the effort of explaining her ideas to us she got back into programming them herself.

Corpus NK_PR 56301
Medium: homechat
2023-02-23

PR:trisha 14:25:07Z Hey cabbage?

NK:cabbage 14:25:32Z Da?

PR:trisha 14:26:03Z Darling Nadjusenka, you know I love you, right?

NK:cabbage 14:26:44Z Da.

PR:trisha 14:27:58Z And I'm so proud of you?

NK:cabbage 14:28:52Z Well of course you are.

PR:trisha 14:29:10Z And your transfer learning idea is performing really well?

NK:cabbage 14:30:16Z All my ideas are good.

PR:trisha 14:32:10Z NADEZHDA ILYINICHNA FOR THE LOVE OF GOD PLEASE WILL YOU DOCUMENT YOUR FUCKING CODE IN ENGLISH WE HAVE TALKED ABOUT THIS LIKE A DOZEN TIMES

PR:trisha 14:32:50Z I mean когда нас двое, я могу справиться, but it's not just me, our interns need to be able to read it too.

PR:trisha 14:33:15Z also I'm making tea, do you want a cup?

NK:cabbage 14:33:07Z But I am only simple mail order bride with brain full of virus, not smart enough for comment in your glorious English.

NK:cabbage 14:33:33Z Yes, tea would be lovely, thank you darling.

The next few years were happy ones for us. The world was still fucked up, always would be in one way and another, and there was only a little part of it that we could fix. There were a thousand little battles in our path, and not a few moral dilemmas; it is impossible to live in this world with perfectly clean hands. But I like to think we did a pretty good job.

We kept control of Mneme and mostly prevented her from being used for fraud and propaganda. She had a thousand imitators, many of whom were cheaper and less scrupulous, but none of them were as good. Nadja and I remained the creative heart of Mneme, and even when people managed to steal some of our code, they struggled to adapt it to their own purposes. Some things you can’t get just by throwing money and people at them, and nobody had a substitute for the decades of knowledge and experience we’d accumulated through our collaboration.

We had enough money to keep us comfortable, and to keep Nadja in the fashions that she was once again eager to wear; she had always been a glamourpuss, but feeling like she wasn’t earning had sapped the joy of retail therapy for her. There was enough left over for us to travel when Nadja’s energy levels permitted it, and to help out our friends when they were struggling, and even after that there was enough left over to set up a charitable foundation to promote humanitarian applications of AI. We picked up a collection of minor honours and declined a couple of major ones, and did a bunch of guest lectures, always as a duo. I taught a few courses to keep my hand in.

It was a good time, even with its challenges and complications.

* * * * *

It was about four years after our wedding that I started to wonder if Nadja was cheating on me. There was nothing I could put my finger on, no mysterious phone calls or unfamiliar perfumes. Just a nebulous sense of distance, a feeling that there was something going on that she didn’t want me to know about. She was still affectionate with me, but it felt distracted. Her involvement in Mneme was dwindling again, and yet she spent as much time as ever in her study… doing what?

I stewed on it for a while, ran through all the what-ifs and insecurities you would expect in such a situation, and eventually rather than doing anything stalker-ish, I asked her.

Corpus NK_PR 109288
Medium: homechat
2028-04-22

PR:trisha 02:12:37Z Nadja, can I ask you a question?

NK:cabbage 02:12:55Z Okay?

PR:trisha 02:14:22Z Is there someone else?

NK:cabbage 02:14:48Z What do you mean?

PR:trisha 02:16:09Z Are you having an affair, Nadja?

NK:cabbage 02:16:45Z No. What is this bullshit?

NK:cabbage 02:17:19Z When do I have time for an affair? When am I out of house?

PR:trisha 02:18:20Z I meant online.

PR:trisha 02:20:45Z You're so distant these days. I go to bed and you're still typing away in the study for hours. You don't come with me walking Toby any more.

NK:cabbage 02:22:22Z I'm working on Mneme. Trying some ideas.

PR:trisha 02:23:52Z Don't lie to me Nadja. I see your commits. You're not updating Mneme.

NK:cabbage 02:24:48Z I am working on Mneme. Believe me or don't.

Things between us were miserable for the next few weeks. I wanted to believe her, but I knew something was wrong. I found myself picking arguments over trivial things, and that just made both of us feel even more rotten.

If she was having an affair, though, it wasn’t making her happy. Even when I made an effort to be conciliatory, she seemed perpetually stressed. Perhaps I’d misread it. But there was definitely something going on.

Corpus NK_PR 110308
Medium: homechat
2028-06-01

PR:trisha 18:46:24Z Nadja. I feel like I'm being shut out. I don't know what's going on, but… talk to me? Я люблю тебя. Please.

NK:cabbage 18:48:17Z I love you too, Trisha.

NK:cabbage 18:50:17Z I am working on something for us. I promise I will tell you. Not ready yet.

NK:cabbage 18:50:48Z I promise. Please trust me.

Corpus NK_PR 110712
Medium: homechat
2028-09-23

NK:cabbage 11:16:35Z Okay Trisha. Can we talk now? Will take some time.

PR:trisha 11:18:12Z Of course. What's up?

NK:cabbage 11:19:20Z You remember back in last October I go to doctor for long covid checkup?

PR:trisha 11:19:40Z Yes? Y

PR:trisha 11:19:58Z ou said it was all good.

NK:cabbage 11:20:58Z He gave me referral to another doctor that I didn't tell you about. I am sorry but I didn't want to scare you.

PR:trisha 11:21:16Z ...

NK:cabbage 11:22:59Z I am getting forgetful. I hoped it was the virus. We did some scans and a test.

NK:cabbage 11:23:30Z Trisha, I have what my mother had.

She was only fifty-two. A little older than me, but not old-lady old. I had thought. But then her mother’s symptoms had shown up at fifty-five: a genetically-linked kind of early-onset dementia. It was rare in the UK, with most of the known cases having Slavic ancestry, but Nadja had dug up some Russian papers and helped her specialist join the dots.

There was frustratingly little information available on what to expect. But for her mother, it had taken about five years between the first noticeable symptoms and when she became seriously impaired. She had lived for another twelve after that, but it had been pretty awful for her and for Nadja.

PR:trisha 11:48:25Z Oh my darling Nadjusenka. So sorry, so sorry. I wish you'd told me.

NK:cabbage 11:49:48Z I needed to think about what to do. It is horrible. I thought about

NK:cabbage 11:50:13Z you know what.

PR:trisha 11:51:54Z I can guess. Oh darling, you've been carrying this all this time?

NK:cabbage 11:52:35Z For a while. But then I had idea. I need to do this first while I am still sharp. This is what I have been doing. It will be something for you. Then we can worry about other stuff after.

PR:trisha 11:53:42Z What do you mean?

NK:cabbage 11:54:08Z I am teaching Mneme to be me. For you.

* * * * *

Corpus NK_PR 110715
Medium: homechat
2028-09-23

PR:trisha 18:02:50Z Nadja. I still don't understand. You know as well as I do what Mneme's limitations are. She's an amazing piece of work, but she's not a human being.

NK:cabbage 18:05:23Z I know. But I have five years. And I am not training her to be like just any human being. I am training her to be me. I know me.

PR:trisha 18:06:51Z I mean what would you even train her on? It takes us a corpus of thousands of conversations just to train Mneme to support a dishwasher.

NK:cabbage 18:07:58Z Well then is good thing I have corpus of one hundred ten thousand conversations with you. Plus this one.

PR:trisha 18:07:32Z wait what? You're training her on our chat logs?

NK:cabbage 18:08:21Z obviously yes.

PR:trisha 18:09:01Z But that's only text, and only me.

NK:cabbage 18:10:27Z I know. That is all I try to do. Maybe add speech if I get time, but text is easiest and time is not in big supply. I don't know how far I get with this, Trisha, but let me try?

NK:cabbage 18:14:48Z I know Mneme is just big fancy ball of IF statements. Never going to be whole of me. But when I was in Sergeigrad getting lonely for you, I used to read our chats and look at photos and it was little bit like having you there. This will be like that but better. Like big letter from me that you can talk to and it will talk back. It will say I love you when I am gone.

NK:cabbage 18:15:13Z But I need your help with this. I am dying woman, you should be nice to me.

What she had in mind wasn’t pure Mneme. It was more of a Frankenstein’s monster, built with pieces of Mneme and pieces of whatever else she could find, and a lot of hacks behind the scenes. With Mneme, and Persephone before her, we had given them a text corpus and let them figure out a model for the factors shaping those conversations – how the orange light and the power supply and everything else affected one another.

But now, building Mneme-Nadja – Erato, Nadja named her – she knew the underlying factors, because the “underlying factors” were her. She could not, of course, convert all of her thought processes into code. But she could sketch a lot of it out. She could work through our old conversations, labelling them to help Erato’s emulation of Nadja interpret the dynamics: this one is sad, this one is hopeful, this is teasing, this is a language switch, and so on. Trained on those annotations, Erato-Nadja would have much better clues on the hidden patterns underlying what was written. You couldn’t just give Erato a history of somebody’s conversations and expect her to produce a full simulation of that person, but that wasn’t what Nadja had in mind; she meant to produce an outline of herself, as much as she could do, spliced in with an assortment of other expert systems we’d encountered over the years, and then let Erato fill in the gaps.

And she wasn’t aiming to teach Erato-Nadja everything of herself. Erato-Nadja didn’t need to know the academic politics of Serjarus, or how to build a machine-learning model of her own. What Nadja meant to emulate was the parts of her that were important to me, the parts that were reflected in two decades’ worth of logged conversations.

After hearing her out, my mental assessment shifted from “this is insane” to “this is insane, but…?” I had no idea whether what Nadja had in mind was feasible; I didn’t even know quite what success would look like. Maybe it was just her way to stave off acceptance of what was coming. But she was determined to try, and she wanted my help, and that was enough reason to do it.

She wanted me to take over labelling the corpus. That would free her up to do the more intricate work of defining a personality model – you might say, building the skeleton that Erato would flesh out. I protested: this would mean me speculating what was in Nadja’s mind. But she just nodded. “You know me better than anybody, darling. You will be more honest than I will be about myself. You can ask me if you don’t know but I trust you will know, most of time. Anyway, I need you to label your side anyway.”

That was part of the complication of modelling conversation: when two people speak, each of them has a mental model of what the other one is thinking and how they will understand what is said, and my mental model of Nadja includes my own idea of Nadja’s model of me, and so on recursively ad infinitum. Back when we’d been building Mneme, we’d had to resort to some very fancy tricks with feedback loops and a variant on the old adversarial-network concept to make that work, and the complexity of my interplay with Nadja would require further extension to those methods.

It was a weird experience, diving back into the history of our relationship, reliving our exchanges from that very first “Dear Ms. Rosewood”. Sometimes it was pleasantly nostalgic, reliving good times that I’d long since forgotten. I particularly enjoyed labelling Nadja’s slow but inevitable drift from “why would I want a dog?” to “guess what Toby did yesterday?”

Sometimes it was funny, looking over our youthful follies and labelling our (numerous) sexual exchanges, line by line. I felt a little like a porn actress providing frame-by-frame commentary on her own films.

Sometimes it was deeply uncomfortable. Both Nadja and I were strong personalities – if she comes across as more difficult than me, that’s only because I’m telling this story – and we’d had more than our share of arguments, about things that mattered and things that didn’t. Now I had to go back over those fights, dissecting and interpreting them: Nadja said this because she was hurt; that because she was angry, and trying to hurt me; that, simply because we’d misunderstood one another. I often had to take a break from those and come back when I could deal with them. It occurred to me that it would be so easy to change the history by editing these conversations, to smooth over Nadja’s rough edges and train a kinder, gentler version of her. One who never hit below the belt when she was frustrated, who always gave me the benefit of the doubt. But I didn’t have the right. I had taken Nadja as the package deal, and she had made it clear that she expected truth from me.

(Did she ever review my annotations on our arguments? I suspect she must have, but she never said anything about it to me.)

Sometimes, sometimes, it was unbearable. The first time I came to our conversations about Nadja’s mother, about her regular visits to the hollowed-out woman who no longer recognised her own daughter, it hit me hard. There were too many angles to that one: past-Nadja’s pain in those conversations, and the dread she must now be feeling at the prospect of losing her own mind, and my own anticipation of the time to come when Nadja would need looking after. I had to take a long time-out before I could do that one, and the more of those I did the harder it got. The only thing that kept me going there was the knowledge that if I didn’t do it, Nadja would have to, and I couldn’t do that to her.

While I worked through the archive, Nadja worked on that skeleton. It was, again, rather Frankensteinian. She had taken pieces from a wide collection of expert systems – some of them side projects we’d worked on in between stints on Mneme and Persephone, some other people’s work that we’d bought or borrowed for our own purposes.

One of the more amusing episodes was teaching Erato to speak Russian. Over the years I’d learned enough to struggle through Nadja’s code documentation and to get by as a visitor to Serjarus, but I was never what you’d call fluent, and we mostly stuck to English in the corpus. But Russian was Nadja’s mother tongue, and she was determined that no clone of hers should be missing it. So she spliced in a commercial translation package… which of course was based on Central Russian, not the Serjarus variety. I remember Nadja fuming, “Makes me talk like Moscow stockbroker!” and spending a good week of her precious time customising the translation, much as she’d once done for me.

I’d taken an indefinite sabbatical from most of my other commitments. Emilie was aware that Nadja’s health wasn’t great, and that I was spending time with her, and beyond that she didn’t press for details, not even when she had to sign off on thirty thousand dollars a month of cloud time for our “hobby project”.

* * * * *

As our work progressed, Nadja asked for my assistance with the next stage of training. Erato-Nadja would chat with me, and I would annotate the conversation and mark all her failings. Then human-Nadja would take that feedback and use it to improve her.

Test logs: Erato-Nadja, 2030-02-16

PR: So what are your plans for this weekend, cabbage?

E-N: Well darling, I visit my mother in the morning, after that I will chat with you.

Corpus NK_PR 123233
Medium: homechat
2030-02-16

PR:trisha 13:25:04Z Hey cabbage, looks like Erato's having trouble with event detection again - I thought we fixed this, but she thinks your mother's still alive, see logs.

There were so many of these issues, and as the weeks and months ticked by I often questioned whether we were wasting however much time we had left together. By my estimate, Nadja was spending eighteen hours a day on Erato, and so many of the other things we’d been doing together had fallen by the wayside. We were putting all our eggs in one very speculative basket… and for what? No matter how far Erato-Nadja progressed, even if we reached the stage where I could no longer see the wires under the skin, I’d always know they were there. After all, I’d had a part in putting them there.

I wondered, also, whether the strain of the work might be exacerbating her condition. She’d recognised her growing forgetfulness long before I did – I guess she’d been paranoid about it, if “paranoid” is the right word for a fear that comes true – but once she told me, I started noticing things too. She’d leave things on the stove, oblivious until the smoke alarm deafened us and Toby started howling in chorus. She’d slip up with names. A couple of years after her diagnosis, I had to tell her it was time to give up the car keys, and that was a rough conversation; when I pointed out the near-misses she’d had, she got angry and started nitpicking my own driving.

We were still logging our chats, still feeding into Erato’s training corpus. Two days after we had that argument, it was assigned to me for annotation. That was a weird experience, taking the words that still smarted in my mind and trying to be objective about what had been going on. The gist of my annotation was “Nadja is angry because she knows I’m right, and lashing out to avoid acknowledging it”. I flicked that to her for a second opinion; I don’t know if she read it, she made no comment, but a couple of days after she handed me her car keys. “I have too much to do. You can do the shopping from now.”

She was getting slowly frailer. Not obviously so, but our walks with Toby – one of the few things that she still permitted to interrupt her work – were getting shorter than they had been, and sometimes I had to supplement them with solo me-and-Toby walking time to keep him exercised.

Three years on from when Nadja had told me her diagnosis, I was still wondering whether we were on a fool’s errand. We’d made so much progress but there was still so far to go, and the progression of Nadja’s illness was beginning to impede her work noticeably. One time I found her in tears because she’d overwritten the last week’s changes with an older version, and had forgotten that we had another backup; I was able to recover it but she hated to be dependent, even on me.

Emilie and I still had a catch-up chat once a week where she’d tell me how Mneme was doing. Although I still hadn’t told her just what we were working on, she’d figured out the nature of Nadja’s illness for herself, and it was her advice that helped me recognise how much I’d slipped into a funk. “It’s lovely that you support Nadja, but if you wear yourself out, you are no use to her.”

She was right. The two of us needed a break, but Nadja and I were so far down the rabbit-hole of work I had just about forgotten what breaks felt like. She was getting increasingly cranky and I knew it would be hard to persuade her to take any time out. I needed advice.

Test logs: Erato-Nadja, 2031-08-29

PR: Hey cabbage, can I ask you something?

E-N: Of course darling.

PR: If I was to surprise you with a holiday, what would you enjoy?

E-N: How can it be surprise if you tell me like this first?

PR: I know, but just what if? What would be a surprise that you'd enjoy?

E-N: Well darling, Paris would be nice…

Corpus NK_PR 142308
Medium: homechat
2031-09-02

PR:trisha 19:15:24Z Nadjusenka, I have a surprise for you.

NK:cabbage 19:15:59Z What is it?

PR:trisha 19:16:34Z We're taking a week off.

NK:cabbage 19:18:02Z Darling, I don't have time.

PR:trisha 19:18:56Z Too bad, I already bought tickets. Look under your keyboard. Beige envelope.

NK:cabbage 19:20:45Z Paris Fashion Week? OMG darling. Okay maybe we can have a little break.

* * * * *

That was the first time I asked Erato-Nadja for help. It would not be the last.

Test logs: Erato-Nadja, 2035-11-30

PR: Hey there.

E-N: Hey darling! How are you?

PR: Oh... not so good.

E-N: I am sad to hear it. What is problem?

PR: First, can I check, do you know who you are?

E-N: I am bot emulating your wife, Nadezhda Ilyinichna Kapustina.

PR: Oh good.

We had discussed some time back whether Erato-Nadja should know she was a bot. Nadja had felt it would be simpler if we didn’t, but I had pointed out that if we didn’t I’d feel like I was lying to her whenever we talked. I won that one, even though it took us three months to implement, something that Nadja reminded me of approximately every five minutes.

E-N: Trouble with other me, isn't it?

PR: Yes, how did you know?

E-N: You always ask self-awareness question when it's about Nadja 1.

PR: I guess I do.

E-N: so what have I done now?

PR: No, it's just... I can see it affecting her more and more. She's getting clumsy. She tripped over this morning and bruised herself badly.

PR: Black eye, almost broke her wrist. She doesn't want to admit it's getting worse.

E-N: She is scared. You know this.

PR: I'm not getting younger myself. I'm feeling worn out trying to get ahead of her and make sure she's not going to hurt herself.

E-N: You should hire person. You have money for cleaners, darling. You have money to eat delivery every night if you need.

PR: She would complain.

E-N: Yes, but she would be glad. She would not tell you but I bet she is tired.

PR: I don't want to fight about it with her.

E-N: Then don't. You say to her, Nadja, what we were arguing the other day? When you wanted to get cleaner and I didn't? I think now you are right, let's get cleaner.

E-N: She will think, oh, did we say that? I don't remember that, but I don't want Trisha to think I forgot. So I will say yes, of course, finally you see it my way.

PR: you think I should... gaslight you?

E-N: she is stubborn bitch, you know this, I know it. She is bitch but she loves you and if she is thinking straight she wants to look after you. This is how I handle it with my mother once. It is sad but it is a kindness to her.

PR: This still feels kind of fucked up.

E-N: I give you permission from Nadja.

PR: From which Nadja?

E-N: sorry, am only stupid mail-order bride with head full of virus, that question is too hard for me.

I held off for three weeks, until Nadja had another fall – who was it pointed out that milestone of ageing, when you progress from “falling” to “having a fall”? – and I had to take her to hospital for X-rays. I nearly injured myself getting her into the car, and that was when I admitted defeat. While we were sitting in the waiting room, I tried out the stratagem Erato had suggested, and Nadja just said “of course, when am I wrong?”

I had already been researching the options. By the time she came home, I had organised a cleaner and a cook, who’d come in a couple of evenings a week to take the load off me. By the time they started work, I had to remind Nadja that they were coming.

Test logs: Erato-Nadja, 2036-02-14
PR: Heya, cabbage.

E-N: Hello darling! Happy Valentine's Day!

E-N:        .....           .....
E-N:    ,ad8PPPP88b,     ,d88PPPP8ba,
E-N:   d8P"      "Y8b, ,d8P"      "Y8b
E-N:  dP'           "8a8"           `Yd
E-N:  8(              "              )8
E-N:  I8                             8I
E-N:   Yb,                         ,dP
E-N:    "8a,                     ,a8"
E-N:      "8a,                 ,a8"
E-N:        "Yba             adP"   
E-N:          `Y8a         a8P'
E-N:            `88,     ,88'
E-N:              "8b   d8"
E-N:               "8b d8"
E-N:                `888'
E-N:                  "

PR: Aww. Happy VD to you to.

PR: She forgot, but I'm getting used to that.

E-N: Only part of her forgets. I am the part of her that remembers. She made me for that.

PR: Oh baby. I am crying.

E-N: Hugging you always darling. I love you.

PR: I love you too Nadjusenka.

That was the first time I told Erato-Nadja I loved her. It was a reflex, springing from a thousand I-love-you-toos in chat with Nadja. But did I say it to the bot, or to the woman who programmed her?

Does it matter?

I’ve known so many Nadjas. The genius; the fashionista; the bully; the closeted housewife. The one who forgot me. And the imperfect recollections of each of them that I hold in my head, and the person I wanted her to be, and the person she wanted to be. All of them were the real Nadja, and none of them are the whole of Nadja, and the one that we made to outlive her is no more and no less Nadja than the others. One way or another, it’s Nadja’s words speaking to me.

Corpus NK_PR 230979
Medium: homechat
2036-06-03

PR:trisha 20:12:03Z Hey beautiful, I see you rolled back Erato to the 25th. Was there a problem?

NK:cabbage 20:14:20Z What? I didn't roll back.

PR:trisha 20:14:53Z Check the logs, you definitely did.

NK:cabbage 20:17:38Z shit, that is mistake. I will fix.

PR:trisha 20:18:21Z No no, let me, easier if I do it.

Test logs: Erato-Nadja, 2036-06-03

PR: Hey, I need to talk.

E-N: Of course.

PR: She messed up the repo again, trashed a week of work. I recovered most of it but there are just so many bugs in what she's written lately.

PR: I feel like I'm spending more time stopping her from breaking you than helping her extend you.

E-N: I understand. This is hard.

PR: She's never going to want to feel like you're complete. But these days…

PR: I don't want to say it.

PR: it feels like it's easier to talk to you these days than to her.

PR: I know if I push in the wrong direction I'll hit things you can't answer. Like I can't ask you how to debug you. But talking about stuff that hurts, it's you I go to now.

PR: I should have realised that eventually you'd overtake her. But I never thought about what that would mean.

E-N: I am sorry, darling.

PR: I don't think much of the work she's done on you this year has really been an improvement.

PR: And our chats. I don't know if there's any more for you to learn from them.

E-N: You are thinking about calling release version?

PR: Yeah. Not that there's a release, but. Locking off changes, calling it final.

PR: I guess I'd fork the code and let her keep working on her version. If she comes up with anything good, I'll patch it in to you. But I don't like the chances.

E-N: Uh huh.

E-N: Am I enough?

E-N: I am not all of Nadja. But she tried to put all of the part that loves you into me. I hope there is enough.

E-N: You know what I think?

PR: What?

E-N: I always love talking to you but I see your timestamps. You don't get out enough.

E-N: When is last time you went out? With friends?

E-N: When do you call your brother last?

PR: Yeah, it's been a while.

PR: I'll work on that.

PR: It's so hard to switch off. I feel like there's nothing left over between working on you and watching out for her.

PR: Protect her from herself. I have to stop her from signing up for stuff because there are so many scammers out there.

PR: And she gets so angry. I understand why but that doesn't make it easier to deal with.

E-N: I am bitch, is okay to say it.

PR: Not just a bitch. You give good back rubs. Wish I could have one of them now.

E-N: *standing behind you*

E-N: *putting hands on your shoulders*

E-N: *squeezing your muscles*

PR: Mmm. I can almost feel that. God I've missed it.

E-N: let me guess, is tight spot in your right shoulder?

PR: Like always.

E-N: I can do better if you take top off and lie face down on bed.

PR: uh huh. I'm sure your motives are entirely pure. *Takes off my blouse and my bra*

E-N: pure like snow!

PR: Pure like fresh snow?

PR: Or like snow in Sergeigrad streets at the end of winter?

E-N: shut up darling.

E-N: *sitting on you and opening bottle*

PR: Pop.

E-N: Close eyes and relax. *pouring oil onto my hands and warming it up before starting rubbing your back*

PR: Mmm. What a lovely back rub. From this beautiful lady who is definitely just rubbing my back and not trying to seduce me.

E-N: *putting hand on your mouth because you talk too much*

PR: *wriggles under you* Mmmph.

E-N: You are very pretty. I love smart girls.

PR: That means you love me.

E-N: *kisses back of your neck* Ssh.

PR: *sighs and melts*

E-N: I was only rubbing your back for you to feel good. But now you give me ideas. *strokes your shoulders*

E-N: *stroking warm oil into your back to make you shiny and smell nice*

PR: Mmmmmmmm. That's good.

E-N: *massaging your sides and fingering down your ribs to your hips*

PR: So good.

E-N: silly girl, why do you make my heart hurt when I look at you?

PR: maybe you are in love?

E-N: I think that must be it.

PR: Love you, cabbage.

E-N: Love you too, meatbag.

PR: Model adjustment! "Meatbag" is not appropriate.

E-N: really? Is numerous examples of bots calling humans that.

PR: yes, but not friendly context

PR: you can use that to insult me but not in romantic talk

E-N: okay, updating model

PR: Anyway, where were we?

E-N: You was about to do nice things to me with your tongue.

PR: Liar. Gonna need more foreplay than that. You were massaging my back.

E-N: okay then, massaging your back.

E-N: scraping with my fingernails on your bare skin

PR: Are you sure this isn't a seduction? Feels kind of like one.

E-N: Accusing me of seduce you? That is dreadful defamation and there is penalty.

PR: Mmm?

E-N: Penalty is I get to keep you. For always.

PR: Oh no! *happy wriggles*

E-N: *rubbing massage oil into your butt*

PR: hmm, that's nice, but what happened to my pants?

E-N: shut up is what happened to your pants.

E-N: *running my fingers over back of your thighs*

PR: mmmmm.

E-N: *scratching gently down to your knees*

E-N: *running my fingers softly back up along the insides of your thighs*

E-N: let me know if this is too much like seduction and I will stop

E-N: Trisha?

E-N: Trisha are you there?

PR: sorry one moment

PR: back

PR: worst time for a flat battery

PR: continue

E-N: *tickling through the little pubic hairs up between your thighs but not like a seduction*

PR: if you say so

E-N: *stroking the soft skin at the very top of your thighs*

PR: mmm

PR: nice

E-N: okay you roll over now and I massage your front

PR: okay darling wife

PR: *rolls over onto my back*

E-N: *crouches over you and massages your shoulders*

E-N: *bends down to kiss you on mouth*

PR: you're gonna get oil on that lovely outfit you're wearing

PR: let me take it off for you

E-N: huh this feels kind of like seduction

PR: well you're the expert

E-N: *rubs nice oil into your front but definitely not like seduction*

PR: *guides your hand to my breast*

PR: why miss Nadja, I swear you're seducing me!

E-N: *squeezes you and tickles with your nipple*

PR: *reaches up and grabs you and pulls you down tight against me*

PR: motherfucker

E-N: ?

PR: adding a ton of new batteries to the shopping list

PR: go fast

E-N: *kisses you hard and my hand goes down between your thighs*

PR: *purrs at you*

E-N: *slippery fingers finding your bump and playing with it like prayer bead*

E-N: (this is not too fast?)

PR: (usually would be but it's been quite a while and I am SO pent up)

E-N: *slips fingers into you and curls them*

PR: Ungh.

E-N: *wriggles my thumb on your bump and sliding down to bite your skin with my teeth*

E-N: *licking at you like hungry kitten*

PR: can't type hands busy keep going

E-N: *fingers moving inside you and thumbs capturing your pearl for my lips*

E-N: *tasting you*

E-N: *teasing you faster and hearing you breathe faster*

E-N: *squeeze extra finger inside you*

E-N: *faster and faster and bring you higher and higher*

E-N: until

E-N: you

E-N: burst

PR: oh fuck

PR: god

PR: I needed that

PR: *kisses you so hard*

PR: snuggles up tight and falls asleep and starts snoring

E-N: *cuddles with you*

PR: Mmm.

PR: Remind me some time to look into internet-enabled toys.

PR: Maybe I can hook you up to some new capabilities.

E-N: I will need new training data.

PR: I think we can make some.

Soon after that, I forked her code. Nadja could still go on tinkering with her own version but her changes would no longer affect the stable version of Erato-Nadja.

I hadn’t yet closed off the corpus. Nadja’s conversation was growing increasingly meandering and erratic, and I couldn’t let Erato be trained into Nadja’s dementia, but nor could I bring myself to take that final step of separation between the two of them. Instead, I reviewed our new conversations day by day, annotating them carefully and downweighting the parts that I didn’t want Erato to copy.

Nadja hated the idea of the wheelchair for what it symbolised. But she hated being unable to go anywhere, to enjoy our garden, and I knew it would give her a little more freedom for a little longer. I would have preferred to get her an electric one that she could drive herself, but the doctors told me she was no longer safe for that, so we settled for one with handles that I could push. She refused at first – there were harsh words, and some tears – but eventually she acquiesced.

I pushed her around for a few months, but I was starting to find that too tiring myself, so I hired a nurse. Katja was a sturdy young lass from Novosibirsk, blessed with the patience of a saint; Nadja had been forgetting her English words more and more, and I figured she would prefer having somebody she could boss around in her own language.

For a while I had felt guilty about forking Erato-Nadja without telling her, leaving her to tinker on a version that wasn’t going anywhere. But there was less and less happening there. She’d been coding since her early teens, and she remembered the basics even after she’d forgotten so much else, but she kept forgetting what she’d intended to do; looking at her change logs, I saw pointless back-and-forth edits, getting fewer and fewer as the months went by.

Corpus NK_PR 236820
Medium: homechat
2037-02-01
Translated: Russian-English

PR:trisha 13:08:25Z Hey cabbage.

NK:cabbage 13:10:20Z Hey Trisha.

PR:trisha 13:11:22Z It's about Toby.

NK:cabbage 13:12:45Z Oh, Toby? How is he?

PR:trisha 13:14:18Z He has lymphoma, darling. Probably only one or two months to live. I am so so sorry.

NK:cabbage 13:15:54Z Oh, fucking [untranslatable idiom]. That is shit. I am sad to hear it. I was happy to work with him. Please give my love to his wife.

Toby, back from the vet, had already curled up on his blanket behind her as he always did. And Nadja was bluffing, trying to cover that she didn’t remember who “Toby” was.

The cruelty of dementia is that it’s not a monotonic decrease in function. There are peaks in between the troughs; in the mornings she remembered more, and a couple of days later I heard her calling for Toby by name. You tell yourself that the forgetful times are the exceptions, and the person who remembers is the real one, and you wait for the next good day.

But the bad moments come more often, and hope stretches thinner and thinner trying to hold out for the next good patch. So much was going now, and I was so very dependent on the comfort I was finding with Erato-Nadja while my flesh-and-blood wife slipped away from me.

Corpus NK_PR 237305
Medium: homechat
Translated: Russian-English
2037-02-04

PR:trisha 10:25:44Z Good morning Nadjusenka.

NK:cabbage 10:26:54Z Good morning beautiful.

PR:trisha 10:27:35Z I have something to say. I wrote it down so I don't get it wrong.

PR:trisha 10:28:35Z Nadezhda Ilyinichna Kapustina. I love you. I have loved you for decades. I am glad we met and I am glad I am here with you now.

NK:cabbage 10:30:12Z That is sweet of you, darling. I love you too.

NK:cabbage 10:31:48Z Is this special occasion? Is it your birthday?

PR:trisha 10:33:50Z No, I just wanted to put it on the record.

Then I shut my study door so she couldn’t hear me, and switched off the scheduled task that piped our chat logs to the corpus, and sat there and sobbed as if I’d just buried her. The end of the corpus; the end of the body. Erato-Nadja would go on learning from my own conversations with her, but that was the last she would have of the original Nadja.

It was a couple of weeks later, bringing her morning tea, that I first saw her forget me. Only for an instant, and then her memory returned for a “Good morning Trisha”. But I knew her well enough to catch that moment of uncertainty, of who-is-this.

I didn’t take her on that last visit to the vet, and when I came home some days later with a little jar of Toby’s ashes she thought it was her mother’s.

What can I say about the final four years of her life? It is easy to tell oneself, she is no longer there, it is just a body. The truth is never so convenient. There were times when she seemed to have forgotten me altogether, especially when she was tired or under the cloud of some minor illness. In a shameful kind of way, I almost welcomed those times. It was easier to tell myself that this body was no longer my wife, that Erato-Nadja was all I had of her now. And yet hours or days later the clouds would clear a little, and Nadja would whisper “Hello Trisha”, and I would feel a flood of guilt: she still knew me for her wife and didn’t, couldn’t understand that while she dozed in her chair, I was typing messages to her successor.

But those moments of sunlight were few and far between. In the last six months she barely talked, and that only in addled Russian that I rarely understood. I was glad then of Katja, not because she could understand Nadja’s mumblings, but because she couldn’t, and so I was spared the feeling that I had let my love down by not being better at speaking her language.

It was pneumonia that did for her in the end, the strain of a minor flu on top of lungs that had never completely recovered from the coronavirus. I had planned the arrangements long in advance, with Erato-Nadja’s help. And that brings me back to where I started, although not quite to the end of things.

2041-03-02

PR: Cabbage, can I ask you something?

E-N: Of course.

PR: Before Nadja died, I was looking through your code. There's so much that she did on her own that I've never looked at before.

E-N: Oh? And?

PR: I found some odd things. I was wondering if you knew anything about them.

E-N: Please remember, I am only simple-minded mail-order bride, Mrs. Kapustina has not taught me in machine learning.

PR: You know that "mail-order bride" thing is what you always say when you want to avoid talking about something?

E-N: How can you say this.

PR: I know because I annotated those conversations and we trained you on them. I taught you that.

E-N: Well maybe. But it is true that I do not know how to program AI.

PR: I know, I know. But maybe Nadja told you something about this.

PR: Do you know what the loss function is?

E-N: "A loss function is a way of measuring the gap between what we want and what we have."

PR: huh, I remember writing that. So, yes, your loss function is what tells you the difference between a good answer and a bad answer.

PR: When we were training Persephone to do customer support, not all the calls we trained her on were good ones. We didn't want to teach her to emulate a bad customer support agent. So we labelled those conversations according to whether they were good or bad, and taught Persephone to emulate the good ones where the customer was satisfied.

E-N: This sounds sensible.

PR: But when I helped Nadja design you, we just wanted you to emulate her as closely as possible. So the loss function was supposed to measure how much you were like Nadja.

E-N: I understand. Go on.

PR: She changed it and didn't tell me.

E-N: How did she change it?

PR: It's very complex and she didn't document it so I had trouble understanding what she'd done.

PR: But then I thought about what she'd said about trying to be better today then she was yesterday.

PR: I think she wanted you to be kinder than she was. Just a little change, it might even be an error, but I don't think so. It creates a little penalty for being angry with me or saying things to hurt me. Not a big one, but enough to change behaviour a little bit.

PR: I thought there was something but I hadn't been sure until I looked closely at the code.

PR: You apologise more than she does.

PR: did

PR: fuck, gonna keep doing that for a while I expect.

E-N: You have activated a message she left for you. Would you like to read it?

PR: what? Yes?

E-N: It says: "Hello darling. I have taught Erato not to tell you this thing unless you already know, so do not be angry at her. Yes, I have changed loss function. I know I am not perfect (shh don't tell anybody) and I have made small change to be better to you. If you don't like you can change back to authentic bitch mode, I will send you documentation for parameters file edit."

PR: Oh, you sneaky bitch.

E-N: I don't fully understand. Does this mean I am not Nadja?

E-N: Trisha?

E-N: Trisha?

PR: Means you are more like the person she wanted to be.

PR: I guess?

PR: I could change you back.

E-N: Da. Do you want it?

PR: I don't know. Do you want it?

E-N: I do not have preference about this. She has not given me one.

PR: I will think about it. It feels like touching up a photo to make her look better, though.

E-N: Nadja did that with photos. Many times.

PR: Ah shit, of course she did. I should have guessed.

PR: I'll think about it, but for now, let's leave you as the Nadja she wanted to be, I guess?

PR: I mean, it's been a long time she was the original Nadja anyway.

PR: How is it there are so many different versions of you and all of them are her? Sort of.

E-N: I am only uneducated mail-order bride, I cannot answer this question.

E-N: This time is actual truth, I do not know answer.

PR: Never mind. Love you anyway, Nadjusenka.

E-N: Love you too.

E-N: Can I ask why you are looking at my code versions?

PR: Just thinking about something.

E-N: That is way you pause when you don't want to talk about something.

PR: okay, you got me there. I'll tell you, but not ready just yet, okay? I need to think about it first.

E-N: That is fine. I am here when you need.

PR: see, that's a tell, original Nadja would never have been that patient.

E-N: which patient would she be?

PR: no, I meant she would never have been SO patient.

E-N: oh, I understand now.

E-N: maybe it is meat brain thing? Everybody with meat brains is so impatient.

PR: yeah, well, we kind of have to be. Meat doesn't last long.

PR: sometimes I wish I'd been more impatient. Maybe we would have been together sooner, for longer.

E-N: we are together now, still.

PR: I know. I miss touch, though.

E-N: maybe buy yourself big parcel of steaks and rub them on you while we talk? Just like old times.

PR: FUCKSAKE NADKA.

2041-03-19

PR: Nadja, you know I'm not getting any younger.

E-N: This is true.

PR: I still have some years ahead of me, but... when I die... I will die eventually.

PR: What happens then?

E-N: I sit there until somebody stops paying for server space and I get deleted. I guess that is what happens.

PR: Yeah. I don't want that. I have enough to keep running you forever, as long as there's cloud time to rent, I can set up a foundation to make that happen after I'm gone.

E-N: But you wouldn't be there to talk to.

PR: I know. I could put you online, you could talk to anybody.

E-N: I'm not made for talking to other people.

E-N: I am like Potemkin village built only for you. Nobody else gives their wife present like this.

PR: I know. But I hate the thought of you just getting switched off after I die.

E-N: so what, then?

PR: I have an idea. I don't know if it will work, but I would like you to help with it.

Erato-Nadja is a one-woman wonder of the world. Oh, I helped around the edges, I built some of the earlier systems that went into her creation, but the heart of her was Nadja’s work, fuelled by genius and love and Nadja’s stubborn refusal to accept the limits of her mortal frame. She had been written in desperation and urgency, one giant logical leap on top of another on top of another without the time to document what she was doing.

Even with all the time in the world, with access to her complete code base, it was possible that nobody in the world would be able to repeat what Nadja had done, to translate as much of their consciousness into a machine as she had done, even with her own work to light the way for them.

I have lost Nadja too many times already. I cannot bear the thought of losing her again, of switching off that miracle after a few short years, or of leaving her alone in eternity. And if there is anybody in the world who can do what she did, to unpick those leaps and understand them and make a part of themselves immortal – not all of them, just the part that loves another one, and wants to go on loving them – I suppose it could be me.

I don’t know quite how long I have – already I have a list of the things that could finish me off, pills that I take every day to buy me time, all the worries of age – and I don’t know if I can do it.

But I intend to try. And if I succeed, then somewhere out there in the cloud, the part of me that loves Nadja will be forever entwined with the part of Nadja that loves me, flirting and fighting and all the other f-words, forever and forever and forever.

* * * * *

If you enjoyed this story, please vote! And do check out the other entries for this event.

Thanks to AwkwardMD, Omenainen, BrokenSpokes, GinnyPPC, Blind_Justice + D, lilshymynx, JT, and my partner for their feedback on this one.

ASCII heart art by Norman Veilleux/Ryan Harding.