Switching to Mono

by Miguel de Icaza

A Java developer talks about his migration to Mono: he needed a cross-platform GUI framework and good database support. He goes on to describe his experience at length on his `Mono for Fun' article.

Posted on 04 May 2005


Making Gnome Fun

by Miguel de Icaza

Like everyone else, I have been thinking about Edd's blog entry as well as the follow up from Mikael.

My feeling is that the Gnome Desktop itself is fairly complete at this point and that is why we have seen people invest less into the actual infrastructure on the desktop and a lot more on getting things right. Am personally very happy with the incremental goodies in Gnome 2.10, it continues to be a pleasant upgrade every time and it is a good direction to polish and improve while some of the fundamental components of the desktop are sorted out.

In my opinion infrastructural hacking can be fun and its important, but the easy stuff is done, and the more complex issues can take years to get to the point of being fully baked and wildly deployed.

This is why casul developers or those who do not happen to be working for companies that can do multi-year commitments of work on a single direction have turned their attention to create independent applications in Mono or Python. The activity in GnomeFiles is a proof of this. As it happened in the past, a lot of the new Gnome-based and related developments and activities are happening outside realms of Gnome. It would not hurt to create bridges to these projects.

There are important pieces of the desktop that will bring considerable upgrades to our developer offering: Cairo, the new vector-based Gtk+ toolkit, GStreamer, The GL-based X server, Luminocity and D-Bus to name a few.

But these technologies will take a few years to be completely baked. Cairo has been under development for almost three years and D-Bus under development for two and none of them are available yet in 1.0 form. And once they are ready, it will take sometime before these technologies are wildly available.

In the meantime, there are a number of easy things that we can do to improve Gnome:

  • Desktop Improvements: both Windows and OSX have raised the bar in terms of what users expect from a desktop.
    Photo management, video editing and audio production are no longer vertical applications, this is a standard feature that every OS needs.
  • System Configuration: the Gnome System Tools have finally made it into a real distribution (Ubuntu), and its architecture is useful for both large-scale management as well as creating multiple front-ends (GUI, Console and Web).
    We should do a push to expand the scope of these tools and bring or port existing configuration tools from other systems.
  • Keep up: OSX just came out and it has a bunch of new and interesting ideas. We do not need to start with the huge pieces of OSX, we can start with the small increments, very much like we have done in the past to bring the best in them.
    We have also quite a few bugs open in Bugzilla that could use some help.
  • Evince: Probably one of the most important efforts in Gnome right now. What they have achieved so far is great, but it needs to keep up with Apple and Adobe's offerings to be a full replacement.
  • Web applets: Like every other user out there, I want to get the OSX dashboard widgets into my desktop. It should not be hard to modify Mozilla to provide the same functionality and even be source compatible. The core is there already.
    Probably the most important element of Apple's Dashboard is the fact that it basically runs full-screen: so there is no need to write small controls or make them tiny or try to get creative about showing them or hiding them. Its basically a full new screen where you can use the space effectively.

We continue to maintain Evolution but we have also branched and started a few new desktop projects, this time built with Mono and Gtk#: a new GUI designer for Gtk+ (Stetic), a personal photo management application (F-Spot), disconnected file sharing (iFolder), desktop search (Beagle) all pieces that we consider important for the desktop.

I believe these components (and more) should be part of a standard desktop offering. Whether they become part of the standard Gnome offering remains a political issue, but at least Novell, Mandriva, Debian and Ubuntu are making these available in one form or another (wink, wink).

In my opinion, Mono is in a strong position since it provides the same libraries that have been developed for C# developers to be consumed by other languages (of particular interest are Boo and the renewed IronPython) and because it has opened the doors to the Windows developers which are now starting to get their feet wet on Linux, Open Source, Gtk and Gnome.

Posted on 02 May 2005


Jeremy Allison

by Miguel de Icaza

Jeremy Allison has now joined Novell as well. He will be in a number of conferences in Germany this week.

Posted on 29 Apr 2005


John Pilger Documentary

by Miguel de Icaza

Am a big fan of John Pilger's articles and books. And while doing my daily delicious popular browsing I found a torrent for Pilger's Palestine is Still the Issue documentary.

The documentary aired in the UK, and I had read the blurb on his web site a few years ago.

Posted on 28 Apr 2005


.NET to Java

by Miguel de Icaza

Mono offers a mechanism to run your .NET code on non-Unix systems by providing a CLI execution environment. Mainsoft has taken a different approach. Mainsoft wrote a translator that integrates with Visual Studio that converts existing .NET applications into Java applications by translating the CIL bytecode into JVM bytecodes.

Mainsoft has historically focused on server-side deployments with their product (Integrating ASP.NET with J2EE and bringing Visual Studio debugging to J2EE). But Erik Sink from SourceGear needed to bring the Vault software to Eclipse users.

Erik wrote an article on how he got his .NET code to run inside Eclipse using Mainsoft's products, it is available on Microsoft's web site.

Boo

The programming language Boo is gaining popularity among developers. Boo is an open source Python-like language that has been designed to integrate into an ECMA CLI virtual machine, so it integrates things like properties and attributes directly into the language.

Boo is a statically typed language very much like C#. This means that Boo will produce optimal strongly typed CIL code, but if you need the flexibility of dynamica types it makes this available through type inferencing or dynamic typing.

You can learn about the differences from Python here and its main features here

Peter Johanson has implemented a Boo Add-in for MonoDevelop, he has various screenshots on his blog:


Intellisense Support for Boo in MD.

Configuration Page for Boo Add-in.

Boo Shell Inside MD.

ASP.NET 2.0 updates

Lluis updates us on Mono's ASP.NET 2.x status.

Thomas Friedman Follow-Up

Cullen pointed me out to McSweeney's take on Writing your own Thomas Friedman OpEd.

VMware 5 Screenshots on Linux

Christian Hammond has posted some screenshots of the new VMWare 5 with its snapshotting GUI here.

Ajax for .NET

There is a blog dedicated to Ajax for .NET here (from AjaxMatters).

Posted on 26 Apr 2005


More Books on Lebanon

by Miguel de Icaza

The book on Asad that I was recommended is awesome, it gives a different perspective on the Lebanon war from the Syrian point of view.

As I was reading the book, Amazon introduced a new feature that allows customers to see a list of books referenced by a given book. I used this to get myself a couple of other books: "Israel's Lebanon War" and Abu Nidal: A Gun For Hire.

In "Israel's Lebanon War" has an excellent introductory chapter on the Lebanese civil war as witnessed from Israel. The book relies on interviews and de-classified documents from the Israel government to recreate the Israeli involvement in Lebanon.

I have not finished this book, but it is a good complement for Robert Fisk's "Pity the Nation" narrating the gradual involvement of Israel with the Phalange party. The book begins in the early years of the Lebanese Civil war (1977) and describes the rise of Bashir Gemayel from the low ranks of the Phalange Militia to its control of the other Christian militias through the assassination of his opponents to the presidency.

On the other side Menachem Begin starts to empathize with Bashir's struggle and conceives a plan to make Bashir Lebanon's president. He relies on Ariel Sharon, his secretary of defense, to put together a plan to destroy the PLO, reach Beirut and install this new government.

Such a plan would have been rejected by the Israeli Cabinet, so they have to prepare and operate in secret and only give as little information as possible to the Israeli Cabinet. To make their case they have to withhold negative information and intelligence assessments from the Cabinet and paint a rosy picture of the invasion.

To get the cabinet to approve the plans, they present them with a limited plan: a military invasion of southern Lebanon of about forty kilometers. The real plan is to reach Beirut, but this will not be disclosed to the rest of the Cabinet until the invasion starts.

The invasion plans faced a problem. There was a cease-fire in place between Israel and the PLO on the border and as long as the palestinians did not attack there would be little reason for an invasion. Arafat had managed to curb its guerrillas from responding to provocation (which included bombing and shelling of their cities and positions).

Patrick Seale's "Abu Nidal: A Gun For Hire" is addictive and non-stop reading. A book tracing the inner working and operations of Abu Nidal's terrorist organization. Abu Nidal started a resistance group which splintered from the mainstream palestinian opinion in the 70's. Abu Nidal's would transform his group from an extreme palestinian group into a work-for-hire organization that would carry out terrorist attacks against the enemies of his sponsor of the day. Most importantly Abu Nidal broke early on with the PLO and did everything he could to destroy the moderate palestinian voices.

The book recreates Abu Nidal's operations, its mode of operation and some missions it carried out by interviewing collaborators, defectors and opponents. The book starts by tracing the steps of a new recruit in the group, and then exploring the claim from a senior PLO officer: that either Abu Nidal's Organization was infiltrated by the Mossad or Abu Nidal himself was working for the Mossad. The exploration of this claim takes the rest of the book as Patrick Seale reconstructs the various terrorist strikes carried out by Abu Nidal. In this book, Lebanon appears only as a backdrop to the mainline story.

In any case, Abu Nidal's strikes consistently undermined the efforts of the PLO and the palestinian cause which he claimed to be assisting. Attacks would set back any attempts from the PLO to become a political force to represent the interests of the Palestinians in the exile and on the occupied territories.

Abu Nidal's group carried out an attempt to assassinate the Israeli ambassador in London in 1982. This was taken as a violation of the cease-fire and the invasion of Lebanon begun.

A light side of Lebanon today

A lebanese makes fun at the current state of affairs in Lebanon.

Another one: How-To for a Lebanese Cabinet.

Speaking of Books

A few months ago, I was also recommended `From Beirut to Jerusalem' from Thomas Friedman. I never quite liked his articles on globalization in the past and I was skeptical about his book, but I gave it a shot.

I could barely read one third of the book, as it felt mostly like a shrine that Thomas Friedman had written about himself, it felt very much like a `me, me, me book'.

I mention this now because I found two interesting articles: Write Your Own Thomas Friedman Article which captures more elegantly what I disliked about the book.

Update: the link above no longer works, but I transcribe it here


1. Choose your title to intrigue the reader through its internal conflict:

a. War and Peas
b. Osama, Boulevardier
c. Big Problems, Little Women

2. Include a dateline from a remote location, preferably dangerous, unmistakably Muslim:

a. Mecca, Saudi Arabia
b. Islamabad, Pakistan
c. Mohammedville, Trinidad

3. Begin your first paragraph with a grandiose sentence and end with a terse, startlingly unexpected contradiction:

a. The future of civilization depends upon open communication between Yasir Arafat and Ariel Sharon. If the two don't speak to each other, the world edges closer to the precipice of total war. If, on the other hand, they manage to engage in open conversation and resolve their differences, Israelis could soon be celebrating Seders in Saudi Arabia. But for now, the two men can't speak. Why? You can't make a collect call from Bethlehem.

4. Use the next few paragraphs to further define the contradiction stated above, peppered with little questions making it look like you're having a conversation with the reader. Feel free to use the first person:

a. My first thought was to ask: Why no collect calls from Bethlehem? It's easy to call collect from Bosnia, Kosovo, even Uzbekistan. Am I sure? Of course I'm sure. I was in each of those places just a few weeks ago, making collect calls all over the world. No problem. So why can't Arafat call collect from Bethlehem?

5. Remember: Thomas Friedman is the Carrie Bradshaw of current events. Think Sex and the City, write "Sects and Tikriti":

a. How can Islam get to its future, if its past is its present?

b. Later that day I got to thinking about global civilizational warfare. There are wars that open you up to something new and exotic, those that are old and familiar, those that bring up lots of questions, those that bring you somewhere unexpected, those that take you far from where you started, and those that bring you back. But the most exciting, challenging and significant clash of all is the one you have with your own civilization. And if you can find a civilization to love the you that you love, well, that's just fabulous.

c. Maybe Arabs and Israelis aren't from different planets, as pop culture would have us believe. Maybe we live a lot closer to each other. Perhaps, dare I even say it, in the same ZIP code.

6. Name-drop heavily, particularly describing intimate situations involving hard-to-reach people:

a. The Jacuzzi was nearly full when Ayman al-Zawahiri, former surgeon and now Al Qaeda's head of operations, slid in.

b. It was Thomas Pynchon on the phone. "Tommy," he said, probably aware we share that name ..

c. Despite the bumpy flight, I felt comfortable in the hands of a pilot as experienced as Amelia Earhart.

7. Include unknowns from hostile places who have come to espouse rational Western thought and culture:

a. I visited Mohammed bin Faisal Al-Hijazi, former top aide to Ayatollah Khomeini, now a reformer and graduate of the Wharton Business School.

b. Last year Nura bin Saleh Al-Fulani worked in Gaza sewing C4 plastic explosives into suicide bombers' vests. I caught up with Nura last week in Paw Paw, Mich., where she sews activity patches on the uniforms of Cub Scout Pack 34.

8. Make use of homey anecdotes about your daughters, Natalie and Orly, enrolled in Eastern Middle School, Silver Spring, Md.:

a. My daughter Natalie, a student at Eastern Middle School, a public school in Silver Spring, Md., asked me at breakfast: "Daddy, if my school has students who are Muslims and Jews and Christians and Buddhists all working together, why can't the rest of the world be that way?" There was something in the innocence of her question that made me stop and think: Maybe she has a point.

9. Quote a little-known Middle East authority at least once in every column:

a. Stephen P. Cohen
b. Stephen P. Cohen
c. Stephen P. Cohen

10. Conclude your column with a suggestion referring back to the opening contradiction, but with an ironic twist. Make sure the suggestion you proffer sounds plausible, but in fact has no chance of happening:

a. Driving into Bethlehem in the back of a pickup, I wonder: What if Yasir Arafat and Ariel Sharon sit down and play a game of poker? And what if the stakes are these: If Sharon wins, the Intifada is over. If Arafat wins, Palestine gains statehood. One game of no-limit Texas hold 'em, and the Middle East crisis is resolved. Just like that. Yasir and Ariel, deal 'em out.

And a very funny review of his new book.

Posted on 24 Apr 2005


Code Access Security in Mono

by Miguel de Icaza

Sebastien has two nice articles: Graphs to visualize security demands and the fourth part on the series of the Mono Security Manager.

Sebastien is using the Cecil introspection library by JB to extract the CIL bytecodes and trace the use of the security manager.

Mexican Coup, part 2

Carlos Alberto points to an article with quotes from around the world on the recently staged coup. And has details on Mexican Ambassador to the US campaign to stick his foot in his mouth. He is mailing newspapers trying to justify the coup staged against Mexico City's major by the federal government.

He is arguing that technically they are allowed to use a technicality to block Lopez Obrador from running for the presidency.

Sign the petition online against the Fox coup: here

Posted on 20 Apr 2005


Boo Integration with MonoDevelop

by Miguel de Icaza

The Boo language integrated into MonoDevelop: description and screenshot.

Posted on 17 Apr 2005


Dirty Tricks in Mexico

by Miguel de Icaza

I have been considering for a while to write about the creative coup being cooked in Mexico. It is a creative coup, because nobody had thought of this before. If there is one area where we mexicans excel is in coming up with some crooked schemes. This time is the turn of President Fox.

President Fox is using a technicality on a minor issue to block his strongest opponent from running on the upcoming elections.

I envision many countries will be able to follow Mexico's leadership on this new twist on bringing improved democracy to their people. The trick is simple: make sure to sue your opponent shortly before he presents his candidacy for the elections. You must ensure that your country has, or passes a law that will allow you to keep people under investigation to run for office.

Laura Carlsen's article gets to the facts quickly and with no verbiage.

A few selected quotes:

When Vicente Fox ended the 71-year reign of Mexico's Institutional Revolutionary Party in the 2000 presidential elections, many observers heralded it as the beginning of a long-overdue transition to democracy. Now President Fox, in a concerted effort with members of the former ruling party, has closed the door on that transition.

By orchestrating a pseudo-legal offensive against Mexico City's popular mayor, Andr�s Manuel L�pez Obrador, Fox has not only dashed the hopes of Mexicans for a real democracy, but has also destroyed the political capital he gained back in 2000.

Hundreds of thousands of people gathered in Mexico City's central square to protest Congres's decision to strip L�pez Obrador of immunity to prosecution granted elected officials. The mayor will now stand trial for allegedly failing to follow a court order to halt work on an access road to a local hospital. According to the federal attorney general's office, the government will likely put L�pez Obrador behind bars, as a "preventive measure," before the trial even starts.

The president and his Secretary of State initially claimed that they were not involved in this activity, until the details about the secret meeting between them and a federal Judge came to light exposing the complot. Oops. They blamed the opposition for `politicizing' the issue.

The trial for Andr�s Manuel is over a minor problem (read the article for the details), and you have to wonder about priorities.

In the meantime, Fox has yet to answer to various charges of corruption in his administration involving his own campaign, Petroleos Mexicanos (the state owned oil company), his special properties, the use of federal resources for his personal use and the Cuban scandal.

The Cuban scandal is probably the best, it is like Watergate but ten times bigger: infiltration, complots, video-taping, bribery, federal agents concocting against the opposition parties. It has it all. The only difference is that nothing is happening to Fox.

On the economic side, the last week saw the largest capital transfer out of the country since the 1994 depression (the one that would bring the dollar price from 3 to 10 pesos).

So we are dealing with a special kind of weasel here: a dumb weasel.

The Independent story is here

Edd is back from Lebanon.

Edd, who was the first person to tell me that Lebanon was a great place to visit, just came back from his second trip to Lebanon. He posted parts of his travel log and some pictures on his blog.

Posted on 10 Apr 2005


GUI for hand-held devices

by Miguel de Icaza

Updated screenshots of GPE Palmtop Environment are available here.

GPE is royalty-free GUI framework for embedded devices and is based on the Linux, X and the Gtk+ toolkit.

Posted on 09 Apr 2005


« Newer entries | Older entries »