Ganhador do Arduino Leonardo

arduino-leonardo

E agora, com muito prazer anunciamos o ganhador do sorteio do Arduino Leonardo, da promoção descrita nesse post.

O ambiente utilizado para gerar o resultado foi um ultrabook rodando Linux Mint. As informações foram recolhidas pelo browser Google Chrome. Um arquivo foi editado utilizando vi (vee ái) no diretório de sorteio.

O procedimento adotado para o sorteio foi:

1 – Recolher (com o mouse mesmo) os nomes das redes sociais (facebook,twitter,YouTube,etc).

2 – Gerar um arquivo para cada entrada, usando MD5, de forma que essa é a primeira embaralhada:

cat lista.txt |while read line; do echo "$line" >>$(echo $line|md5sum |cut -f1 -d" ");done

Com isso, um diretório foi populado pelos arquivos dessa forma:
arquivos_sorteio

Enfatizando: Cada arquivo é um hash MD5 gerado com o comando citado anteriormente, de forma que trata-se de um valor único e não dá pra saber quem está em qual arquivo, porque ainda que soubesse a ordem das pessoas da lista, não saberia a ordem do hash, que independe da ordem da lista. Claro ?

Concluída essa etapa, fiz esse script que segue:

 

 


#!/bin/bash
# File: <name>
# Author: Djames Suhanko <djames.suhanko@gmail.com>
# Created: Fri 04 Sep 2015 11:41:16 AM BRT
# Last Update: Fri 04 Sep 2015 11:41:16 AM BRT
# Notes:
#Total de md5 disponivel
TOTAL=$[$(ls |egrep -v sorteio|wc -l)-1]

echo TOTAL: $TOTAL

#cria a lista
ls |egrep -v 'sorteio|lista' >sorteio.md5

#remocao randomica ate sobrar apenas 1

while [ $TOTAL -gt 1 ]; do
  RANDOMIC_SELECTION=cat sorteio.md5|head -n $((RANDOM%$TOTAL+1))|tail -n1
  TOTAL=echo $[$TOTAL-1]

  #excluindo a ocorrencia
  egrep -v $RANDOMIC_SELECTION sorteio.md5 >sorteio.temp
  echo "Eliminado: " $RANDOMIC_SELECTION
  mv sorteio.temp sorteio.md5
done

VENCEDOR=cat $(cat sorteio.md5|head -n1)
echo " "
echo "Ganhador do Arduino Leonardo em 'Do bit Ao Byte': " $VENCEDOR

O sha1 do arquivo de sorteio (que permanecerá guardado por um tempo) é:

9c6d0c7e06934c90b51a090a98967bed43ce5376 sorteio.sh

E o ganhador é:

O ganhador nos acompanha pelo facebook, aguardamos contato no prazo de 7 dias e caso ele não se manifeste ou não consigamos contato, faremos um novo sorteio.

Parabéns, sortudo!

Comments

comments

Djames Suhanko

Djames Suhanko é Perito Forense Digital. Já atuou com deployer em sistemas de missão critica em diversos países pelo mundão. Programador Shell, Python, C, C++ e Qt, tendo contato com embarcados ( ora profissionalmente, ora por lazer ) desde 2009.

Deixe uma resposta