Maemo.org Coding Competition 2012

Contents

Introduction

Categories

Competition Timeline

How to Submit an Application

Prizes

Donations for the Community Prize Fund

The following list shows all of the donations and pledges made to the community prize fund so far. There is no fixed amount - all donations are very welcome - and will be accepted from now until the closing date of the competition.


(A paypal account is currently being set up, details will be included here once available.)


Our special thanks to the following people for their generous contributions:

Date Nickname Amount (gross) in € PayPal fee in € Amount (net) in € Paid
24/5/2012kojacker50,00 tbc

Participants

Rules

Voting

The voting frontend, the webinterface via which you enter your vote, is the same as for the Maemo Council elections. So you can establish an order among the participating applications indicating your preferences. Thereby, the first choice has the most impact. With following choices the impact gets less and less. The last choice has the least impact.

Counting Votes

After the voting period has finished the votes are counted. The ranking order of participants is determined based on all valid votes.

The tool used for counting the votes is OpenSTV. We use OpenSTV version 1.6.1-1 which can be publicly downloaded from http://packages.debian.org/squeeze/openstv The openstv executable used is extracted from the *.deb package.

For each category, the ranking of candiates is determined individually.

As general "vote counting system" Fractional Transfer Single Transferable Vote (FTSTV) is used. FTSTV, however, does not provide a way for determining the order of participants out of the box.

For determining the ranking among the participating applications the following approach is used: - The winner is determined by running OpenSTV for one seat. - Subsequently, the second place is determined by running OpenSTV for two seats. Thereby, the winner from step 1 plus another participant will be elected. The newly added/elected participant is placed second. - For determining the third place, OpenSTV is run for three seats. The newly added/elected participant takes the third place. - This process is repeated until the number of seats reaches n-1 with n being the number of participants. The remaining participant not being added or elected yet takes the last place.

For automating this counting process the following script is used

election=$1

tail -n 1 $election | sed 's/"//g'

>/tmp/result
for i in $(seq $(expr $(head -c 2 $election) - 1))
do
  openstv-run-election -r CsvReport -s $i FTSTV $election \
    | awk -F, '/Elected/ { print $1 }' \
    | while read w
        do if ! grep -q "$w" /tmp/result
          then
            echo $w >> /tmp/result
            break
          fi
        done
done
awk 'BEGIN { i = 1; } { print i, $0; i++; }' /tmp/result | sed 's/"//g'

This script should be saved to a file named "results" and can be called as follows:

for i in *.blt; do sh results $i; done

Assuming the script + openstv-run-election are in the same directory as the result files (the *.blt files) for all categories and the current directory is this directory, this way of calling the script will perform the counting for all categories. The only thing that may be changed in the above script is the passage "openstv-run-election" for adding a proper path to the actual location of the OpenSTV executable, e.g., to point to "/usr/bin/openstv-run-election". Aside from this exception the script must not be changed at all.

However it is still possible to also do the vote counting manually using the described process. Vote counting process, OpenSTV version used, and counting script are all publicly available so everyone can perform the voting and verify the final official results.

App Developer Resources

FAQ

Application proposal

http://www.developer.nokia.com/Community/Wiki/Apps_Missing Desirable apps missing from Nokia platforms

Discussion

Please participate in the discussion at http://talk.maemo.org/showthread.php?t=83761

Resources

Contact

You still have questions? Contact us!

Events