That was fast

by Miguel de Icaza

Gonzalo launched the Mono.Google API last night, and this morning at 7:25AM I received an email from Stephane Delcroix pointing me to his contribution that added Picasa export to F-Spot, his bugzilla comment:

This patch will allow export to picasaweb.

It's feature complete (as in PicasaWeb features), that means that it support multiple google accounts, creation of albums (private or public ones) and upload pictures to them.

Posted on 28 Jul 2006


Google Hosting

by Miguel de Icaza

So Google today launched its source code hosting effort.

I suspected they were working on something along these lines, because the Subversion folks went to work for Google some time ago. You did not read about this, because I only speculated about this to Greg Stein, which would not leak one single bit about what he was doing.

Anyways, Gonzalo has been on a roll recently. He changed our FileSystemWatcher code to use inotify instead of depending on FAM and Gamin. See his post on the subject.

Google Sharp

And he also just uploaded Google Sharp to subversion (module google-sharp). With GoogleSharp you can authenticate your application with Google and access some of their services. The one that both Gonzalo and myself care about is PicasaWeb. The code has everything for F-Spot to start exporting my pics there.

Gonzalo has a web entry with details here and sample code to login, list albums in PicasaWeb, and upload pictures to it.

Let the Mono uploading begin.

Posted on 27 Jul 2006


Mind Touch and the Dream Framework

by Miguel de Icaza

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 went to MindTouch, an open source startup company that sells an appliance for document management, using a Wiki framework. The press release is here.

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


Lang.NET 2006

by Miguel de Icaza

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


NProject

by Miguel de Icaza

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


2001 Essay

by Miguel de Icaza

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


Lebanon, Collection of Links

by Miguel de Icaza

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.

He concludes:

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.

He adds:

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.

Censorship

Reporters in Israel are being censored, Jonathan Cook reports:

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.

Billmon talks about something similar and updates us on War is Peace.

NY Times Reports

From Tyre, the New York Times has published a Flash video with pictures: here

Posted on 20 Jul 2006


Evolution Updates

by Miguel de Icaza

Evolution, the email and calendar program that we built for Gnome is now available for Windows users. Tor worked on the port for several months last year.

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.

Evolution UI Updates

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


New Mono Build Service

by Miguel de Icaza

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


Tikkun

by Miguel de Icaza

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.

(Emphasis added).

The same page also has a couple more of opinions (one by Gideon Levy, which I recently discovered).

Posted on 18 Jul 2006


New War

by Miguel de Icaza

Some Blogosphere Comments

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.

From the News

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.

Robert Fisk from his home in Beirut reports on the early attacks on the Beirut infrastructure. And on the second day.

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


Mexican elections.

by Miguel de Icaza

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.

The web site here is a wiki with a few other studies (in Spanish) on the official results. Full graphs (smoothened and unsmoothened, plus the data to plot them are available here

Law violations

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


Return to the Roots

by Miguel de Icaza

Found on Planet Gnome: Iain's fantastic web site for his Gnome-based Last FM player.

This is a return to the basics, simplicity, elegance, and over all the kind of web site that demanding generations require. Strongly recommend it.

The site is here, and you can see the screenshots for it here

Now all we need is a stylesheet for it.

Posted on 10 Jul 2006


Cracking the Election's Nut

by Miguel de Icaza

Based on the final results from the election a group of friends, most of us met through the Linux User's Group in México, have been working on finding the voting booths that have problems.

The results are available here, it is a work in progress.

There are a number of angles at the problem: places where the number of blank votes is too high (Greg Palast wrote about this pattern on his "Mexico and Florida have more in common than heat" article).

Another set of interesting graphs is plotting the number of booths that had a given number of votes. With that graph its possible to spot differences in the standard distribution and pin-point places where results were tampered with.

This is the same study that José Barberán did in 1988 that showed the fraud done by the PRI. I talked about the details on a blog post from 2002.

Some simple checksums are used to find "pregnant booths", that is booths where the total of votes exceeds the number of votes that could have been casted (there are limits per voting booth on the number).

These results hopefully can be used to determine which voting packages need to be opened and audited.

CommonDreams

Another article from CommonDreams, in particular, there are some complains that can not be tracked down easily with awk and sql.

Summary: Fox violating elections law; The fear campaign from the PAN; Using federal information from social programs to drive votes; Vote purchasing;

Although Sunday's voting was peaceful and turnout high, reporters in the streets and letters to the press testify to the thousands of voters who waited in line for hours, only to be told that their polling place had run out of ballots. Thousands more were informed that their names had disappeared from the rolls. These people now complain that they were frustrated in the exercise of their civic duty by a system they suspect of bias. They are joined by millions more who are convinced that the whole process --- from the campaigns to the count --- was riddled with inequities.

Many factors feed into this lack of public confidence. The first is the blatant partisan involvement of the president and federal government. President Fox consistently violated a Mexican law that calls for the neutrality of government officials in carrying out their public duties, despite weak admonitions from the elections authorities.

The campaigns were not what Mexico's citizenry deserved. Calderón's campaign slogan "López Obrador is a danger to México" was low-level politicking and worked not to inform voters but to create a climate of fear until it was finally declared illegal by elections authorities. The veiled threats of the Business Council and dire warnings of economic collapse from Calderón were neither grounded in fact nor ethical as a campaign tactic. When fear ---of loss of jobs, houses, or national stability---trumps reasoned choice, it's the nation as a whole that has lost the elections.

The PAN also made full use of the tactics of the Institutional Revolutionary Party (PRI). Part of the political culture entails delivering votes to the highest bidder---the party that brings in building materials, a new basketball court, or cash payments. It is a civic vice that the Mexican political system as a whole has not yet overcome. After years of one-party rule, many citizens still view their vote as a commodity to be bartered and not a principled statement to chart a course for the nation. On the local level where vote-buying is most prominent, none of the major parties has done much to change this view. The flip side of vote-buying is vote coercion, or threatening to cut off goods or services for voting the wrong way.

Vote buying and vote coercion are tools primarily used by the government. Fox's "government of change," rather than eliminating this vestige of authoritarian rule, has refined it to a science. The first sign that this would be a major part of the PAN campaign came when Josefina Vázquez Mota, Secretary of Social Development was made campaign manager for Felipe Calderón. As secretary, she had access to detailed information on recipients of government assistance programs. An independent report commissioned by the government found that over four million people were susceptible to vote-buying or coercion due to the way government programs were used. During the campaigns, reporters gathered numerous testimonies of these practices in action.

...

The electoral institutions created over the past decade are still weak. They were unable or unwilling to stop the PAN from violating electoral laws that forbid smear campaigns and the intromission of government officials in campaigns. Suspicions of collusion between authorities and the PAN were reinforced just days before the elections when Mexican journalist Carmen Aristegui demonstrated on national television that the PAN had developed a secret access code to the national registry of voters. Voter registration data is restricted by law to electoral authorities.

Zocalo Meeting

AMLO called for a 5pm meeting in downtown M�xico City today, 150,000 people showed up:

Posted on 08 Jul 2006


Inlining is on!

by Miguel de Icaza

This is the longest gap we have had between Mono releases (1.1.15 to 1.1.16), but the wait was worth it. The inlining optimization is now turned on as well as a number of other small optimizations that enhance inlining and the results are excellent. Thanks go to Massi that tuned the optimizations and hunt down every bug until it was ready.

There is a lot of new stuff, in particular, Windows.Forms is better than ever in every possible way.

The full release notes are here.

Posted on 06 Jul 2006


Mexico, Elections, Part 2

by Miguel de Icaza

It has certainly been an exciting time to be in Mexico. And I have been lucky enough to have friends working everywhere in the elections process, so I have got some good and juicy gossipy things.

Laura at the IFE on Sunday.

The "fast count" process on Sunday (called "PREP") gave an edge to the PAN candidate by a point or two early during the election. People suspected that someone was tampering with the flow of the data. Yesterday we learned that people were instructed to delay the data entry for results where the PRD was wining.

The idea they were shooting for was to make the difference large enough on Sunday to call the election. But the difference was small enough and the missing data large enough that the plans were thwarted. By the next morning the trend had stopped.

The Media area at the IFE, during a quiet period.

There were also a lot of invalidated voting boxes, which were not accounted until Tuesday night and closed the gap from 500k to 200k (there were 2.5 million votes there, update: fixed the number from 1.5 to 2.5). Plus there were another 2.5 million votes missing when candidates had a 250 difference (Granado's Chapa account).

Yesterday we learned from some whistle blowers, as suspected, that they had been instructed to delay the data entry for data that was not favorable to the PAN (right).

Laura and Patrick posing at the IFE.

But there are multiple layers of hacks being done in the election: boxes where the total sum surpasses the number of ballots (by hundreds); boxes where all the PRD votes were wiped out; boxes where a handful of votes are moved from one party to the other and boxes where there is only one winer.

But the PREP fast-counting process is now useless, as I mentioned previously it was merely a coarse tool that had too many errors to be used for such a close election. The real counting began yesterday in the 300 districts, where people are counting the paper reports instead of the digitally entered data.

Some of my friends working for the PRD, and some of them working on their own took the data from the PREP and used that to identify fishy ballot booths. Those which present funny statistical warts (more votes than allowed, where the margin is larger than 20; votes where the results vary wildy in the same geographical region; ballot boxes that do not follow a gaussian distribution and a few more).

Armed with this information, the PRD has requested that those ballot booths be opened and all the votes on them counted at the district level.

At least on one of the DF districts the opening of the ballot boxes that showed some signs of statistical creativity have rendered 7,000 votes that were missing for the PRD. A minute-by-minute account of how they were uncovered is here. Also Leo has a page.

The issue is with the remote districts where there are not many PRD representatives to push for the opening of the boxes. If they can find 7,000 unaccounted votes in a district in Mexico City, a PRD stronghold, I can only imagine what happened elsewhere.

The link listed above shows that in one of the rural districts in Tabasco, the mistakes made up for 20,000 votes for the PRD that had been wiped out.

Part of the problem is that not every box with fishy results is being opened, there is a strong refusal to do this on the side of the PAN so each box is basically a fight. This means that the PRD might choose to bring the list of statistically fishy results and request the opening at the federal tribunal.

Miguel's own Exit Polls

I have been asking people I talk to on the streets (taxi drivers, my friends, waiters, salesmen, my family) who they voted for, and if they voted for the PAN, why they voted for them.

I was interested in whether the PAN's propaganda had any effect. My family is sharply divided, my mother's side is of a strong catholic background, the kind of catholic that would fight with a gun to avoid the separation of Church and State last century. They still attend mass in Latin and refuse to use any of the public works/roads built my the PRD government in Mexico City.

So here are the, statistically meaningless, reasons that I found interesting from people voting for the right (PAN):

  • If the PRD wins, I will lose my house.
  • If the PRD wins, they are going to nationalize all property, and I will lose my house.
  • The PRD called for a popular uprising on Friday (this was the rumor stared by the right when they hacked into the left's web site and posted an apocryphal letter).
  • The PRD will not allow business to operate, and I work at a business.
  • The PRD will force three to four families to share an appartment.
  • The PRD is a danger to Mexico (he couldn't say why).
  • Update: The PRD candidate killed his brother.
  • Update: If the PRD wins, they will close the churches.
  • Update: The PRD candidate killed another kid with a baseball bat when he was a kid.
  • Update: The PRD candidate never finished his degree.

Am missing a few, but I can not remember them now.

And of course, none of that makes sense nor does it follow the pattern that the PRD used in Mexico City for the past 10 or 12 years. But the propaganda was strong, the ads on TV explicitly spelled that for the population.

Update: Federico overheard this discussion on the Paris airport, two mexicans talking to each other about the elections:

Dude1: This election stuff is terrifying.

Dude2: Yeah.

Dude1: Imagine loosing everything you own.

Alternate Vote Counting

To prevent electronic fraud like in 1994, an alternate, site was set up, we went to this site on Sunday at night, where some of my friends are working. They had some 200 data entry people receiving data.

The data coming out of this center was used to identify some of the fishy boxes (when the data reported here did not match the PREP data). The only problem is that it only has coverage for one third of the votes in the country.

This is one of the capture rooms:

Capture Room, Redes Ciudadanas

Mancha and Laura.

High Tech Cheating

On Sunday, I was explaining to an international visitor that just like the US has a very advanced high-tech industry, Mexico is the leader in the election fraud industry.

The range of schemes used to cheat in an election is very resourceful, varied in texture, color and smell. It will be the subject of another blog post where I cover the traditional "mapaches", "urnas embarazadas", "fraude hormiga", "el taco", "el carrusel", "raton loco", "remplazo de urna" and the new high-tech ones that were pioneered in 1994.

Posted on 06 Jul 2006


Summer of Code Progress: ASP.NET support in MonoDevelop

by Miguel de Icaza

Michael Hutchinson has commited his ASP.NET AddIn for MonoDevelop to SVN. This is a follow up to the work that he did last year, where he worked with Blagovest to create an ASP.NET editor.

This year he is integrating the editor with MonoDevelop to provide a seemless development experience. Currently the Mozilla-based editor is not yet hooked up though.

See his blog for more details

Posted on 04 Jul 2006


Mexican Elections.

by Miguel de Icaza

The news have reported that the election results do not point to any candidate as the clear winer yet. Sadly, the election is too close.

The situation will soon move from the counting of the votes into the political realm, as there are a few things happening in parallel.

There are three classes of computations in the election, two of them are ran by the Institute for Federal Elections (IFE) and another by third parties.

  • Exit polls and society sponsored sampling.
  • The IFE quick-vote counting, called the "PREP".
  • The official count, done by the IFE.

The exit polls are pretty random, it depends who is doing them, and where they are doing them (the country seems to be mostly divided: the north is very much PAN, the south is very much PRI).

The IFE quick vote counting (PREP) is not an official result, and is intended to give a quick overview of the election results. It would have been very useful to point out the winer if the disparity between parties was larger, say "40, 30, 20, others" (and in fact, its been useful to determine governors, senators and other broad strokes).

But the problem is it is not very precise, it is missing a lot of data that is not being accounted for. There is an agreement that if anything goes even slightly wrong with any of voting results coming from a location, the values will not be computed (missing data, typos). They are still displayed (bottom of the page), but they are not making it into the end result.

This means that the difference between the PAN and the PRD for the presidential is either:

  • 1%: quick vote count, and is still missing a few thousand voting booth results).
  • 0.7%: if the values for the pending values are taken into consideration (using a perl script on the data posted).
  • 0.4%: on the real count, but this so far only has 90% of the votes accounted for. The final number wont be announced for a few days.

And this is where it turns political. The PAN is demanding the IFE to call the election on their favor based on the quick count. The real voting results are not as encouraging and might still flip over to the other side considering all the votes that have not been counted yet.

In the meantime, a number of inconsistencies have been found in the PREP program between the reported numbers and the posted numbers on the streets (here).

There are still a number of possible events, and the city is abuzz with theories on what will happen next.

Unlike the Fox election, which was a relief to Mexicans, this one will not feel like a relief. With the Fox election, even if he was a right-wing candidate, getting rid of the PRI was good enough. Besides, Mexico City got the PRD as a major.

Track Records

The PAN orchestrated a fear campaign against the PRD/AMLO. The TV ads were fairly blunt "if they win, you will loose your job and your house", "Four families will be forced to live in an apartment", your standard cold-war era propaganda. I figured nobody would believe this sort of thing, but I was surprised to listen to my own friends echo these things back to me "we would have lost our houses and jobs".

They managed to smear a guy that was the runner up for "Best City Major" in the world, which had a great track records and fixed a miriad of problems in Mexico City, created a University for Mexico City, opened new schools and funded old people that needed money.

On the other hand, we have the fear-monger candidate. He was the man in charge of the largest debt in this administration (Fobaproa), the largest burden on the country; He is part of the small group of people which kept coming up with creative ways of privatizing the nationalized oil industry, and was recently discovered to be involved in a multi-million dollar nepotism scheme while he was Secretary of Energy. Basically, he has the profile of your standard CIA-approved candidate.

Anyways, Mexicans, like the Americans two years ago, managed to vote against their own interest as the discussion shifted away from the Economic Policy to whether the man had finished his degree and whether he ate babies with his bare hands.

Posted on 03 Jul 2006


Ruby.NET Compiler Released

by Miguel de Icaza

Wayne Kelly and John Gough announced the release of their Ruby.NET Compiler, the details are available here.

To build with Mono today, a few patches are necessary, see the comments here.

Posted on 02 Jul 2006


Mexico Election: Forgeries

by Miguel de Icaza

A new trick in the dirty politics going on in México.

Someone cracked into the web site for AMLO/PRD and posted a forged letter that called for "civil resistance" the day after the elections.

The media was notified in the morning of the letter and had a blast all day discussing the letter as real, and it took all of 24 hours to get the media to acknowledge that the letter was fake (they were notified half an hour after it was discovered).

Posted on 01 Jul 2006