At this conference I also managed to miss Robert Love's presetntation. This entry is here to mend the offense, and as a public promise to Robert that there will be some intensive picture taking action at his next presentation.
The big announcement yesterday was from Jim Hugunin: IronPython, an implementation of Python for Mono and the .NET Framework was released to the public under the CPL license. It has been a long wait, but it was worth it: Python is a language of choice for many developers because of its ease of use and rapid prototyping cycle, and C# is a fantastic language for component-based and large scale programming, now both languages have come together.
His presentation touched on the challenges of getting a dynamic language like Python to run efficiently on the CLR, and also presented a couple of benchmarks with interesting results: while IronPython on the CLR seemed faster on average with the various tests, with Mono it ranges from 5% to 50% slower (and in a degenerate cases with exceptions, we are 65 times slower). But that being said, it is not terribly slower than Python 2.3, and we are going to look into these issues.
IronPython works out of the box on Linux, and I was able to run Edd's sample out of the box.
Echoing Edd's sentiment: there is a sense of freshness in being able to issue Gtk# commands from the Python command line.
Jim also announced that he is joining the CLR team at Microsoft to improve the VM for scripting languages. Congratulations to Jim on his new job!
Robert is famous for doing the most interesting presentations and for two years in a row I have missed his presentation. Yesterday, I was on a meeting while his presentation was running.
The Mono Developer's Handbook from Edd is out! I got my copy from Edd as they sold out the books that Powell had brought to the show. I was told on the elevator from some O'Reilly folks that today they are bringing a bunch more to the show.
Slides from my Mono presentation are here. These slides were done before IronPython was announced.
I have met another five people who were told two nights ago that they had over-sold the hotel, and they could either take 100 dollars or the free room that they would put them on. The hotel claims its standard practice, but I have never met so many people in a conference that were left room-less. Am staying so far, that I can manage to take a nap from my hotel to the conference and ponder all kinds of deep topics on my trip.
In Dallas I ran into Rory in the airport. All I can say on the McDonalds bit is that I was very hungry, and it wont happen again.
Posted on 29 Jul 2004
Going to Austin on Monday, then hoping to OSCON in Portland.
Posted on 25 Jul 2004
I posted a list of areas that we are working on for the Mono 1.2 release. Mono 1.0 has been fairly stable, we will likely issue a bug fix release with a few bug fixes in the next couple of weeks.
Massimiliano has checked a of the Arrays Bounds Check Eliminations to CVS. See his results. This will help with computationally intensive tests. He is now working on a framework to implement Partial Redundancy Elimination for Mono (SSAPRE) as well as prototyping a new relocation feature to improve Ahead-of-Time compiled binaries memory footprint.
In the meantime Ben and Duncan have been doing some optimizations to the code: many small tree optimizations, peephole optimizations and implementing a few tricks to reduce the size of generated code: each one giving a percent here, a percent there. Ben also has started the work to add precise garbage collection to Mono: now we track precisely everywhere where we keep handles to managed memory. The immediate side effect with Boehm's GC is a 3% performance improvement in the MCS bootstrap. For smaller programs, the visible effect is much larger.
On the subject of JITs, Neale's support for s390 keeps on improving, we will likely back port these changes to the 1-0 branch.
We can finally travel again outside the United States. Maria and myself are planning on spending a couple of weeks in Europe visiting some friends in France and Spain (Paris and Madrid will be in the plan). Will be glad to meet folks during our trip.
I will also attend Brainshare Europe in Barcelona in September.
Posted on 21 Jul 2004
Yesterday I decided to use one of those nifty installation images that we have in the internal network to perform an OS upgrade on my machine. The only problem is that the images we have on the network are designed for quick-installs: no questions asked. A tiny bit of information that escaped me as I live life in the fast lane.
This time I avoided spilling the coffee on the keyboard, but I was a few seconds too late to unplug the power and remove the battery of the computer when I saw the message that said `Formatting hard drive'. I was expecting an upgrade, and I got a reinstall image.
Anyways, I managed to recover my partition setup by using a nifty tool called gpart which guesses my partitions (Linux, swap and Windows). But some data was corrupted, after running fsck on the file system, tons of files ended up in lost+found, all kind of very scary error messages were shown up, and many files on my machine ended up with large blobs of zeros in the middle.
Happy for me, I had done a backup of the anonymous method support for MCS, which has not been checked in into CVS, but plenty of e-mail and images that I had not copied to my server got corrupted.
For now, I have decided to install on a separate hard drive and machine.
Very nice development platform for GUI applications, which happens to generate code that will run on the Flash Player VM. The widget set is very flash-like, and has the standard set of components you would expect from a widget set, and the components are tied together with their implementation of ECMA Script.
Since the VM is the same across all platforms the code runs on Linux, Windows and the Mac unmodified, I am pleasantly surprised by the results.
Microsoft's Avalon is doing something very similar to this, but the Macromedia markup is not only simpler, but also cross platform from the client to the server.
Posted on 13 Jul 2004
A GC done in 1998 for Mozilla's own implementation of Java (Eletrical Sheep) which is concurrent, generational, precise and has a C API.
Sport Model is available from the Mozilla tree as: mozilla/ef/gc
Posted on 03 Jul 2004
The Glitz hackers at Usenix did a mind-blowing demostration of their technology and how Cairo applications benefit from their OpenGL accelerated graphics support.
They have modified the SVG rendered from Cairo as a simple presentations program: wonderful 3D-based transitions, very clearly rendered text, smooth and zoomable.
Posted on 01 Jul 2004