A few Mono contributors went to work and consult for a mysterious company a while ago, and this week we finally found out where they had gone.
They created a framework for building web applications, the dream framework. It is mostly focused on the back-end side of things. The framework allows developers to easily create REST services, with a number of interesting features:
MindTouch Dream is a REST-based distributed application framework developed in Mono/.NET. With Dream, a Web service is similar to an object, and features interact through standard HTTP verbs. This design allows the developer to assume an "idealized" world where everything a service comes into contact with is accessed through Web requests. The Dream service library addresses common problems, and the Dream runtime orchestrates all interactions without requiring a Web server to be pre-installed on a target machine.
MindTouch Dream manages all the complex aspects of interactive web services, such as providing storage locations, database connections, event notifications, automatic data conversion from XML to JSON and short-circuit communication for co-hosted services.
And they ported MediaWiki to run on top of this framework, this port is DekiWiki. It differs from MediaWiki in that they have a GUI designer for the page, it is quite nice. You can see it in action here.
I am told that they are porting the entire MediaWiki to C# as well.
Aside from the high-level descriptions, there are a couple of interesting bits about Dream, the framework and applications are designed assuming that network connectivity could go down at any point, that the network will likely fail. A focus on making fault tolerant applications.
Currently Dream and DekiWiki run out of the box with Mono, for installation instructions see this.
I told Urs that I would migrate www.mono-project.com to it, but it first has to be ported to C# ;-)
Posted on 27 Jul 2006
Next week I will be presenting Mono at the Lang.NET 2006 Symposium conference at Microsoft in Redmond. There are a number of interesting talks about VMs, new languages, mapping languages to the current VMs and some creative uses of these VMs.
Will be arriving on Sunday, and leaving on Thursday, drop me an email if you want to meet.
Posted on 26 Jul 2006
From the Daily Grind, I found out about NProject:
NProject is a software project and content management system mainly for the .NET Framework (and Mono). It integrates a Wiki, an issue management and reporting system, a dynamic project calendar and integration with CruiseControl.NET. It's inspired by Trac (http://projects.edgewall.com/trac/) and other cool projects. It's based on Castle MonoRail, ActiveRecord? and Windsor projects (http://www.castleproject.org/). But most important : it's fun and looks cool!
Posted on 26 Jul 2006
Howard Zinn wrote in December 2001 the A Just Cause, Not a Just War.
This essay is as relevant today as it was relevant at the end of 2001:
Terrorism and war have something in common. They both involve the killing of innocent people to achieve what the killers believe is a good end. I can see an immediate objection to this equation: They (the terrorists) deliberately kill innocent people; we (the war makers) aim at "military targets," and civilians are killed by accident, as "collateral damage."
Is it really an accident when civilians die under our bombs? Even if you grant that the intention is not to kill civilians, if they nevertheless become victims, again and again and again, can that be called an accident? If the deaths of civilians are inevitable in bombing, it may not be deliberate, but it is not an accident, and the bombers cannot be considered innocent. They are committing murder as surely as are the terrorists.
The absurdity of claiming innocence in such cases becomes apparent when the death tolls from "collateral damage" reach figures far greater than the lists of the dead from even the most awful act of terrorism. Thus, the "collateral damage" in the Gulf War caused more people to die--hundreds of thousands, if you include the victims of our sanctions policy--than the very deliberate terrorist attack of September 11. The total of those who have died in Israel from Palestinian terrorist bombs is somewhere under 1,000. The number of dead from "collateral damage" in the bombing of Beirut during Israel's invasion of Lebanon in 1982 was roughly 6,000.
We must not match the death lists--it is an ugly exercise--as if one atrocity is worse than another. No killing of innocents, whether deliberate or "accidental," can be justified. My argument is that when children die at the hands of terrorists, or--whether intended or not--as a result of bombs dropped from airplanes, terrorism and war become equally unpardonable.
Let's talk about "military targets." The phrase is so loose that President Truman, after the nuclear bomb obliterated the population of Hiroshima, could say: "The world will note that the first atomic bomb was dropped on Hiroshima, a military base. That was because we wished in this first attack to avoid, insofar as possible, the killing of civilians."
I suggest that the history of bombing--and no one has bombed more than this nation--is a history of endless atrocities, all calmly explained by deceptive and deadly language like "accident," "military targets," and "collateral damage."
Some people argue that the only viable option to conflict resolution is the escalation to war:
To get at the roots of terrorism is complicated. Dropping bombs is simple. It is an old response to what everyone acknowledges is a very new situation. At the core of unspeakable and unjustifiable acts of terrorism are justified grievances felt by millions of people who would not themselves engage in terrorism but from whose ranks terrorists spring.
Those grievances are of two kinds: the existence of profound misery-- hunger, illness--in much of the world, contrasted to the wealth and luxury of the West, especially the United States; and the presence of American military power everywhere in the world, propping up oppressive regimes and repeatedly intervening with force to maintain U.S. hegemony.
This suggests actions that not only deal with the long-term problem of terrorism but are in themselves just.
In short, let us pull back from being a military superpower, and become a humanitarian superpower.
Posted on 24 Jul 2006
Yossi Sarid, was at the security cabinet table when the decision to escalate the war happened.
In this fascinating article he discusses the role of deterrence and its undermining by its continuous use:
Only once in history did America manage not only to win, but also to rehabilitate. The outcome of World War II was dictated not only by Franklin Roosevelt and Dwight Eisenhower, but also by Harry Truman and George Marshall. Since then America has only been winning, continually winning and losing. And so it is with us, too - winning and winning, yet we have had no quiet for 40 years or even 40 days.
Iraq is destroyed, Afghanistan is destroyed, the Gaza Strip is destroyed and soon Beirut will be destroyed for the umpteenth time, and hundreds of billions of dollars are being invested solely in the vain war against the side that always loses and therefore has nothing more to lose. And hundreds of billions more go down the tubes of corruption.
Maybe the time has come to put the pistol into safety mode for a moment, back into the holster, and at high noon declare a worldwide Marshall Plan, so that the eternal losers will finally have something to lose. Only then will it be possible to isolate the viruses of violence and terrorism, for which quiet is quagmire and which in our eyes are themselves quagmire. And once isolated, it will be possible to eradicate them one day.
Ilan Pappe wrote What does Israel Want? The whole article is very good:
I have been teaching in the Israeli universities for 25 years. Several of my students were high ranking officers in the army. I could see their growing frustration since the outbreak of the first Intifada in 1987. They detested this kind of confrontation, called euphemistically by the gurus of the American discipline of International Relations: ‘low intensity conflict’. It was too low to their taste.
The politicians at the top are more tamed, to a point. They have only partially satisfied the army’s hunger for a ‘high intensity conflict’. But their politics of the day are already donned by military propaganda and rational. This why Zipi Livni, Israeli foreign minister, an otherwise intelligent person, could say genuinely on Israeli TV tonight (13 July 2006) that the best way to retrieve the two captured soldiers ‘is to destroy totally the international airport of Beirut’. Abductors or armies that have two POWs of course immediately go and buy commercial tickets on the next flight from an international airport for the captors and the two soldiers. ‘But they can sneak them with a car’, insisted the interviewers. ‘Oh indeed’ said the Israeli Foreign Minister, ‘This is why we will also destroy all the roads in Lebanon leading outside the country’. This is good news for the army, to destroy airports, set fire to petrol tanks, blow up bridges, damage roads and inflict collateral damage on a civilian population. At least the airforce can show its ‘real’ might and compensate for the frustrating years of the ‘low intensity conflict’ that had sent Israel’s best and fiercest to run after boys and girls in the alleys of Nablus or Hebron. In Gaza the airforce has already dropped five such bombs, where in the last six years it dropped only one.
This may be not enough, though, for the army generals. They already say clearly on TV that ‘we here in Israel should not forget Damascus and Teheran’. Past experiences tell us what they mean by this appeal against our collective amnesia.
The options being evaluated:
The captive soldiers in Gaza and Lebanon have already been deleted from the public agenda here. This is about destroying the Hizballah and Hamas once and for all, not about bringing home the soldiers. In a similar way in the summer of 1982, the Israeli public have totally forgotten the victim that provided the government of Menachem Begin with the excuse of invading Lebanon. He was Shlomo Aragov, Israel’s ambassador to London on whose life an attempt was made by a splinter Palestinian group. The attack on him served Ariel Sharon with the pretext of invading Lebanon and staying there for 18 years.
Alternative routes for the conflict are not even raised in Israel, not even by the Zionist left. No one mentions commonsensical ideas such as an exchange of prisoners or a commencement of a dialogue with the Hamas and other Palestinian groups at least over a long ceasefire to prepare the ground for more meaningful political negotiations in the future. This alternative way forward is already backed by all the Arab countries, but alas only by them. In Washington, Donald Ramsfeld may have lost some of his deputies in the Defense Department, but he is still the Secretary. For him, the total destruction of the Hamas and Hizballah ---whatever the price and if it is without loss of American life --- will ‘vindicate’ the raison d’être for the Third World Theory he propagated early on in 2001.
Billmon comments on Ilan's article here.
Gideon Levy asks the question Who started?.
Harper's interviews a professor that used to be in the West Point faculty and has specialized in Shiite political movements, the six questions and answers are here. He has a few interesting alternative explanations to the ones that have been discussed on the forums in the last few days.
To remind you, I, like other residents of northern Israel, am under martial law. As are the foreign journalists -- and in addition they are required to submit their copy to the military censor. So all I can tell you, without breaking the law, is that you are not hearing the entire picture of what has been happening here in the Galilee.
Certainly, a piece of news that I doubt you will hear from the foreign media, although bravely the liberal Hebrew media has been drawing attention to the matter, is that the "only democracy in the Middle East" has all but silenced al-Jazeera from reporting inside Israel.
The reason is clear: until recently al-Jazeera had been running rings around the local and foreign press.
But al-Jazeera’s coverage inside Israel -- the Arab world’s best chance of being exposed to the Israeli point of view -- is being effectively shut down. In the past two days, its editor has been arrested on two occasions and another senior journalists taken in for questioning. According to its reporters, they cannot move from their office without being followed by the Israeli security services.
From Tyre, the New York Times has published a Flash video with pictures: here
Posted on 20 Jul 2006
Recently, Mark Pinto created an installer for Evolution on Windows. The missing component to make Evolution on Windows a reality.
Packages for Windows are available here, they package release 2.6.2. Sourceforge reports only 3,115 downloads so far, we need to increase that number.
Srinivasa Ragavan reports on his blog on the various UI updates coming to Evolution 2.8.
My favorite is probably the vertical view in the mailer. Although am currently trapped in a 1024x768 world (which feels like using a Commodore 64 with all 40 columns of text) I hope to go back to the wonders of 1400x1050.
They also added Mozilla-like searching (the search is no longer a dialog box that pops up, but the search becomes part of the main window). They also added support for searching across all accounts from the same spot (without resorting to vfolders) and a quick search bar.
The blog contains many updated screenshots.
Posted on 20 Jul 2006
In the past we used Buildbot as the tool to keep an eye on the continuous builds of Mono across multiple architectures.
But buildbot was painful to manage, to add new tasks (for example, tracking multiple branches) and hosts we had to restart the server and we would have to update the machines in the cluster with the new scripts, which was an error prone task. The other problem we faced was that upgrading buildbot meant upgrading buildbot on assorted machines with different operating systems. And this was not limited to buildbot, but to all of its dependencies down to Python.
Wade started working on a new centralized system which could be controlled from a central location. It does not require the build software to be installed on the target machines, but only on the central machines.
The new system is available here.
In addition, since its daemon-less, getting a "jail" up and running with the new software building system requires very little intervention on the jails.
Wade added a few features to the system: its possible to track the state of the current/last build, and the previous build. The releases use SVN release numbers and can track multiple modules and multiple branches in our cluster.
The various passes of the build can be seen here for example.
Internally the build system creates tarballs and RPMs (they are available in our internal server). Hopefully once we reformat the machine hosting the current build status, we will be able to host the packages as well (the current public machine listed above does not have disk space).
Posted on 20 Jul 2006
Ran into this web site tikkun.org that has some very sensible comments about the ongoing conflict.
In particular, I liked this article from Michael Lerner. He makes a concrete set of proposals on how to end the current escalation of violence, and it opens with:
The people of the Middle East are suffering again as militarists on all sides, and cheerleading journalists, send forth missiles, bombs and endless words of self-justification for yet another pointless round of violence between Israel and her neighbors. For those of us who care deeply about human suffering, this most recent episode in irrationality evokes tears of sadness, incredulity at the lack of empathy on all sides, anger at how little anyone seems to have learned from the past, and moments of despair as we once again see the religious and democratic ideals subordinated to the cynical realism of militarism.
Meanwhile, the partisans on each side, content to ignore the humanity of "the Other," rush to assure their constituencies that the enemy is always to blame. Each such effort is pointless. We have a struggle that has been going on for over a hundred years. Who tosses the latest match into the tinder box matters little. What matters is how to repair the situation. The blame game only succeeds in diverting attention from that central issue.
The same page also has a couple more of opinions (one by Gideon Levy, which I recently discovered).
Posted on 18 Jul 2006
This just showed up on Blogsearch.Google.Com.
Apparently bombs are hitting downtown Beirut, near Hamra street (a commercial street in West Beirut, the "Newbury St" of Beirut). Various folks I met in my trip to Beirut live off that street, including Hisham, who worked on Mono.Cairo.
Alaa Salman, who I met in Beirut last year, is blogging here. The last time we had talked he was starting his own service-based company in Beirut.
In Beirut, with Alaa Salman.
Using Blogsearch shows up a number of blogs from people evacuating and various sites contain pictures. The Lebanese Bloggers have assorted updates from various regions in Lebanon.
Update: Another find: Letter from Beirut from a 37-year old, blogging from Hamra street, very interesting background.
David Hirst, based in Beirut, is the author of one of my favorite books on Middle East conflicts: "The Gun and the Olive Branch". Has a good explanation of all the players in this Guardian article.
The Whiskey Bar as usual has excellent comments on the meaning and implications of the day to day events, in chronological order:
And some pictures are here.
I recently discovered Gideon Levy, a writer at Haaretz (some archives are here).
His articles have an amazing human touch. My favorite ones are:
Posted on 15 Jul 2006
Mexico remains without an elected president. In the last few days a number of problems have surfaced in the election.
My friend Raymond first ran some basic integrity checks on the published results. The idea was to add the number of votes on each booth (valid and invalid) and counting whether they matched the number of votes that could be issued.
Raymond at lunch last week.
He found that the results did not match. This is bad either because someone cheated, or because the nation, as a whole can not count. There are arithmetic errors of this kind in nearly half the voting booths in the country.
The tampering, we believe, happens when the votes registered on the official documents (Actas) does not match the votes that were counted at the particular voting booth.
Now, without being a witness to the actual recounts, there are a number of statistical anomalies that can pinpoint the tampering.
Update: Am removing this data, as it seems incorrect (the over-participation), see the next web page for the details.
A list is available here. Democracy in Mexico is very inclusive.
The following graph plots in the x axis the number of votes cast in a voting location. The y axis plots the number of booths that got that results for a given party. I have smoothed out the results, grouping 10 votes per tick. Here are the results for Mexico City:
Each colored line represent the votes cast for each party. These curves are normal distribution for the population that cast its votes. This pattern repeats itself in the cities or place where the competition was well monitored.
But plotting some of the contested states, the troublesome states, we find that some cheating took place. Not visible to the naked eye, but visible to SQL, awk, a Perl script and Gnuplot:
This is the state of Durango. The cheating is very obvious, a number of votes were artificially deflated or nulled. This is why the red line, representing the PRD, presents this incredible behavior for the normal distribution.
In the 1988 election, instead of deflating votes, they inflated votes, so the normal distribution was basically a mirror of this one (but for the wining party).
The problem with these curves is that without opening the electoral packages it is not possible to determine the actual numer of votes cast. We only know that tampering took place, but the real results could alter the curves significantly.
The results of these graphs are backed up by actual accounts of opened packages. Whenever packages are being randomly opened in these districts, votes that had gone missing for the PRD are showing up. 4,000 here, 20,000 there and all of a sudden the 250,000 vote difference (the 0.5% difference) between the candidates starts to shrink.
The opening of the packages and the events in the last week reported on the press (illegal opening of the voting packages (there is no mandate yet to packages yet), election materials found on the trashcan) has confirmed what can be identified with a few SQL commands. These have been documented elsewhere.
Now, tampering is not only hurting one party, its hurting all of them. So without a centralized and monitored recount it will be hard to determine the results of the election.
The raw data is available here.
In addition to the tampering with the results, there are a few contested bits as well. For one, president Fox was barred from helping out the candidate from his party (mexican law requirement), but its a requirement that he ignored and kept using his platform as a president to push for him.
A number of ghost ads were run on the "quiet" period before the election by phantom organizations to instill fear in the population. Which had the effect that I have documented in a previous blog entry.
Although the smear campaign was eventually determined to have been illegal, it was too little too late. By the time the courts ruled against it on the grounds of illegality, the ads had aired for five weeks in a row. And they were quickly replaced with new smear ads that had to go through the same court process before they could be taken off the streets.
Posted on 12 Jul 2006