A week ago today, I moved to Mountain View, California to start an internship at Mozilla with the team working on the Rust programming language. My colleague Tim and I both started this past Monday, and our mentor, Dave Herman, introduced us to the rest of the company at the weekly meeting. Since then, in addition to seeking out the answers to important research questions such as "Where's the bathroom?", I've been learning my way around the existing Rust implementations, getting myself set up to develop Rust, writing a little code, having lots of good conversations with the rest of the team, and deciding on short-term and long-term projects to tackle. There's a lot of excitement among people on the team right now (not to mention among people at the whole company, because of the impending Firefox 4 release!), and I'm learning new things every day.
The only really bad thing that's happened is that the first computer that I was given at work, a shiny new ThinkPad, turned out to be a lemon. By Tuesday morning, it was freezing up about every 20 or 30 minutes as I was trying to set up a Rust development environment and get LLVM and the self-hosted Rust compiler to build. We reimaged it and started over, but by Wednesday it was crashing before even getting to the Ubuntu login screen. It was at that point that Dave declared my computer to be a "conscientious objector" and arranged for me to get a replacement. In the meantime, I went and got my own laptop from home and established that with a few tweaks, the build could be made to work on OS X 10.5, which no one had tried previously (the other Mac folks on the team were all on 10.6). The rest of the silver lining is that by the time I received the replacement ThinkPad yesterday afternoon, it was the fourth time I'd had to set up a new machine for Rust development, so I more or less had it down to a shell script. Thankfully, I haven't had any problems with the new ThinkPad, so now I have Rust building on two platforms.
I could go on at length about all the ways in which I'm finding working at Mozilla to be great, but right now I'll just mention one. At all the better places I've worked -- IBCTV, GrammaTech, and now Mozilla -- people have used IRC to communicate with each other. Each time, I've been privileged to have hilarious, brilliant co-workers who are a joy to chat with on IRC, and I've often wished that I could share the brilliance and humor of those IRC conversations with my friends outside the company. At most places, that isn't allowed, but at Mozilla it is. Anyone can come join the #rust channel on irc.mozilla.org to see what the Rust team is talking about today. On my first day, complete strangers were welcoming me in #rust. People I've silently admired on the Internet for years were there. A lot of them don't even work at Mozilla -- they just like to hang out on our IRC server, and we like that they do. I was going to try to assert that there was something to be learned from this state of affairs, something about the essence of open source, but I'll leave the grandiose claims for another time; for now, I'll just say that this state of affairs is pretty cool, and I'd like to invite you to come hang out, too. (Of course, I can't guarantee that we'll actually be brilliant and humorous at any given time, but you're getting what you pay for.) We're usually around during something like business hours, Pacific time. In fact, if you're using Firefox and you have ChatZilla installed, you can just click right here to join us. And if you're interested in Mozilla stuff, but nascent programming languages aren't your thing -- and I certainly wouldn't blame you if that were the case -- there are lots of other channels on irc.mozilla.org that might interest you. Come say hello!
Oh, and also! I need your help. At my desk at work, there's a place to put a name tag of some sort; it will accommodate a rectangular sign about 3 inches tall and 7 inches wide, or something like that. I'm supposed to come up with a name tag to put there, but this kind of thing has never been my strong suit. Who wants to draw a badass name tag for me? Anything goes as long as my name is clearly visible. (I've been told that having a name tag will help prevent other people from absconding with my desk, which will become a very real concern in a couple of months when a bunch more interns arrive.)