Lang.NET 2006
A lot of cool people were at Lang.NET 2006. The most notable of them to me were Miguel de Icaza and Jim Purbrick. Miguel is notable for being the founder of the Mono and GNOME projects. Jim Purbrick is everyone's favorite Mono hacker at Linden Lab. It appears that Second Life caught the eye of attendees at Lang.Net. After the symposium John Lam posted to his blog an entry titled Why Second Life is Important.
Jim Purbrick writes to the Second Life blog,
…Cory and I presented Second Life and our work integrating Mono at the start of day three. Cory’s introduction to SL did a great job of convincing people who had heard of Second Life that they should take a closer look. John Lam, who is doing really interesting work with RubyCLR is now looking in to running RubyConf as a mixed reality event in Second Life. John was also great fun to hang out with and did a great job as resident photo journalist.
I was initially concerned that the collection of hacks I presented for embedding Mono in SL might appall people, but the consensus seemed to be that they were neat hacks and they generated a lot of discussion about potential future enhancements to the CLR. A lot of discussion at the conference was about supporting dynamic languages like Ruby which, like Second Life, would benefit immensely from support for continuations in the CLI. Hopefully we’ll see them in the future.
The talk went down so well that Thottram Sriram asked me to repeat it on Friday for the CLR team at Microsoft, which was also well received and generated another collection of tips for integrating the CLR based on their recent experiences with the CLR integration with SQL server…
Miguel sums up Linden Lab's presentation this way,
Cory and Jim talked about Second Life, the current scripting system used in Second Life and their efforts to embed the Mono VM inside Second Life. The first part of the presentation was done by Cory and he presented an overview of Second Life and the audience was hooked on the virtual world that they have created. They had to stop answering social questions about Second Life so we move could into the actual technical details.
Jim, who is a blast, introduced the technical challenges that Second Life has on scripts. They need to be able to load and unload thousands of scripts in a continuously running process, and they also need to stop scripts at any point to either suspend them or to move to another computer.
Second Life maps computers to areas of land, so a computer is in charge of running all the simulations, physics and scripts for a given portion of virtual land. When a person crosses the boundaries the scripts have to migrate from one machine to the next machine.
Today the scripts running on Second Life are a bit slow, so they are looking at Mono and the CLI as a way of providing more speed to their users and hopefully allow developers to write in other languages other than their Linden Labs Scripting Language.
They have a compiler that translates their scripting language into CIL bytecodes, and the preliminary results give a performance increase between 50x and 150x faster execution with Mono.
The challenge is to stop and save a running script. This is something that is relatively easy done with their scripting language, but it becomes trickier with the CLI.
Their implementation instruments the generated CIL assembly to allow any script to suspend itself and resume execution on demand. This is a bit like continuations, the main difference is that the script does not control when it is suspended, the runtime does. The instrumentation basically checks on every back-branch and on every call site whether the script should stop (in Jim's words, "eventually, you run out of method, or you run out of stack") and if it must stop, it jumps to the end of the method where a little stub has been injected that saves the state in a helper class and returns.
A very clever idea. Hopefully the slides for the presentation will be posted soon.
Following my attorney's advise I have obtained a Second Life account.
Update: Catherine Omega blogs about Miguel and Lang.Net here and Tao Takashi here. Tao's post harkens back to a blog post by Robert Scoble's On not getting Second Life. My own follow up to Scoble and his commenters was Don’t get it? You don’t have to… Yet. It's people like Miguel de Icaza and John Lam who need to "get" Second Life.

Add New Comment
Viewing 1 Comment
Thanks. Your comment is awaiting approval by a moderator.
Do you already have an account? Log in and claim this comment.
Do you already have an account? Log in and claim this comment.
Add New Comment