- In the anatomy of a computer program,
there are three parts.
There's the input that the user has to put in.
And then there's the processing of that input
via whatever algorithm is in place.
And then the program hopefully produces some kind of output.
So when life here gets overwhelming or messy,
which is pretty much always,
sometimes I like to frame things
in relation to these three steps.
For instance, I'm on the train
and someone says hi to me, that would be the input.
And then I process it via my own algorithm,
which is somewhat Dr. Seuss machinesque
and I think, okay, well,
I haven't seen this person in a long time,
but I'm getting off of the next stop.
So, any conversation I start
is going to be kind of meaningless,
but how do I convey to her
that I actually do care about what she's been doing?
Maybe I should suggest coffee,
but that'll sound like an empty promise,
which it probably is 'cause I'm a huge flake
'cause I can't keep,
you know, that's why we haven't talked to each other
in so long, because I've let this friendship die.
Because I can't commit to anything.
That's why I'm wasting the best years of my life
in this dead end job and I can't.
(audience laughter)
And now I have to say something
because, does she know I'm having
an existential crisis on the L train?
Like I have to--
So that's the algorithm.
And then, um
(audience laughter)
And then I produce the output, which is, uh,
Oh, hey!
So.
(audience laughter)
So perhaps this does not demonstrate my ability as a,
as a computer programmer.
But I am apt in when I program in Java
because I took a lot of computer science classes
at the high school.
I went to a computer programming competitions
and I just loved the irrefutable logic of code
in what is otherwise
like this anarchistic acid trip,
completely abstract thing of high school.
So it should come as no surprise
that my first and only relationship in high school
was with computer science boy,
and it went exactly, as you would imagine,
we only communicated in binary
(audience laughter)
and we would hold hands,
but while we were petting my dog,
so we would just kind of submerge in the fur
and then touch hands and then freeze.
(Audience laughter)
And the kissing function, we had not debugged yet
so we didn't do a lot of that.
And the input was me looking at him
and the output was furious blushing.
And I just remember being floored that someone liked me.
And so that translated
into this kind of enormous, overwhelming, foreign data
that I couldn't really process.
And so when we split up
because we went to different colleges,
I was not devastated because I just remember
trying to figure out this algorithm
for how I was going to process,
like, how did this mystery, this data, like,
how did he like me and, and what,
you know, the thing about the funny thing about computers
is that they don't need to be loved.
And the funny thing about people who relate to computers
is that you start to subscribe to the same view.
And so I carried that unprocessed data all through college,
accepted no new input, thank you very much.
And then that leads us to what I like to call
the syntax error incident of 2012.
(audience laughter)
Where I was at my cousin's wedding
and I was enjoying the anonymity
that comes with being a guest at a wedding
because nobody really cares what you say at a wedding.
They ask questions, blah da blah,
"What do you do? Who are you?"
Immediately forget what they're saying.
So I'm pretending to be wildly successful
when they ask what I'm doing in New York City,
the big apple, and I'm just,
I'm not saying that I'm wearing a hand-me-down dress
from my mom's friend.
And I'm definitely not saying that my shoes
are from a literal thrift store,
and then I meet this guy and he,
his introduction, he's a friend of the bride.
He says that he's a Java developer
who works at an online investment company.
That was the input.
And no matter how many times
you run yourself through test cases,
you're going to come upon situations
where you produce a wildly unexpected outcome.
Errors is what we call those
and an outcome that makes you immediately
quit the run of the program.
And you go through your personality line by line
and you figure out where in the Sam Hill did this happen.
(audience laughter)
And so he gave me the input
and without missing a beat
I, where did this algorithm come from?
I responded with my output and I said,
realizing this handsome stranger
was also a computer programmer,
I said, oh, haha well,
system dot out dot print, line, parentheses, quote, hey
end quote, end parentheses, semicolon.
(audience laughter)
And, which I spoke to him a line of code
that would literally print the word, Hey,
and then I entered an infinite loop of regret.
(audience laughter)
And I, so I exited the conversation swiftly
and I turned around and I walked away
and I thought to myself, okay,
well that occurred and, um,
(audience laughter)
and then you,
but when you kind of have an experience
where you are so yourself like that,
you have to stop feeding yourself that bullshit input
that's like, my algorithm needs to be changed
in order to be lovable.
And you start to feed yourself this thing that's like,
okay, well, I'm the kind of girl
who opens flirtatious interactions with a line of code
and possibly that's lovable.
And I don't even want to tell the end of this story
'cause the point has already been made,
that everyone has a lovable algorithm.
But incidentally, this boy is now my fiance.
- [Audience] Ahh.
And we're writing this error filled short-circuiting program
line by line, but we're debugging it.
Thank you.
(audience cheers)