Race to Linux 2.0

by Miguel de Icaza

Very soon we will be launching the The Race to Linux 2.0 together with Mainsoft and IBM. The goal of the Race to Linux is to have ASP.NET developers port applications from Windows to Linux.

Wii consoles will be given out as prizes. Guys, it is a lot easier to port an application in ASP.NET from Windows to Linux in a record time than it is to keep bidding on EBay for the console and the controls. Been there, been outbidded time and time again.

The contest will start on March 23rd, if you are interested in participating, check the Race to Linux 2.0 web page.

What is the Race to Linux 2.0?

Register for the Race

Mark your calendars! Races start:
Race #1 -Friday, March 23rd at 5:00 p.m. (PST) March 24th at 1:00 a.m. (GMT)
Race #2 -Friday, March 30th at 9:00 a.m. (PST) March 30th at 5:00 p.m. (GMT)
Race #3 -Friday, April 6th at 5:00 p.m. (PST) April 7th at 1:00 a.m. (GMT)

If you are a Windows developer, you can get started downloading our VMWare image and reading on the various articles that DevX has published, or you can check Mono's own article archive.

A good introductory tutorial on porting your applications from Windows to Linux is Paul Ferrill's Migrating .NET Applications with Mono.

Also, Joe Audette has written a tutorial on how to he setup a Mono Development machine here for those that want to roll out your own installation instead of using our VMware image, but also contains tips for those who want the latest and greatest:

Posted on 07 Mar 2007

Fun Mono Updates

by Miguel de Icaza

Jackson has a couple of blog entries where he discusses how to use memcached for doing output caching of ASP.NET pages. Memcached was created to improve the performance of LiveJournal:

Danga Interactive developed memcached to enhance the speed of LiveJournal.com, a site which was already doing 20 million+ dynamic page views per day for 1 million users with a bunch of webservers and a bunch of database servers. memcached dropped the database load to almost nothing, yielding faster page load times for users, better resource utilization, and faster access to the databases on a memcache miss.

His memcached module is described here and an explanation on why and how to add caching to your ASP.NET controls is here.

What is interesting about Jackson's approach is that it hooks up to ASP.NET's caching system and allows caching to be parameterized based on some values (for example, your login name would update only the login-bound information, but information that does not depend on this would be rendered from the cache).

Hopefully Jackson's work will become a standard part of Mono installations in the future.

Windows.Forms 2.0 Updates

Jonathan Pobst has posted some screenshots showing the progress from Mono 1.2.3 released a few weeks ago and the current SVN for some of the 2.0 Strip controls:

click for full image.

The Winforms team has been using our Paint.NET 2.72 port as a test case, see Jonathan Pobst's blog for more screenshots.

Jackson is also running a screenshot contest for Mono's Windows.Forms.

Jeff's new MonoDevelop Indent Code

Jeff Stedfast recently joined the Mono team, his first contribution was the implementation of a smart indenter for MonoDevelop's C# mode.

We basically wanted something that indented as well as Emacs would indent C# code. See his blog entry for details, the code is now checked into SVN in the module "monodevelop".

ASP.NET 2.0 support improving

Marek got a few new features implemented for ASP.NET: Themes are now working, and MojoPortal 2.0 works with Mono now:

Marek also reduced the space that we consume for ASP.NET setups. Instead of creating a new temporary directory every time, we now create predictable directory names based on the assembly name.

We have run into a number of small problems with our TDS provider when porting applications that use MS-SQL stored procedures. Luckily Andreia Gaita has a patch that should be going into SVN in the next couple of days that resolves that.

Posted on 07 Mar 2007

Web Development Technologies

by Miguel de Icaza

Dare is pondering what comes after Ajax, in response to Ted's Adobe Wants to be the Microsoft of the Web.

On Flash Ted says:

What is not appealing is going back to a technology which is single sourced and controlled by a single vendor. If web applications liberated us from the domination of a single company on the desktop, why would we be eager to be dominated by a different company on the web? Yet, this is what Adobe would have us do, as would the many who are (understandably, along some dimensions, anyway) excited about Flex? Read Anne Zelenka’s post on Open Flash if you don’t think that Flash has an openness problem. I’m not eager to go from being beholden to Microsoft to being beholden to Adobe.

And later touches on OpenLaszlo, but OpenLaszlo is a server-side engine used to generate Flash, so the runtime remains the same (Yes, I know that Laszlo can now generate DHTML, but Ted's point was that Javascript was too slow for large apps running on a browser).

Dare wants to add WPF/E to the list of web development technologies, and argues:

Ted Leung mentions two contenders for the throne; Flash/Flex and OpenLaszlo. I'll add a third entry to that list, Windows Presention Foundation/Everywhere (WPF/E). Before discussing what it will take for one of these contenders to displace AJAX, I should point out that being "open" has nothing to do with it. Openness is not a recipe for success when it comes to development platforms. According to TIOBE Java is the most popular programming language today and it was a proprietary language tightly controlled by Sun Microsystems. Before that, it was commonly stated that Visual Basic was the most popular programming language and it was a proprietary language controlled by Microsoft. I believe these count as existence proofs that a popular development platform can rise to the top while being controlled by a single vendor.

WPF/E has a number of challenges ahead of it: Flash-based development environments are very advanced both for designers and developers and are going through their Nth iteration, while WPF/E is not even officially launched.

WPF/E is currently limited to Windows and the Mac, which you could argue makes up the majority of the platforms, but Flash works today on Linux and various embedded systems and portable systems.

But like Flash, it is another proprietary tool, and the whole point of Anne Zelenka's post and Ted's comment. He wanted something that did not lock him into a vendor.

WPF/E best feature is probably the fact that generating XAML files is trivial and requires no special tools or compilers. echo, cat and perl will generate XAML output right away. A bonus feature would be deserialization from a JSON structure in addition to XML.

WPF/E feels more webby than Flash does.

Then again, Flash could add support for hydrating elements from an xml or json sources as well.

Unlike its "big brother", WPF, the WPF/E is framework looks fairly simple so far. The subset of WPF is reasonable, it is sufficiently opaque that a developer with a lot of spare time in its hands could implement it fairly rapidly.

A major drawback seems to be the use of WMV as a video format. If there is one thing that the video industry has learned is that WMV and MOV do not work. They barely work on their native platforms, they are ridden with glitches, upgrades sometimes break and of course they do not work on Linux.

Ignoring the WMV file format support, WPF/E has so few external dependencies today, that someone looking for a cool use for Antigrain could implement a prototype in a few weeks and get a community going in no time to finish it up (Alp has been showing around his record-time XPS renderer and viewer around).

Flash as an Open Platform?

Flash has really succeeded in the area of working out of the box, even on the Linux desktop the experience is outstanding (the proprietary Flash).

The best possible outcome for the world would be to follow Sun's path in open sourcing Java and open source both Flash and WPF/E.

Adobe is not making any money on the Flash player today on the desktop. On the mobile space the story is different, they could probably license Flash under terms that required mobile vendors to get a proprietary license (I imagine they could look into what Sun did with their mobile runtime, which would be a similar situation).

Microsoft is not going to be making any money on the WPF/E player either, and since they are limited to Windows and MacOS X (today) they are not going to be making any money on that one either.

If Microsoft is serious about WPF/E, open sourcing it would eliminate the doubts about WPF/E's future and the fact that some people perceive WPF/E to be a slippery slope to a full blown WPF use and tie-in (in my opinion, it is more of a rocky slope to move a WPF/E app to a WPF one).

Dare on Java

But I think that Dare gets this wrong:

Before discussing what it will take for one of these contenders to displace AJAX, I should point out that being "open" has nothing to do with it. Openness is not a recipe for success when it comes to development platforms. According to TIOBE Java is the most popular programming language today and it was a proprietary language tightly controlled by Sun Microsystems.

Even if Java was tightly controlled by Sun in the past, they did have a mechanism that was open enough to get third party companies involved in the future of Java.

Anyone could argue that the JSR process has managed to mess up key components like Generics and has inflicted humanity with mistakes like the J2EE stack.

But the JSR process is still relatively open. And even before Sun open sourced Java in November there were a number of independent Java VM vendors, both open source and proprietary (specially on the embedded market).

Java became successful because it filled a space that was previously not properly serviced. At the time it hit a sweet spot.

In the meantime, as far as Rich Internet Application development goes, we will continue to use a mix of technologies. It seems that the browser is becoming the universal runtime and it has opened the doors for incredible opportunities with the mashups. WPF/E is ready to enter the mashup scene, something that am not sure WPF will ever do.

Ted's Update

Update: Ted follows up.

Posted on 06 Mar 2007


by Miguel de Icaza

This conference was just too good.

There is no blog entry that can make justice to how good this was. The tiniest details were taken care of, like having food and drinks all day (for those of us who could not make it to our hotel breakfasts this was a life saver).

I think that part of the success of FOSDEM is that after the conference adjourns, folks can go back to the hotels, freshen up, go to dinner and then bar hoping and run into the attendees until 3am in the morning.

FOSDEM deserves a full blog post in full detail, but for now a big thank to everyone that made this possible. I have not enjoyed a conference this much for years.

Posted on 01 Mar 2007

Best Tech Support So Far.

by Miguel de Icaza

So I got to Mexico and my 3G connection did not work, so I repeated the European steps and called Cingular Tech Support to complain that something was wrong with my 3G card in Mexico.

Since neither the 2g or 3g lights turned on and this was working in Boston and Washington, it must have been some configuration issue on Cingular's side.

I explained to the tech guy my situation, and he walked me through the usual "connection manager", "try a different setting", "eject your card", and so forth and I pretended to do the Windows steps with the equivalent Linux command as far as I could.

My goal in this call was to avoid saying that I was using Linux, I feared they would just say "Sorry, we dont support that" and hang up.

There was the dangerous "What does the connection manager say?", to which I replied "Mhm, no network". And "What version of it you have?" to which I replied "Well, I use the equivalent, its called yast".

But then the fatal, "Which version of Windows is this?" to which I had to say "Linux".

Contrary to what I expected, he said "Can you configure the AT commands or enter them?", I said I could, I launched minicom and he walked me through the process of configuring the Sierra card (probing for providers, selecting the provider, reseting the card).

He determined during the call that there was a setup problem with Mexico's provider, he was able to patch that stuff on their end and got me going with a 2g connection after a little while.

Many thanks to Mr Robinson in tech support over at at&t

Posted on 01 Mar 2007

Covert Operations in Iran

by Miguel de Icaza

On Februrary 16th, in an interview with Noam Chomsky, the interview is one of Chomsky's best.

At one point he speculates about the potential strategy being applied to Iran:

[...] So it could be that one strain of the policy is to stir up secessionist movements, particularly in the oil rich regions, the Arab regions near the Gulf, also the Azeri regions and others. Second is to try to get the leadership to be as brutal and harsh and repressive as possible, to stir up internal disorder and maybe resistance. And a third is to try to pressure other countries, and Europe is the most amenable, to join efforts to strangle Iran economically. Europe is kind of dragging its feet but they usually go along with the United States.

This week Seymour Hersh publishes on the New Yorker some of his findings. The article makes the case that the US is now funding terroristsfreedom fighters in Iran to destabilize the regime (as speculated by Chomsky before). The article also happens to match some of Chomsky's observations.

For a quick overview you can watch this video interview with Seymour Hersh.


It’s very hard to predict the Bush administration today because they’re deeply irrational. They were irrational to start with but now they’re desperate. They have created an unimaginable catastrophe in Iraq. This should’ve been one of the easiest military occupations in history and they succeeded in turning it into one of the worst military disasters in history. They can’t control it and it’s almost impossible for them to get out for reasons you can’t discuss in the United States because to discuss the reasons why they can’t get out would be to concede the reasons why they invaded.

If you listen to Seymour's interview it seems that the strategy is going from "unimaginable catastrophe in Iraq" to "unimaginable catastrophe in the whole Middle East".

In the meantime, it turns out that the weapons that were presented a couple of weeks ago as being "manufactured in Iran" turned out to be manufactured in Iraq.

If that was not enough, the UN Calls US Data on Iran's Nuclear Aims Unreliable:

The officials said the CIA and other Western spy services had provided sensitive information to the Vienna-based International Atomic Energy Agency at least since 2002, when Iran's long-secret nuclear program was exposed. But none of the tips about supposed secret weapons sites provided clear evidence that the Islamic Republic was developing illicit weapons.

"Since 2002, pretty much all the intelligence that's come to us has proved to be wrong," a senior diplomat at the IAEA said. Another official here described the agency's intelligence stream as "very cold now" because "so little panned out."

For those of us too cynical to believe anything the Bush administration has to say on any matter, this is hardly news. But it is always nice to see them debunked in public.

Posted on 27 Feb 2007

Getting Ripped Off: A Consolidation Strategy

by Miguel de Icaza

Last week I described how international travel for an Internet addict can be very costly, 10 euros here, 12 dollars there 20 euros for 24 hours there and very soon you have paid a hundred dollars in a two-day trip on Internet access fees.

Now, instead of paying half a dozen people to get WiFi access, I have consolidated my "getting ripped off" with AT&T. Now they bill me an insane amount for getting "3G worldwide access".

Two problems though: "3G worldwide" actually means "3G in Boston, and 9600 baud modem speed in Europe". During the entire trip I could not get the "3G" light on the card to turn on, it consistently stayed in "2G" mode.

But just before you think "Well, GPRS/2G is not so bad", I want to point out that it took 25 seconds to load www.google.com.

Posted on 27 Feb 2007

Usability Interview with Anna Dirks

by Miguel de Icaza

Ted Haeger interviews Anna Dirks.

Anna leads the team at Novell that was in charge of improving the usability of the desktop. Her team launched Better Desktop, the Tango Icons and prototyped, tuned, improved, mocked-up and tested various elements of the usability elements in the SLED desktop.

Her interview is here in Novell's Open Audio.

She talks about the process used to design the new features of SLED and it also got a few hints on what is coming up for SLED 10 SP1 (pay attention to the physical weight of the Usability Labs).

Posted on 26 Feb 2007

Sierra Aircard 875, Cingular and SUSE Linux

by Miguel de Icaza

After being ripped off by hotels and airports for my Internet connections (with some places charging as much as 20 euros per hour, and your standard 10 euro per hour at CDG), I have purchased a 3G card from Cingular and a plan to use it internationally.

I followed the instructions on this blog post that covers another card on OpenSUSE 10.2.

With SLED 10 and the Aircard 875, the only difference is that I had to use a different vendor and product ID:

	# /sbin/modprobe usbserial vendor=0x1199 product=0x6820

Or alternatively dump that in the /etc/udev/rules.d/51-3g-datacards.rules file.

Once you configure the modem in yast as described in the above blog post, go to NetworkManager, and select the "modem0" serial connection. There seems to be a bug in NetworkManager, when the modem0 connection is active, the icon seems to go away (am guessing its not finding the icon for it, and hence the applet vanishes).

A few minutes later, you will be online.

Am still missing some tools to determine the upload/download speed, anyone have some good pointers?

Posted on 21 Feb 2007

Reflector 5.0

by Miguel de Icaza

Lutz Roeder has just released a new version of Reflector:

This time Reflector will work out of the box with Mono on Unix (no special handling or special flags) and will even detect the presence of your Mono libraries:

Recently, while implementing the second chunk of lambda expressions, I had to go through all the classes that derived from the Mono.CSharp.Expression and the Mono.CSharp.Statement classes to implement the "CloneTo" methods, and Reflector came in as a great tool to find those classes with minimal fuzz and without wasting any grep batteries in the process:

Reminder: the use of Reflector to look at third-party code is prohibited if you are planning on ever contributing to Mono. You are free to use Reflector to decompile Mono code though.

I would have blogged early this morning when the news came out, but I struggled betwen Consolas, Monaco and Tahoma for the screenshot. Solving the dilemma was only possible thanks to the extensive dinner discussion with Garrett and Jeff at Kashmir.

One great feature is the Reflector Analyzer to explore who exposes, uses, depends or inherits a given type:

There are no borders on the screenshots due to the way Compiz paints windows on the screen (a separate process paints the decorations).

Jackson has been fixing various issues in Winforms to improve the rendering. These screenshots are the result of his endless hours of work. Thanks Jackson!

Posted on 21 Feb 2007

« Newer entries | Older entries »