# Texting the ex / Steppenwolf tribute ## Scene list * I get roasted by the AI model of my ex girlfrined * I hire an SW to make me forget about her. It works for a while each time. * I wonder if I'm too different to find somebody to connect to ## Big Ideas I got dumped. I'm stuck on it. I can't get over her. I start using my computer to try to figure out what to say to her to get her back. I pay for an SW to help me get over her. We do some kind of science fiction sex. She says it won't work if I keep thinking about her. I need to think about something else. Instead of following her advice, I spend my time working harder on figuring out how to say the exact thing. ## Screenplay ### Scene: I break down and do it. Camera shows me on couch trying to watch something. I use voice commands to search for movies. Like the system says "what about this one" and I say "no" and then after a while I get more frustrated. A bunch of quick clips: * I do some push ups. * I shower. * I brush and floss my teeth. * I stare at the ceiling in my bed. Then I say, "OK fine I'm asking her." and get up and go to my laptop. ### Scene: She blasts me Camera shows me while I sit a table and type on laptop. Camera shows text on screen (something like a signal desktop client, labeled ${Melissa} or whatever): Me: Hey, I want to ask a favor. Then camera is back to me. Me: I'm stuck on some stuff. I want to ask a few questions. Camera shows computer screen with her reply. Her: ok Camera back on me. Me: You said when I got my stuff back that you lost feelings for me in November. Me: But we kept going out. I wish you ended it earlier. Maybe I wouldn't be hurting like this still. The next weeks until it finally ended was you pulling away. Spending less time with me. Avoiding me. Me: It sucked. I told myself you were busy with your life, and I was being supportive to give you space. But really, you just didn't want to be with me. Camera shows me watching screen. Time passes. Camera shows the clock in the corner of my Me: What's wrong with me? What turned you off about me? Her: {eyeroll emoji}. Her: You're insecure. Me: OK Her: You're needy. You're anxious all the time. I thought I was anxious. But you never relax ever. Her: You're just weird. You thank people too much. Her: You think you're a burden when you're not. But then you want others to reassure you that you're not which leads to other people feeling drained by you. Her: You think helping people and them feeling grateful is the same as them wanting to be your friend, but it isn't. Her: You sometimes look great and then there's spans of time where you stop taking care of yourself. Her: And you have a wandering eye! Holy shit. I forgot about that. Yeah, you're obviously ogling women all the time, but subconsciously. It's rude. Her: You didn't listen when I talked. You fell asleep that night. Her: Your house is a mess. It's unfinished. Want me to continue? I close the laptop. Voice Over (me): Actually, this isn't what happened. VO me: This was just when I ran the simulator and said to show me some of the times where the sentiment analysis on her replies on average was the same as sentiment analysis of "hostile". ### Scene: me explaining the experiment to Ashley Me: And a lot of times in the simulator, she did something like this: VO me: In a few simulations, she said something like this: Her: that was so long ago I don't remember why. I'm seeing somebody else now. I hope you find some peace but please don't contact me. Then here's one way it played out differently because of how I started the conversation: Me: You barely even knew me! Here's what the conversation that I wanted to get to: Me: {something goes here} Her: Hey. I want you back. I realized I was pushing you away. I have issues. I'm so sorry. You're amazing. Can I see you? But what do I put in there? I tried a ton of ideas myself. I told the AI to try guesses and show any opening messages from me that would get any response from Her that was at least a little bit like it. I ran the code on my own server until I got a warning that it was gonna overheat. It was able to run the simulation in about 20 minutes. But the guessing something new to say took a while. I added code to check the new guess vs previous guesses and don't use a new guess that was too similar to another one. That made the guess-making script a lot less predictable. After a dozen tries, it took longer and longer to figure out something to start the conversation that hadn't already been tried. I uploaded the code to a remote server that lets you pay for their CPUs. I rented enough nodes to run ten thousand guesses and simulations. I ran it. I had the script show the count of new guesses. I did some other stuff while it was running. I ran the AI for a minute ($5) and it ran like ten thousand variations, and none of them were good. I said to rank them, best to worst, and save the results. That first thing is from in there. Then I changed the system so it would just generate guesses, compare them to the ones already saved in the database, and select its nearest neighbor. If it is at least close to what I want, keep it. Otherwise, trash it. Forget about it. Try something else. The way the similarity code works is kinda weird -- there's a function that does this:: # Take ideal reply in text, normalize it, convert to a vector of points. ideal_reply_raw = """Hey. I want you back. I realized I was pushing you away. I have issues. I'm so sorry. You're amazing. Can I see you?""" semantic_ideal_reply = semanticlib.parse(ideal_reply_raw) ideal_reply_as_vector = semantic_ideal_reply.to_vector(num_dimensions=12) # guess = make_a_guess() guess = make_a_new_guess(previous_guesses) if guess: previous_guesses.add() her_reply = simulate_conversation(guess) # Like the distance formula from school, but instead of two or three # dimensions, I'm using 12. guess_score = find_geometric_distance( her_reply.vectorized(num_dimensions=12), ideal_reply_as_vector) How close is this guess's simulated reply to the ideal choice? elif: # Like the distance formula from school, but instead of two or three # dimensions, I'm using 12. guess_score = find_geometric_distance( her_reply.vectorized(num_dimensions=12), ideal_reply_as_vector) Voice Over: a lot of guesses were nonsensical, so the simulation came back with her not even replying. So then I added in this purple monkey dishwasher filter: # Discard any guesses that are worse than texting her "purple # # monkey dishwasher". bad_guess_score = find_geometric_distance( semanticlib.parse("purple monkey dishwasher").vectorized(12), ideal_reply_as_vector) if new_guess_score < bad_guess_score: yield None ### Scene: At a bar with Ashley Me: I told the system to run and keep trying out different conversations and then I go through all her replies, and score them based on how close they are to the ideal reply I'm hoping. And the opening lines that get to that. Ashley: Maybe though it's not really something you can control. Maybe she's fucking somebody else. Anyhow, it doesn't matter. She's gone. You're missing out on the life around you because you're ignoring it, instead, worried about her. It hurts, but this is how life goes. ### Scene: I realize it all I stare at a graph of guesses by where they score. And where the ideal conversation is. They're really nowhere near it. Me: there's nobody getting even close. Then I realize that she lost interest maybe because of something outside of me. Like Ashley said, maybe somebody else caught her eye. Maybe the initial rush wore off. Especially because I played distant for a while. ## Casting Imagine Carma from TikTok recording this on her side. I love her cuz A: she's gorgeous. B: she's an actor already. C: she and I are friends! ### Notes Camera on me, working on computer. Starting a video recording, and then I say my lines. Then I type and say out loud, "And ... send!" Camera on Her. She is in front of her laptop. A bell rings and she sees a notification on her screen. She says her lines. Camera back to me. I say more lines. Each time, when camera cuts to her, it follows this pattern, roughly. Also, I want to record this from several POVs. One is the literal web cam on my computer. Other is a few cameras in my room. On her side, same thing, hopefully. She records her lines literally on her phone. And there's another camera that shows her recording it. The video on her should show her inactive, then becoming active, then becoming inactive. Like after she scorches me, she turns away and looks blankly at the wall, total NPC style. So it's subtle, but clear, that she's a robot.