|
In, as he puts it, "a meme last seen sometime around 2005", Tim Chevalier offers five questions for me to answer:
Supposing you and Alex both got awesome jobs after graduation that
you could both do from anywhere, and anyone you needed to work with
face-to-face would move to where you were. (Ha!) Where would you move
to?
The short answer is that I have no idea. "People are the place",
so the best place to live is where my friends and loved ones are,
right? But my friends and loved ones are pretty widely distributed,
so the "people are the place" philosophy doesn't actually help me
decide which place is best. And although my friends do sometimes
collect in certain pockets, I have a "been there, done that" feeling
about living in, e.g., Portland again. Why not go somewhere new and
different?
We talk about living in Europe from time to time, and when we were
in Barcelona last spring, it really seemed to me that Barcelonans
have urban living figured out. I loved it there. But the Spanish
financial crisis is getting worse and worse, and much of the rest
of Europe is in similarly bad shape. Also, I think I'd always be an
outsider there, and are the benefits of getting to live in a
beautiful, interesting foreign city worth the constant low-level
stress of daily life in a place where aspects of the social protocol
make me uncomfortable and where I'll probably never have native
fluency in the language? I just don't know.
Although the premise of Tim's question tries to separate them, in reality the question of where Alex and I want to live is bound up with the question of what we want to do, and sooner or later we're going to have to figure out whether one or both of us wants to stay in academia. There's also the question of kids. The other day we saw a "Bay Area Parent" magazine at the
CVS in Mountain View, and we laughed about it, but afterward, I quite
seriously asked Alex if he wanted to be a Bay Area Parent, and we had
a conversation about how torn we were about a potential future
of cushy tech jobs, a cute little house in Mountain View, having a kid
or two (taking advantage of the parental leave afforded us
by said cushy jobs), going to the farmers' market on Sundays -- it all sounds pleasant, but how dreadfully boring, how expected it would be!
-
What was the first online forum / community / whatever you
participated in, and what about it was engaging for you?
Sometime around 1997, I was sitting in my high school's computer
lab with a friend, and a website she was looking at
caught my attention. It turned out to be a geek humor site, with essays, editorials, and a visual aesthetic kind of like Suck (which,
delightfully, has been preserved in the condition it was in fifteen
years ago); the style of humor was something like that of its
contemporary, The Brunching
Shuttlecocks. I'd never seen anything like
it, and I was fascinated. Right around the time that I started
reading, they launched a forum for reader-contributed content that
soon became the site's main attraction. (Web 2.0 1.0?) I loved the cynical style of
humor that reigned on that forum, and I loved that my contributions there were sometimes appreciated. In retrospect, it was nothing special, but
it seemed edgy and sophisticated to me as a small-town Iowa high school
kid. I ended up hanging around there for a good two or three years,
mostly pseudonymously, before drifting away when I got to college. A
lot of us from the community ended up talking on AIM and ICQ (ICQ!),
exchanging physical mail (mixtapes!), and, in some cases, eventually
meeting in person. The site is still active today, but I don't want
to link to it or even call it by name, because it's not what it used
to be and doesn't appeal to me anymore.
I was looking at your LJ interests list to get ideas for what to
ask you, and I saw "David Gries". Why???
Ha! Well, to clarify, I don't know much about David Gries the
person, although I appreciate that in the bio on his website, he writes
of himself and his wife Elaine, "We left Stanford because it had no
weather. We moved to Cornell, which has weather, in 1969 and were
snowed in for 20 years." I listed David Gries as an interest
because I took two undergrad CS courses that used his book The Science of Programming, which is kind of
remarkable, considering that I only took a total of eight undergrad CS courses at
all. The first of the two courses that used Gries' book was a bizarre mix of C programming
and axiomatic semantics; the second was a bizarre mix of ML
programming and axiomatic semantics. (The second of the two was actually
supposed to be a PL course. The first was an experimental special
topics course; I'm not sure anyone knew what it was supposed to be,
exactly.) I'm pretty sure I was the only person in either course who
was a fan of all the Gries material we studied. It was my first exposure to
any kind of PL semantics or program verification work, and I loved the
way that the book built up a language from first principles (and built
up correct-by-construction programs by composing smaller pieces). In
my junior year I became obsessed with writing a Gries-style proof of
correctness for binary search. I got it wrong again and again, but I
finally got it right. For the first time since my intro CS course, I felt like I completely understood was was going on with something in a CS class, and that was a pretty
big deal for a former music major who had narrowly escaped failing Operating Systems.1
Then, because I came back to the same material in the second course, I
actually got to experience the feeling of appearing competent to
my peers for a brief moment before I left undergrad. (Most of
them hadn't taken the special topics course with me, so they were seeing the
Gries material for the first time.) One guy actually said, "You're good at this." Those weren't words I heard very often in CS classes. Seeing my classmates -- people I
knew to be smart! -- struggle with material that I'd struggled through
the previous year was what drove home for me the realization that the
arcane things we're asked to learn in CS are, in fact, learned,
rather than innate. I wasn't having the same trouble with the material that they were, but it
wasn't because I was innately smarter; it was just that I'd seen it
before. That made me realize that, at times when I did
struggle, it probably just meant that I was new to the material, not
that I wasn't capable of handling it.
Finally, aside from the whole maybe-I'm-actually-not-dumb thing,
the experience of coming back to the material a second time and
feeling like I understood it better made me start fantasizing about how well
I might be able to understand something if I could spend an arbitrary
amount of time on it. That's why I eventually decided to go to grad
school -- because I wanted to really understand everything about something. As Shriram Krishnamurthi wrote in an email to me a few years
ago as I was starting grad school, "A PhD is ultimately a kind of
obsession with nailing, really just destroying, a problem. You've got
to get it into your head, under your skin." That's what I wanted to
do, and that's what I still want to do. So, in a roundabout way, I have Gries to thank for
showing me that research was for me.
Lately, what do you say when people who don't do CS (or even people
who do non-academic software stuff) ask you what you work on?
(Hypothetically supposing someone seemed to want to hear more than one
sentence.) Have you come up with any cute ways to explain it to people
who don't have the background? (I'm thinking more of your current Ph.D
research than of Mozilla-y stuff, but if you have cute ways to explain
the latter, I'd like to hear those too :-D)
I find that this has gotten easier since I started working on deterministic
parallelism last fall, since "determinism" and "parallelism"
are, for me, easier concepts to explain to lay people than "parametricity". To
explain parallelism, I've said things like, "Modern computer hardware
is built to be able to do many things at once, but most software
doesn't take advantage of that ability, and right now it's very
difficult to create software that takes advantage of all the power
that the hardware offers. So we work on ways to make it easier."
I hit on a cute example while talking with my
sister-in-law's fiancé last December. I had just finished a class
project that had to do with autovectorization and data parallelism, so
that was what I was trying to explain to him. We were sitting in the
living room at my in-laws' place, and there happened to be some books
on the coffee table, so I said something like, "If you wanted these
books to be in the other room, you'd just pick them all up and carry
them in there. But if you asked someone to write a computer program
to do it, chances are they'd write a program that would pick
up one book, carry it to the next room, come back and get another
book, move that one, come back again, and so on. It's not necessarily the programmer's fault -- some programming
languages force people to write programs in that way, and it's the
style of thinking that a lot of programmers learn. And other languages
might let people write code that looks like it's moving all
the books at once, but under the hood, they're still being moved one
at a time! So we're working to encourage the move-everything-at-once
style of thinking, and at the same time we're also working to improve
the technology so that move-everything-at-once is what actually
happens under the hood, regardless of what style the programmer used."
Have you cooked anything good lately that's in the genre of
"do-able after getting home exhausted from work, but surprisingly
good"? This question brought to you by the fact that I haven't had
lunch yet :-D
As Crescent Dragonwagon writes, "Pasta is the first refuge of the time-pressed." Couscous in particular takes only a couple of minutes to cook, and the variations are endless. One of my favorite tricks when I was just cooking for myself was to put dry couscous and dehydrated black beans (both available in bulk from many grocery stores) on a plate together, pour some boiling water over the plate, wait for a couple minutes for it to cook, and then devour with copious (and I do mean copious) amounts of salsa. If you have an electric kettle, you don't even need to turn on the stove for that one. French toast is also fast, easy, and delicious, particularly if you have some fresh strawberries to put on it, which you should, Tim, because it's June and you live in California.
If you'd like me to give you five questions, please ask! No rush in answering them -- it took me over a month to get to these.
- In college, the formal systems we studied in CS appealed to me because it was at least possible to completely understand what was going on, if you worked hard enough. Music was so far beyond comprehension that the efforts of music theorists just seemed hopeless, laughable. But these days, I'm sort of tempted to go back and study music theory again.
|