I didn't expect the academic culture at stanford to be so obviously different than it is at CMU, but I was surprised. the open house presenters basically couldn't stop talking about how great it was to be just down the street from all the tech companies, and it showed in the types of research problems the faculty were interested in. not that there wasn't anything being worked on that I thought was really cool, but many people's work was definitely motivated directly by "small-scale" problems that I imagine industry people deal with all the time.
it was, well, thought-provoking to note how most of the systems faculty were interested in crowdsourcing, social media graph analysis, smartphone interfaces, and other general user data analysis, with a smattering of network protocol, wireless networking, and efficient graphics rendering work as well. even dawson engler, the guy whose research is most similar to mine (verification/bug-finding), talked about his work with a definite bent towards what will be most useful for programmers in industry. and the "programming language" researchers all seemed interested in inventing domain-specific languages, without a word to be said about inference rules or type systems. to imagine being a stanford student felt almost no different than working in industry proper.
thinking of all this during the first day's faculty presentation session (a series of more talks than I can remember, each only 5 minutes long) caused me to draw the following
"Ben's guide to finding fulfillment in research".
the three boxes represent general areas of work in computer science, and the arrows represent smaller types of effort, pointing towards whatever bigger thing each type of effort "helps". the gist of it is that I like solving problems that will cause as many other people as possible have an easier time solving their own problems. teaching is basically a free pass to this sort of fulfillment, because while I could solve whatever industry-driven problem listed above, I could instead teach people to be good hackers, and cause fifty people to be able to solve the same problem. programming language design appeals to me for largely the same reason.
the boxes and arrows are a far from perfect representation, because I'm not sure what should and shouldn't actually be in the boxes (or how many there should be), and some of the arrows should point at multiple different things so, attempted refinements of my analysis are encouraged.
anyway, more individually smaller thoughts from the trip follow.
the oft-touted advantage of the constantly-perfect weather did not move me. one of the slides in the opening presentation was "guess which city?" with three weather forecasts, one 70 and sunny, one 40 and rainy, one 30 and snowy; and all I could think was "but... I want water to come out of the sky sometimes!". different strokes. being in california with an eye for actually living here gives me this very strange sense of apprehension. (as I write this paragraph, I'm sitting outside the gates building - my second-to-last meeting was cancelled - and the sky is entirely clouded over for once, and a gentle spring breeze is blowing, and it feels briefly much more comfortable.)
don knuth showed up to the reception and dinner yesterday, and I figured I should approach him somehow, but before I even figured out what to say he saw my lambda calculus shirt and came over and said, "So I'm trying to figure out your shirt, but I can't remember the Church notation" - I reminded him that concatenation was just function application, and then he smiled and got the joke. he was apparently giving everybody the same piece of advice, which was to try to bond even more with our fellow prospectives than we do with the faculty, since the former will be our friends and colleagues next year. I thought it was quite sweet, though also couldn't help imagining him getting up that morning and thinking "hm, what one piece of advice should I wander around dispensing to the prospectives today?"
the gates building at stanford is big and blocky, with sandy brick outside walls (just like every other building on campus), inside walls of off-white with grey-teal trim and grey-teal signage, stairways of linoleum, offices with small windows... when I get back to CMU's gates building, which is much easier to imagine calling "home", I'll spend some serious time just appreciating how nice CMU CSD's space is.
one thing that stressed me out, in imagining life at stanford, was how it seemed like people's work largely comprised their whole lives. I'm not sure what it was that gave me this impression (part of this certainly is how stanford provides on-campus housing to grad students, just like undergrad housing but nicer), and I frequently felt like I should be making more effort to talk to people about their lives outside of school, that it'd be unfair to draw this comparison since I already know what non-work life is like at CMU. all the same, I can't shake the feeling that the students I talked to are just tech workers, not humans, and it's scary. in any case, non-work life info seems like the sort of thing a good open-house would try to shove down your throat, instead of making you seek it out on your own.
all this is not to say I did not have many seriously inspiring and heartening conversations. they booked us pretty solid, with 7 back-to-back half-hour appointments (faculty and students alike) the first day, and 5 the second. I burned out pretty quickly, but soon learned how to have more relaxed conversations when I needed to. I realised that "just do whatever you can to keep them talking, to prevent conversation from being awkward" is probably a bit immature/unproductive, but had to resort to it sometimes anyway. it must be impossible to have conversations that are not monologues for three hours straight.
for my fourth talk I walked into the prof's office and said "just to warn you, I am already totally fried". he made like this was the most normal thing in the world, and took me to the coffeeshop on him and by some magic conducted a relaxing and refreshing conversation by making me explain (and question) what drives me, what makes work fulfilling for me, what makes me want to work on things. I was super grateful.
I also bonded with some professors over various computer science philosophy. one prof, who works on smartphones and social media, and I agreed at each other for half an hour about how important it is that we design how people communicate with their computers in ways that most accurately represent people's thought patterns (i.e., so when people use computers, they don't have to do extra work translating between thought and action). it was clear that she was talking about everyday end users and I was talking about programmers, but that's totally fine.
my last talk of the first day was obviously an architecture guy, judging by one office wall covered in framed prints of processor dies, and a bookshelf of awards with little chips embedded inside them. after I impressed him with talk of my work, he impressed me with his "simultaneous compiler and hardware redesign" project, and his philosophy of the "vertical slice": as much effort as you can spend tweaking and improving one component of the architecture stack (e.g., the instruction set, or the compiler, or the apps), you'll always be held back by the inflexible limitations of the other components. so in order to make real novel progress, you have to take a vertical slice through all components at once, and redesign them all to work better with each other. I asked if he thought he had the right vertical slice, and he said a Good Researcher Answer: "I'm not sure, but if we do it right, either we will, or we won't but we'll learn something from it to get closer next time."
a lot of times when talking to people who are better researchers than I am, I have to keep reminding myself that it's not a competition to produce the best research. if somebody talks to me about ideas that build on some combination of my and their research, part of me instinctively gets defensive, thinking they must be insinuating my research is not good enough. this used to happen in conversations with garth a lot, and it happened when talking to dawson too. I mean, of course they're better researchers than I am, but no doubt they're also happy to have me working in their field (even if e.g. I'm not working on their project or at their school), because every extra mind on the problem helps. it's also important, as a conversational researcher, to have ideas about research direction and application far beyond what you'll ever implement yourself (you shouldn't feel guilty for not being able to implement it!), just so you can talk with people in your field about things that are not just your project, even if it is just shooting shit or pipe dreams.
in short, it was a highly enjoyable trip, full of new perspectives and reassurance. I went to stanford feeling 90% preference for CMU with about 40% confidence, and left with 90% preference for CMU with 95% confidence. (and now it is going to take weeks to restore my talking-to-strangers energy to where it once was.)