I will be at Microsoft's Mix 07 conference next week, am getting to Las Vegas around 5pm, if you are interested in talking about gnome, open source, mono and wildly speculate over the announcements of the week, drop me an email to my gmail account (miguel.de.icaza).
I will be on a panel on opensource on Monday at 1:30pm
Update: Dave Winer setup a signup page for those attending Mix 07.
Posted on 28 Apr 2007
Mike Gravel, ex-Alaska senator is running for the presidency. Here are some brilliant clips of his participation at the first democratic debate:
Last night Dennis Kucinich was interviewed by Bill Maher on Real Time. The whole show was fantastic.
Posted on 28 Apr 2007
Due to popular demand (all two of you), I have made a tarball of the Curses GUI interface for MonoTorrent as well as Monotorrent.
Update: Some folks are reporting that the internet tubes are clogged. Wait a little bit for the transfers to start, am using the Coral Cache for distribution (another de Icaza Industries innovation).
You need to have Mono and ncurses (will work on any modern Unix with ncurses).
You must first configure, make, make install the monotorrent-0.2.tar.gz tarball and then repeat the same for monotorrent-curses-0.1.
Once you are done, you can start up this gem of software engineering by typing monotorrent in your console.
Posted on 25 Apr 2007
For the last couple of weeks news started tricklying over IM and email that Microsoft was going to announce some Dynamic Language Runtime at Mix 07.
There have been some hints on the blogs, some friends of friends of MVPs, some friends of MVPs and some journalists. The MVPs have been leaking like there is no tomorrow.
Am not very good at predicting, but here are a few guesses for next week's Mix 07 announcements, in my confidence order:
The conference looks like it will be incredibly fun and I am looking forward to meet a lot of people. Lots of talks that I do not want to miss.
Posted on 25 Apr 2007
These are the interviews for the various winners from the Race to Linux contest that we did in collaboration with Mainsoft and IBM.
The exercise included porting existing ASP.NET-based applications to Linux. All the ports were completed in a matter of hours, in some cases the download of the VMware image took longer than the port itself.
Here are the interviews:
Posted on 23 Apr 2007
Jonathan Pobst just emailed me the comparison from Mono 1.2.3 to Mono 1.2.4 from the Mono Migration Analysis tool:
|Mono 1.2.3||Mono 1.2.4||Change|
|Methods flagged as "TODO"||3,734||3,691||43|
So 1,013 fresh new implementations since our last release.
Update: Jonathan pointed out that the numbers for APIs included internal classes (his tool has been fixed) and for internal assemblies or assemblies that we will not be supporting (VB6 support for example).
So the grand total for missing methods is 10,315 methods and not 18,425. I would fix the table, but I do not have all the updated numbers other than the grand total for Missing Methods.
From those 10,315, my senses it that we can live happily with up half of them not being implemented (fringe methods that are never used, do not show up in Moma reports or other relics).
Posted on 23 Apr 2007
Posted on 22 Apr 2007
We are about to release Mono 1.2.4. It has been a personal difficult decision, as only a few times in the life of a project you reach such a nicely rounded release name.
Wade has uploaded the test packages for Mono 1.2.4 for various architectures here: http://mono.ximian.com/monobuild/preview/download-preview
The diffs between 1.2.3 and 1.2.4 for the mono package (mono and mcs) are almost 20 megabytes in size (I did not count mono-basic, libgdiplus, monodoc, libgdiplus, xsp or mod_mono).
This release has a pretty much finished version of ASP.NET 2.0, with the exception of WebParts, which we have not done much about yet.
See my current embryonic release notes for more details.
Posted on 21 Apr 2007
A few years ago I passed my Canon D60 camera to one of my younger brothers (Franciso Isaac):
He made this animation with clay:
Posted on 20 Apr 2007
Yesterday I watched Alberto Gonzales on C-SPAN, but I did not see these shots from the audience. From Reddit:
Gonzo did not recall or remember 71 things yesterday, and the audience was keeping track:
Posted on 20 Apr 2007
A couple of things.
Rob is collecting questions for the panel. If you have some feedback, post on his blog.
Microsoft renamed their WPF/E rendering engine "Silverlight".
Silverlight is basically:
Silverlight has one thing going on for it, the file format to populate it can be trivially generated by web developers, so it will be easy for people to create cute controls and generate those on the flight.
The major difference in my opinion between what-ng's <canvas> tag and Silverlight is that Silverlight includes video playback support, and I can imagine that Microsoft will try to convince content providers to switch from Flash or their existing embedded windows media experiences to Silverlight.
As a Linux/BSD user, this might pose another setback for our desktop. For years video playback on Linux has been a pain due to the lack of codecs for the various proprietary formats (Considering that even on Windows WMA/WMV playback is a random experience). This all changed with Google Video and YouTube.
Google Video and YouTube popularized the use of Flash for delivering video and it quickly became the norm for video delivery. This opened the doors to the Linux desktop users to watch video content just like everyone else and the pain had been mostly eliminated.
swfdec open source Flash player.
Although Flash is not open source and it is not available on every Linux platform at least those of us using x86/x86-64 systems could watch those videos (and in addition, there is a project that is making great progress).
Reimplementing most of Silverlight is trivial but the difficult bit is getting the audio/video decoding in place (I will not give the Ximian crowd the pleasure of saying "its a weekend hack").
Lacking a viable open source-based competitor today for rich media delivery on the web and given the current state of both Flash and Silverlight, it is in open source's best interest to ensure that Flash gets ahead of the competition.
In my opinion, Flash needs a couple of things to stay ahead:
And of course, I think that Flash should be open sourced, but that is a long shot.
A completely open alternative would be ideal, a combination of:
It does not seem like a far shot, but it would require cross-browser support and would prevent us from being locked into either proprietary stacks.
Although there are some groups inside Microsoft that seem to be opening up, pushing open standards, and using licenses like the MsPl (for the Ajax client library for example).
Scott Guthrie, the star from ASP.NET is now in charge of .NET at Mircosoft. If there is anyone at Microsoft that understands the value of open standards and becoming more standards compliant it is him. So there are good possibilities on the horizon.
But it seems that larger company considerations like the use of VC-1 will prevent Silverlight from ever using unencumbered technologies.
This reminds me of that movie In Good Company (with Topher Grace and Scarlett Johansson) where decisions in the company are made to leverage synergy.
I look forward to discuss this at Mix 07.
Posted on 20 Apr 2007
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.
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
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 run.sh 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
Update: almost 12 years after I wrote this post, I have a 2019 Update on gui.cs
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).
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.
You can also see an early prototype, from the days when no color was yet supported on it here.
Some documentation is here.
In other news, there is now also a Windows.Forms GUI for the BitTorrent BitSharp libraries, available in http://code.google.com/p/monotorrent/.
Posted on 16 Apr 2007
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 http://code.google.com/p/mono-soc-2007/.
Update: fixed the links.
The list of accepted projects are:
by Ivan Zlatev, mentored by Miguel de Icazaby David Srbecký, mentored by Martin Bauligby Brian Nickel, mentored by Marek Habersackby Hector Enrique Gomez Morales, mentored by Mike Kestnerby Jeff Tickle, mentored by Mike Kestnerby Lukasz Knop, mentored by Sebastien Pouliotby Christopher J Parnin, mentored by Sebastien Pouliotby Jesse Tov, mentored by Raja R Harinathby Ben Motmans, mentored by Miguel de Icazaby Marcos Cobeña Morián, mentored by Atsushi Enomotoby Laurent Debacker, mentored by Mike Kestnerby George Giolfan, mentored by Miguel de Icazaby Gernot Margreitner, mentored by Alan McGovernby Jared Hendry, mentored by Alan McGovernby Leonardo Pires, mentored by Marek Habersackby Néstor Salceda, mentored by Sebastien Pouliotby Artur Dwornik, mentored by Raja R Harinathby Marcos David Marin Amador, mentored by Michael James Hutchinsonby Kenneth Parnell, mentored by Atsushi Enomotoby Scott Peterson, mentored by Aaron Bockoverby Matej Spiller-Muys, mentored by Atsushi Enomotoby Andrew Pendleton, mentored by Miguel de Icazaby Nidhi Rawal, mentored by Sebastien Pouliotby Khaled Mohammed, mentored by Massimiliano Mantione
Posted on 12 Apr 2007
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.
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:
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:
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.
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.
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
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.
A problem with the Sansa Connect is that Yahoo Music does not have a Linux client.
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