Rapha's Rumination Promulgation

April 16, 2009

First Post

Hello world. I’m Raphael Speyer, a sometime student and software engineer, among other things. I’ve just been accepted as a student to do a project with Google Summer of Code 2009, and they ask that students keep a record of their progress on their blog, which finally (for the third time) gave me the impetus to set one up.

This is going to be a mostly tech-focussed blog, so for info about my travels and personal life, you'll have to look elsewhere.

So, GSoC2009. w00t! I just found out this morning that I was accepted and it took a while to sink in. I actually copied the text of the email to the clipboard and did a

$ pbpaste | say

just to get a little additional sensory reinforcement :-)

I’ve applied before, and not been accepted, so this time I was quite prepared for another rejection. But it seems that what made the difference was that I downloaded, read and and hacked around with the code beforehand. I also wrote a patch and tests to implement just a little bit of what was required in the project. It showed the program co-ordinators that I was capable enough to at least start the project successfully, which actually counts for a lot, I think, considering how little concrete information they have about you to begin with.

The project’s aim is to bring Rhino up to speed with EcmaScript, 5th Edition. It’s almost the ideal project from my point of view for a number of reasons:

  1. Rhino is an implementation of Javascript. I like to use Javascript for most of my scripting and prototyping tasks these days, and have been using it and learning more about it in the last year or so particularly. So considering that it's kind of my favourite language to use at the moment I'm really happy to be working on improving an implementation of it.
  2. For my everyday scripting tasks, I generally prefer to use the Rhino implementation, simply because it has access to the JVM, and thus JUnit, java.io.*, etc. It also has a couple of handy commands built into the shell, such as readUrl and runCommand.
  3. I have done more work with Java than with any other language over the years, so for all its failings, it's probably the language and environment in which I am most familiar.
  4. Lastly it's with Mozilla, an open source pioneer and home to some true programming legends. People who don't just talk about software, but build it and release it regularly to a huge user base.

Suffice to say: I'm stoked.

My mentor for the project is Norris Boyd, the creator of the Rhino implementation from its genesis back at Netscape. The project will be running from now until mid-August, when I intend to return back to my ‘real job’ as a consultant at ThoughtWorks. In the meantime I’m studying at uni, finishing off the final subjects of my Electrical Engineering degree, so I’m going to have to manage my time efficiently to get it all done.

But man, am I looking forward to it!