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
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
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.
Posted on 27 Mar 2006
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
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
Windows.Forms is approaching feature completeness in Mono. In the next few weeks we will be doing the first beta release of Mono for our target Mono 1.2.
Although most of the API coverage was done a few months ago, the semantics of it were not exactly perfect. We were lucky to be able to tap into a large body of open source software for Windows.Forms to test and bug fix Mono's implementation.
More recently, as Winforms has become more complete we have started work in running proprietary or commercial applications to run in Mono.
He has blogged a set of screenshots tracking the progress from the December to this date, here are the first and last screenshot from his blog:
Nexxia in December.
Nexxia running on Mono today.
Check out his blog for more information.
Posted on 23 Mar 2006
It has been terrific to see folks from all walks of life approach the booth and come carrying the applications that they are currently working on contained in an USB keydrive and having us run it on the different platforms. To most of them, they tend to be very dazzled when they see their WinForms projects run on Linux (SLED 10) often without modification. Some of the apps they have come talk about range from GroupWare clients, Decision Support Systems (DSS), Enterprise Information Systems (EIS) front ends (some web based others SmartClients), etc.
Paco, an attendee and Wade in the Mono Booth.
A journalist asked Nat whether Mono would run OpenDental.Net, an open source Winforms-based application for dentists. Nat SMSesed me the question, I downloaded the software, took a quick glance at what is needed (it will require replacing some Windows libraries with some Unix-specific libraries and renaming a few files to make bash happy for building on Linux):
I emailed Jordan Sparks, Doctor of Dental Medicine and developer of OpenDental and asked him whether he could make the filesystem layout changes to ease the porting effort, and got a reply back from him that same night. In his words:
I'm really a HUGE fan of what you guys are doing. It's going to change dental offices forever, and it will impact a lot of people.
My plan is to assist Mr Jordan porting his OpenDental software to Linux. As I mentioned, it will require swapping out a few Windows components he is using for the equivalent Linux libraries. It will be educational. This along with the PaintDot.Net porting effort should be provide some good material for a .NET to Mono migration white paper.
In general, porting from .NET on Windows to Mono on Linux has the same feel of porting across different versions of Unix in the past. From BSD to SystemV: replace a few libraries and routines with different versions. It is a relatively simple exercise.
I find this very interesting. On of my dentists is also a hacker on his spare time, and runs his office completely on software he has developed using Visual Basic. On one of the visits I made to his office, as I was being treated, he explained to me with excitement why he liked working on VB: the software that runs his whole office is something he has built over the years. He does a lot of the coding himself, but he loves to spice up his application by purchasing a third party control for displaying graphs, managing his x-ray images and track patients.
This is the kind of ease of use that we are trying to achieve with Mono and MonoDevelop. Lower the barrier for creating amazing applications on Linux.
MonoDevelop was originally a project that was developed by Mono users. Folks that wanted to have an IDE on Linux, so they ported various pieces of SharpDevelop to Linux and replaced Windows.Forms with our own toolkit Gtk#. The goal here was to create a truly native Linux application and to take advantage of Linux and GNOME specific features.
DogFooding MonoDevelop: using MonoDevelop to develop MonoDevelop.
As time passed on, our own engineers started using MonoDevelop. Lluis, better known for his work on remoting and web services, started using MonoDevelop to work on Mono itself. He developed a plugin that would allow him to build and develop the Mono runtime right in MonoDevelop.
Around that time we decided that we should invest in MonoDevelop as part of the efforts of the Mono team, for a few reasons:
Until December, we were using Glade-3 for our GUI design needs. At that point we went with Glade-3 as a short-term solution and because we felt it was complete enough to be a drop-in technology into MonoDevelop and had enough bits to allow it to be embedded.
But we soon realized that for a full integration we would have to spend some significant developer time in getting it in shape for integration into MonoDevelop. So we changed our plans and Lluis started working on integrating Stetic and finishing the missing bits in Stetic.
The upcoming MonoDevelop will contain a new Stetic-based GUI designer. You can learn more on Lluis' blog entry.
The Stetic integration is fantastic, these are some of the features I like:
Custom Gtk# widgets that you develop appear on the toolbox palette, and you can use these widgets right into your main application if you want to. No placeholders anymore.
A wizard for creating custom Gtk# widgets.
Double-clicking on events for a widget will create a stub for the handler. For example, if you double click on a button, it will create the
OnButton1Clicked method with its proper arguments.
MonoDevelop also went through a major refactoring effort, where the IDE features are all plugins. This is an idea inspired by Eclipse's implementation.
A new release of Mono and MonoDevelop will be coming out in a few weeks with these features.
In the meantime, Chris Toshok has started integrating Michael's ASP.NET editor into MonoDevelop. So we will have an IDE that can be used for doing smart client development as well as web applications all in one:
Posted on 22 Mar 2006
At the Press Conference at the Novell Brainshare event this week in Salt Lake City Nat presented the new developments on the Linux desktop that the team has been working on.
A life walk-through of the new search-based desktop works with the usual: Xgl, F-Spot, Banshee, Beagle, Tomboy, hardware plug-and-play and the desktop integration in the upcoming OpenSUSE release.
Check it out at here (Updated with the official presentation).
Some of these were visible on the video from the LinuxSolutions in Paris, but this time the video is part of Novell's production so you can actually see the details.
Posted on 21 Mar 2006
China, unlike Europe, refuses to be intimidated by Washington, a primary reason for the fear of China by US planners, which presents a dilemma: steps toward confrontation are inhibited by US corporate reliance on China as an export platform and growing market, as well as by China's financial reserves - reported to be approaching Japan's in scale.
An additional step, already being contemplated, is an Asian oil market trading in euros. The impact on the international financial system and the balance of global power could be significant. It should be no surprise that President Bush paid a recent visit to try to keep India in the fold, offering nuclear cooperation and other inducements as a lure.
Venezuela, the leading oil exporter in the hemisphere, has forged probably the closest relations with China of any Latin American country, and is planning to sell increasing amounts of oil to China as part of its effort to reduce dependence on the openly hostile US government.
Venezuela has joined Mercosur, the South American customs union - a move described by Nestor Kirchner, the Argentinian president, as "a milestone" in the development of this trading bloc, and welcomed as a "new chapter in our integration" by Luiz Inacio Lula da Silva, the Brazilian president.
Venezuela, apart from supplying Argentina with fuel oil, bought almost a third of Argentinian debt issued in 2005, one element of a region-wide effort to free the countries from the controls of the IMF after two decades of disastrous conformity to the rules imposed by the US-dominated international financial institutions.
Interesting bits about Cuba and Venezuela as well:
Cuba-Venezuela relations are becoming ever closer, each relying on its comparative advantage. Venezuela is providing low-cost oil, while in return Cuba organises literacy and health programmes, sending thousands of highly skilled professionals, teachers and doctors, who work in the poorest and most neglected areas, as they do elsewhere in the third world.
"Cuba has provided the largest contingent of doctors and paramedics to Pakistan," paying all the costs (perhaps with Venezuelan funding), writes John Cherian in India's Frontline magazine, citing Dawn, a leading Pakistan daily.
President Pervez Musharraf of Pakistan expressed his "deep gratitude" to Fidel Castro for the "spirit and compassion" of the Cuban medical teams - reported to comprise more than 1,000 trained personnel, 44% of them women, who remained to work in remote mountain villages, "living in tents in freezing weather and in an alien culture", after western aid teams had been withdrawn.
On a separate note, the trend is for Mexico to elect the progressive candidate in the upcoming elections.
Posted on 16 Mar 2006
George Clooney's I Am a Liberal. There, I Said It!:
That's one of the things that drew me to making a film about Murrow. When you hear Murrow say, "We mustn't confuse dissent with disloyalty" and "We can't defend freedom at home by deserting it at home," it's like he's commenting on today's headlines.
The fear of being criticized can be paralyzing. Just look at the way so many Democrats caved in the run up to the war. In 2003, a lot of us were saying, where is the link between Saddam and bin Laden? What does Iraq have to do with 9/11? We knew it was bullshit. Which is why it drives me crazy to hear all these Democrats saying, "We were misled." It makes me want to shout, "Fuck you, you weren't misled. You were afraid of being called unpatriotic."
Posted on 13 Mar 2006