[Mono-announce-list] Mono Weekly News, April 17th - 22nd

Jaime Anguiano Olarra jaime@gnome.org
22 Apr 2003 23:19:24 +0200

	Hi all!,

	We have a new issue of the Mono Weekly News, you got to see what Marco
Ridoni has to say in a really interesting interview.

	You can read the file in this email (below) or you can go to the
website: http://monoevo.sf.net/mwn/index.html

	And test the new icon set :-).


April 17th, April 22nd 
Table of contents
Use the link
of the image
to add RSS
feed to your

Looking for
Visit the
      * 1. Headlines
              * 1.1 RelaxNG validating reader
              * 1.2 Monodoc 0.4 released!
              * 1.3 A faster MCS in the CVS
              * 1.4 Base code for the JScript support in the CVS
              * 1.5 Call for MonoBasic test suit contributors
              * 1.6 Sign the team page monoers!
              * 1.7 How to get Wine for WinForms working in Linux
              * 1.8 Virtuoso 3.0 ships with Mono.
              * 1.9 MonoQLE status
      * 2. Meet the team
      * 3. Mailing lists activity
      * 4. CVS Activity
      * 5. About this issue

1.1 RelaxNG validating reader

Atsushi has created a
RelaxNG validating XML

As the wanabee I am I
obviously had to look
for what RelaxNG is. I
found some links but if
this is the first time
you read that word, you
might want to read this
article at O'Reilly's
XML.com. Yes; it is a
JAXTTL (Just Another XML
Technology To Learn).
Using an 'inline
description': RelaxNG
gives you the same as
the XML Schema does but
it's much easier. Miguel
also provided two nice
links. Here is the
official site and here
it is the tutorial. 

1.2 Monodoc 0.4 released!

Miguel announced that a
new version of Monodoc
(0.4) has been

Now history works, more
links and multi-homed
sources work. 

There is a command line
tool (type: mod
T:System.Char for
example). They have
improved the GUI look
and the tree now tracks
the page. We invite you
to read the release
notes and then go and
update your monodoc!. 

1.3 A faster MCS in the CVS

MCS is now faster than
before due to Zoltan's
      * The GC is now
        'nulling out'
        fields holding
        references to
        Block objects so
        they can be
      * The compiler
        removes unused
        locals (10%). 
      * The internal
        cache is now
        optimal used.
        From the patches
        list: patch that
        gives us some
        tasty 11% speed
1.4 Base code for the JScript support in the CVS

Cesar Octavio Lopez
Nataren has commited the
basis for the support in
Mono of the JScript.Net

ActivationObject, Eval,
ScriptBlock... are only
some of the lots of
classes that have been

1.5 Call for MonoBasic test suit contributors

MonoBasic starts to be
big enough (read the
interview with Marco!)
that the need for a
regression test suite is
now a fact. 

If you wish to
contribute to Mono a
good way is to become a
test writer, and now
it's easier than ever as
you can take the C#
tests as a basis for
most of the features!. 

1.6 Sign the team page monoers!

Remember that we have
now a new Team page at
the Mono site. So if you
have cvs access and have
contributed to the Mono
project in any manner,
please update the
and add your

1.7 How to get Wine for WinForms working in Linux

There is available
through the web now a
little recipe to guide
you through the process
of building Wine from
the CVS tarballs as well
as the Garbage Collector
so you can get a
Windows.Forms setup. Get
it here

1.8 Virtuoso 3.0 ships with Mono.

OpenLink's released
their Virtuoso 3.0
database system.
Virtuoso ships on
Windows and Linux. On
Linux they use Mono as
their runtime to host
C#, .NET and ASP.NET.
Congratulations to
OpenLink for their

Virtuoso can be
downloaded here and a
demo is available here. 

OpenLink is contributing
fixes and code to the
Mono project on an
ongoing basis. 

Jon Udell wrote a small

1.9 MonoQLE status

Rafael D. Txeira
revised/corrected/fleshed some dozens of stubs for System.Messaging, now they are in the cvs in compilable form but lots of MonoTODOs are still there. 

Some simpler classes
like the
are 100% done, but the
big ones (Message and
MessageQueue) are just
in the beginning and
Nunit tests are also

2. Meet the team. This week Marco Ridoni
The Mono team is integrated by contributors all around the world that
are working really hard to get this project going further. In this
section we will be meeting this people so we can know more about them
and what they are doing.

The man...

Marco Ridoni is a 34 years old hacker who lives in Rome, Italy, with his
girlfriend and a dog. He is employed as a sysadmin/system engineer.
Currently he's doing contract work for the Italian Ministry of Health,
where he mainly works with NT/Win2K, a couple of Solaris boxes thrown
in, no Linux :-( 

"I'd prefer a programming job, but IT jobs are not easily found at the
moment, so I guess I'll have to stick with this", Marco says. 

His past...

For several years computers used to be just a hobby for him (he used to
work in NGOs/humanitarian aid) and then he started working as chief
service engineer in an Apple authorised serviced centre. For four years
he fixed every kind of Mac (even the awful junk which went out of
Cupertino assembly lines during the Splinder era). Then he started
working as a webmaster and full-time programmer (among other projects he
completed a GIS server to display street maps, running on a Linux
server, with a MySQL backend). 

...on second stage...

When asked about which is the book on his bedside table he answered:
"currently I'm reading "Black house", (King/Straub)".

About movies... "Unfortunately I dont'have much time for movies (good
theatres are quite far from where I live). Last movie was the seconfd
HP". <jaime> "I don't know of that one". <marco> "Sorry, was a shortcut
for Harry Potter, no too clear, I suppose". <jaime> "jaja, I was short

<marco> Favourite fishes? I like cooking, especially "exotic" (African,
Arab) food.  

Have you met other members of the community?

<marco> "No, never, but I'd like to. What impresses me about Mono is the
dedication and the sense of community, so I'm rather curious to meet
someone in person". 

MWN: Have you ever been involved in the free software development before
you started contributing to Mono? 

Marco Ridoni: I came to Mono when I became interested in Basic
interpreters/compilers for Linux. I was always perplexed by the lach of
a VB - compatible language for Linux, probably due to VB's reputation of
being a toy language; so I followed the development of the now defunct
Gnome Basic and a few months later started developing mod_gb which is an
Apache module to serve ASP pages under Linux. I had a brief exchange of
mails with Michael Meeks who is the main author behind GB - mod_gb uses
GB's engine - and he convinced me to have a better look at Mono. The
rest I suppose you know... 

MWN: And why do you think it is so important having VB in Linux? 

Marco Ridoni: In the Windows world there are a lot (and I mean an AWFUL
lot) of business apps, front-ends, clients, etc. developed in VB. So
having a VB/VB.NET compatible tool on Linux could be a great way of
bridging the gap and make more people and businesses adopt Linux, since
you can't rewrite huge codebases just for the sake of using a different
OS. Moreover VB is very well known and this could in turn increase Linux

MWN: So the main reason is reusing while the second is bringing more
developers from the Windows world to the *NIX world, isn't it? 

Marco Ridoni: Yes. 

MWN: But don't you believe that a huge quantity (maybe most) of the VB
coders out there are in deed Visual Studio dependants and won't turn
into a system that lacks of it? 

Marco Ridoni: This is a question that could be raised also for C#. Of
course VB relies more heavily on System.Windows.Forms but I think that
the advantages of being able to port your code over to Linux and take
advantage of the increased robustness, effectiveness and all the other
features of *NIX OSs far outweigh this shortcoming. 

MWN: It seems like Mono is the best place to start building that support
then, isn't it? 

MWN: The goal is mostly the same. Yes. I think Miguel raised a very
interesting point when he said that Mono, beyond being a .NET
compatible-layer is a new programming platform. I think this is what
*NIX OSs currently lack: if I have to develop an app which uses XML,
loads PNGs, can access two different DBs, I need four different (and
possibly incompatible) libraries from several developers. With Mono you
have a vast class library you can use. In other words you can
concentrate on writing code, instead of finding the pieces to assemble
and finding a way of assembling them without problems. 

MWN:And that's an independant and the most important benefit of having
this opensource implementation of .NET, so even if VB.NET changes in the
MS world you will be able to have VB in Mono. Am I right? 

Marco Ridoni: Yes, and also the reason MonoBasic is important. If you
want VB developers to switch (I'm beginnig to hate this word... :-) )
you must provide them with a comfortable environment, while other
developers will also benefit from this. 

MWN: But there is a lack we all can see... 

Marco Ridoni: A RAD environment, maybe? 

MWN: No. The non VB.NET VB languages support 

Marco Ridoni: I think it is good that MS dropped many of the legacy
features of VB6 and transformed it into a real OOP language. 

MWN: I mean, VB 6.0 is not going to be in Mono, at least it's not

Marco Ridoni: Before VB.NET Visual Basic was considered a sort of
stepchild (real men use pointers, you know...). Syntax differences are
not huge, and what was lost in the process is best left behind. Probably
I would have gone a bit further, e.g. elimnating parameters from
properties. Moreover there is a strong debate in the VB developer
community since many developers feel that MS has "betrayed" the spirit
of the language. 

MWN: But if we are talking about reusing big chunks of VB code we can't
reuse VB6 (or older) code 

Marco Ridoni: It's the same dilemma most VB coders have to face right
now, and had to face for older VB versions. VB6 code can be easily
adapted to work under VB.NET. I mean: well-written code can be easily
adapted, but the same can be said for your old K&R C sources. 

MWN: And what have you got (I think it's Rafael and you the people
behind MonoBasic) already covered? 

Marco Ridoni: MonoBasic is, strictly speaking of language features,
rather advanced, but still immature. What I mean is that we have all the
basic (no pun intended, I swear...) elements of the language in place.
The problem is that VB.NET, unlike C#, does a lot of magic behind the
scenes, adding on-the-fly conversions between types, for instance, or
generating calls to a function in the runtime. So we have to be careful
to emulate this behaviour. Also note that there is no ECMA specification
or test suite for VB.NET, so you have to start from MS documentation and
from code examples. VB.NET syntax is also inconsistent in many places,
and this leads to having to accomplish things in a different way from
mcs, while still using the same infrastructure. 

MWN: Can you enumerate the features of the language you have

Marco Ridoni: We have classes, modules, properties, statements. Arrays
are working but still need some debugging. MustOverride/Overridable
methods properties work. Subs and Functions work. Actually almost
everything works, but the grammar is still buggy and not everything is
complete. This means you can't take your average example from the .NET
SDK and compile it, but we're quickly getting there. 

MWN: You mentioned that there are no specifications at ECMA for VB.NET,
do you expect any legacy issues arising in the future? 

Marco Ridoni: Probably, even if I don't think this will be a major
issue, but anyway I think we first have to reach a stable state before
starting considering this kind of issues. 

MWN: And what about cross language?, how is it going using C# and VB.NET
mixed in Mono? 

Marco Ridoni: I think C# will remain the language of choice. It
undoubtedly has a more modern syntax, even if MonoBasic compares very
well in terms of features. I see VB.NET as a mean of "bridging the gap",
as I said before. Anyway most ASP pages are written in VB, so it depends
if new code (for the ASP version shipping with Windows Server 2003) will
be written in VB or in C# (I meant "a lot of it" in the aline above) 

MWN: Which version of Mono do you recommend for those who want start
trying the code you've done?, or their samples? 

Marco Ridoni: Well, given the state of MonoBasic, CVS is surely the best
choice, but you can also download the latest version of Mono to give it
a try. 

MWN: I know of a lot of people (including myself), that learnt to
program in C# by using Mono instead of the .NET SDK, do you think
MonoBasic is prepared for those people who are trying to learn the
basics of the language or even learn to program using MonoBasic? 

Marco Ridoni: Unfortunately I think it is still too soon for that, since
MonoBasic still sports too many bugs (we could skip this problem calling
them features, now that I think of it...) but I think we'll get there in
a few months. The main stumbling block lies in the interaction with the
runtime, which is not documented, except for obvious functions like
Str(), Val() and which we can't and won't obviously disassemble due to
license restrictions. 

MWN: We will be waiting for it :-) Is there anything left you would like
to say to the world? 

Marco Ridoni: I just would like to thank Rafael, who laid the ground for
MonoBasic and contributed a lot of work to it. I don't think I could
have started without the stepping stone he provided. And of course
credit also must be given to all the people who contributed to the
runtime. I could go on thanking, but since this is not the Academy
Awards ceremony, I guess I'd better stop now... :-) 

MWN: Thank you very much Marco. Keep going and the good work. 

Marco Ridoni: You're welcome, good-bye. 

MWN: ciao! 

3. Mailing lists activity
Mono list summary

      * One person asked this to the list: "What is Mono's position with
        respect to the new APIs in Microsoft 1.1 implementation?" 
        Miguel answered: "We will be moving to implement the 1.1 API
        instead of the 1.0 API, as it seems like it only has bug fixes
        and a couple of new additions". 
      * A very nice help for those trying Wine for Windows.Forms in Mono
        is this: "wine has a tendency to hijack CLI applications on
        systems that use binfmt-misc (like Debian GNU/Linux). There's a
        fix for this that will be integrated into the next release;
        until then, the best course of action is to remove wine or its
        binfmt handler (details in /usr/share/doc/binfmt-misc)". 
Gtk# list summary

      * Charles Iliya sent a link to a bunch of patches for getting
        GNOME 2 on Windows. 
      * Lee Mallabone noticed this: "While browsing the Gtk# class
        documentation, it strikes me that we have a lot of
        classes/structs generated that are private or protected to Gtk+.
        I've gone through about 60% of the Gtk assembly, and found the
        following classes. I think they can/should all be supressed by
        the generator". It seems (from Mike Kestner and Miguel's
        replies) that the private API might be supressed if it's
        exposing that. 
      * Pablo Baena pointed the following (about GConf) out for everyone
        to remember: 
              * You have to create a GConf schema (learn how to make
              * You have to run gconf-schemagen over it
              * It is tricky to store custom types on it
              * Finally you have to have root priviledges to install the
        And also this: "Besides, I don't want to be obligated to have
        administrator priviledges to install my app anywhere. That is
        not the .NET way to deploy applications. If you don't have
        global libraries to install, why should you be obligated to be
        admin for anything?". Miguel shared his opinion about GConf: "I
        am no fan of GConf personally, but I think some of the ideas are
        interesting. Although GConf has a nice notification system that
        helps keeping all the settings in synchrony across applications,
        and provides a unified place to store those values, I am not
        sure that every application needs to use it. If you only want to
        store a few per-user settings, you could as well store them in
        ~/.etc/yourapplication/settings.xml or something like that (I
        would like to encourage people to use ~/.etc/yourapplication for
        storing their application data as opposed to
      * We also received a remainder about the Wiki: "This is a reminder
        that there is a Gtk# wiki:
      * Monodoc 0.4 was announced in some lists. The release notes are
        available for those who want to know what's new in this version.

4. CVS Activity
This has been a quiet week for the developers except for Miguel that
appears as a delta of Dirac in the statistics.

>From April the 17th to April the 22nd

Authors:21 Commits:198 

Alan Tam
Aleksey Ryabchuk
Ben Maurer
Cesar Octavio
Lopez Nataren
Charles Iliya
Dietmar Maurer
Duncan Mak
Eduardo Garcia
Gonzalo Paniagua
Jackson Harper
Jaime Anguiano
Joel Basson
Martin Baulig
Miguel de Icaza
Nick Drochak
Pedro Martinez
Sebastien Pouliot
Tim Coleman
Ville Palo
Vlad Kaluzhny
Zoltan Varga
5. About this issue

(C) 2003, The Mono Project

Jaime Anguiano Olarra <jaime@gnome.org>, monkey
Miguel de Icaza <miguel@ximian.com>, news contributor, bug hunting
Alejandro Sanchez Acosta <asanchez@gnu.org>, news provider
Rafael D Teixeira <rafaelteixeirabr@hotmail.com>, MWN header logo


http://www.go-mono.org -- The Mono Project, .net + freedom.