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

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


by Miguel de Icaza

Ran into this web site 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.


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

« Newer entries | Older entries »