Rolf's Visual Basic 8 compiler: Self Hosting on Mono

by Miguel de Icaza

Rolf has committed to SVN his latest batch of changes that allowed his Visual Basic.NET compiler to bootstrap under Mono/Linux. This basically means that the full cycle for VB in Mono has now been completed.

Rolf's VB compiler is an implementation of Visual Basic.NET version 8. So it has support for generics and all the new stuff in the language.

Rolf wrote his compiler in VB itself, and he uses generics everywhere, so in addition of being a good self-test, it has proven to be a good test for Mono (he already has identified a few spots where the Mono JIT should be tuned).

The following are from an internal email he sent on Friday (am trying to convince him to have a blog and blog these fun facts):

Friday Results:

        compile vbnc with vbc:                      4.8 seconds
        compile vbnc with vbnc/MS:                 14.2 seconds
        compile vbnc with vbnc/Mono/Linux:         15.1 seconds
        compile vbnc using a bootstrapped binary:  19.0 seconds

        compile vbruntime with vbc:                 1.4 seconds
        compile vbruntime with vbnc/MS:             3.5 seconds
        compile vbruntime with vbnc/Mono/Linux:     4.2 seconds
        compile vbruntime with bootstrapped binary: 4.9 seconds

The memory consumption on Friday was at 475 megs of RAM. Ben and Atsushi provided some suggestions, and the results for Monday are:

	compile vbnc using a bootstrapped binary:  10.0 seconds

	Memory usage: 264 MB

In managed applications memory allocations are important, because they have an impact on performance. Also notice that memory usage as reported by the Mono default profiler, means all the memory allocation. The actual working set is much smaller, since the GC will reuse all unused memory.

Atsushi also has a few tune-ups to the string class that reduces plenty of the extra allocations that the compiler was incurring into.

To bootstrap your own VBNC compiler, get the vbnc module, then go into the vbnc/bin directory, and run make bootstrap.

Bonus: in addition to bootstrapping itself, the compiler can now compile the Microsoft.VisualBasic runtime (the new version is written in VB.NET as well). And can do a full bootstrap with the new runtime as well.

Although binaries compiled with Microsoft's VB.NET compiler would run unmodified on Linux, it was not possible to use VB code in ASP.NET applications (as those get compiled on the first page hit) or if developers wanted to debug and tune up a few things on their target Linux/OSX machine.

In the next few weeks we hope to have this packaged.

Posted on 09 Jan 2007

Development Exchange: Evolution and Mono.

by Miguel de Icaza

I will exchange an equivalent number of hours hacking your favorite Mono feature in exchange for someone implementing Google Calendar support into Evolution.

The APIs to use Google calendar service are here.

Meta-proposal: someone writes a "Software Contribution Exchange" (SCE) where people offer patches to software in exchange for patches in other applications. The NASDAQ of patches.

Posted on 09 Jan 2007

Billmon Archives

by Miguel de Icaza

Seems like my favorite blog Billmon is off the air.

Since Billmon hinted for a while that he was going to stop blogging, I made a backup of his site a few days before he shut down the site.

If you are a Billmon fan, and want to get a copy of the archive I made, you can get it here (Hosted at Coral).

Posted on 06 Jan 2007

Blog Comments

by Miguel de Icaza

I just had a stroke of genius.

My blog software is this home-grown tiny program that generates static HTML, and never quite bothered to turn that into a server application for the sake of supporting comments.

So I was looking to host comments on some comment hosting provider like HaloScan, I signed up, registered but was not very happy with the interface offered to posters. For anything more than a small form, you have to upgrade the basic account.

The stroke of genius was to create a Google Group for my blog and just link to it. That way I get adequate tools to manage the comments, and posters get adequate tools to track it.

Thanks, thanks; you are welcome; I know!; yes, yes; I love that show too. You can just put your donation in the hat.

The open question is whether the comment link should only appear on the blog, or it should also appear at the end of each entry on the RSS feed, for the sake of those using things like Google Reader. Discuss among yourselves.

Posted on 06 Jan 2007

Assorted Links

by Miguel de Icaza

Aaron Bockover has a couple of interesting posts on the Banshee music player:

  • Scripting Banshee. Aaron embedded the Boo language into Banshee to help prototype, test and extend it.
  • Audio Profile Configuration for the Masses: in which he presents his work to provide a user friendly interface to configuring your underlying media platform.
    Screencast and screenshots included.
  • Radio Support in Banshee. Check his description of the implementation, but most importantly of his use of the Rhapsody Web Services to match the radio music with cover art, artist information and more.

Aaron has shown his craftsmanship in building Banshee, which is a labor of love.

Paco posted a few screenshots of Gtk SQL# a tool to interact with SQL databases using the System.Data API.

The Mono.Xna developers continue to make progress. Alan blogs about the progress here.

Jonathan Pobst will be joining the Managed Windows.Forms team at Novell on Monday. Jonathan has been a Windows.Forms 2.0 contributor and also developed the Mono Migration Assistant tool (Moma).

Posted on 06 Jan 2007

OpenSUSE 10.2 and Mono VMWare Image.

by Miguel de Icaza

We have upgraded our VMWare Mono Image from SLED to OpenSUSE 10.2. In the process we fixed most of the problems that were reported by our Windows users doing their .NET migration from Windows to Linux. Please keep sending us your feedback!

I have also migrated my desktop computer at home to OpenSUSE 10.2 (my laptop remains in SLED-land for now), and here are some personal experiences.

Duncan improved my computing experience ten times by suggesting that I install the Smart package management system for OpenSUSE (Smart home page is here).

Smart is fantastic, and I like it a bit better than apt-get so far (still got apt-get installed, but I have switched to smart for my package management now).

The second piece of advise from Duncan was to configure the Additional Package Repositories. Which is a fantastic universe of packages for OpenSUSE, pretty much anything under the sun is packaged there. I accidentally ran into the "GuitarScaleAssistant" while trying out the smart search features. GuitarScaleAssistant: lovely piece of software.

Jonathan Pryor has also a blog entry on caring and feeding your new OpenSUSE 10.2 installation, which should be very useful to Windows guys migrating to Linux.

Posted on 06 Jan 2007

CRAP In Vista

by Miguel de Icaza

The new Content, Restriction, Annulment and Protection (CRAP) subsystem built into Vista is another reason to stay away from it.

Leaving aside the political issues of CRAP, this is what users of Vista will be treated to:

Executive Executive Summary

The Vista Content Protection specification could very well constitute the longest suicide note in history.


This document looks purely at the cost of the technical portions of Vista's content protection. [...] However, one important point that must be kept in mind when reading this document is that in order to work, Vista's content protection must be able to violate the laws of physics, something that's unlikely to happen no matter how much the content industry wishes it were possible.

Read the whole piece, its hilarious.

The "remote shutdown" capability for device drivers, if true is a reason enough to not buy Vista in any form or shape.

Microsoft: Shooting itself in the foot. One toe at a time.

Posted on 23 Dec 2006

Cocoa APIs for Linux and Windows

by Miguel de Icaza

Cocotron is a cross-platform, MIT X11-licensed implementation of the Cocoa APIs.

The Foundation works on Windows, Linux and Solaris. The GUI side (AppKit) currently only has a Win32 backend.

The TODO list is here.

It might be useful to hack on Cocoa# and Dumbarton on non-Apple platforms.

Posted on 23 Dec 2006

Billmon Retrospective

by Miguel de Icaza

The quality of the writing over at Billmon never ceased to amaze me. I wish I had the anything remotely as good in the way of writing, constructing and researching that Billmon had.

The blog started in April 10th of 2003. A time when the anti-war movement had been served a slap in the face, jingoism in the US reached new levels and war peddlers were at the top of their game.

Today Billmon has a retrospective on the blog posts from those days:

By my rough guess, at least two thirds, if not more, of the almost three thousand posts I've written since that day have concerned the Iraq War, directly or indirectly. Over the past three-and-a-half years the war has come to define my thinking just as thoroughly as it has come to define Shrub's presidency -- not to mention the world we now live in.

What I also realized, ploughing through hundreds of forgotten or half-remembered posts, is that much of what I wrote back then proved not only true but also extremely prescient -- especially in the first few months after "mission accomplished," when the corporate media by and large was still drinking the White House Kool-Aid and the conservative movement was proclaiming the deification of Emperor George.

It's not that the story wasn't being told. Then as now, most of what I understood to be true about Iraq came from reading between the lines of the semi-official media (New York Times, Washington Post) from the samzidat journalists at Knight-Ridder, from the foreign press (the Guardian and the Independent in particular) and from the Juan Cole's crucial work translating and analyzing Iraqi and other Arabic-language sources. The downward trends could even be seen in the bare factual bones of wire service reports with obscure datelines like Fallujah and Haditha and Tikrit.

But to piece together the truth in those days you had to scrounge for it, ignore the ignorance and lies pouring out of Donald Rumfeld's mouth and defy the prevailing political tide of arrogant triumphalism. Very few journalists, and even fewer politicians, were willing to do that. Some in Left Blogistan were (Kos, Needlenose and Steve Gilliard, among others, also come readily to mind). As a result we presented a far more accurate picture of the war to our readers than the corporate media -- with a few honorable exceptions -- did to its own. I'm proud enough of that to want to remind the world, and the moronic media blog bashers in particular, of it.

The retrospective is here.

Posted on 22 Dec 2006

Compiz Site and Compiz Forums

by Miguel de Icaza

Compiz has a new web site and they now also have forums.

Logo contest is here and you can vote here.

Posted on 22 Dec 2006

« Newer entries | Older entries »