tim: A person with multicolored hair holding a sign that says "Binaries Are For Computers" with rainbow-colored letters (binaries)
[personal profile] tim
I stumbled upon this essay I wrote almost ten years ago, which I wrote in order to shake out all the laughs before writing a genuine statement of purpose.

I have edited it heavily in order to remove the more libelous parts and to redact the names of the person I was asserting I wanted to work with as well as my own name-at-the-time. Those mentions of specific people that haven't been edited out are of people who I think highly of. Really. I meant well.

I'm posting it not just because I think I'm funny, but also because the parts of this that aren't lies are a little bit revealing of the career path I actually took and I like to think that might be helpful for someone reading this who's starting out in the same field. Not that I would recommend anyone do what I did.

At the time, I said I was going to make this public once I had tenure. Since I'm never going to have tenure, I'm posting this now. And really, isn't knowing that I'll never have it a little bit like getting it, without all the hard work?

"Statement of Purposelessness".

Originally written in Cambridge, England, November 21, 2006
Heavily edited, May 10, 2015

Dear [REDACTED UNIVERSITY],

I would like to be admitted to your graduate program in order to study functional programming. I like functional languages (particularly Haskell), because they let me be as lazy as possible when I write programs, and I'm a very lazy programmer. I also like Haskell because Haskell programmers seem to be a lot hotter than other programmers on average. What can I say, I have a weakness for guys with ponytails. The only problem is that there aren't enough women who do Haskell, but the men are girly enough that that kind of makes up for it. I mean that in a nice way.

I want to attend your university and work with [REDACTED] because few other professors are as successful nerds as the one I aspire to be. I hope to learn from him about how to title papers with ridiculous puns, take off my shirt during talks, and still be respected by more or less everybody. I would also like to learn from him how to get a cushy industry job during the tech bubble and then retreat back to a cushy academic job when the bubble bursts.

I've achieved my current state of programming language enlightenment by being stubborn, unimaginative, lazy, and foolish, so I plan to stay on that horse and ride it to the finish line. As a graduate student at UC Berkeley, I found that no one else was interested in working with me on pure functional programming, because they all had some sort of silly idea that the techniques they developed should be useful to industry and help real programmers. My advisor there told me that I would never get a job after grad school if I worked on functional programming, but right now I have a job doing functional programming and I haven't even finished grad school, so NYAH to him.

Since I didn't really want to work on a project that somebody else was working on and acknowledge that just because a language was used by millions of programmers around the world it must be worthwhile to write analysis tools for it, I stubbornly continued to work on my undergrad project, which consisted of implementing an algorithm so boring that its original designer gave up on it. I worked on this project for two years while in grad school and not only did I write a master's thesis on it that not even my advisor read, I utterly failed to even submit a paper to a workshop, much less a conference, much less get a paper accepted. I didn't even submit a tech report. The other faculty were so uninterested in what I was doing that my second reader on my thesis was a professor I never even met. Even so, I stuck with the project because I was too unimaginative to think of anything else to do.

Also, being lazy, I didn't want to implement the compiler pass I was writing in the normal way in which anyone would write a compiler pass, i.e., in a compiler. I had heard scary stories about how hard it was to understand GHC, so in order to avoid modifying the compiler, I decided to use its so-called "External Core" interface, which led to me gaining a lot of experience fixing bugs in it that usually had to do with things like the character literal whose numeric value is 0xffff not getting treated properly (your guess is as good as mine). In fact, I got to know GHC so well that Simon Peyton Jones offered me access to the CVS repository. Thus, my efforts to avoid modifying GHC led directly to contributing code to it. It's not as if I actually accomplished anything useful in the process, though, since once I stopped using External Core, no one else started using it for their work, and it never kept up with the changes in the rest of GHC.

The best thing about going to grad school at Berkeley was that sometimes they paid for me to go to other places, like Pittsburgh. That's a little sad right there when you think about it. Of course, if this were my statement of purpose for CMU, I'd be talking right here about how much I loved Pittsburgh. I love being manipulative. I also love constructing my essays via copy-and-paste. And that's why I want to go to grad school at Northeastern.

The way I ended up getting interested in functional programming to begin with was because of my undergrad advisor, who could probably make toe lint seem interesting if he wanted to convince you it was. Basically I would have gotten interested in the history of Sumerian underwater basket weaving if that had been his thing. Like my proposed advisor at [REDACTED UNIVERSITY], my undergrad advisor is sometimes known to wear a cape in public and is basically kind of a weirdo. I mean that in a nice way, though, and he must have liked me at least a little too, since he wrote me about 100 pages of grad school recommendations when I was a senior. This led to me getting accepted to 18 grad schools, but I wasted that opportunity by picking the school that was in a fun city rather than the one that had the best functional programming research group, and being unwise enough to get married to somebody, so that I had to pick a school that they could go to too. Let me give you some advice right here, folks: marriage is for losers. So you can see why I did it.

I was basically doomed from the start at Berkeley, especially since they had oral exams, and I was somebody who seven years ago couldn't even go ask somebody for an email account without getting panicky. However, while in Berkeley, I did take much advantage of the many enriching cultural opportunities the school had to offer, such as its Quiz Bowl team, and... well, sometimes I went to movies.

I want to go back to grad school because I'm very lazy; did I mention that? I should explain that I flunked out of Berkeley because I said during my prelims that subtyping for function types was covariant in the result type rather than being contravariant (or is it the other way around?). But really, so what? Bertrand Meyer made the same mistake, and look where it got him. Besides, Haskell doesn't even have subtyping.

I got a couple more chances to take prelims after that, but the professors hated me, and also I didn't study. So I tried working at a number of jobs in industry, but I found that the problem with work is that you usually have to show up at around 11 or 11:30 AM at the latest and sometimes someone watches you and complains if you surf the web during work hours. That's really no good at all, and also industry jobs don't have enough free food [*], so I'm applying to grad school again. I actually applied to grad school again once just as I was leaving Berkeley, as if I hadn't learned my lesson yet, and got into Cambridge, which is still my first choice school, so naturally I ended up deferring Cambridge for a year so I could work at a shitty job and then deferring Cambridge altogether to go back to Berkeley to be a student in a graduate program that I always used to make fun of with the other CS grad students. This was because that person I married was still in Berkeley and showed no sign of being ready to leave, being a fellow grad student. It turns out that if you're going to be an academic, it's a mistake to care about anyone -- that's another lesson I learned from Berkeley professors.

But besides, I didn't really want to leave Berkeley and move to another country either; can you imagine all the boxes I'd have to take to the post office? I have a lot of books. Also, rabbits, and when you bring them to England they have to be quarantined for like six months. Rabbits don't even live that long, so what's the point? I could give them away when I moved but then I'd just be an irresponsible pet owner. If there's anything I'm not, it's an irresponsible pet owner. But then again, I once left my rabbits in the care of somebody who'd once allowed her rabbit to eat some marijuana while she wasn't paying attention, so maybe there just isn't anything I'm not. Then again, maybe that just makes her a bad drug user rather than a bad pet owner. This statement of purpose seems to have strayed far from the original point, much like my career. I should mention that I've worked for both a sex toy company and a defense contractor. Sadly, I never managed to combine both interests to develop a termination checker.

I mentioned before that I got to know the GHC developers by trying to avoid doing GHC development. Well, some way or another this resulted in my getting an internship at Microsoft Research to work with Simon Peyton Jones. Working with Simon has been a mind-expanding experience; I aspire to also someday answer technical questions with "wombat". In any case, I'm mentioning this because I'm hoping that it'll impress you enough that you'll be distracted from the part about how I wasted the last five years. Honestly, I'd really just rather keep working at Microsoft doing what I'm doing now than go to grad school, because Martin Rinard told me once that the best way to pick an advisor is to find the person you want to be a clone of and then attach yourself to them. Then again, Martin Rinard also answers cell phone calls during lunch, so he doesn't know everything. I'm not actually saying I want to be a clone of Simon. For example, I wouldn't wear socks with sandals. I mean doesn't Microsoft pay their full-time researchers enough to buy some shoes. I should also make it clear that when I say "doing what I'm doing now," I mostly mean "eating a lot of free snacks". Also, Microsoft has a coffee machine that cost like $18,000. Three of them, in fact. I bet your school doesn't even have buildings that cost $18,000.

At [REDACTED UNIVERSITY], I hope to work on [REDACTED PROJECT], because it's about web programming and I had a web programming job once that was the only job I've had besides Microsoft that I didn't hate. I'm not saying that just because it was okay to drink beer in the office there, either. However, the other people at the job didn't really know how to write OO code, so obviously somebody needs to do something about web programming, and it might as well be me, because what the hell else am I going to work on, more deforestation? I think that functional programming will make the web perfect forever, or at least get us some fat grants until the funding agencies figure out it won't. I also like web programming because I often think about writing web applications and don't actually write them. If I only had a web programming language with more monads in it, though, I'm sure I would. Right here I should also namedrop the other professors in my area even though I don't really want to work with them. I'm sure they are all quite keen. (You can tell I've been living in England for a while because I'm using words like "keen". Pretty soon I'll be saying "cunning" without "linguist" after it.)

Someday, I would like to be a tenured professor of computer science so I can be even more lazy than I am now. Ideally, I'd like to teach at a school like UC Berkeley so I never even have to talk to undergrads and I can avoid my grad students as much as possible. Senior professors there only tend to come to campus two, three days a week, and I can only assume it's so they can devote the rest of their time to vices of various sorts (not that the Berkeley campus isn't resplendent with those.) It seems like a pretty good life. I will contribute to society this way because at least it'll keep me from doing anything that's actively destructive of society.

I should also disclose that I have a mental illness that makes me depressed when I'm living somewhere that doesn't get very much sunlight, but [REDACTED COUNTRY] isn't like that, right? I can't really tell for sure, since in my liberal arts education I never learned how to use a search engine. In any case, it's entirely possible that I'll have a mental breakdown while I'm a grad student there, but I don't imagine any of the other grad students will notice since they'll be too busy using heroin, and also because when a grad student loses their mind, who can tell the difference? Also, I hope that your national health insurance will cover my medication and not the generic version either, because it just doesn't work as well.


In summary, please admit me to [REDACTED UNIVERSITY] because if I don't get into your school, and don't get into Cambridge either, I'll probably have to go to Portland State [**], and people will laugh at me. Then again, I might end up working in the operating-system-in-Haskell project if I went there. So like I said, people will laugh at me. Also, if you don't accept me, I'll [REDACTED SERIES OF CRUDE THREATS AND BOASTS WHICH NO LONGER REPRESENT MY VIEWS ABOUT WOMEN]. No, but srsly, I would like to be IN UR UNIVERSITY IMPLEMENTING UR LANGUAGEZ, because god knows the faculty aren't going to do it.

Love,
[REDACTED NAME]
aged 25 11/12


2015 footnotes:
[*] This seemingly-incredible statement was based on working in the Valley during the dark hour between the 1990s tech bubble and the San Francisco-based tech bubble.
[**] The redacted university either rejected me, or I never even finished the application. I honestly can't remember. I wasn't even planning on applying to Portland State when I applied to [REDACTED], instead applying at the last minute in March, so really, the joke's on me.

(no subject)

Date: 2015-05-10 10:30 pm (UTC)
synecdochic: torso of a man wearing jeans, hands bound with belt (Default)
From: [personal profile] synecdochic
In any case, it's entirely possible that I'll have a mental breakdown while I'm a grad student there, but I don't imagine any of the other grad students will notice since they'll be too busy using heroin, and also because when a grad student loses their mind, who can tell the difference?

Here is where I totally lost it.

(no subject)

Date: 2015-05-11 04:25 am (UTC)
corvi: (Default)
From: [personal profile] corvi
This is hilarious, thanks for sharing.

If I only had a web programming language with more monads in it, though, I'm sure I would.

(no subject)

Date: 2015-05-11 05:44 pm (UTC)
dodecahedron: (Default)
From: [personal profile] dodecahedron
This is wonderfully cathartic.

I want to attend your university and work with [REDACTED] because few other professors are as successful nerds as the one I aspire to be. I hope to learn from him about how to title papers with ridiculous puns, take off my shirt during talks, and still be respected by more or less everybody.
I'm pretty sure I know who this is anyway. :-)

(no subject)

Date: 2015-05-11 06:51 pm (UTC)
jesse_the_k: Bambi fawn cartoon with two heads (Conjoined Bambi)
From: [personal profile] jesse_the_k
In a better world this would be mandatory reading for every CS professor.

In this world, I'm glad you shared it with us.

Profile

tim: Tim with short hair, smiling, wearing a black jacket over a white T-shirt (Default)
Tim Chevalier

September 2017

S M T W T F S
     12
3 4 56789
10 111213141516
17181920212223
24252627282930

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags