10 marzo 2014

Reto Electoral para Desarrolladores

Reto Electoral para Desarrolladores


Como algunos sabrán (y tal vez otros no), soy de El Salvador y el día de ayer se realizaron las elecciones presidenciales con un margen extremadamente ajustado (approx 6,000) de votos de diferencia de entre casi 3,000,000 de votos.

Al momento de escribir este post el ente colegiado encargado de organizar los comicios está comenzando el escrutinio final que dará el ganador definitivo.

Sin embargo, ya que mi blog es de código, soy programador y aprovechando que por primera vez tenemos acceso de manera pública a todas las actas escaneadas enviadas al TSE, se me ocurrió la idea de que podría ser un bonito "reto electoral": Verificar de manera independiente, participativa y totalmente anónima los resultados de las elecciones.


Este es el reto:


"Desarrollar una herramienta crowd-sourced, totalmente anónima, capaz de verificar los conteos que se encuentran en las actas de las Juntas Electorales Enviadas al TSE"

La propuesta y el concepto básico:

  • La herramienta funcionará como un re-captcha, cada usuario que la acceda se le mostrará una entrada como la siguiente:
  • En un campo de texto deberá ingresar el número, la idea es que el usuario no pueda "ver" a que partido pertenece el conteo.
  • Los conteos a mostrar se elegirían de un pool de conteos sin verificar completamente al azar, de tal manera que nadie sabrá de qué partido es el número que está verificando reduciendo las posibilidades de que alguien quiera alterar los resultados a su conveniencia.
  • El "conteo" se dará como válido cuando 2 digitaciones diferentes coincidan en el número.
  • La validación no terminará ahí el sistema debería seguir funcionando y mientras más verificaciones positivas reciba entonces su "score" de validación será mayor.
  • Todo deberá ser transparente, el código fuente deberá ser Open Source Software, las bases de datos deberán ser abiertas. Los "snapshots" del sistema deberán de incluir un dump de la base de datos donde se elabore para que cualquiera pueda auditar el código.

Retos técnicos por resolver (de dificultad mayor a menor):

  1. Convertir los PDFs a imágenes, cortar los conteos y asignarlos correctamente a cada partido. Esto podría realizarse de manera semi-automatizada.
  2. Ancho de banda y almacenamiento, si bien este es un reto "pequeño" en el remoto caso que se volviera popular al menos este servidor no tiene recursos suficientes para soportar una carga tan grande de datos.

Datos:

Trabajo previo y herramientas similares:

  • Actas Counter: Herramienta de validación de actas, Pros: Trabajo previo similar al reto actual. Cons: No es completamente anónimo utiliza Facebook para ingresar, los electores pueden ver a que partido corresponde el conteo por lo que deja abierta a "trolls" para modificar resultados para favorecer su preferencia política. https://github.com/corp/ActasCounter

Herramientas de Coordinación:

El premio:

  1.  Ninguno. Simplemente irse a casa pensando que se hizo algo diferente y divertido el día de hoy.

Excepción de responsabilidades:

  • Yo, Mario Enrique Gómez Argueta de Nacionalidad Salvadoreña, lanzo este reto con fines única y exclusivamente "educativos" los datos proporcionados mediante este blog son datos públicos, disponibles mediante acceso libre a través de la página del Tribunal Supremo Electoral y amparados bajo la ley de Acceso a la Información Pública y el Código Electoral vigente de El Salvador. Proporciono los datos obtenidos de dicha institución tal y como fueron publicados a través de su página web por medio de un "backup" estático de la página web a la hora que se especifica. No puedo hacerme responsable de que los datos estén completos o que cuenten con toda la información necesaria, sin embargo se proporcionan los métodos para crear un "backup similar" y verificar la validez de la información.
  • Declaro que no estoy afiliado a NINGÚN PARTIDO POLÍTICO y los resultados obtenidos de este ejercicio NO PRETENDEN ni DEBERÁN SER UTILIZADOS para poner en duda la validez de los resultados oficiales. El único ente colegiado con atribuciones legales para validar resultados oficiales es el Tribunal Supremo Electoral por lo que cualquier resultado obtenido de este ejercicio NO TIENE NI TENDRÁ NINGUNA VALIDEZ LEGAL y deberá ser tratado como información poco confiable y secundaria, para participar de este reto usted se compromete a NO UTILIZAR LOS RESULTADOS PARA FINES POLÍTICOS.

11 comentarios:

ernoname dijo...

Ey Mario!!! Gran iniciativa!!! De tiempo por acá un poco escasos, pero podríamos quizás aportar con ancho de banda del server de robocicla. (ALojamiento en 1&1) ¿Cuáles serían las necesidades?
Ánimo!!!
Estaré por Salvador la Semana que viene!!
Que la fuerza de hackerina te acompañe!!!

jcramos dijo...

Me uno, digan en quer se puede colaborar.

ZeroXprt dijo...

Para esa gran cantidad de volúmen, puedes mezclar tecnologías MS y OpenSource:

Para la conversión masiva de documentos PDF a imágenes: con una distro linuxera, en ubuntu por ejemplo: http://harikrish.wordpress.com/2011/04/07/ubuntu-linux-command-line-tool-to-convert-pdf-to-image-and-from-image-to-pdf/

Mario Gómez dijo...

¡Gracias a todos por los comentarios! Unanse al foro en Google Groups, ahorita estoy en el trabajo pero la idea es que lo armemos entre todos estoy ayudando en la parte de coordinar :)

Efectivamente, lo interesante es el "crop" la interfaz está prácticamente terminada en la herramienta que se utilizó para honduras, ahorita la clave es resolver lo del auto-cropping :)

Alicia Guzman dijo...

Hola Mario,

Me parece una excelente idea, y estoy dispuesta a apoyar su iniciativa. Me he unido al grupo para lo que necesite.

Saludos,

Alicia Guzman

Hueso dijo...

Me apunto para digitar resultados y probar la herramienta

René Castillo dijo...

Hola Mario!

Me parece excelente tu propuesta.

Sin embargo, creo que en algunas papeletas es mas complicado que en otras (por ej: hay unas que dicen en observaciones que de equivocaron en el numero de votos) creobque seria mejor ( para automatizar un poco ) que en las mesas o juntas utilicen métodos como la PAES para hacer la lectura mucho mas simple y exacta. Que opinan? (Claro, solamente planteo un supuesto)

Marina Villalta dijo...

Uds son los de contemosnosotros.org? Si es afirmativo, de algún modo hay que validar las letras con los números porque si uno se guía solo por los números a veces se entienden de otro modo, y podría haber más de alguno que lo veo igual y eso lo daría como válido lo que no es.
Gracias por la iniciativa.

Mario Gómez dijo...

¡Hola a todos! En efecto, contemosnosotros.org ha sido resultado de este reto :).

Realmente el sistema de ingreso no sabe si una digitación es buena o mala al final del día son las repeticiones de digitaciones coincidentes las que se cuentan como válidas. Es decir si para una boleta el número es "116" y en la base hay 3 digitaciones con 116 y 1 digitación con 106, se asumiría que la válida es la que tiene más digitaciones coincidentes. Esta es una técnica muy utilizada en procesamiento de datos es como una doble-triple-cuádruple-ntuple digitalización llevada al extremo :)

En este momento la plataforma está corriendo su tercera digitación. Alguien proponia agregar un link para reportar los conteos movidos. Estos solo pueden ser arreglados a mano ya que es una herramienta automatizada la que hizo el corte. Por ello era el reto "más dificil".

Kike dijo...

En el sistema, aún no se puede ver la sección de "resultados" ni "Acerca de nosotros" y sería bueno que colocaran el link para reportar los conteos movidos.

Mario Gómez dijo...

¡Hola a todos!

Ya está disponible en el sitio los resultados para el que los quiera revisar :)

¡Saludos!