Skip to content

Instantly share code, notes, and snippets.

@dubsnipe
Created March 7, 2018 06:49
Show Gist options
  • Save dubsnipe/543f869d20d0f3ec7aa4657f421f7156 to your computer and use it in GitHub Desktop.
Save dubsnipe/543f869d20d0f3ec7aa4657f421f7156 to your computer and use it in GitHub Desktop.

¡Hola a todos! contemosnosotros fue un proyecto que levantamos para las elecciones presidenciales del 2014 luego del tortuoso conteo de presidenciales que el TSE nunca daba un resultado del funcionamiento.

Sin embargo, contemosnosotros se diferencia en algunas cosas bien puntuales. 1ro. La idea del sistema se basa en que no tenes idea de a quíen le estás validando el voto. El sistema genera identificadores al azar y envia una imágen aleatórea al usuario aleatoria*

2do. El sistema no tiene un "feeback" de aprendizaje. Es decir, el no sabe que digitación es buena o mala. Para los que están familiarizados con aprendizaje de máquina, el sistema utiliza el aprendizaje más sencillo del mundo. Si una imágen tiene el mismo número digitado una mayor frecuencia de veces. Se acepta como el número válido.

3ro. Para sacar los totales, simplemente se suman las digitaciones individuales más frecuentes por imagen.

El sistema se desarrolló originalmente en una versión bien vieja de CakePHP.

Así que esencialmente si queremos reciclar código hay que migrar.

O portear a otro lenguaje.

El código que se utilizó originalmente pueden encontrarlo en este repositorio de git: https://github.com/mxgxw/crowdvalidation/tree/contemos2018

El sistema tiene algunas previsiones para evitar que alguien saque las imagenes y meta datos falsos.

El sistema tiene algunas previsiones para evitar que alguien saque las imagenes y meta datos falsos.

Se guarda el valor del token en la fila correspondiente y se envia el token al usuario.

Existe otra funcion en el controlador que se encarga de entregar la imagen

la imagen se extrae usando el token (que es unico) y que enmascara el partido y el diputado al que pertenece

La imagen se lee de la carpeta donde ya estan pre-cortadas todas las imagenes de cifras

y se envia al usuario.

cuando el usuario envía el formulario, que tiene un unico campo para ingresar la cifra.

lo unico que hace el sistema es buscar usando el hash a que acta y partido pertenece

y guarda el valor

es una tabla digitaciones con forma digitaciones(id_digitacion, id_partido, id_acta, valor_digitado)

Regresando a la primera funcion.

La selección de la siguiente imagen siempre se hace con los que tienen token==null

así que tenemos garantía de que se van a llenar todas las actas disponibles. una vez están llenas todas las filas, entonces se vuelve a setear la tabla de hashes a null

y se repite el proceso.

El proceso se puede repetir cuantas veces quieran

Para las presidenciales de 2014 solo bastó con tres vueltas para que el sistema convergiera a los resultados oficiales.

Y eso es todo. El sistema no hace nada mas.

¿Dudas?

Las actas de alcaldes y diputados las hemos subido aquí: http://contemosnosotros.org/jrv/

Así que las tareas que se requieren son:

  1. Cortar las imagenes.

  2. Migrar el Framework

y ponernos a digitar.

Así que las tareas que se requieren son:

  1. Cortar las imagenes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment