Carl Bernstein on Senate Hearings

by Miguel de Icaza

Carl Bernstein, one of the reporters that triggered the fall of Nixon, calls for senate hearings on the Cheney administration.

Most of what we have learned about the reality of this administration--and the disconcerting mind-set and decision-making process of President Bush himself--has come not from the White House or the Pentagon or the Department of Homeland Security or the Treasury Department, but from insider accounts by disaffected members of the administration after their departure, and from distinguished journalists, and, in the case of a skeletal but hugely significant body of information, from a special prosecutor. And also, of late, from an aide-de-camp to the British prime minister. Almost invariably, their accounts have revealed what the president and those serving him have deliberately concealed [...]

Posted on 19 Apr 2006

Mono Optimizations Enabled

by Miguel de Icaza

Alp just noticed this commit to Mono:

2006-04-19  Massimiliano Mantione  

        * mini.c: Disabled inline where it can alter the call stack in a
        way visible from managed code.

        * driver.c: enabled inline,consprop,copyprop,treeprop,deadce by

And was wondering why we did not make more noise about it.

The story is that the actual new optimizations shipped in 1.1.14, but inlining had some negative side effects that broke some applications (for instance, if we inlined a method that used System.Reflection.Assembly.GetCallingAssembly() you would get the wrong assembly.

The other problem that we found was related to the order in which classes were initialized when no static constructor was defined (for the full gory details, you can read this).

The first issue has been fixed (the inliner was too happy inlining). We have solved the known instances of static constructor initialization, but inlining might expose some of these problems, hopefully they should be resolved by the time we ship 1.1.16.

Posted on 19 Apr 2006

Another Winforms Update

by Miguel de Icaza

Simon shows his Nexxia application running on Linux with Mono in this video. Check it out here.

Posted on 17 Apr 2006

Billmon is Back

by Miguel de Icaza

After a few months of no updates at he is back with each piece better than the previous one.

His analysis on Iran and related events, priceless.

New Billmon expression of the day: "neocons and their pet rocks". I love that expression in so many different levels.

Posted on 15 Apr 2006

Google's Summer of Code and Mono

by Miguel de Icaza

Today Zoltan pointed me to blog entry on Mozilla's experience with the Google summer of code.

A long story short: all the projects funded in the Mozilla group that were completed have not shown any signs of movement since the SoC was over. Read the post for more details.

At Mono we had a very different experience. There were sixteen projects funded:

  • Jaen Saul: Ruby.NET implementation
  • Jb Evain: Cecil/Write support
  • Jeyasankar Kottalam: GCC CIL backend
  • Marek Sieradzki: MSBuild implementation
  • Michael Hutchinson: ASP.NET GUI Designer
  • Aaron Tomb: Bug finder
  • Blagovest Dachev: ASP.NET GUI Designer
  • Hans Hesse: Managed C++ front-end
  • Iain McCoy: XAML compiler
  • Michael Dominic: Diva Video Editor
  • Raphael Romeikat: PHP Compiler for .NET
  • Dmitry Bobrovsky: XSLT Compiler
  • Mario Sopena Novales: Monodoc improvements
  • Pedro Martínez Julia: Windows.Forms 2 controls
  • Tino Morenz: QNX Port
  • Florian Groß: JScript improvements (originally Ruby.NET)

From this list, we had:

  • 3 projects never completed (QNX, CIL C++ extensions, XSLT compiler).
  • 2 projects half-done, and the resulting code is not very useful (Ruby.NET and GCC CIL).
  • 11 projects that were completed to our satisfaction (Cecil/write support, MSBuild implementation, ASP.NET GUI designer, bug finder, XAML Compiler, Diva Video Editor, PHP Compiler for .NET, Monodoc improvements, Windows.Forms' DataGridView and JScript class library implementation).

We had two medium-sized projects that required two students to work on the project: Ruby.NET and the ASP.NET GUI editor.

We originally had two students working on Ruby.NET: the runtime and the compiler, but we reassigned the runtime student (Florian)to work on JScript runtime support while the compiler student (Jaen) worked on the core.

Sadly, the compiler guy was not able to finish on time so Ruby.NET was not completed. But at least we got the JScript class libraries upgraded and integrated into Mono's build system.

In the case of the ASP.NET GUI editor, the project was a success. Blagovest did most of the Mozilla-side work to turn Mozilla into an ASP.NET editor, and Michael did the Gtk# host and all o fthe integration. We have not heard much from Blagovest since the SoC finished, but Michael continues to be involved in the ASP.NET GUI editor, and has been become a contributor to the MonoDevelop IDE effort.

Only recently, with the upgrades to MonoDevelop's architecture, we have started to look into hosting the ASP.NET editor into MonoDevelop itself. Chris Toshok has started this integration and will be devoting more time to it in the next few weeks.

Marek completed the required tasks for an MSBuild implementation, he went back to school but came back to the project and leads the effort to complement the work that he did over the summer.

Marek is now working with other Mono developers to improve his implementation. He is a regular in the development channels.

JB Evain did complete the Cecil Write Support project. Cecil, a CIL image manipulation library, has been finding more and more uses in the Mono world. A few companies are using it (Mainsoft, DB4O) as well as the Mono Project for implementing various tools (Gendarme, our permission viewer.

JB continues to be involved today in Cecil and the Mono project.

Aaron Tomb implemented a bug finder based on Cecil during the summer. The bug finder looks at compiled code and looks for programming mistakes patterns in this code and reports it to end users.

Aaron completed his project, and after the summer he integrated his code into the general-purpose Gendarme tool for tracking other problems in applications. Aaron continues to submit improvements to Gendarme.

Iain McCoy completed the XAML Compiler during the summer and also wrote tests for ensuring that it worked. His code has been integrated into the main Mono class libraries and we hope to put it to use soon.

Michael Dominic's Diva Video Editor is one of the most polished GUI applications I have seen. Michael continued to work on it after the summer, and thanks to Chris DiBonna at Google, Google continues to fund the work of Michael on the Diva editor. He recently released version 0.1 of Diva.

Raphael completed the pieces he promised to complete on his PHP Compiler by the end of the summer of code. Raphael had structured the work on the compiler in three stages. He had commited to complete the first stage by the end of the summer.

He was away for a while working on school projects, but he returned recently and published a 0.2 version of his PHP compiler. This second release implemented the second stage of features he had planned for. We hope to see Raphael complete his work on the third stage as it would make for a great way of running PHP and Mono code side-by-side.

I personally would like to see the PHP community get involved in testing the compiler and improving the compiler as it would give a nice performance boost to all PHP applications and would be done in a completely open source stack.

Mario Sopena did many updates to Monodoc, and all of those were eventually integrated into the main Monodoc. He switched the engine to use Mozilla, moved from plain HTML to CSS-based rendering and implemented many other pending tasks in Monodoc. Mario remained involved in Mono for a number of months in Mono and continued to contrinute. He recently got a job and his contributions declined.

Pedro Martinez implemented the DataGridView control for Windows.Forms. This work was in a way ahead of its time, as his code was a 2.0 API contribution and our Windows.Forms is not yet 2.0 compatible. Pedro did a few code cleanups and improvements to the code after the summer was over, and helped us get the code in shape for integration into Mono's class libraries. But we have not heard much from Pedro since.

In Summary

We got lucky with the summer of code compared to Mozilla.

Many of the students delivered code that we were able to use (11 out of 16) and many of these students continue to be involved in Mono after the Summer of Code was completed (6 out of 11).

Am not sure I can pinpoint why we had more success with our summer of code projects than Mozilla did, but a few things might have helped.

One possibility is that much of the work got integrated into a larger vessel (class libraries or other tools). The larger vessel exposed the code to more people, and ensured that it did suffer bitrot.

Another possibility is that in the Mono case we listed projects that we needed external help with. We had identified things that we needed in advance and were looking for developers that would like to work on them.

I personally, could not be happier with the results: code delivered, integrated and continued involvement in the project.

On the downside, I wish we had been able to capture the other five students into continued involvement in Mono after the summer.

Posted on 13 Apr 2006

Region Operations in GDI+

by Miguel de Icaza

Sebastien has checked into SVN to both the GDI+ and System.Drawing modules an implementation of the binary operations on non-rectangular regions.

For a long time Mono's System.Drawing API stack could only do binary operations on rectangular regions (ANDing two regions, ORing two regions, XORing two regions). With Sebastien's commits it is now possible to use these operations with regions created from any GraphicsPath object.

These operations are used by many graphics controls and advanced graphics applications. So this is a pretty important step for Mono.

His summary post is here (includes links to screenshots).

Posted on 02 Apr 2006

Links from the Monospace

by Miguel de Icaza

Aaron has a number of updates to Banshee:

Idan does a screencast of MonoDevelop and Stetic. The new integration of Stetic into Gtk# projects introduces a slightly different model than Glade. See his blog post and videos for details.

Massi has some graphs about the tuning work he has been doing on Mono's JIT.

Brainshare closing thoughts:

Posted on 28 Mar 2006

Diva Progress

by Miguel de Icaza

Michael Dominik updates about the status of DIVA, a movie editing software for Linux with an impressive user interface here

Diva Editor

Diva is built using GStreamer, Gtk# and various Cairo-based widgets.

Make sure you watch the videos of Diva in action.

I love the Gtk# family of media applications: Banshee, Diva and F-Spot.

Posted on 27 Mar 2006

A New Acronym

by Miguel de Icaza

Last year we got "AJAX" for "Asynchronous JavaScript and XML".

This year, we get "CRAP", which stands for: "Content, Restriction, Annulment and Protection" a much better description for the euphemistical "DRM".

The expression was coined by David Berlind, executive Editor for ZDNet, see the details here:

CRAP stands for Content, Restriction, Annulment and Protection. It's my catchy buzz-phrase for a technology that's really called DRM. Now DRM technically stands for Digital Rights Management, and it's a rather cancerous technology that technology vendors are actually building into most of the products that we're buying today.

So for example, if you own an iPod, it's got CRAP in it. That's right, it's got this technology that will restrict what you can do with your content, allows the owners of the content to annul that content-in other words, take it away from you-or protect it from being copied out onto the internet.

And there is a video too: here.

A must-read.

Posted on 27 Mar 2006

Paco on Novell Open Audio

by Miguel de Icaza

Ted at Novell Open Audio interviews Paco who has been volunteering at the Mono booth at Brainshare.

The mp3 is here.

Paco, who today does a lot of work on Mono on Win32, talks about how he got involved in the effort and the extra bits in Mono.

Posted on 24 Mar 2006

« Newer entries | Older entries »