One year ago today I blogged that I'd never drop out of college. In retrospect, this was a pretty ridiculous thing for me to have said, given that I'm writing these words thousands of miles from Penn, at the desk of my full time job, and that I have no intention of ever completing a college degree.
The shift started this past Fall semester. I didn't have a great semester - wasn't into my friends, classes, or extra curriculars - and dreamt of leaving school and doing more of what I wanted to. On a trip to the Bay that semester, I happened to meet Karine Hsu, who was taking a year off from school for "family reasons" and worked for a startup in her spare time. My first gut reaction: I wish I had family reasons so I could take time off from school! My second thought: You fucking idiot, don't wish "reasons" on your family so you can have an excuse. Just do what you want to.
And after a few weeks of talking the idea over with friends, family and mentors, Professor Adam Grant was the first adult to support the idea. In fact, he really supported it. "Best case", he said, "you love it and realized that school's not for you and you stay there full time. Worst case, you hate it out there - or you realize it's no better than school - and you come back with the knowledge and appreciation that this is the best place for you."
Then he said something else very impactful: "There is so much social pressure keeping you locked in the university track - friends, parents, classmates, professors - that the fact you've gotten this far, to my office, says all I need to know. You've come far enough. You really should go."
It took another few weeks for me to think it all over, but that conversation basically did it for me. I reached out to a few startups, got an internship lined up and handed in my leave papers. Turns out the "best case" that Adam talked about is what happened. I simply love working in tech in SF. There is no way I'm going back to Penn anytime soon; I'm just having way too much fun out here.
This 180 degree turn begs the question, "If I'm just going to change my mind all the time, what's the point of blogging?" It seems like the only safe time for me to spout my wisdom when I won't be in danger of potentially retracting it later is on my deathbed. But I believe that blogging serves a far greater purpose than giving people advice. I've come to the realization the blogging is as much for the writer as it is for the audience. In this sense, I believe that the human brain is an HTTP server and that blogs are our best approximation of logfiles. Bear with me for a minute.
Like gods, we humans design software systems in our own image, and one of these systems is the client-server architecture. The way a server handles requests is uncannily similar to the way the human brain asynchronously responds to stimuli. Similarly, although servers and humans respond to many "requests" at the same time, we find it much easier to reason about things from the perspective of one "thread" at a time. It's all but impossible for us to follow a simultaneous mush of disparate trains of thought all happening at the same time. However, I believe that this is exactly what we're trying to do when we think trapped in our own heads: we're analyzing the output of asynchronous code from the perspective of one synchronous thread. It's all but impossible.
But as it turns out, we've invented a very primitive technology to help solve this problem, namely the logfile, which takes the output of many simultaneous threads and encodes them into a format that humans can conceptualize. The logfile enforces that only one thing can be happening at a given instant in time. Serialization is the key. It's is the unifying fact about logfiles. This happened and then that happened. This then that. In that order. From this serialization, we can reason about things as if they happened in a single thread.
In this way, thinking through problems out loud (with another human or even a teddy bear) is a form of logfile because it forces us to pick only one thought out of many threads to actually say at a given instant. Writing is an even more rigid form of logfile, for it forces us to examine and more even carefully chose the exact words we want before and after each other word. In similar vein, a blog is even more a logfile, because it forces us to say in front of our peers one and only one thing at a given point at time. It makes us put a stake in the ground and say here's what I'm thinking right now. Here's my stack trace, exactly how I got here. Here's my local variables, global state and operating assumptions. As you can see, I took a right at this if-statement and a left at that one.
I don't know where I'm going next. Nobody does. I may be responding to this post a year from now from a PhD program from across the globe. All I'm saying at this very second is: here's where I'm at right now.