+ 3 - 4 | § ¶Costa Rica + Peru
I'm really loking forward to start my holidays. I'm flying next sunday to Costa Rica and I'll spend a couple of weeks there visiting the country. After that I'll jump to Lima (Peru) and will attend the XII Congreso Nacional de Estudiantes de Ingeniería de Sistemas (CONEIS). I'm giving a talk about Mono there. I'll fly back to Barcelona the 22nd.This can be a good chance for meeting people interested in Mono, although I have no idea about how much Mono is known in those countries. If you'd like to meet and talk about Mono, drop me an e-mail, specially if you are in Lima (information about things I can't miss in Costa Rica will be also appreciated
.Faster ADSL
It was finally approved. The ADSL speed will be doubled in Spain with no extra cost. Since I recently requested an upgrade to 512Kbps, it means that I'll get a 1 Mbps connection. Yay!
+ 4 - 3 | § ¶Things I'm doing
After all, there aren't many new things regarding Web Services in .NET 2.0: support for Soap 1.2, a basic profile conformance checker, some new features in the wsdl tool, and some other minor enhancements.
The XmlSerializer also has some improvements, such as the ability to pre-generate serializers. This won't be difficult to implement since we already have a serializer generator, and I only need to implement some methods that use that generator. There is also a new tool called sgen. If you run "sgen myassembly.dll" it will generate a new assembly called myassembly.XmlSerializers.dll that contains all serializers for all classes inside myassembly. When an application wants to serialize an object from myassembly, it will load the serializer from myassembly.XmlSerializers.dll. The goal of all this stuff is to avoid the cost of generating and compiling the serializers on the fly.
We don't have this problem in Mono, because we generate the serializers in a background thread, and while the serializer is being generated, the application can use a kind of interpreted serializer. However, for the sake of compatibility I guess I'll have to implement sgen and related funcionality, which is fun, but not really necessary in Mono.
Side-by-side execution of 1.1 and 2.0 assemblies
[lluis@portatil temp]$ cat kk.cs
public class test
{
static void Main ()
{
System.Console.WriteLine ("Runtime: " + System.Environment.Version);
System.Console.WriteLine ("corlib: " + typeof(object).Assembly.Location);
}
}
[lluis@portatil temp]$ mcs kk.cs
Compilation succeeded
[lluis@portatil temp]$ mono kk.exe
Runtime: 1.1.4322.573
corlib: /home/lluis/install/lib/mono/1.0/mscorlib.dll
[lluis@portatil temp]$ gmcs kk.cs
ALPHA SOFTWARE: Mono C# Compiler 0.96.0.0 for Generics
Compilation succeeded
[lluis@portatil temp]$ mono kk.exe
Runtime: 2.0.40607.16
corlib: /home/lluis/install/lib/mono/2.0/mscorlib.dll
Soon in your screens...