Je vote $RANDOM !

Posted on May 24, 2008

Quand on fait parti d'associations ou d'organismes divers, il n'est pas rare qu'on soit amené à voter (le saviez vous ? Dans les textes de loi régissant les associations rien n'impose un fonctionnement classique avec président, secrétaire, trésorier, pas plus qu'un fonctionnement démocratique). Quand ça se passe à distance, on reçoit le matériel de vote, on doit choisir n candidats au plus parmi m et envoyer le bulletin de vote dans l'enveloppe, avec en prime la satisfaction du devoir accompli.

Oui mais, est-ce que vous connaissez les candidats ? Pour la plupart des votes qui me concernent, je ne les connais pas le moins du monde. Pour le vote du jour, à savoir la MGEN, je dois choisir 13 noms au plus parmi 15, et la cerise sur le gâteau c'est que d'après les statuts il n'y a pas de profession de foi, c'est interdit.

Plusieurs modalités de vote s'offrent à nous, je pourrais par exemple décider :

  • de donner une prime aux sortants, qui ont de l'expérience,
  • de favoriser au contraire le sang neuf,
  • de pénaliser les plus âgés,
  • de pénaliser les plus jeunes,
  • de favoriser un sexe plutôt que l'autre,
  • d'élaborer un critère de choix corporatiste, du genre « Machin fait tel boulot donc il me représentera mieux » (mais quand on parle de la MGEN, y'a pas une grande diversité des professions).

Tous ces choix ont des défauts. Devant une demande de vote qui n'a pas de sens, le seul choix raisonnable est celui qui ne fait pas de sens : voter au hasard. Voici comment j'ai fait.

  1. Attribuer à chacun des 15 candidats 4 octets aléatoires :

    for i in $(seq -w 1 15); do 
        dd if=/dev/urandom bs=1 count=4 of=$i;
    done
  2. Classer les 15 candidats par ordre de haché md5 le plus petit lexicographiquement, ne garder que les 13 premiers et les afficher par ordre croissant :

    md5sum $(seq -w 1 15) | sort | head -n 13 | cut -f 3 -d \
    | sort -n

Bon vote.