Alberto Gonzales' Amnesia

by Miguel de Icaza

Regardless of whether Attorney General Alberto Gonzales is innocent or guilty on the case of the fired Federal Prosecutors, it seems that the guy has a severe case of amnesia.

In my opinion, he should yield the position just on the grounds of exhibiting very strong signs of senility.

Senator Grilling

One Republican senator told Gonzales (paraphrasis), regarding all the incompetence in the whole deal:

"The exact same standards [that you applied to the firing of the prosecturos] should be applied to you"

"Why shouldn't those standards apply to you?"

"you ought to suffer the consequences that others have suffered, the best way of put this behind is for you to offer your resignation".

Gonzales' reply is "Good work is being done, I will rectify".

Posted on 19 Apr 2007

Ports from the Race to Linux

by Miguel de Icaza

The ports of the various contests from the Race to Linux are available here. There are two ports done with Mono/XSP and two ports done with Mainsoft's Grasshopper.

We got the winners for the second Race to Linux.

Here is what Jenna just emailed me:

Congratulations to Mark Cafazzo from Canada! He was the first Race to Linux 2.0 entrant to successfully port the Blog Starter kit to Java EE and run it on Linux using the Grasshopper 2.0 Technology Preview, Visual Studio 2005 and MySQL as the backend database. Says Mark: "The combination of Grasshopper and VMware made porting the Blog Starter Kit a breeze!"

The Race #2 winner in the Mono category is Rodrigo Queipo of Argentina. He used Mono's XSP ASP.Net server and SQL Server 2000 SP4 for the database.

Both entries duplicated the look and feel of the original application to the smallest detail and can be accessed from the Race to Linux Website.

Congratulations to the winers!

Update: I registered to download the ports and they run out of the box. You type and its up and running on Linux:

The Race to Linux site has the description on how the port was done by each participant.

Posted on 18 Apr 2007

Introducing: gui.cs

by Miguel de Icaza

Every once in a while, people ask us "Will the Mono project implement WPF/XAML?" or "What is your position on Apollo?".

Some suggest that we must have a one-to-one implementation available in Mono. Some others believe that we should implement a new GUI toolkit and plot our own destiny.

Some argue that to win the hearts and minds of the Linux community we should appeal, not only to the desktop users, but also to other members of the community: system administrators, designers, musicians, perl programmers and users of Midnight Commander.

There has been a lot of debate over Flash, Adobe's Atlas and WPF/E and how these technologies might be the future of application development.

For the past few months we have heard you loud and clear. And we have been working on a technology that we believe will revolutionize user interfaces.

Today we are announcing the response to Microsoft's WPF/XAML, a response to Flash and WPF/E. A cross-platform GUI toolkit (supports Windows, MacOS and Linux and is easily ported to new platforms) written entirely in managed code and 100% open source. It is completely licensed under the MIT X11 license terms as well, for your freedom-zero needs.

We have been developing this under secrecy until we had something worth showing to the world. It builds on years of building user interfaces, toolkits and frameworks.

This is a preview release, currently the major sample application is a BitTorrent client built using Alan McGovern and Gregor Burger's MonoTorrent library (Alan and Gregor wrote this library as part of Google's Summer of Code 2007).

You can download a tarball from here, browse the source code here. To build the software, you will need to also download monotorrent and edit the Makefiles accordingly.

The BitSharp GUI is something that I quickly put together this weekend, so it might need some extra polish, feel free to send your MIT X11 contributions my way.

Everyone loves screenshots, you can see a few screenshots here. Or go directly to main window, torrent control and options configuration.

You can also see an early prototype, from the days when no color was yet supported on it here.

Some documentation is here.

Windows.Forms UI for BitSharp

In other news, there is now also a Windows.Forms GUI for the BitTorrent BitSharp libraries, available in

Posted on 16 Apr 2007

Google Summer of Code 2007: Mono Project

by Miguel de Icaza

The Google Summer of Code has begun!

A grand total of 24 students were accepted this year to work on various projects related to Mono. The list of students and projects accepted is available here.

For those interested in tracking the progress of the 24 projects over the summer, we have created a group for the students and mentors here.

Guidelines for students have been posted in the reference page.

And we have also created a Google Code Hosting site for all students to upload their code. If you want to track the actual source code development, the group is at

Update: fixed the links.

The list of accepted projects are:

by Ivan Zlatev, mentored by Miguel de Icaza
by David Srbecký, mentored by Martin Baulig
by Brian Nickel, mentored by Marek Habersack
by Hector Enrique Gomez Morales, mentored by Mike Kestner
by Jeff Tickle, mentored by Mike Kestner
by Lukasz Knop, mentored by Sebastien Pouliot
by Christopher J Parnin, mentored by Sebastien Pouliot
by Jesse Tov, mentored by Raja R Harinath
by Ben Motmans, mentored by Miguel de Icaza
by Marcos Cobeña Morián, mentored by Atsushi Enomoto
by Laurent Debacker, mentored by Mike Kestner
by George Giolfan, mentored by Miguel de Icaza
by Gernot Margreitner, mentored by Alan McGovern
by Jared Hendry, mentored by Alan McGovern
by Leonardo Pires, mentored by Marek Habersack
by Néstor Salceda, mentored by Sebastien Pouliot
by Artur Dwornik, mentored by Raja R Harinath
by Marcos David Marin Amador, mentored by Michael James Hutchinson
by Kenneth Parnell, mentored by Atsushi Enomoto
by Scott Peterson, mentored by Aaron Bockover
by Matej Spiller-Muys, mentored by Atsushi Enomoto
by Andrew Pendleton, mentored by Miguel de Icaza
by Nidhi Rawal, mentored by Sebastien Pouliot
by Khaled Mohammed, mentored by Massimiliano Mantione

Posted on 12 Apr 2007

First few hours with the Sansa Connect

by Miguel de Icaza

As of 2pm am the happy owner of the Sansa Connect.

The Sansa Connect runs Linux and uses Mono for its user interface, so am 100% biased about the level of awesomness that the device has.

Opening up the Sansa Connect

Zing should open up the development for the Sansa Connect.

The device has tons of potential: the great color screen, the Wifi, their custom-built GUI toolkit and the fact that they use C# and Mono to build all of this stuff.

In the last couple of hours, knowing that the device was running Linux and Mono, I could not stop thinking of the things I would like to implement:

  • Expose an http interface, so I can post songs to it over the WiFi instead of the USB.
  • Expose my device through HTTP, so I can download song from it using a Web client.
  • Post my songs to in addition to the Yahoo service.
  • Stream music from (we already have all the code to play it back) in addition to yahoo streaming.
  • Share my music list over Jabber (this is what Google Talk uses). I sadly have no friends in Yahoo Messenger, as I never have used it.
  • Add a picasa client for the pictures using Google-Sharp, again, because I gravitate in the Google universe instead of the Yahoo universe.
  • Allow the machine to stream from Shoutcast, HTTP or DAAP servers on my local networks (what I have at home and at work), this would automatically make it a client for the various iTunes machines around and use my server at home as my streaming source.
  • Update: I forgot to mention (thanks bhale!) playback (we already got the C# code, last-exit).
  • Games ;-)

I understand that going from being an embedded system vendor into a platform provider might not be easy but opening up the platform just a bit would achieve plenty. All that would be needed is:

  • Publishing the assemblies that the device exposes. The community can use `monop' to actually generate the public class definitions and prototypes. We could get by with little or no documentation.
  • Documenting a process for re-flashing, uploading or tricking their operating system into loading the new assemblies.

A hackable platform for portable media players would be one way of differentiating from the iPod. Growing an ecosystem of third party developers that produced applications and components for Zing's tools would make these devices more appealing than the iPod is.

The WiFi on the device and the complete stack really open tons of new options on this device.

Early Impressions

The device came in one of those plastic seals that are known to have caused more deaths that drunk driving in Guatemala. After a few seconds of Googling I gave up and teared the thing apart by cutting and bending until the thing was reduced to pieces of confetti. In the process I ruined Katey's scissors. Sorry about that Katey.

There was a sticker that said something along the lines of "IMPORTANT: Do not plug this device before installing the software". Or something about not turning it on before doing something. I would report the actual wording if the sticker was not burried underneath the remains of my tuna sandwich and the potato leak soup that I threw in the garbage can.

I ignored the sticker, because programmers know best. And besides, I was not going to plug it into Windows, I was going to plug it into Linux.

The device does not expose a USB mass storage interface, instead it exposes a Media Transfer Protocol (MTP) interface. Luckily we can use libgphoto2 and libmtp to access the device.

With the libmtp clients you can actually copy files into the device (the clients command line arguments are awful) which worked to upload "Don't fear the Reaper" and get enough cowbell out of it.

My Banshee was not compiled with MTP support and Amarok hung while trying to access the device. I shall look into recompiling my Banshee later with the proper support.

Internet Radio and the WiFi

This was fantastic. You select a wireless network and the little guy goes and gets an IP address and lets you play internet radio and browse Flickr pictures.

The Flickr browser seems fine, but am not really a Flickr user. It appears to come with a Yahoo messenger, but since I have exactly zero friends on my Yahoo Messenger (pretty much everyone I know has moved to Google Talk) I have not even tried it.


I am still pondering whether it is worth buying a Yahoo subscription for the device. The radio streaming from the radio stations on the device is pretty passable so am left wondering if I really want to give Yahoo 14 bucks a month. Am already paying Rhapsody and at least Rhapsody has a Linux web player (it sucks, but at least I can play it on Linux).

Two questions: Yahoo advertises that they have 2 million songs on Yahoo Unlimited. I am pretty used and happy with the music selection at Rhapsody, but I could not find how the music collections at both sites compare.

Rhapsody does not let me play music when am traveling outside of the US. I once read the excuse, but it must have been incredibly lame because I did not bother to remember it.

Would Yahoo let me play music when I travel? Decisions, decisions.

If I buy the Yahoo service, would they allow me to http get DRM-ed songs to upload to my device, so I can play all my music on Linux?

Posted on 10 Apr 2007

Sansa Connect is Shipping

by Miguel de Icaza

The Mono-based Sansa Connect MP3 player is now shipping.

The device comes with WiFi and 4 gigs of space for 250 dollars (50 dollars more expensive than the equivalent iPod, but comes with WiFi, internet radio and a Flickr browser). It has an expansion slot, so you can add more memory to it, so you can upgrade the space without upgrading the hardware and it integrates with Yahoo Music.

I will be ordering mine today.

Engadget has an updated review, it is pretty good, but they say regarding the music services:

We're disappointed that the Connect isn't a little more open than it is; we'd like to be able to stream whatever the heck we want for starters, but Yahoo! Music Unlimited and LAUNCHcast aren't bad starts. Now the trick is to keep up the WiFi momentum for these things -- Apple, Creative, iRiver, Archos, we're looking straight at you!

Someone on the blog comments a few months ago asked whether Zing would open up the platform for people to develop plugins for it, but it seems that at this point they have no plans to do so. I wish they did.

Online Music Services

A problem with the Sansa Connect is that Yahoo Music does not have a Linux client.

I am currently a Rhapsody user, and I use it mostly on the Windows machine that I use for testing .NET and reading the MSDN documentation. Although Rhapsody has a Linux client, you must be using Firefox to play your music (they use a firefox plugin and a web page with Javascript for their web player).

The situation is far from ideal, I would much rather have Banshee be my music front end.

So this weekend I tried to make a fake plugin host that would trick the Rhapsody plugin into loading, but am getting one misterious crash while calling NP_Initialize in the plugin (it loads Flash just fine) (source here, in case someone feels like debugging it).

Posted on 09 Apr 2007

First Race to Linux, Winners

by Miguel de Icaza

Lam Loune is the winner of our first Race to Linux. Lam is from Australia and ported Microsoft's Small Business Starter Kit to Linux.

Lam picked Mono and XSP to do the port, he completed the port in five hours and twenty six minutes (5:26) since the race started.

Hector Ramirez from Mexico was the first to port the Small Business Starter Kit to Linux using Grasshopper (so the software runs on a Java VM). Sorry, I do not have the time for this one.

They both won Wii's.

The Small Business Starter Kit is a sample ASP.NET 2.0 application that Microsoft distributes for people to study the patterns and best practices while developing a web application.

This race shows that although Mono and Grasshopper do not have a 100% coverage for the entire application stack, it is possible to port most ASP.NET code out there.

And its also interesting that the port was done by two newcomers to Mono.

Check the Race to Linux page for upcoming articles describing how these applications were ported.

Congratulations to Hector and Lam, and good luck for the folks on the second Race!

Posted on 31 Mar 2007

Mexico City

by Miguel de Icaza

Am flying to Mexico City for the week; Mauro convinced me to buy a cheap ticket through Kayak.

Tacos tonight!

Posted on 31 Mar 2007

Google in the News

by Miguel de Icaza

Two fascinating bits today:

Google using solar power in the Google campus:

The move to solar made sense for Google, and not just "hippie Gaia-loving" sense. Ravitz said that Google will earn its investment back in 7.5 years, after which it will continue to enjoy inexpensive power for decades. With the company sprawled across a large campus of many low buildings, roof space was easily available. Solar also has the unique property of pumping out more energy when power is the most expensive --- peak afternoon hours. When air conditioners across California kick into action on sunny days, Google generates the most power.

Then the fantastic response to Viacom. Worth reading the whole thing:

Viacom is attempting to rewrite established copyright law through a baseless lawsuit. In February, after negotiations broke down, Viacom requested that YouTube take down more than 100,000 videos. We did so immediately, working through a weekend. Viacom later withdrew some of those requests, apparently realizing that those videos were not infringing, after all. Though Viacom seems unable to determine what constitutes infringing content, its lawyers believe that we should have the responsibility and ability to do it for them. Fortunately, the law is clear, and on our side.

Posted on 30 Mar 2007


by Miguel de Icaza

A few years ago I met Andreas Proschofsky, a reporter that knew a lot about Mono dynamics, group and technicalities. It has ever since a pleasure to do interviews with Andreas as they are typically interesting conversations.

This year I did not attend the Brainshare conference so we did an email interview on the state of Mono. And this year he published it in English.

Re-reading my replies looks like they were answered by a robot though, it certainly felt more human when I originally replied to that email.

The crowd at OSNews got upset because I said advocate more collaboration between Mono and Microosft. It is hardly news, I advocated the same thing in August during an interview that I did with Sam Ramji from Microsoft, before I knew of any MS/Novell collaboration.

Posted on 26 Mar 2007

« Newer entries | Older entries »