<div><p>After one week of voting, we are eager to present you the results of the talk voting: The <a href="http://ep2011.europython.eu/voting-results">full ranking is now available</a> for public consumption and we expect the <a href="http://ep2011.europython.eu/schedule">schedule</a> to be ready on Friday</p>
<p>We are specifically happy about the diversity of the subjects in the highest positions of the ranking: if you watch closely, you can find talks about web, desktop, optimizations, advanced graphics, third-party library, testing. This shows how large and variated the Python community is, and how Python is really a tool for many tasks.</p>&#13;
&#13;
<p>In addition to the talks that have been submitted and voted, we will also integrate and announce some <b>talks on invitation and keynotes</b> that we have selected during the past weeks, and a few <b>sponsored talks</b> delivered by our sponsors, that we have carefully reviewed not to be commercial advertisements but real technical talks (also, they will not be given any prominent scheduling, so you don't have to follow them if you don't care about the subject).</p>&#13;
&#13;
<h3>Working on the schedule</h3>&#13;
&#13;
<p>The published ranking does not differentiate between talks and trainings, nor between the Italian track and the rest of the conference. Instead, while working on the scheduling, we will extract three different rankings from the main one for those categories (talk eng, talk ita, training).</p>&#13;
&#13;
<p>The main guidelines that we will follow are:&#13;
</p><ul><li>We will fill the schedule in the ranking order, and will stop when there are no more available slots in the schedule</li>.&#13;
<li>We will follow speaker's availability (eg: if a speaker is not available on some days, we will try to match his/her constraint).</li>&#13;
<li>We will schedule talks that are higher in the ranking in larger rooms, to reflect the expectation of a bigger audience.</li>&#13;
<li>We will try and follow speaker's indication on the preferred time slot, but this will not always be possible. We will contact speakers separately about this.</li>&#13;
&#13;
&#13;
<p>Since we have not decided yet how many slots to allocate for each track/day, we still do not know exactly how many talks will be featured at EuroPython. Just to give an idea, we expect to have room for about 100 talks (beyond keynotes, lighting talks, <a href="http://ep2011.europython.eu/work-python">recruiting session</a>, and other events).</p>&#13;
&#13;
<h3>The geek's corner: how the ranking was made</h3>&#13;
&#13;
<p>We used the <a href="http://en.wikipedia.org/wiki/Schulze_method">Shulze method</a>, through its implementation in the <a href="http://vote.sourceforge.net/">Python voting engine library</a>. The Schulze method is a <a href="http://en.wikipedia.org/wiki/Condorcet_method">Condorcet method</a> that has been already used in the FLOSS community during elections (most notably by Debian and KDE). We will briefly describe how we treated the data and massaged them to be useful for Shulze, but please refer to Wikipedia for more information on how the method actually works and which <a href="http://en.wikipedia.org/wiki/Schulze_method#Satisfied_and_failed_criteria">criteria it satisfies</a>.</p> &#13;
&#13;
<p>Votes expressed by each voter were used to create a personal ranking of talks, including ties. This pass is necessary because Schulze really cares only about relative preference of talks (that is, it needs an answer to queries like "does voter X prefer talk A or talk B?"), so the magnitude of the vote does not really matter. Talks that were not voted by each voter are always tricky to rank, but after some discussion we ended up giving them a default vote of 5, which we believe it is a good match between voters expectation and how the algorithm works.</p>&#13;
&#13;
<p>These personal rankings were then fed to the Shulze methods as input ballots. As final tie-breaker, we opted to use the relative order of submission during the CFP (talks submitted earlier are preferred to talk submitted later, in case of a tie). The tie-breaker obviously does not matter much as we have enough diverse inputs; in fact, it slightly affects the results (eg: changes of 2-3 positions).</p>&#13;
&#13;
<p>Complete anonymised voting data is <a href="http://ep2011.europython.eu/media/uploads/ep2011-voteengine-input.txt">available for download</a>. The format of the file is the one expected by Vote Engine, so you can just feed this file through it and see the same results. The first part is where the talks IDs are declared, together with the tie breaker; the following comment section shows what talk really is behind each ID. Then, there the large part of the file is the ballots: each line is the personal ranking of a random voter, using the "&gt;" sign to express preferences and the "=" sign to express ties.</p></ul></div>