ASP.NET and scalability

by Miguel de Icaza

Some people have drawn the wrong conclussion about J2EE and ASP.NET in terms of scalability. All that I said on the interview is that J2EE was entrenched on a segment of the application server market, in particular in the segment where the project budgets are north of two million dollars (this is what our research a few years ago showed). My data is from the research that we did in 2003 as part of a Mono Survey that talked to various companies about ASP.NET and J2EE.

I do not personally track carefully enough the scalability and speed claims made by the Java or .NET camps when it comes to application server performance and scalability. All that our research showed back then was that people investing those large sums of money were using a combination of expensive non-Intel hardware and were purchasing expensive application servers and suites on the high and Java had been on that market for longer than ASP.NET.

In my subjective opinion ASP.NET is thiner, lighter and simpler to grasp than the J2EE frameworks out there.

Posted on 28 Jul 2005

Third Edition of C# and CLI

by Miguel de Icaza

The third edition of the ECMA C# language specification and the Common Language Infrastructure (CLI) have been approved by the ECMA General Assembly. Check the press release for the juicy quote from my boss.

The updated specs are here: CLI and C#.

The introductory chapters of the C# specification read like a tutorial. I recommend those interested in the C# language to read the first few chapters as it has most of what they need.

Mono includes a complete implementation of the new C# specification (written in C# of course) and our runtime contains all the new CLI features required.

We are still missing a few new classes and new methods from the updated class libraries, these should be with us soon.

Posted on 28 Jul 2005

Mono Tools

by Miguel de Icaza

Joe correctly points out that a major sore point in Mono development today is the lack of a functional debugger. The lack of this tool is duly noted. All we can say at this point is that progress is happening in this area.

Joe, you might want to look into using Mono's profiler in statistical mode instead of using it on the default instrumentation mode. This is described on the man page, but here is a shorthand:

	$ mono --profile=default:stat app.exe

In statistical mode, the program is interrupted a number of times per second and the information about the current routine being executed is gathered. This technique has a much lower overhead that tracking every entry and every exit from a routine.

For instance, bootstrapping the C# mono compiler with or without statistic profiling takes the same amount of time to run (2.5 seconds on my thinkpad t42p) while using the default settings for the Mono profiler takes four minutes and 21 seconds.

In addition on Linux with rtc support it is possible to set the sample rate anywhere between 64 and 8192 samples per second by setting the MONO_RTC environment variable (more details are on the manual page).

Other tools that Mono developers should get familiarized with is the tracing facility which lets developers peak at the program execution. The tracing facility has improved in the last few months and its worth taking a look at some of its new features.

Posted on 27 Jul 2005

Application servers, RPC stacks and more

by Miguel de Icaza

Tim Anderson at ITWriting interviewed me on various subjects related to Mono: the Novell/Mainsoft collaboration on Mono; the application server space and Mono's plans in terms of Indigo.

I would like to expand on what I said on the interview as am afraid that the relation between Mainsoft and Novell was not clear.

Mainsoft collaboration: Mainsoft's product Grasshopper is a solution that allows .NET ASP.NET applications to run on a J2EE server by doing code translation from CLI bytecodes into JVM bytecodes. Mono allows the same, but instead of running on a J2EE server we provide an ECMA CLI execution system to execute the code.

Although we both use different virtual machines to provide this feature, the class libraries that are used to provide the functionality are shared between Mainsoft's Grasshopper product and Novell's Mono. As of a few weeks ago we finally merged both codebases into a single tree. There are some small differences in the hosting environment which we cope with by using a number of defines: TARGET_JVM, TARGET_J2EE and in some cases a completely different implementation of the class exists (XXX.jvm.cs) which is compiled instead of the XXX.cs equivalent.

As part of this work to integrate the and we are also integrating their build process into our continous build infrastructure to ensure that we do not accidentally break the build of the Java-version of the Mono class libraries.

On Indigo: A lot of folks are curious about Mono's plans regarding Indigo and I have not really had an answer in the past because I had not investigated Indigo in depth.

There are a number of issues with Indigo: the first one is that am not very well versed on all the things that Indigo has to offer, but I lament certain things about its design. In particular, in this hyped world of Services Oriented Architecture where the contract must be precisely spelled out instead of adopting an IDL-like language a meta-language built on top of sprinkling attributes left and right to decorate classes, methods and so on. This meta-language created by the sprinkling of attributes is likely more obfuscated than any possible IDL incaranation of the same idea. The fact that now interfaces are the thing to describe should have been a warning to the designers that it was probably time to look at IDL again.

My second issue with Indigo (and in general with many of the new WS-* protocols) is that the more they evolve, the closer they look and feel like the complex high-level CORBA services. Those services that got CORBA the reputation it has today.

In the interview I point out that Indigo is not available today as a released product and that it will take a few years before we see Indigo-based applications.

In the meantime, ZeroC is a startup founded by some ex-CORBA people who wanted something simpler. They have a fairly interesting OO RPC system called Ice which has many of the features that application developers need today and is available on a wide range of languages: Python, PHP, C++, Java and .NET languages. You can read about how it compares to CORBA and SOAP, it is available today and its dual licensed: free for free software applications and you can obtain a commercial license for your commercial applications.

Posted on 26 Jul 2005

Blogging Politics

by Miguel de Icaza

My recent favorite is Crooks And Liars since they have copious amounts of video clips on the stories of the day.

Duncan pointed me to a fairly thorough blogger on current events: in particular I liked his analysis on the recent CIA operative leak and its follow up.

Robert Fisk

I used to wait for Robert Fisk articles to show up on Commondreams but they do not publish all of his articles, so I became a subscriber to the Independent to read Fisk's articles.

Today I found a site that has a little bit of a lag but seems to have a fairly good coverage of Fisk's work here. For old Robert Fisk articles has a good selection and usually has a few audio interviews.

Posted on 17 Jul 2005

MonoDevelop New Feature

by Miguel de Icaza

Lluis has landed on SVN a new feature for MonoDevelop: integrated Unit Testing.

The integrated unit testing framework provides the same functionality that `gnunit' did, but in addition it keeps track of progress and regressions as times goes by.

Lovely screenshots .

Posted on 15 Jul 2005


by Miguel de Icaza

Monotheca is a niche application for those interested in organizing their video collection but it shows the love that the author had for his trade: polished, HIG compliant, well-laid out.

Posted on 20 Jun 2005

Link Fest 2005

by Miguel de Icaza

  • Michael Zucchi reimplements the IMAP backend in Evolution: I don't want to get too far ahead of myself, but it could potentially solve all the existing IMAP performance issues, well, about as well as they can ever be solved..
  • Joseph Hill on MonoLive: the new mono-live project on Novell Forge. Beyond being a source repository, the Forge has bug and feature trackers, so I hope you'll use those tools to submit your suggestions / publicly lodge all of your complaints.
  • Edd Dumbill authored a podcasting client: Unfortunately, none of the obvious Linux podcast software really fitted my needs. Either too lo-fi (bashpodder) or just completely scary (iPodder). So I started to write my own. Monopod is a simple Podcast client.
  • OpenSolaris was released last week. Glynn has a few good introductory links here.
    The source is available on Bittorrent as well.
  • Mark Fiore's's PainMan: his take on the ban of medical marijuana.
  • Sebastien Pouliot on preventing integer overflows.
  • Morten Wellinder talks about the limitations in the OASIS OpenDocument Standard.
  • Rafi Mizrahi on how to do regression tests for image libraries and his implementation for System.Drawing.
  • The Downing Street Memo: the largest embarrassment of the war on Iraq so far. The democrats met to discuss it (C-SPAN real player stream).
  • Greg Palast written testimony and a timeline with photos is here.
  • Robert Fisk asks why Saddam's interrogation was screened in silence: The pictures the BBC BBC admitted, were "mute". What in God's name did this mean? Who emasculated the BBC to such a degree that it should say such a ridiculous thing? Why were they mute? The BBC didn't tell us.
  • Robert Fisk on torture.
  • Brazil, Argentina and India stall patent reforms, demanding that any harmonization treaty include provisions on technology transfer, anti-competitive practices and safeguarding of public interest flexibilities. Go Brazil, Argentina and India!

Posted on 19 Jun 2005

Alan's Wedding

by Miguel de Icaza

This weekend we went to Alan's wedding in Cuernavaca, Mexico.

Adri�n, Mancha, Alan, Patrick playing.

Adri�n, Mancha, Alan, Patrick playing.

Laura and Mancha at Breakfast

Maria Laura and Maria Vielle.

Posted on 13 Jun 2005

Extending OpenOffice with Mono

by Miguel de Icaza

Michael provided a screenshot from the work that MartinK and himself have been doing on adding support to write extensions for OpenOffice in Mono:

OpenOffice hosting Mono with its script.

Laura in Porto Alegre

With the Mono Brasil group in the FISL conference last week:

Laura and the Mono Brasil developers.

Posted on 08 Jun 2005

« Newer entries | Older entries »