Monday flew in-and-out of Denver; Followed by XML Edge panel yesterday in Boston, where I had a chance to meet again Margo from Sleepycat.
Next week will be twice as crazy: all of the Novell Mono Developers are descending into Boston for a whole week of meetings and working together. This is a historical event, since the team has never met before face to face (only a few of them have met).
Duncan shared a few links with me today Rumsfeld Fighting Technique and this. From Dare, I found a nice post from Aaron: How Stating the False Hides The True
Posted on 26 Feb 2004
Am in the international Open Source Conference held in Malaga in Andalucia. Andalucia and Extremadura are the two states that have adopted Gnome across the board: education and government. There are 400,000 users in these two areas (20% of the Extremadura population are Gnome users) and have around 100,000 Gnome desktops deployed.
This is a very big number of Gnome desktops deployed. This might be the largest Linux desktop deployment in the world (China will follow later with the Gnome-based JDS system next year).
This is entirely a Debian/GNOME setup, and there is a local industry that has emerged out of this: various small companies here are providing the support to the governments of Andalucia and Extremadura (Will get the name of the consortium of open source companies tomorrow, because right now I forgot).
They have developed quite a set of interesting tools: from back-porting changes to the stable version of Debian (addressing one of Debian's weaknesses) to developing tools to manage large network deployments (similar to Red Carpet's enterprise features, but for Debian) and a nifty tool to create bootable distributions and turn them into CDs that people can carry around (metadistros).
There are tons of stories floating around, and people very excited about this technology. From the kids that after doing their work in school ask the teacher for permission to use the "Guadalinux" (this is the name they use to refer to the Linux machine, based on the distribution name) to the class rooms that are now entirely quiet due to the kids playing with the "Guadalinux" systems.
Also grandmothers refer to the web as "mozilla" they pronounce it "mo-ci-yha", as in `I found in mo-ci-ya that you can do this and that'. Very interesting stuff.
During a few conversations with the various officials and engineers that work on this project, I have mentioned that they should probably should join the Gnome Foundation's Advisory Board, something that I think we should fast track. I asked the education secretary if they had any issues with Gnome, and if there was something we could fix, or improve for them, and they said `So far we have not had problems with the teachers'. A good perception.
The technical guys on the other hand had a few requests: from Evolution failing to send SMTP mails in some occasions (we should investigate this) to better integration with the braille stack in the accessibility framework (accessibility here is very important due to a fairly strong Spaniard organization called "La Once").
My friend Charles Curran from the UK Linux Users group is also in town, he is now living in Sevilla, and came to the meeting. It was very nice to see him again.
Lastly, about 30 Gnome Developers from the "Gnome Hispano" got together in the afternoon to meet and discuss. I learned that a "GUADEC Hispano" is being planned for May in Extremadura.
The Mono presentation went fairly well, I was still a bit tired from the jetlag, but it came out OK. I updated MonoDevelop from CVS, and things worked out of the box: I demoed the intellisense feature which is just a great way of developing Gtk# apps.
While jetlagged and unable to sleep, am checking out the Nemerle language. A functional language designed by Michal Moskal for the .NET Framework that works out of the box in Mono.
This compiler is self-hosting, which is fascinating. Worked out of the box on Mono 0.30
Posted on 19 Feb 2004
This product lets you run your ASP.NET applications written in C# or VB.NET inside a J2EE application server and integrates beautifully with Visual Studio.NET. All .NET applications can also use EJBs and reference Java classes, you can see a live Flash demo of it.
Mainsoft has been using Mono's class libraries to deliver the functionality and they are regular contributors to the code base. We wish them much luck with their new product.
Posted on 17 Feb 2004
I will be in Madrid on Monday and Tuesday (busy all day until dinner-time).
Cena el Lunes, Comida el martes: Si est�n en Madrid, por favor p�nganse en contacto con Juantom�s o Roberto Santos para que nos juntemos para una cena el Lunes o desayuno/comida el Martes.
Jon Perr who used to work for us at Ximian has launched a new web site.
Posted on 14 Feb 2004
Been doing good progress with anonymous methods, but last night on the plane on the way back home, I discovered a big problem with my design (I had a fairly clever way of computing the right return type in an anonymous method).
My clever hack was to hook up to the standard conversion code: anonymous methods are generated during the implicit conversion code. The problem with this approach is that it was too late to capture variables.
Am right now toying with overloading the implementation of Field expressions and LocalVariableReference expressions to handle the lifting, rather than the clever CapturedVariable expression which I was using before.
Marek has been cleaning up the compiler internals to turn our compiler into a CLS-aware compiler, now we will be able to flag CLS violation errors. His fixes includes long-standing wishlist items to refactor the interface members to become regular MemberCores (which they do now) and refactoring some of the attribute emission and gratuitous differences in constants and fields that we had in the code.
Posted on 11 Feb 2004
Am visiting Novell's main development offices for the next two days. If you are here and want to talk about Mono, drop me an email.
Posted on 09 Feb 2004
After yesterday's release of Mono 0.30 I finally had some time to look into what the guys have been up to with MonoDevelop (the port of the venerable SharpDevelop from Windows to Linux).
To my surprise, MonoDevelop is fairly advanced, and I was able to do all of my MonoDoc development on it today:
MonoDevelop with a fresh project for MonoDoc
I was improving the file format for our Index, as well as some touch ups to the collaborative framework in MonoDoc:
Here is what the collaborative documentation editor looks like now:
The MonoDoc embedded editor.
I have most of the anonymous method support written now. Now the time for debugging has come.
Posted on 03 Feb 2004
My excuse for being there for almost a week was the ECMA meeting for the CLI and C#. As Brad pointed out, there are now two public mailing lists for providing feedback and discussing the ongoing work of the ECMA CLI and C# standard efforts, you can subscribe to them by going here for C# and here for CLI
During the meeting there was a set of "interesting" proposals to the C# language, and I have come up with my own, watch this space for them.
After the ECMA meetings were over during the day, I would run to the beach and do some all-amateur snorkeling action: the hotel where we stayed at was packed with multi-colored fish and large turtles that would swim next to you, minding their own business.
At Ximian we developed a tool to build, package, sign, qa and distribute the Gnome desktop, which we refered to as "Build Buddy". This week it was released as GPL software.
Build buddy uses an XML-based configuration file similar to the RPM spec file to describe how to build a package and apply optional configuration options and patches depending on the target operating system. It can work on a cluster of computers and can also run various builds for different operating system on the same machine by using chroot-ed environments (we call those "jails").
We will be moving our XML build files to the public CVS this week.
Nat pointed me to the Scoop proposal. We have been talking about implementing this kind of functionality to solve the issue with the IM client in Gnome poping up all the time, and handling other notifications that the system has for quite some time. The mockups in that site are a great starting place.
Went with Duncan and Robert to see Fog of War featuring Robert McNamara. A media rich movie, surely inspired by his book on the Vietnam mistake. Gorgeous music by Philip Glass. Obligatory watching required.
Dude, if you read this, please return our salami and cheese. We checked your fridge while you were out, and you have to dispose those tomatoes you got six weeks ago, they are starting to smell.
Sometimes I get advise from random people on writing code.
Posted on 30 Jan 2004
The Independent/UK is running the Real State of the Union report.
One of the fascinating things about Jikes's JIT engine is that it was completely written in Java. Absolutely mind-blowing. The upside is that many things can now be done in a higher-level language than C like JITing and garbage collection, the downside is that these systems are fairly heavy during compilation time and are best suited for server use and not desktop use.
A balancing act would be fantastic.
In Mono a few months ago we discussed a few possibilities on implementing more code in the managed world for the JIT engine. One of the options is to expose our current IR, and perform a few optimization in the C# world who could mutate the IR and keep the two existing layers: CIL to IR and IR to machine code to remain intact.
To make the above balanced, we could invoke the C#-based optimizations only conditionally, for example, when doing Ahead-of-Time compilation of code.
I turned the TV on, to Bush saying that abstention was the only way of fighting STDs, followed by an applause. Oddly, I was not tuned to Comedy Central.
Posted on 20 Jan 2004
The story has various interesting elements: a new intermediate language for high-performance computing; A call to get IBM and Cray involved into the architecture/design of such an intermediate language, a new language (or maybe a language extension) to take advantage of these features and finally because they want to create an industry standard out of it.
This is interesting in many levels: first, it could be a departure from Java's current focus of compatibility. This policy of VM compatibility, while good for software developers, and to Sun's story of write-once, run anywhere has also lead to the stagnation of the VM specification, and the intermediate byte code language. Which is a source of criticism from people who want a performing intermediate language. Today the Java intermediate representation can not be effectively used as it is for high performance code.
But Sun has the engineering talent, the knowledge, and the team to turn their expertise in optimizing compilers into a new intermediate language that would better suite the Fortran/C/C++ developers.
I of course would love to see the ECMA CLI be the foundation for this work, but if I were in their shoes, I would probably begin by extending the Java byte codes towards supporting features from the Sun IR for their optimizing compilers, or extend the Sun IR to support object-oriented features that could support Java.
Maybe Sun is interested in going through an ECMA-like process to standardize this intermediate representation. Am looking forward to learn more about this project.
My interest in this comes from the work we have done in Mono and Mono's IR. Although we are very proud of the code generation engine we have, it is still in its infancy in terms of the optimizations we can perform. I guess I would love to learn how Mono can benefit from it, and even maybe be able to consume this IR.
Posted on 18 Jan 2004