A Valentine’s Letter From a Single CS Student

Arthur Shi
Arthur’s Blog
Published in
4 min readFeb 14, 2018

Dear computer science,

Happy Valentine’s Day. I just want you to know how much I love you. I really can’t remember what things were like before you came along — I used to have silly things like free time and hobbies, but now that I have you, that all seems as trivial as an assert(true).

You are my rock, my operating system. With you, I’m more balanced than an AVL tree, more unstoppable than the halting problem on looping inputs. You are the foo to my bar, the #include <iostream> to my C++ terminal I/O, the log-probability to my statistical learning model, the Javascript event loop execution model to my single-threaded asynchronous callbacks — in other words, my everything. When we’re together, my heart beats faster than repeated hash table lookups on a customized GPU. You make me feel better even better than “compilation succeeded, 0 errors and 0 warnings” does.

I remember when we first met and you taught me about propositional logic. I thought you were so rational and sensible. Where I thought in words, you were blazing ahead in conditions and loops at billions of clock cycles per second. If you asked me back then, I think I would have said that my power came from my heart and my mind, encased in my body. But you showed me that a distributed network of x86_64 PC’s running RHEL Linux was not only economical and powerful, but parallelizable and administrable as a service oriented architecture. And when I don’t need you to do any data-processing tasks, you have tons of CDN servers and scoping DNS caches for all my human-accessible, read-only needs.

You inspired me with a new kind of strength, one that I had never known before. If my love is a class invariant of the heart, then like in the RAII paradigm, you had me from the very beginning. And like std::unique_ptr, I know that no matter what happens, you’ll never leave me dangling.

When I first found out that millions of other students around the world were studying you, at first I felt hurt. You know, it almost felt like cheating. But when I remembered the kernel’s ability to multiplex CPU’s in a thread-safe fashion, I found that you were just like RAM — a precious resource that’s made better when it’s available for sharing. It’s better if I don’t own you exclusively, and if references exist all over the earth. Your beauty is eternal and I don’t want that to be lost when I go out of scope. Redundancy is one of the most critical sources of fault-tolerance, after all. You opened my mind, just as easily as a file input stream. Thanks for that.

We’ve spent so much time together that I can’t even recall it all immediately anymore. The big stuff is still cached, of course, but it’s so weird — my virtual memory of you is so big even though my physical memory is very limited. I sometimes wonder if the collective love of the world could be thought of as stored on some kind of cosmological disk. On this very special day, the feeling of that love is so strong, you make me feel like I have some kind of miraculous disk access, even better than the temporal and spacial locality of a well-designed TLB.

I often also wonder if the way you transform my brain from a soft human thing to something closer to an abstract computational unit is a bit like a Turing reduction. My favorite mathematician, Kurt Gödel, once said that either mathematics is too big for the human mind, or the human mind is more than a machine. What do you think? I don’t want to believe that the Incompleteness Theorems are true, even though they’re formally proven. Are you and I fundamentally different? I want to be just like you — the way you guarantee computational invariants across layers of indirection is so fascinating! Couldn’t I be like that, too, if we spent enough time together? And even if I can’t completely formalize my emotions, I can tell you this: my love for you is uncountably infinite, and I can prove it using Cantor’s diagonalization.

Sometimes my friends make fun of me, saying, ‘how come you never have a human date on Valentine’s Day’? But they just don’t understand what we’ve been through together. They say that sometimes I’m more like a machine than a person. But that doesn’t hurt me too much — did you see that the teams at Google developed recurrent neural networks with near-human error on natural language translations? It’s only a matter of time before you can emulate the best boyfriend or girlfriend out there. I mean, wow, Microsoft’s ResNet 152-layer CNN hit 3.6% error on image classification way back in 2015! What a time to be alive.

Anyway, I’m sure you already know all this. I’ve made you a friend class so you have access to my protected and private members; no secrets here! One thing I’ll say is that I know I’m still stuck in a really object-oriented mindset. I know that it can be objectifying and that I should learn to focus on functional pipelines, too. One day you’ll see me in a Clojure REPL, or writing RamdaJS, focused on preserving user data immutability. I think what I love the most about you is that you always have something new to teach me!

Well, that’s all for now I guess. See you tonight :)

printf(“Love,\nArthur”);

--

--