50 Shades of Programming: What if Christian Grey were a programmer?
- “You can leave anytime. The helicopter is on stand-by to take you whenever you want to go, you can stay the night and go home in the morning. It’s fine whatever you decide. You don’t yet know what you’re in for. You could still run for the hills. Come, I want to show you my playroom.”
- “Just open the damn door, Christian.”
He opens the door and stands back to let me in. I gaze at him once more. I so want to know what’s in here. Taking a deep breath I walk in.
And it feels like as if i lost myself in NASA headquarters. Everywhere are electronic devices. In the centre of the red room there is a bed. In the twilight, I can see the light from the monitors. It’s soft, slightly red. He’s definitely using Flux. Does he spend all nights in this room? Holy fuck.
- “You’ve got so much technology here. Why do you need this vast amount of electronic devices in your home?”
- “I trust only computers. I like to play with them. There’s logic behind their thinking… Sometimes I wonder if there’s something wrong with me. Perhaps I’ve spent too long in the company of computer programs, and consequently my ideals and expectations are far too high.”
I was scared. Is he some kind of sociopath? I can agree that computers can be more predictable than humans, but why have an army of PCs in your bedroom? Something’s not right. I was standing there all the time. I’ve made only few steps from entrance towards the centre of the room. Should I turn back? It’s not safe here. Suddenly, I’ve heard a voice which brought me back from my head to reality.
- “You look frightened. Don’t worry. I’m not some kind of dictator. I don’t want to take control over the world using an army of robots. This… this is just how I relax… I program after the work. I didn’t want to scare you.“
I decided to take a leap of faith and stay, but I’ve turned towards the exit. He was standing next to the door observing my every move. I came close to him. I put my hand into his pocket, grasped the phone and yanked it out as it was burning hot. I texted my friend, Kate, that I won’t be coming home tonight.
- “Okay. Open the editor, Christian.” — I said when I cooled down.
He opened a Vim. I knew there was no exit.
We have been meeting for 2 months now. He wants me to sign a contract. He gave me a copy of an agreement. We’re going to negotiate the terms. He wants me to be his “submissive”. He doesn’t know yet that I’m the one who’s going to get his autograph on the contract.
I’ve learned more about him. He’s very charming, but stays in home or in the office mosts of his time. He doesn’t want to go on dates like normal people do. He doesn’t trust third-parties, not even open source.
- “I don’t trust open source anymore. You shouldn’t too. My heart is bleeding every time I remember OpenSSL fail.”
I didn’t know that someone could knew as much as him about programming before.
- “You’re man with a class. In the past I’ve met various men, but none of them were like you. You’re exceptional.”
It was time to show him my real face. I liked him, but he wanted too much from me…
- “I didn’t tell you, but I’m a recruiter. I want you to sign a contract.”
- “No, it goes the other way. You’re the one signing contract, that you willingly surrender yourself to me, in all things. Why didn’t you tell me earlier? I have to punish you. We will program in COBOL.”
He was really pissed off. I couldn’t stand that. I will never program in COBOL. It was time to give up on him. At least for a while, to give him time to reconsider his behaviour…
I was standing next to the window. Storm was raging outside. Christian was sitting on his chair and programming. I know he doesn’t like to be disturbed, but I had enough of this silence.
- “Why don’t you like when someone touches your code?” — I asked him.
- “It’s no longer the same, Anastasia.” — he replied without even looking at me. Then he paused for a while. He stood up. His eyes were sad. Has he survived something terrible in the past? He looked at me and continued:
- “You have to get through lots of spaghetti code to find your perfect project. I’ve found one. I won’t let anyone distort its architecture. Take for example, using exceptions as regular flow of control. I’ve seen the things, Anastasia… I’m no longer the same person.”
- “That’s insane. How could someone program like this? What about you? Do you use exceptions at all, Christian?”
- “Yes, sometimes I make an exception and answer stupid question.” — he replied rudely. Then he became quiet. He was confused. Did he hide something?
- “Do you really want to see my 50 fucking shades, Anastasia?”
- “Show me all of them, only then I can fully understand you.”
- “When I was a child I used to use shortcuts for variable names: a, i, evt, tmp, arr. I did it. I was programming in such way that no one could understand what I’ve written. I’ve considered myself magician. This is brutal truth about myself. I’ve used go-to programming… They said it’s good. Spaghetti was my second name and I was proud of it. When I had to do TDD — I’ve used timeouts in them… I’ve even used sleep() to work around Elastic Search index refreshing problems. And last… I’m really bad person… I… I… I’m the one who had thrown exceptions and used them to control flow.”
- “Then throw me like I’m one of your exceptions.”