tin_nqn

>>> me.geek.post()

Nuevo análisis #NoAlFraudeEnCordoba    2013-11-02 16:20:21+00:00

La repecursión que causó el análisis de datos para filtrar mesas estadísticamente sospechosas me sorprendió totalmente.

Se registraron más de 200 reportes de irregularidades a través del formulario y otros tantos en los comentarios de los articulo previos a que pusiera ese sistema de aviso.

Además, no sólo salió en los medios (para algunos con mala leche soy "kirchnerista pero democrático") , sino que Liliana Olivero se comunicó conmigo para agradecerme y preguntarme si podíamos obtener más información. Hoy me reuní con integrantes del Frente de Izquierda para hacer nuevos reportes.

Algunos números nuevos

Encontré, por ejemplo, que son 201 las mesas no computadas ¿qué significa eso? ¿se tienen en cuenta en el escrutinio definitivo? ¿se abrirán esas urnas?

También hay mesas que tienen hasta 80 votos computados más que la cantidad real de votos en la urna .

Además de los errores en el escrutinio, se teme que las mesas con muchos votos nulos sean las que no consideraron boletas de las PASO, debido a que muchos presidentes de mesa no se enteraron que la Justicia Electoral decidió que serían válidas. Hay al menos 136 mesas con una proporción muy alta de votos nulos y muy baja para el FIT. ¿No se deberían revisar?

A quién afectan los "errores"

Por último, alguien me preguntó si el error recurrente de mesas con "0" votos no afectaría parejo para todas las listas.

Traté de hacer una proyección [1]: sin considerar las 201 mesas no computadas, el FIT sacó 0 voto en 148 mesas y la UCR sólo en 11. Si multiplicamos esa cantidad de mesas por el promedio por mesa de cada partido, significarían un total de 607 votos para la UCR y 2774 para el FIT.

Es decir, aún si se tratase de un error, la UCR es el partido menos afectado y el FIT uno de los que más afectados resulta (junto con Vecinalismo Independiente y Encuentro Vecinal, es decir, los tres partidos con menos fiscales). ¿Casualidad?

Attention!

Si encontrás telegramas mal cargados o sospechosos, llená este formulario (o dejá un comentario al pie del artículo)

[1]Por favor, revisen el cálculo y corrijanme si estoy errando.

Comments

#NoAlFraudeEnCórdoba. Ayudanos    2013-10-30 15:17:55+00:00

Tip

Hay un nuevo artículo relacionado acá

Mi nombre es Martín Gaitán y soy ingeniero en computación. Quienes me conocen saben que soy kirchnerista y fui fiscal de Carolina Scotto, pero antes de eso soy ciudadano y como tal, mi deber cívico es defender la democracia. En este caso, exigiendo un escrutinio transparente.

El domingo pasado, todas las boca de urna daban a Liliana Olivero, candidata del Frente de Izquierda y los Trabajadores (FIT), como la 9na diputada por Córdoba. Ese pronóstico se iba confirmando a lo largo del escrutinio hasta alrededor de las 23hs, cuando la tendencia empezó a cambiar en favor del tercer candidato de la UCR, Diego Mestre.

Al ser el margen tan estrecho (calculé que son menos de 1600, 0.06%) el partido de Olivero exige el recuento de los votos y la justicia electoral se niega.

Aún sin el recuento voto a voto, se han encontrado mesas con votos al FIT mal computados. Algunos ejemplos

El sistema de publicación de telegramas electorales (www.resultados.gob.ar) es un gran progreso hacia la transparencia, pero está muy incompleto. Por ejemplo, no sólo carece de buscador, sino que no hay una validación entre la cantidad de votos computados (sumatoria de votos a los partidos, más blancos, nulos y recurridos) con los votos emitidos/cantidad de sobres que figura en el telgrama.

Más aun, los datos deberian estar no sólo visualizables sino en un formato abierto para poder procesarlos con otras herramientas.

Cómo soy programador, realicé un simple programa para extraer los datos de los resultados electorales de Córdoba (aunque bien serviría para otros distritos), sistematizarlos en una base de datos y hacer una búsqueda de mesas "sospechosas". Por ejemplo, aquellas en las que el FIT obtuvo 0 voto (patrón de los 2 primeros ejemplos).

Si bien este proceso es automatizable, determinar cuándo ese dato es realmente erroneo es mucho más complejo (en parte por la falta de datos que menciono) y, dada la urgencia, es mejor hacerlo de forma manual, colaborativamente. Por ello necesito ayuda para revisar: por ejemplo, para el primer listado, comparar la cantidad de votos emitios con el total computado.

Tip

System Message: WARNING/2 (<string>, line 3); backlink

Duplicate explicit target name: "acá".

El software es libre (bajo licencia GPLv3), está realizado en Python y está autocontenido en un documento utilizando el entorno IPython Notebook. El código puede obtenerse acá. En nbviewer se puede ver una versión estática de su ejecución en IPython Notebook.

También se encuentra disponible la base de datos.

Attention!

Si encontrás telegramas mal cargados o sospechosos, llená este formulario (o dejá un comentario al pie del artículo)

Mesas con más de 5% votos nulos (NUEVO LISTADO)

Mesas computadas donde el FIT sacó 0 voto

Mesa 7634 (Circuito 0351 (None)) - Total computados: 229
Mesa 7643 (Circuito 0352 (None)) - Total computados: 262
Mesa 7645 (Circuito 0353 (None)) - Total computados: 63
Mesa 7656 (Circuito 0358 (None)) - Total computados: 212
Mesa 7657 (Circuito 0358 (None)) - Total computados: 204
Mesa 7659 (Circuito 0359 (None)) - Total computados: 307
Mesa 7661 (Circuito 0359 (None)) - Total computados: 272
Mesa 7663 (Circuito 0359 (None)) - Total computados: 297

Mesas donde el FIT sacó menos del 50% de los votos promedio en el circuito (pero no 0)

Mesa 7647 (Circuito 0355 (None)) - Total computados: 276, Promedio FIT/circ = 4.000000
Mesa 7649 (Circuito 0355 (None)) - Total computados: 264, Promedio FIT/circ = 4.000000
Mesa 7660 (Circuito 0359 (None)) - Total computados: 298, Promedio FIT/circ = 4.142857
Mesa 7676 (Circuito 0359 (None)) - Total computados: 293, Promedio FIT/circ = 4.142857
Mesa 0450 (Circuito 0005E (001 - Capital)) - Total computados: 258, Promedio FIT/circ = 29.538462
Mesa 0734 (Circuito 0007D (001 - Capital)) - Total computados: 247, Promedio FIT/circ = 32.000000
Mesa 0789 (Circuito 0007E (001 - Capital)) - Total computados: 245, Promedio FIT/circ = 38.826087
Mesa 1064 (Circuito 0009D (001 - Capital)) - Total computados: 240, Promedio FIT/circ = 34.851852
Mesa 1539 (Circuito 0010L (001 - Capital)) - Total computados: 271, Promedio FIT/circ = 25.657534
Mesa 1823 (Circuito 0011F (001 - Capital)) - Total computados: 282, Promedio FIT/circ = 28.947368
Mesa 1912 (Circuito 0011I (001 - Capital)) - Total computados: 271, Promedio FIT/circ = 20.150000
Mesa 2350 (Circuito 0012I (001 - Capital)) - Total computados: 263, Promedio FIT/circ = 17.400000
Mesa 2766 (Circuito 0014A (001 - Capital)) - Total computados: 273, Promedio FIT/circ = 18.800000
Mesa 3108 (Circuito 0017 (002 - Calamuchita)) - Total computados: 267, Promedio FIT/circ = 15.550000
Mesa 3122 (Circuito 0019 (002 - Calamuchita)) - Total computados: 270, Promedio FIT/circ = 7.875000
Mesa 3130 (Circuito 0020 (002 - Calamuchita)) - Total computados: 283, Promedio FIT/circ = 14.333333
Mesa 3139 (Circuito 0020A (002 - Calamuchita)) - Total computados: 254, Promedio FIT/circ = 12.150000
Mesa 3161 (Circuito 0023 (002 - Calamuchita)) - Total computados: 281, Promedio FIT/circ = 8.333333
Mesa 3184 (Circuito 0025 (002 - Calamuchita)) - Total computados: 264, Promedio FIT/circ = 4.000000
Mesa 3253 (Circuito 0028 (003 - Colón)) - Total computados: 249, Promedio FIT/circ = 18.521739
Mesa 3331 (Circuito 0029 (003 - Colón)) - Total computados: 264, Promedio FIT/circ = 15.000000
Mesa 3366 (Circuito 0031 (003 - Colón)) - Total computados: 225, Promedio FIT/circ = 12.000000
Mesa 3381 (Circuito 0032 (003 - Colón)) - Total computados: 242, Promedio FIT/circ = 12.600000
Mesa 3405 (Circuito 0033 (003 - Colón)) - Total computados: 252, Promedio FIT/circ = 13.717949
Mesa 3408 (Circuito 0033 (003 - Colón)) - Total computados: 252, Promedio FIT/circ = 13.717949
Mesa 3439 (Circuito 0033 (003 - Colón)) - Total computados: 274, Promedio FIT/circ = 13.717949
Mesa 3442 (Circuito 0033 (003 - Colón)) - Total computados: 248, Promedio FIT/circ = 13.717949
Mesa 3791 (Circuito 0044 (004 - Cruz del Eje)) - Total computados: 250, Promedio FIT/circ = 7.183099
Mesa 3792 (Circuito 0044 (004 - Cruz del Eje)) - Total computados: 243, Promedio FIT/circ = 7.183099
Mesa 3804 (Circuito 0044 (004 - Cruz del Eje)) - Total computados: 250, Promedio FIT/circ = 7.183099
Mesa 3846 (Circuito 0050 (004 - Cruz del Eje)) - Total computados: 212, Promedio FIT/circ = 2.333333
Mesa 3849 (Circuito 0050A (004 - Cruz del Eje)) - Total computados: 231, Promedio FIT/circ = 2.000000
Mesa 3860 (Circuito 0054 (004 - Cruz del Eje)) - Total computados: 222, Promedio FIT/circ = 23.333333
Mesa 3879 (Circuito 0056 (004 - Cruz del Eje)) - Total computados: 255, Promedio FIT/circ = 5.500000
Mesa 3886 (Circuito 0056 (004 - Cruz del Eje)) - Total computados: 253, Promedio FIT/circ = 5.500000
Mesa 3905 (Circuito 0060 (005 - General Roca)) - Total computados: 241, Promedio FIT/circ = 3.200000
Mesa 3909 (Circuito 0060 (005 - General Roca)) - Total computados: 246, Promedio FIT/circ = 3.200000
Mesa 3912 (Circuito 0060 (005 - General Roca)) - Total computados: 250, Promedio FIT/circ = 3.200000
Mesa 3913 (Circuito 0061 (005 - General Roca)) - Total computados: 244, Promedio FIT/circ = 4.272727
Mesa 3917 (Circuito 0061 (005 - General Roca)) - Total computados: 256, Promedio FIT/circ = 4.272727
Mesa 3923 (Circuito 0061 (005 - General Roca)) - Total computados: 259, Promedio FIT/circ = 4.272727
Mesa 3927 (Circuito 0061 (005 - General Roca)) - Total computados: 250, Promedio FIT/circ = 4.272727
Mesa 3932 (Circuito 0061 (005 - General Roca)) - Total computados: 246, Promedio FIT/circ = 4.272727
Mesa 3944 (Circuito 0063 (005 - General Roca)) - Total computados: 277, Promedio FIT/circ = 3.000000
Mesa 3977 (Circuito 0072 (005 - General Roca)) - Total computados: 233, Promedio FIT/circ = 2.500000
Mesa 3982 (Circuito 0072 (005 - General Roca)) - Total computados: 256, Promedio FIT/circ = 2.500000
Mesa 3983 (Circuito 0072 (005 - General Roca)) - Total computados: 243, Promedio FIT/circ = 2.500000
Mesa 3988 (Circuito 0074 (006 - General San Martín)) - Total computados: 266, Promedio FIT/circ = 5.555556
Mesa 3996 (Circuito 0074 (006 - General San Martín)) - Total computados: 256, Promedio FIT/circ = 5.555556
Mesa 3999 (Circuito 0075 (006 - General San Martín)) - Total computados: 253, Promedio FIT/circ = 2.666667
Mesa 4003 (Circuito 0077 (006 - General San Martín)) - Total computados: 297, Promedio FIT/circ = 5.000000
Mesa 4009 (Circuito 0077 (006 - General San Martín)) - Total computados: 290, Promedio FIT/circ = 5.000000
Mesa 4075 (Circuito 0089 (006 - General San Martín)) - Total computados: 262, Promedio FIT/circ = 10.724490
Mesa 4128 (Circuito 0089 (006 - General San Martín)) - Total computados: 273, Promedio FIT/circ = 10.724490
Mesa 4149 (Circuito 0089 (006 - General San Martín)) - Total computados: 274, Promedio FIT/circ = 10.724490
Mesa 4150 (Circuito 0089 (006 - General San Martín)) - Total computados: 267, Promedio FIT/circ = 10.724490
Mesa 4155 (Circuito 0089 (006 - General San Martín)) - Total computados: 274, Promedio FIT/circ = 10.724490
Mesa 4160 (Circuito 0089 (006 - General San Martín)) - Total computados: 252, Promedio FIT/circ = 10.724490
Mesa 4175 (Circuito 0089 (006 - General San Martín)) - Total computados: 267, Promedio FIT/circ = 10.724490
Mesa 4255 (Circuito 0090 (006 - General San Martín)) - Total computados: 292, Promedio FIT/circ = 6.869565
Mesa 4271 (Circuito 0090 (006 - General San Martín)) - Total computados: 278, Promedio FIT/circ = 6.869565
Mesa 4273 (Circuito 0090 (006 - General San Martín)) - Total computados: 288, Promedio FIT/circ = 6.869565
Mesa 4283 (Circuito 0090 (006 - General San Martín)) - Total computados: 289, Promedio FIT/circ = 6.869565
Mesa 4286 (Circuito 0090 (006 - General San Martín)) - Total computados: 282, Promedio FIT/circ = 6.869565
Mesa 4309 (Circuito 0095 (007 - Ischilin)) - Total computados: 274, Promedio FIT/circ = 6.865385
Mesa 4326 (Circuito 0095 (007 - Ischilin)) - Total computados: 284, Promedio FIT/circ = 6.865385
Mesa 4333 (Circuito 0095 (007 - Ischilin)) - Total computados: 275, Promedio FIT/circ = 6.865385
Mesa 4337 (Circuito 0095 (007 - Ischilin)) - Total computados: 286, Promedio FIT/circ = 6.865385
Mesa 4341 (Circuito 0095 (007 - Ischilin)) - Total computados: 261, Promedio FIT/circ = 6.865385
Mesa 4344 (Circuito 0095 (007 - Ischilin)) - Total computados: 287, Promedio FIT/circ = 6.865385
Mesa 4347 (Circuito 0095 (007 - Ischilin)) - Total computados: 282, Promedio FIT/circ = 6.865385
Mesa 4348 (Circuito 0095 (007 - Ischilin)) - Total computados: 292, Promedio FIT/circ = 6.865385
Mesa 4356 (Circuito 0095 (007 - Ischilin)) - Total computados: 276, Promedio FIT/circ = 6.865385
Mesa 4386 (Circuito 0102 (008 - Juárez Celman)) - Total computados: 257, Promedio FIT/circ = 4.857143
Mesa 4390 (Circuito 0102 (008 - Juárez Celman)) - Total computados: 273, Promedio FIT/circ = 4.857143
Mesa 4397 (Circuito 0106 (008 - Juárez Celman)) - Total computados: 269, Promedio FIT/circ = 7.275862
Mesa 4422 (Circuito 0106 (008 - Juárez Celman)) - Total computados: 243, Promedio FIT/circ = 7.275862
Mesa 4423 (Circuito 0106 (008 - Juárez Celman)) - Total computados: 286, Promedio FIT/circ = 7.275862
Mesa 4431 (Circuito 0107 (008 - Juárez Celman)) - Total computados: 238, Promedio FIT/circ = 7.166667
Mesa 4471 (Circuito 0112 (008 - Juárez Celman)) - Total computados: 271, Promedio FIT/circ = 7.129032
Mesa 4473 (Circuito 0112 (008 - Juárez Celman)) - Total computados: 280, Promedio FIT/circ = 7.129032
Mesa 4479 (Circuito 0112 (008 - Juárez Celman)) - Total computados: 266, Promedio FIT/circ = 7.129032
Mesa 4488 (Circuito 0112 (008 - Juárez Celman)) - Total computados: 267, Promedio FIT/circ = 7.129032
Mesa 4495 (Circuito 0112 (008 - Juárez Celman)) - Total computados: 274, Promedio FIT/circ = 7.129032
Mesa 4499 (Circuito 0113 (008 - Juárez Celman)) - Total computados: 260, Promedio FIT/circ = 2.000000
Mesa 4504 (Circuito 0116 (008 - Juárez Celman)) - Total computados: 274, Promedio FIT/circ = 4.750000
Mesa 4519 (Circuito 0118 (008 - Juárez Celman)) - Total computados: 254, Promedio FIT/circ = 8.000000
Mesa 4523 (Circuito 0118 (008 - Juárez Celman)) - Total computados: 264, Promedio FIT/circ = 8.000000
Mesa 4543 (Circuito 0120 (009 - Marcos Juárez)) - Total computados: 250, Promedio FIT/circ = 4.157895
Mesa 4544 (Circuito 0120 (009 - Marcos Juárez)) - Total computados: 256, Promedio FIT/circ = 4.157895
Mesa 4552 (Circuito 0120 (009 - Marcos Juárez)) - Total computados: 241, Promedio FIT/circ = 4.157895
Mesa 4558 (Circuito 0121 (009 - Marcos Juárez)) - Total computados: 264, Promedio FIT/circ = 4.333333
Mesa 4565 (Circuito 0123 (009 - Marcos Juárez)) - Total computados: 260, Promedio FIT/circ = 2.750000
Mesa 4569 (Circuito 0123 (009 - Marcos Juárez)) - Total computados: 271, Promedio FIT/circ = 2.750000
Mesa 4572 (Circuito 0123 (009 - Marcos Juárez)) - Total computados: 272, Promedio FIT/circ = 2.750000
Mesa 4581 (Circuito 0125 (009 - Marcos Juárez)) - Total computados: 271, Promedio FIT/circ = 6.230769
Mesa 4583 (Circuito 0125 (009 - Marcos Juárez)) - Total computados: 274, Promedio FIT/circ = 6.230769
Mesa 4599 (Circuito 0125 (009 - Marcos Juárez)) - Total computados: 276, Promedio FIT/circ = 6.230769
Mesa 4605 (Circuito 0126 (009 - Marcos Juárez)) - Total computados: 261, Promedio FIT/circ = 5.052632
Mesa 4616 (Circuito 0126 (009 - Marcos Juárez)) - Total computados: 255, Promedio FIT/circ = 5.052632
Mesa 4622 (Circuito 0126 (009 - Marcos Juárez)) - Total computados: 255, Promedio FIT/circ = 5.052632
Mesa 4624 (Circuito 0127 (009 - Marcos Juárez)) - Total computados: 245, Promedio FIT/circ = 3.000000
Mesa 4628 (Circuito 0127 (009 - Marcos Juárez)) - Total computados: 247, Promedio FIT/circ = 3.000000
Mesa 4629 (Circuito 0127 (009 - Marcos Juárez)) - Total computados: 231, Promedio FIT/circ = 3.000000
Mesa 4636 (Circuito 0128 (009 - Marcos Juárez)) - Total computados: 275, Promedio FIT/circ = 6.300000
Mesa 4642 (Circuito 0129 (009 - Marcos Juárez)) - Total computados: 261, Promedio FIT/circ = 5.916667
Mesa 4689 (Circuito 0132 (009 - Marcos Juárez)) - Total computados: 250, Promedio FIT/circ = 4.125000
Mesa 4695 (Circuito 0133 (009 - Marcos Juárez)) - Total computados: 263, Promedio FIT/circ = 4.953846
Mesa 4697 (Circuito 0133 (009 - Marcos Juárez)) - Total computados: 265, Promedio FIT/circ = 4.953846
Mesa 4714 (Circuito 0133 (009 - Marcos Juárez)) - Total computados: 259, Promedio FIT/circ = 4.953846
Mesa 4720 (Circuito 0133 (009 - Marcos Juárez)) - Total computados: 254, Promedio FIT/circ = 4.953846
Mesa 4721 (Circuito 0133 (009 - Marcos Juárez)) - Total computados: 274, Promedio FIT/circ = 4.953846
Mesa 4739 (Circuito 0133 (009 - Marcos Juárez)) - Total computados: 246, Promedio FIT/circ = 4.953846
Mesa 4740 (Circuito 0133 (009 - Marcos Juárez)) - Total computados: 263, Promedio FIT/circ = 4.953846
Mesa 4764 (Circuito 0134 (009 - Marcos Juárez)) - Total computados: 277, Promedio FIT/circ = 4.600000
Mesa 4766 (Circuito 0134 (009 - Marcos Juárez)) - Total computados: 288, Promedio FIT/circ = 4.600000
Mesa 4777 (Circuito 0136 (009 - Marcos Juárez)) - Total computados: 241, Promedio FIT/circ = 3.000000
Mesa 4784 (Circuito 0137 (009 - Marcos Juárez)) - Total computados: 202, Promedio FIT/circ = 2.000000
Mesa 4785 (Circuito 0138 (010 - Minas)) - Total computados: 186, Promedio FIT/circ = 4.000000
Mesa 4799 (Circuito 0142 (010 - Minas)) - Total computados: 247, Promedio FIT/circ = 4.000000
Mesa 4803 (Circuito 0142 (010 - Minas)) - Total computados: 241, Promedio FIT/circ = 4.000000
Mesa 4827 (Circuito 0147 (012 - Punilla)) - Total computados: 259, Promedio FIT/circ = 22.928571
Mesa 4921 (Circuito 0150 (012 - Punilla)) - Total computados: 255, Promedio FIT/circ = 19.326923
Mesa 4929 (Circuito 0152 (012 - Punilla)) - Total computados: 259, Promedio FIT/circ = 12.187500
Mesa 4937 (Circuito 0152 (012 - Punilla)) - Total computados: 253, Promedio FIT/circ = 12.187500
Mesa 4970 (Circuito 0153 (012 - Punilla)) - Total computados: 238, Promedio FIT/circ = 14.450000
Mesa 5259 (Circuito 0160 (013 - Río Cuarto)) - Total computados: 244, Promedio FIT/circ = 6.000000
Mesa 5260 (Circuito 0160 (013 - Río Cuarto)) - Total computados: 250, Promedio FIT/circ = 6.000000
Mesa 5271 (Circuito 0161 (013 - Río Cuarto)) - Total computados: 250, Promedio FIT/circ = 4.500000
Mesa 5272 (Circuito 0161 (013 - Río Cuarto)) - Total computados: 256, Promedio FIT/circ = 4.500000
Mesa 5275 (Circuito 0161 (013 - Río Cuarto)) - Total computados: 249, Promedio FIT/circ = 4.500000
Mesa 5277 (Circuito 0161 (013 - Río Cuarto)) - Total computados: 270, Promedio FIT/circ = 4.500000
Mesa 5288 (Circuito 0162 (013 - Río Cuarto)) - Total computados: 250, Promedio FIT/circ = 4.812500
Mesa 5295 (Circuito 0162 (013 - Río Cuarto)) - Total computados: 278, Promedio FIT/circ = 4.812500
Mesa 5303 (Circuito 0163 (013 - Río Cuarto)) - Total computados: 224, Promedio FIT/circ = 4.750000
Mesa 5331 (Circuito 0165 (013 - Río Cuarto)) - Total computados: 245, Promedio FIT/circ = 9.048780
Mesa 5361 (Circuito 0165 (013 - Río Cuarto)) - Total computados: 249, Promedio FIT/circ = 9.048780
Mesa 5376 (Circuito 0165 (013 - Río Cuarto)) - Total computados: 270, Promedio FIT/circ = 9.048780
Mesa 5384 (Circuito 0165 (013 - Río Cuarto)) - Total computados: 290, Promedio FIT/circ = 9.048780
Mesa 5385 (Circuito 0165 (013 - Río Cuarto)) - Total computados: 280, Promedio FIT/circ = 9.048780
Mesa 5386 (Circuito 0165 (013 - Río Cuarto)) - Total computados: 259, Promedio FIT/circ = 9.048780
Mesa 5396 (Circuito 0166 (013 - Río Cuarto)) - Total computados: 262, Promedio FIT/circ = 6.222222
Mesa 5399 (Circuito 0166 (013 - Río Cuarto)) - Total computados: 259, Promedio FIT/circ = 6.222222
Mesa 5401 (Circuito 0166 (013 - Río Cuarto)) - Total computados: 247, Promedio FIT/circ = 6.222222
Mesa 5411 (Circuito 0167 (013 - Río Cuarto)) - Total computados: 218, Promedio FIT/circ = 2.000000
Mesa 5459 (Circuito 0179 (013 - Río Cuarto)) - Total computados: 265, Promedio FIT/circ = 6.937500
Mesa 5464 (Circuito 0179 (013 - Río Cuarto)) - Total computados: 250, Promedio FIT/circ = 6.937500
Mesa 5477 (Circuito 0182 (013 - Río Cuarto)) - Total computados: 244, Promedio FIT/circ = 2.333333
Mesa 5480 (Circuito 0183 (013 - Río Cuarto)) - Total computados: 281, Promedio FIT/circ = 4.038462
Mesa 5494 (Circuito 0183 (013 - Río Cuarto)) - Total computados: 266, Promedio FIT/circ = 4.038462
Mesa 5497 (Circuito 0183 (013 - Río Cuarto)) - Total computados: 274, Promedio FIT/circ = 4.038462
Mesa 5498 (Circuito 0183 (013 - Río Cuarto)) - Total computados: 271, Promedio FIT/circ = 4.038462
Mesa 5500 (Circuito 0183 (013 - Río Cuarto)) - Total computados: 268, Promedio FIT/circ = 4.038462
Mesa 5501 (Circuito 0183 (013 - Río Cuarto)) - Total computados: 260, Promedio FIT/circ = 4.038462
Mesa 5513 (Circuito 0184 (013 - Río Cuarto)) - Total computados: 246, Promedio FIT/circ = 4.434783
Mesa 5519 (Circuito 0184 (013 - Río Cuarto)) - Total computados: 259, Promedio FIT/circ = 4.434783
Mesa 5524 (Circuito 0184 (013 - Río Cuarto)) - Total computados: 248, Promedio FIT/circ = 4.434783
Mesa 5531 (Circuito 0186 (013 - Río Cuarto)) - Total computados: 262, Promedio FIT/circ = 7.323944
Mesa 5540 (Circuito 0186 (013 - Río Cuarto)) - Total computados: 258, Promedio FIT/circ = 7.323944
Mesa 5548 (Circuito 0186 (013 - Río Cuarto)) - Total computados: 262, Promedio FIT/circ = 7.323944
Mesa 5553 (Circuito 0186 (013 - Río Cuarto)) - Total computados: 259, Promedio FIT/circ = 7.323944
Mesa 5558 (Circuito 0186 (013 - Río Cuarto)) - Total computados: 246, Promedio FIT/circ = 7.323944
Mesa 5560 (Circuito 0186 (013 - Río Cuarto)) - Total computados: 257, Promedio FIT/circ = 7.323944
Mesa 5573 (Circuito 0186 (013 - Río Cuarto)) - Total computados: 266, Promedio FIT/circ = 7.323944
Mesa 5592 (Circuito 0186 (013 - Río Cuarto)) - Total computados: 250, Promedio FIT/circ = 7.323944
Mesa 5604 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 253, Promedio FIT/circ = 8.450450
Mesa 5607 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 250, Promedio FIT/circ = 8.450450
Mesa 5613 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 245, Promedio FIT/circ = 8.450450
Mesa 5617 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 254, Promedio FIT/circ = 8.450450
Mesa 5621 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 253, Promedio FIT/circ = 8.450450
Mesa 5626 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 257, Promedio FIT/circ = 8.450450
Mesa 5658 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 244, Promedio FIT/circ = 8.450450
Mesa 5662 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 271, Promedio FIT/circ = 8.450450
Mesa 5680 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 234, Promedio FIT/circ = 8.450450
Mesa 5705 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 253, Promedio FIT/circ = 8.450450
Mesa 5722 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 250, Promedio FIT/circ = 8.450450
Mesa 5747 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 261, Promedio FIT/circ = 8.450450
Mesa 5810 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 266, Promedio FIT/circ = 8.450450
Mesa 5817 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 255, Promedio FIT/circ = 8.450450
Mesa 5819 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 244, Promedio FIT/circ = 8.450450
Mesa 5821 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 248, Promedio FIT/circ = 8.450450
Mesa 5824 (Circuito 0189 (013 - Río Cuarto)) - Total computados: 263, Promedio FIT/circ = 4.428571
Mesa 5832 (Circuito 0189 (013 - Río Cuarto)) - Total computados: 260, Promedio FIT/circ = 4.428571
Mesa 5838 (Circuito 0189 (013 - Río Cuarto)) - Total computados: 272, Promedio FIT/circ = 4.428571
Mesa 5839 (Circuito 0189 (013 - Río Cuarto)) - Total computados: 263, Promedio FIT/circ = 4.428571
Mesa 5848 (Circuito 0191 (013 - Río Cuarto)) - Total computados: 271, Promedio FIT/circ = 3.666667
Mesa 5850 (Circuito 0191 (013 - Río Cuarto)) - Total computados: 269, Promedio FIT/circ = 3.666667
Mesa 5866 (Circuito 0198 (014 - Río Primero)) - Total computados: 210, Promedio FIT/circ = 5.000000
Mesa 5901 (Circuito 0211 (014 - Río Primero)) - Total computados: 285, Promedio FIT/circ = 16.521739
Mesa 5925 (Circuito 0213 (014 - Río Primero)) - Total computados: 260, Promedio FIT/circ = 2.142857
Mesa 5926 (Circuito 0213 (014 - Río Primero)) - Total computados: 243, Promedio FIT/circ = 2.142857
Mesa 5930 (Circuito 0213 (014 - Río Primero)) - Total computados: 247, Promedio FIT/circ = 2.142857
Mesa 5936 (Circuito 0214 (014 - Río Primero)) - Total computados: 283, Promedio FIT/circ = 9.200000
Mesa 5947 (Circuito 0218 (014 - Río Primero)) - Total computados: 278, Promedio FIT/circ = 6.157895
Mesa 5952 (Circuito 0218 (014 - Río Primero)) - Total computados: 266, Promedio FIT/circ = 6.157895
Mesa 5955 (Circuito 0218 (014 - Río Primero)) - Total computados: 266, Promedio FIT/circ = 6.157895
Mesa 5956 (Circuito 0218 (014 - Río Primero)) - Total computados: 267, Promedio FIT/circ = 6.157895
Mesa 5958 (Circuito 0218 (014 - Río Primero)) - Total computados: 273, Promedio FIT/circ = 6.157895
Mesa 5962 (Circuito 0220 (014 - Río Primero)) - Total computados: 281, Promedio FIT/circ = 3.750000
Mesa 5967 (Circuito 0220 (014 - Río Primero)) - Total computados: 289, Promedio FIT/circ = 3.750000
Mesa 5968 (Circuito 0220 (014 - Río Primero)) - Total computados: 278, Promedio FIT/circ = 3.750000
Mesa 5983 (Circuito 0222 (014 - Río Primero)) - Total computados: 261, Promedio FIT/circ = 3.000000
Mesa 5995 (Circuito 0226A (015 - Río Seco)) - Total computados: 114, Promedio FIT/circ = 2.000000
Mesa 6009 (Circuito 0228 (015 - Río Seco)) - Total computados: 215, Promedio FIT/circ = 2.500000
Mesa 6011 (Circuito 0228 (015 - Río Seco)) - Total computados: 229, Promedio FIT/circ = 2.500000
Mesa 6012 (Circuito 0229 (015 - Río Seco)) - Total computados: 267, Promedio FIT/circ = 6.153846
Mesa 6031 (Circuito 0230 (016 - Río Segundo)) - Total computados: 267, Promedio FIT/circ = 4.666667
Mesa 6040 (Circuito 0232 (016 - Río Segundo)) - Total computados: 271, Promedio FIT/circ = 3.200000
Mesa 6054 (Circuito 0235 (016 - Río Segundo)) - Total computados: 293, Promedio FIT/circ = 8.950000
Mesa 6073 (Circuito 0236 (016 - Río Segundo)) - Total computados: 244, Promedio FIT/circ = 3.200000
Mesa 6086 (Circuito 0237 (016 - Río Segundo)) - Total computados: 258, Promedio FIT/circ = 5.187500
Mesa 6100 (Circuito 0239 (016 - Río Segundo)) - Total computados: 273, Promedio FIT/circ = 11.000000
Mesa 6142 (Circuito 0240 (016 - Río Segundo)) - Total computados: 283, Promedio FIT/circ = 16.515152
Mesa 6162 (Circuito 0240 (016 - Río Segundo)) - Total computados: 287, Promedio FIT/circ = 16.515152
Mesa 6170 (Circuito 0241 (016 - Río Segundo)) - Total computados: 267, Promedio FIT/circ = 5.687500
Mesa 6176 (Circuito 0241 (016 - Río Segundo)) - Total computados: 263, Promedio FIT/circ = 5.687500
Mesa 6177 (Circuito 0241 (016 - Río Segundo)) - Total computados: 270, Promedio FIT/circ = 5.687500
Mesa 6182 (Circuito 0241 (016 - Río Segundo)) - Total computados: 270, Promedio FIT/circ = 5.687500
Mesa 6218 (Circuito 0243 (016 - Río Segundo)) - Total computados: 274, Promedio FIT/circ = 14.285714
Mesa 6238 (Circuito 0244 (016 - Río Segundo)) - Total computados: 276, Promedio FIT/circ = 4.428571
Mesa 6267 (Circuito 0245 (016 - Río Segundo)) - Total computados: 278, Promedio FIT/circ = 7.944444
Mesa 6276 (Circuito 0245 (016 - Río Segundo)) - Total computados: 272, Promedio FIT/circ = 7.944444
Mesa 6281 (Circuito 0248 (017 - Presidente Roque Sáenz Peña)) - Total computados: 280, Promedio FIT/circ = 7.411765
Mesa 6283 (Circuito 0248 (017 - Presidente Roque Sáenz Peña)) - Total computados: 257, Promedio FIT/circ = 7.411765
Mesa 6292 (Circuito 0248 (017 - Presidente Roque Sáenz Peña)) - Total computados: 258, Promedio FIT/circ = 7.411765
Mesa 6333 (Circuito 0249 (017 - Presidente Roque Sáenz Peña)) - Total computados: 240, Promedio FIT/circ = 2.500000
Mesa 6341 (Circuito 0252 (017 - Presidente Roque Sáenz Peña)) - Total computados: 254, Promedio FIT/circ = 3.933333
Mesa 6360 (Circuito 0257 (017 - Presidente Roque Sáenz Peña)) - Total computados: 262, Promedio FIT/circ = 3.888889
Mesa 6383 (Circuito 0261 (018 - San Alberto)) - Total computados: 267, Promedio FIT/circ = 11.333333
Mesa 6394 (Circuito 0262 (018 - San Alberto)) - Total computados: 259, Promedio FIT/circ = 16.173913
Mesa 6420 (Circuito 0263 (018 - San Alberto)) - Total computados: 231, Promedio FIT/circ = 13.571429
Mesa 6441 (Circuito 0265 (018 - San Alberto)) - Total computados: 280, Promedio FIT/circ = 4.916667
Mesa 6448 (Circuito 0265A (018 - San Alberto)) - Total computados: 271, Promedio FIT/circ = 3.384615
Mesa 6458 (Circuito 0265A (018 - San Alberto)) - Total computados: 268, Promedio FIT/circ = 3.384615
Mesa 6463 (Circuito 0266 (018 - San Alberto)) - Total computados: 253, Promedio FIT/circ = 4.000000
Mesa 6464 (Circuito 0266 (018 - San Alberto)) - Total computados: 253, Promedio FIT/circ = 4.000000
Mesa 6478 (Circuito 0268 (019 - San Javier)) - Total computados: 265, Promedio FIT/circ = 9.333333
Mesa 6481 (Circuito 0268 (019 - San Javier)) - Total computados: 256, Promedio FIT/circ = 9.333333
Mesa 6499 (Circuito 0268 (019 - San Javier)) - Total computados: 263, Promedio FIT/circ = 9.333333
Mesa 6513 (Circuito 0268 (019 - San Javier)) - Total computados: 257, Promedio FIT/circ = 9.333333
Mesa 6521 (Circuito 0268 (019 - San Javier)) - Total computados: 291, Promedio FIT/circ = 9.333333
Mesa 6523 (Circuito 0268 (019 - San Javier)) - Total computados: 267, Promedio FIT/circ = 9.333333
Mesa 6542 (Circuito 0268 (019 - San Javier)) - Total computados: 263, Promedio FIT/circ = 9.333333
Mesa 6560 (Circuito 0270 (019 - San Javier)) - Total computados: 264, Promedio FIT/circ = 21.818182
Mesa 6561 (Circuito 0270 (019 - San Javier)) - Total computados: 263, Promedio FIT/circ = 21.818182
Mesa 6579 (Circuito 0274A (019 - San Javier)) - Total computados: 143, Promedio FIT/circ = 2.500000
Mesa 6583 (Circuito 0275 (019 - San Javier)) - Total computados: 271, Promedio FIT/circ = 4.500000
Mesa 6586 (Circuito 0275 (019 - San Javier)) - Total computados: 267, Promedio FIT/circ = 4.500000
Mesa 6587 (Circuito 0275A (019 - San Javier)) - Total computados: 271, Promedio FIT/circ = 3.400000
Mesa 6594 (Circuito 0276 (019 - San Javier)) - Total computados: 204, Promedio FIT/circ = 6.666667
Mesa 6596 (Circuito 0277 (020 - San Justo)) - Total computados: 248, Promedio FIT/circ = 6.555556
Mesa 6642 (Circuito 0279 (020 - San Justo)) - Total computados: 275, Promedio FIT/circ = 7.909091
Mesa 6645 (Circuito 0279 (020 - San Justo)) - Total computados: 258, Promedio FIT/circ = 7.909091
Mesa 6651 (Circuito 0279 (020 - San Justo)) - Total computados: 294, Promedio FIT/circ = 7.909091
Mesa 6665 (Circuito 0279A (020 - San Justo)) - Total computados: 145, Promedio FIT/circ = 3.000000
Mesa 6668 (Circuito 0280 (020 - San Justo)) - Total computados: 257, Promedio FIT/circ = 5.176471
Mesa 6678 (Circuito 0280 (020 - San Justo)) - Total computados: 258, Promedio FIT/circ = 5.176471
Mesa 6697 (Circuito 0282 (020 - San Justo)) - Total computados: 265, Promedio FIT/circ = 3.750000
Mesa 6703 (Circuito 0282 (020 - San Justo)) - Total computados: 265, Promedio FIT/circ = 3.750000
Mesa 6707 (Circuito 0282 (020 - San Justo)) - Total computados: 273, Promedio FIT/circ = 3.750000
Mesa 6716 (Circuito 0285 (020 - San Justo)) - Total computados: 274, Promedio FIT/circ = 6.687500
Mesa 6733 (Circuito 0288 (020 - San Justo)) - Total computados: 258, Promedio FIT/circ = 2.500000
Mesa 6734 (Circuito 0288 (020 - San Justo)) - Total computados: 261, Promedio FIT/circ = 2.500000
Mesa 6736 (Circuito 0288 (020 - San Justo)) - Total computados: 260, Promedio FIT/circ = 2.500000
Mesa 6750 (Circuito 0291 (020 - San Justo)) - Total computados: 268, Promedio FIT/circ = 5.055556
Mesa 6754 (Circuito 0291 (020 - San Justo)) - Total computados: 240, Promedio FIT/circ = 5.055556
Mesa 6755 (Circuito 0291 (020 - San Justo)) - Total computados: 254, Promedio FIT/circ = 5.055556
Mesa 6775 (Circuito 0293 (020 - San Justo)) - Total computados: 268, Promedio FIT/circ = 5.800000
Mesa 6786 (Circuito 0295 (020 - San Justo)) - Total computados: 249, Promedio FIT/circ = 2.600000
Mesa 6795 (Circuito 0296 (020 - San Justo)) - Total computados: 239, Promedio FIT/circ = 4.571429
Mesa 6797 (Circuito 0297 (020 - San Justo)) - Total computados: 228, Promedio FIT/circ = 4.000000
Mesa 6799 (Circuito 0297 (020 - San Justo)) - Total computados: 228, Promedio FIT/circ = 4.000000
Mesa 6809 (Circuito 0298 (020 - San Justo)) - Total computados: 276, Promedio FIT/circ = 10.341463
Mesa 6822 (Circuito 0298 (020 - San Justo)) - Total computados: 242, Promedio FIT/circ = 10.341463
Mesa 6831 (Circuito 0298 (020 - San Justo)) - Total computados: 268, Promedio FIT/circ = 10.341463
Mesa 6834 (Circuito 0298 (020 - San Justo)) - Total computados: 251, Promedio FIT/circ = 10.341463
Mesa 6842 (Circuito 0299 (020 - San Justo)) - Total computados: 141, Promedio FIT/circ = 2.000000
Mesa 6860 (Circuito 0304 (020 - San Justo)) - Total computados: 268, Promedio FIT/circ = 6.659091
Mesa 6870 (Circuito 0304 (020 - San Justo)) - Total computados: 260, Promedio FIT/circ = 6.659091
Mesa 6884 (Circuito 0304 (020 - San Justo)) - Total computados: 260, Promedio FIT/circ = 6.659091
Mesa 6900 (Circuito 0304 (020 - San Justo)) - Total computados: 275, Promedio FIT/circ = 6.659091
Mesa 6902 (Circuito 0304 (020 - San Justo)) - Total computados: 252, Promedio FIT/circ = 6.659091
Mesa 6916 (Circuito 0305 (020 - San Justo)) - Total computados: 281, Promedio FIT/circ = 3.285714
Mesa 6928 (Circuito 0308 (020 - San Justo)) - Total computados: 242, Promedio FIT/circ = 4.777778
Mesa 6933 (Circuito 0309 (020 - San Justo)) - Total computados: 234, Promedio FIT/circ = 3.200000
Mesa 7036 (Circuito 0310A (020 - San Justo)) - Total computados: 250, Promedio FIT/circ = 11.355263
Mesa 7064 (Circuito 0310A (020 - San Justo)) - Total computados: 260, Promedio FIT/circ = 11.355263
Mesa 7106 (Circuito 0315 (020 - San Justo)) - Total computados: 270, Promedio FIT/circ = 6.000000
Mesa 7111 (Circuito 0316 (021 - Santa María)) - Total computados: 291, Promedio FIT/circ = 21.208696
Mesa 7265 (Circuito 0323 (021 - Santa María)) - Total computados: 272, Promedio FIT/circ = 9.562500
Mesa 7283 (Circuito 0325 (021 - Santa María)) - Total computados: 281, Promedio FIT/circ = 6.500000
Mesa 7357 (Circuito 0336 (023 - Tercero Arriba)) - Total computados: 272, Promedio FIT/circ = 12.413793
Mesa 7385 (Circuito 0337 (023 - Tercero Arriba)) - Total computados: 285, Promedio FIT/circ = 5.142857
Mesa 7391 (Circuito 0337A (023 - Tercero Arriba)) - Total computados: 243, Promedio FIT/circ = 3.000000
Mesa 7397 (Circuito 0338 (023 - Tercero Arriba)) - Total computados: 268, Promedio FIT/circ = 7.200000
Mesa 7399 (Circuito 0339 (023 - Tercero Arriba)) - Total computados: 294, Promedio FIT/circ = 3.500000
Mesa 7430 (Circuito 0341 (023 - Tercero Arriba)) - Total computados: 268, Promedio FIT/circ = 6.076923
Mesa 7441 (Circuito 0341 (023 - Tercero Arriba)) - Total computados: 266, Promedio FIT/circ = 6.076923
Mesa 7455 (Circuito 0343 (023 - Tercero Arriba)) - Total computados: 242, Promedio FIT/circ = 4.000000
Mesa 7615 (Circuito 0349 (023 - Tercero Arriba)) - Total computados: 254, Promedio FIT/circ = 8.357143
Mesa 7629 (Circuito 0349A (023 - Tercero Arriba)) - Total computados: 164, Promedio FIT/circ = 3.000000
  • Mesas donde el FIT sacó menos del 50% de los votos promedio en el circuito (pero no 0)
Mesa 7647 (Circuito 0355 (None)) - Total computados: 276, Promedio FIT/circ = 4.000000
Mesa 7649 (Circuito 0355 (None)) - Total computados: 264, Promedio FIT/circ = 4.000000
Mesa 7660 (Circuito 0359 (None)) - Total computados: 298, Promedio FIT/circ = 4.142857
Mesa 7676 (Circuito 0359 (None)) - Total computados: 293, Promedio FIT/circ = 4.142857
Mesa 0450 (Circuito 0005E (001 - Capital)) - Total computados: 258, Promedio FIT/circ = 29.538462
Mesa 0734 (Circuito 0007D (001 - Capital)) - Total computados: 247, Promedio FIT/circ = 32.000000
Mesa 0789 (Circuito 0007E (001 - Capital)) - Total computados: 245, Promedio FIT/circ = 38.826087
Mesa 1064 (Circuito 0009D (001 - Capital)) - Total computados: 240, Promedio FIT/circ = 34.851852
Mesa 1539 (Circuito 0010L (001 - Capital)) - Total computados: 271, Promedio FIT/circ = 25.657534
Mesa 1823 (Circuito 0011F (001 - Capital)) - Total computados: 282, Promedio FIT/circ = 28.947368
Mesa 1912 (Circuito 0011I (001 - Capital)) - Total computados: 271, Promedio FIT/circ = 20.150000
Mesa 2350 (Circuito 0012I (001 - Capital)) - Total computados: 263, Promedio FIT/circ = 17.400000
Mesa 2766 (Circuito 0014A (001 - Capital)) - Total computados: 273, Promedio FIT/circ = 18.800000
Mesa 3108 (Circuito 0017 (002 - Calamuchita)) - Total computados: 267, Promedio FIT/circ = 15.550000
Mesa 3122 (Circuito 0019 (002 - Calamuchita)) - Total computados: 270, Promedio FIT/circ = 7.875000
Mesa 3130 (Circuito 0020 (002 - Calamuchita)) - Total computados: 283, Promedio FIT/circ = 14.333333
Mesa 3139 (Circuito 0020A (002 - Calamuchita)) - Total computados: 254, Promedio FIT/circ = 12.150000
Mesa 3161 (Circuito 0023 (002 - Calamuchita)) - Total computados: 281, Promedio FIT/circ = 8.333333
Mesa 3184 (Circuito 0025 (002 - Calamuchita)) - Total computados: 264, Promedio FIT/circ = 4.000000
Mesa 3253 (Circuito 0028 (003 - Colón)) - Total computados: 249, Promedio FIT/circ = 18.521739
Mesa 3331 (Circuito 0029 (003 - Colón)) - Total computados: 264, Promedio FIT/circ = 15.000000
Mesa 3366 (Circuito 0031 (003 - Colón)) - Total computados: 225, Promedio FIT/circ = 12.000000
Mesa 3381 (Circuito 0032 (003 - Colón)) - Total computados: 242, Promedio FIT/circ = 12.600000
Mesa 3405 (Circuito 0033 (003 - Colón)) - Total computados: 252, Promedio FIT/circ = 13.717949
Mesa 3408 (Circuito 0033 (003 - Colón)) - Total computados: 252, Promedio FIT/circ = 13.717949
Mesa 3439 (Circuito 0033 (003 - Colón)) - Total computados: 274, Promedio FIT/circ = 13.717949
Mesa 3442 (Circuito 0033 (003 - Colón)) - Total computados: 248, Promedio FIT/circ = 13.717949
Mesa 3791 (Circuito 0044 (004 - Cruz del Eje)) - Total computados: 250, Promedio FIT/circ = 7.183099
Mesa 3792 (Circuito 0044 (004 - Cruz del Eje)) - Total computados: 243, Promedio FIT/circ = 7.183099
Mesa 3804 (Circuito 0044 (004 - Cruz del Eje)) - Total computados: 250, Promedio FIT/circ = 7.183099
Mesa 3846 (Circuito 0050 (004 - Cruz del Eje)) - Total computados: 212, Promedio FIT/circ = 2.333333
Mesa 3849 (Circuito 0050A (004 - Cruz del Eje)) - Total computados: 231, Promedio FIT/circ = 2.000000
Mesa 3860 (Circuito 0054 (004 - Cruz del Eje)) - Total computados: 222, Promedio FIT/circ = 23.333333
Mesa 3879 (Circuito 0056 (004 - Cruz del Eje)) - Total computados: 255, Promedio FIT/circ = 5.500000
Mesa 3886 (Circuito 0056 (004 - Cruz del Eje)) - Total computados: 253, Promedio FIT/circ = 5.500000
Mesa 3905 (Circuito 0060 (005 - General Roca)) - Total computados: 241, Promedio FIT/circ = 3.200000
Mesa 3909 (Circuito 0060 (005 - General Roca)) - Total computados: 246, Promedio FIT/circ = 3.200000
Mesa 3912 (Circuito 0060 (005 - General Roca)) - Total computados: 250, Promedio FIT/circ = 3.200000
Mesa 3913 (Circuito 0061 (005 - General Roca)) - Total computados: 244, Promedio FIT/circ = 4.272727
Mesa 3917 (Circuito 0061 (005 - General Roca)) - Total computados: 256, Promedio FIT/circ = 4.272727
Mesa 3923 (Circuito 0061 (005 - General Roca)) - Total computados: 259, Promedio FIT/circ = 4.272727
Mesa 3927 (Circuito 0061 (005 - General Roca)) - Total computados: 250, Promedio FIT/circ = 4.272727
Mesa 3932 (Circuito 0061 (005 - General Roca)) - Total computados: 246, Promedio FIT/circ = 4.272727
Mesa 3944 (Circuito 0063 (005 - General Roca)) - Total computados: 277, Promedio FIT/circ = 3.000000
Mesa 3977 (Circuito 0072 (005 - General Roca)) - Total computados: 233, Promedio FIT/circ = 2.500000
Mesa 3982 (Circuito 0072 (005 - General Roca)) - Total computados: 256, Promedio FIT/circ = 2.500000
Mesa 3983 (Circuito 0072 (005 - General Roca)) - Total computados: 243, Promedio FIT/circ = 2.500000
Mesa 3988 (Circuito 0074 (006 - General San Martín)) - Total computados: 266, Promedio FIT/circ = 5.555556
Mesa 3996 (Circuito 0074 (006 - General San Martín)) - Total computados: 256, Promedio FIT/circ = 5.555556
Mesa 3999 (Circuito 0075 (006 - General San Martín)) - Total computados: 253, Promedio FIT/circ = 2.666667
Mesa 4003 (Circuito 0077 (006 - General San Martín)) - Total computados: 297, Promedio FIT/circ = 5.000000
Mesa 4009 (Circuito 0077 (006 - General San Martín)) - Total computados: 290, Promedio FIT/circ = 5.000000
Mesa 4075 (Circuito 0089 (006 - General San Martín)) - Total computados: 262, Promedio FIT/circ = 10.724490
Mesa 4128 (Circuito 0089 (006 - General San Martín)) - Total computados: 273, Promedio FIT/circ = 10.724490
Mesa 4149 (Circuito 0089 (006 - General San Martín)) - Total computados: 274, Promedio FIT/circ = 10.724490
Mesa 4150 (Circuito 0089 (006 - General San Martín)) - Total computados: 267, Promedio FIT/circ = 10.724490
Mesa 4155 (Circuito 0089 (006 - General San Martín)) - Total computados: 274, Promedio FIT/circ = 10.724490
Mesa 4160 (Circuito 0089 (006 - General San Martín)) - Total computados: 252, Promedio FIT/circ = 10.724490
Mesa 4175 (Circuito 0089 (006 - General San Martín)) - Total computados: 267, Promedio FIT/circ = 10.724490
Mesa 4255 (Circuito 0090 (006 - General San Martín)) - Total computados: 292, Promedio FIT/circ = 6.869565
Mesa 4271 (Circuito 0090 (006 - General San Martín)) - Total computados: 278, Promedio FIT/circ = 6.869565
Mesa 4273 (Circuito 0090 (006 - General San Martín)) - Total computados: 288, Promedio FIT/circ = 6.869565
Mesa 4283 (Circuito 0090 (006 - General San Martín)) - Total computados: 289, Promedio FIT/circ = 6.869565
Mesa 4286 (Circuito 0090 (006 - General San Martín)) - Total computados: 282, Promedio FIT/circ = 6.869565
Mesa 4309 (Circuito 0095 (007 - Ischilin)) - Total computados: 274, Promedio FIT/circ = 6.865385
Mesa 4326 (Circuito 0095 (007 - Ischilin)) - Total computados: 284, Promedio FIT/circ = 6.865385
Mesa 4333 (Circuito 0095 (007 - Ischilin)) - Total computados: 275, Promedio FIT/circ = 6.865385
Mesa 4337 (Circuito 0095 (007 - Ischilin)) - Total computados: 286, Promedio FIT/circ = 6.865385
Mesa 4341 (Circuito 0095 (007 - Ischilin)) - Total computados: 261, Promedio FIT/circ = 6.865385
Mesa 4344 (Circuito 0095 (007 - Ischilin)) - Total computados: 287, Promedio FIT/circ = 6.865385
Mesa 4347 (Circuito 0095 (007 - Ischilin)) - Total computados: 282, Promedio FIT/circ = 6.865385
Mesa 4348 (Circuito 0095 (007 - Ischilin)) - Total computados: 292, Promedio FIT/circ = 6.865385
Mesa 4356 (Circuito 0095 (007 - Ischilin)) - Total computados: 276, Promedio FIT/circ = 6.865385
Mesa 4386 (Circuito 0102 (008 - Juárez Celman)) - Total computados: 257, Promedio FIT/circ = 4.857143
Mesa 4390 (Circuito 0102 (008 - Juárez Celman)) - Total computados: 273, Promedio FIT/circ = 4.857143
Mesa 4397 (Circuito 0106 (008 - Juárez Celman)) - Total computados: 269, Promedio FIT/circ = 7.275862
Mesa 4422 (Circuito 0106 (008 - Juárez Celman)) - Total computados: 243, Promedio FIT/circ = 7.275862
Mesa 4423 (Circuito 0106 (008 - Juárez Celman)) - Total computados: 286, Promedio FIT/circ = 7.275862
Mesa 4431 (Circuito 0107 (008 - Juárez Celman)) - Total computados: 238, Promedio FIT/circ = 7.166667
Mesa 4471 (Circuito 0112 (008 - Juárez Celman)) - Total computados: 271, Promedio FIT/circ = 7.129032
Mesa 4473 (Circuito 0112 (008 - Juárez Celman)) - Total computados: 280, Promedio FIT/circ = 7.129032
Mesa 4479 (Circuito 0112 (008 - Juárez Celman)) - Total computados: 266, Promedio FIT/circ = 7.129032
Mesa 4488 (Circuito 0112 (008 - Juárez Celman)) - Total computados: 267, Promedio FIT/circ = 7.129032
Mesa 4495 (Circuito 0112 (008 - Juárez Celman)) - Total computados: 274, Promedio FIT/circ = 7.129032
Mesa 4499 (Circuito 0113 (008 - Juárez Celman)) - Total computados: 260, Promedio FIT/circ = 2.000000
Mesa 4504 (Circuito 0116 (008 - Juárez Celman)) - Total computados: 274, Promedio FIT/circ = 4.750000
Mesa 4519 (Circuito 0118 (008 - Juárez Celman)) - Total computados: 254, Promedio FIT/circ = 8.000000
Mesa 4523 (Circuito 0118 (008 - Juárez Celman)) - Total computados: 264, Promedio FIT/circ = 8.000000
Mesa 4543 (Circuito 0120 (009 - Marcos Juárez)) - Total computados: 250, Promedio FIT/circ = 4.157895
Mesa 4544 (Circuito 0120 (009 - Marcos Juárez)) - Total computados: 256, Promedio FIT/circ = 4.157895
Mesa 4552 (Circuito 0120 (009 - Marcos Juárez)) - Total computados: 241, Promedio FIT/circ = 4.157895
Mesa 4558 (Circuito 0121 (009 - Marcos Juárez)) - Total computados: 264, Promedio FIT/circ = 4.333333
Mesa 4565 (Circuito 0123 (009 - Marcos Juárez)) - Total computados: 260, Promedio FIT/circ = 2.750000
Mesa 4569 (Circuito 0123 (009 - Marcos Juárez)) - Total computados: 271, Promedio FIT/circ = 2.750000
Mesa 4572 (Circuito 0123 (009 - Marcos Juárez)) - Total computados: 272, Promedio FIT/circ = 2.750000
Mesa 4581 (Circuito 0125 (009 - Marcos Juárez)) - Total computados: 271, Promedio FIT/circ = 6.230769
Mesa 4583 (Circuito 0125 (009 - Marcos Juárez)) - Total computados: 274, Promedio FIT/circ = 6.230769
Mesa 4599 (Circuito 0125 (009 - Marcos Juárez)) - Total computados: 276, Promedio FIT/circ = 6.230769
Mesa 4605 (Circuito 0126 (009 - Marcos Juárez)) - Total computados: 261, Promedio FIT/circ = 5.052632
Mesa 4616 (Circuito 0126 (009 - Marcos Juárez)) - Total computados: 255, Promedio FIT/circ = 5.052632
Mesa 4622 (Circuito 0126 (009 - Marcos Juárez)) - Total computados: 255, Promedio FIT/circ = 5.052632
Mesa 4624 (Circuito 0127 (009 - Marcos Juárez)) - Total computados: 245, Promedio FIT/circ = 3.000000
Mesa 4628 (Circuito 0127 (009 - Marcos Juárez)) - Total computados: 247, Promedio FIT/circ = 3.000000
Mesa 4629 (Circuito 0127 (009 - Marcos Juárez)) - Total computados: 231, Promedio FIT/circ = 3.000000
Mesa 4636 (Circuito 0128 (009 - Marcos Juárez)) - Total computados: 275, Promedio FIT/circ = 6.300000
Mesa 4642 (Circuito 0129 (009 - Marcos Juárez)) - Total computados: 261, Promedio FIT/circ = 5.916667
Mesa 4689 (Circuito 0132 (009 - Marcos Juárez)) - Total computados: 250, Promedio FIT/circ = 4.125000
Mesa 4695 (Circuito 0133 (009 - Marcos Juárez)) - Total computados: 263, Promedio FIT/circ = 4.953846
Mesa 4697 (Circuito 0133 (009 - Marcos Juárez)) - Total computados: 265, Promedio FIT/circ = 4.953846
Mesa 4714 (Circuito 0133 (009 - Marcos Juárez)) - Total computados: 259, Promedio FIT/circ = 4.953846
Mesa 4720 (Circuito 0133 (009 - Marcos Juárez)) - Total computados: 254, Promedio FIT/circ = 4.953846
Mesa 4721 (Circuito 0133 (009 - Marcos Juárez)) - Total computados: 274, Promedio FIT/circ = 4.953846
Mesa 4739 (Circuito 0133 (009 - Marcos Juárez)) - Total computados: 246, Promedio FIT/circ = 4.953846
Mesa 4740 (Circuito 0133 (009 - Marcos Juárez)) - Total computados: 263, Promedio FIT/circ = 4.953846
Mesa 4764 (Circuito 0134 (009 - Marcos Juárez)) - Total computados: 277, Promedio FIT/circ = 4.600000
Mesa 4766 (Circuito 0134 (009 - Marcos Juárez)) - Total computados: 288, Promedio FIT/circ = 4.600000
Mesa 4777 (Circuito 0136 (009 - Marcos Juárez)) - Total computados: 241, Promedio FIT/circ = 3.000000
Mesa 4784 (Circuito 0137 (009 - Marcos Juárez)) - Total computados: 202, Promedio FIT/circ = 2.000000
Mesa 4785 (Circuito 0138 (010 - Minas)) - Total computados: 186, Promedio FIT/circ = 4.000000
Mesa 4799 (Circuito 0142 (010 - Minas)) - Total computados: 247, Promedio FIT/circ = 4.000000
Mesa 4803 (Circuito 0142 (010 - Minas)) - Total computados: 241, Promedio FIT/circ = 4.000000
Mesa 4827 (Circuito 0147 (012 - Punilla)) - Total computados: 259, Promedio FIT/circ = 22.928571
Mesa 4921 (Circuito 0150 (012 - Punilla)) - Total computados: 255, Promedio FIT/circ = 19.326923
Mesa 4929 (Circuito 0152 (012 - Punilla)) - Total computados: 259, Promedio FIT/circ = 12.187500
Mesa 4937 (Circuito 0152 (012 - Punilla)) - Total computados: 253, Promedio FIT/circ = 12.187500
Mesa 4970 (Circuito 0153 (012 - Punilla)) - Total computados: 238, Promedio FIT/circ = 14.450000
Mesa 5259 (Circuito 0160 (013 - Río Cuarto)) - Total computados: 244, Promedio FIT/circ = 6.000000
Mesa 5260 (Circuito 0160 (013 - Río Cuarto)) - Total computados: 250, Promedio FIT/circ = 6.000000
Mesa 5271 (Circuito 0161 (013 - Río Cuarto)) - Total computados: 250, Promedio FIT/circ = 4.500000
Mesa 5272 (Circuito 0161 (013 - Río Cuarto)) - Total computados: 256, Promedio FIT/circ = 4.500000
Mesa 5275 (Circuito 0161 (013 - Río Cuarto)) - Total computados: 249, Promedio FIT/circ = 4.500000
Mesa 5277 (Circuito 0161 (013 - Río Cuarto)) - Total computados: 270, Promedio FIT/circ = 4.500000
Mesa 5288 (Circuito 0162 (013 - Río Cuarto)) - Total computados: 250, Promedio FIT/circ = 4.812500
Mesa 5295 (Circuito 0162 (013 - Río Cuarto)) - Total computados: 278, Promedio FIT/circ = 4.812500
Mesa 5303 (Circuito 0163 (013 - Río Cuarto)) - Total computados: 224, Promedio FIT/circ = 4.750000
Mesa 5331 (Circuito 0165 (013 - Río Cuarto)) - Total computados: 245, Promedio FIT/circ = 9.048780
Mesa 5361 (Circuito 0165 (013 - Río Cuarto)) - Total computados: 249, Promedio FIT/circ = 9.048780
Mesa 5376 (Circuito 0165 (013 - Río Cuarto)) - Total computados: 270, Promedio FIT/circ = 9.048780
Mesa 5384 (Circuito 0165 (013 - Río Cuarto)) - Total computados: 290, Promedio FIT/circ = 9.048780
Mesa 5385 (Circuito 0165 (013 - Río Cuarto)) - Total computados: 280, Promedio FIT/circ = 9.048780
Mesa 5386 (Circuito 0165 (013 - Río Cuarto)) - Total computados: 259, Promedio FIT/circ = 9.048780
Mesa 5396 (Circuito 0166 (013 - Río Cuarto)) - Total computados: 262, Promedio FIT/circ = 6.222222
Mesa 5399 (Circuito 0166 (013 - Río Cuarto)) - Total computados: 259, Promedio FIT/circ = 6.222222
Mesa 5401 (Circuito 0166 (013 - Río Cuarto)) - Total computados: 247, Promedio FIT/circ = 6.222222
Mesa 5411 (Circuito 0167 (013 - Río Cuarto)) - Total computados: 218, Promedio FIT/circ = 2.000000
Mesa 5459 (Circuito 0179 (013 - Río Cuarto)) - Total computados: 265, Promedio FIT/circ = 6.937500
Mesa 5464 (Circuito 0179 (013 - Río Cuarto)) - Total computados: 250, Promedio FIT/circ = 6.937500
Mesa 5477 (Circuito 0182 (013 - Río Cuarto)) - Total computados: 244, Promedio FIT/circ = 2.333333
Mesa 5480 (Circuito 0183 (013 - Río Cuarto)) - Total computados: 281, Promedio FIT/circ = 4.038462
Mesa 5494 (Circuito 0183 (013 - Río Cuarto)) - Total computados: 266, Promedio FIT/circ = 4.038462
Mesa 5497 (Circuito 0183 (013 - Río Cuarto)) - Total computados: 274, Promedio FIT/circ = 4.038462
Mesa 5498 (Circuito 0183 (013 - Río Cuarto)) - Total computados: 271, Promedio FIT/circ = 4.038462
Mesa 5500 (Circuito 0183 (013 - Río Cuarto)) - Total computados: 268, Promedio FIT/circ = 4.038462
Mesa 5501 (Circuito 0183 (013 - Río Cuarto)) - Total computados: 260, Promedio FIT/circ = 4.038462
Mesa 5513 (Circuito 0184 (013 - Río Cuarto)) - Total computados: 246, Promedio FIT/circ = 4.434783
Mesa 5519 (Circuito 0184 (013 - Río Cuarto)) - Total computados: 259, Promedio FIT/circ = 4.434783
Mesa 5524 (Circuito 0184 (013 - Río Cuarto)) - Total computados: 248, Promedio FIT/circ = 4.434783
Mesa 5531 (Circuito 0186 (013 - Río Cuarto)) - Total computados: 262, Promedio FIT/circ = 7.323944
Mesa 5540 (Circuito 0186 (013 - Río Cuarto)) - Total computados: 258, Promedio FIT/circ = 7.323944
Mesa 5548 (Circuito 0186 (013 - Río Cuarto)) - Total computados: 262, Promedio FIT/circ = 7.323944
Mesa 5553 (Circuito 0186 (013 - Río Cuarto)) - Total computados: 259, Promedio FIT/circ = 7.323944
Mesa 5558 (Circuito 0186 (013 - Río Cuarto)) - Total computados: 246, Promedio FIT/circ = 7.323944
Mesa 5560 (Circuito 0186 (013 - Río Cuarto)) - Total computados: 257, Promedio FIT/circ = 7.323944
Mesa 5573 (Circuito 0186 (013 - Río Cuarto)) - Total computados: 266, Promedio FIT/circ = 7.323944
Mesa 5592 (Circuito 0186 (013 - Río Cuarto)) - Total computados: 250, Promedio FIT/circ = 7.323944
Mesa 5604 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 253, Promedio FIT/circ = 8.450450
Mesa 5607 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 250, Promedio FIT/circ = 8.450450
Mesa 5613 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 245, Promedio FIT/circ = 8.450450
Mesa 5617 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 254, Promedio FIT/circ = 8.450450
Mesa 5621 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 253, Promedio FIT/circ = 8.450450
Mesa 5626 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 257, Promedio FIT/circ = 8.450450
Mesa 5658 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 244, Promedio FIT/circ = 8.450450
Mesa 5662 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 271, Promedio FIT/circ = 8.450450
Mesa 5680 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 234, Promedio FIT/circ = 8.450450
Mesa 5705 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 253, Promedio FIT/circ = 8.450450
Mesa 5722 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 250, Promedio FIT/circ = 8.450450
Mesa 5747 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 261, Promedio FIT/circ = 8.450450
Mesa 5810 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 266, Promedio FIT/circ = 8.450450
Mesa 5817 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 255, Promedio FIT/circ = 8.450450
Mesa 5819 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 244, Promedio FIT/circ = 8.450450
Mesa 5821 (Circuito 0188 (013 - Río Cuarto)) - Total computados: 248, Promedio FIT/circ = 8.450450
Mesa 5824 (Circuito 0189 (013 - Río Cuarto)) - Total computados: 263, Promedio FIT/circ = 4.428571
Mesa 5832 (Circuito 0189 (013 - Río Cuarto)) - Total computados: 260, Promedio FIT/circ = 4.428571
Mesa 5838 (Circuito 0189 (013 - Río Cuarto)) - Total computados: 272, Promedio FIT/circ = 4.428571
Mesa 5839 (Circuito 0189 (013 - Río Cuarto)) - Total computados: 263, Promedio FIT/circ = 4.428571
Mesa 5848 (Circuito 0191 (013 - Río Cuarto)) - Total computados: 271, Promedio FIT/circ = 3.666667
Mesa 5850 (Circuito 0191 (013 - Río Cuarto)) - Total computados: 269, Promedio FIT/circ = 3.666667
Mesa 5866 (Circuito 0198 (014 - Río Primero)) - Total computados: 210, Promedio FIT/circ = 5.000000
Mesa 5901 (Circuito 0211 (014 - Río Primero)) - Total computados: 285, Promedio FIT/circ = 16.521739
Mesa 5925 (Circuito 0213 (014 - Río Primero)) - Total computados: 260, Promedio FIT/circ = 2.142857
Mesa 5926 (Circuito 0213 (014 - Río Primero)) - Total computados: 243, Promedio FIT/circ = 2.142857
Mesa 5930 (Circuito 0213 (014 - Río Primero)) - Total computados: 247, Promedio FIT/circ = 2.142857
Mesa 5936 (Circuito 0214 (014 - Río Primero)) - Total computados: 283, Promedio FIT/circ = 9.200000
Mesa 5947 (Circuito 0218 (014 - Río Primero)) - Total computados: 278, Promedio FIT/circ = 6.157895
Mesa 5952 (Circuito 0218 (014 - Río Primero)) - Total computados: 266, Promedio FIT/circ = 6.157895
Mesa 5955 (Circuito 0218 (014 - Río Primero)) - Total computados: 266, Promedio FIT/circ = 6.157895
Mesa 5956 (Circuito 0218 (014 - Río Primero)) - Total computados: 267, Promedio FIT/circ = 6.157895
Mesa 5958 (Circuito 0218 (014 - Río Primero)) - Total computados: 273, Promedio FIT/circ = 6.157895
Mesa 5962 (Circuito 0220 (014 - Río Primero)) - Total computados: 281, Promedio FIT/circ = 3.750000
Mesa 5967 (Circuito 0220 (014 - Río Primero)) - Total computados: 289, Promedio FIT/circ = 3.750000
Mesa 5968 (Circuito 0220 (014 - Río Primero)) - Total computados: 278, Promedio FIT/circ = 3.750000
Mesa 5983 (Circuito 0222 (014 - Río Primero)) - Total computados: 261, Promedio FIT/circ = 3.000000
Mesa 5995 (Circuito 0226A (015 - Río Seco)) - Total computados: 114, Promedio FIT/circ = 2.000000
Mesa 6009 (Circuito 0228 (015 - Río Seco)) - Total computados: 215, Promedio FIT/circ = 2.500000
Mesa 6011 (Circuito 0228 (015 - Río Seco)) - Total computados: 229, Promedio FIT/circ = 2.500000
Mesa 6012 (Circuito 0229 (015 - Río Seco)) - Total computados: 267, Promedio FIT/circ = 6.153846
Mesa 6031 (Circuito 0230 (016 - Río Segundo)) - Total computados: 267, Promedio FIT/circ = 4.666667
Mesa 6040 (Circuito 0232 (016 - Río Segundo)) - Total computados: 271, Promedio FIT/circ = 3.200000
Mesa 6054 (Circuito 0235 (016 - Río Segundo)) - Total computados: 293, Promedio FIT/circ = 8.950000
Mesa 6073 (Circuito 0236 (016 - Río Segundo)) - Total computados: 244, Promedio FIT/circ = 3.200000
Mesa 6086 (Circuito 0237 (016 - Río Segundo)) - Total computados: 258, Promedio FIT/circ = 5.187500
Mesa 6100 (Circuito 0239 (016 - Río Segundo)) - Total computados: 273, Promedio FIT/circ = 11.000000
Mesa 6142 (Circuito 0240 (016 - Río Segundo)) - Total computados: 283, Promedio FIT/circ = 16.515152
Mesa 6162 (Circuito 0240 (016 - Río Segundo)) - Total computados: 287, Promedio FIT/circ = 16.515152
Mesa 6170 (Circuito 0241 (016 - Río Segundo)) - Total computados: 267, Promedio FIT/circ = 5.687500
Mesa 6176 (Circuito 0241 (016 - Río Segundo)) - Total computados: 263, Promedio FIT/circ = 5.687500
Mesa 6177 (Circuito 0241 (016 - Río Segundo)) - Total computados: 270, Promedio FIT/circ = 5.687500
Mesa 6182 (Circuito 0241 (016 - Río Segundo)) - Total computados: 270, Promedio FIT/circ = 5.687500
Mesa 6218 (Circuito 0243 (016 - Río Segundo)) - Total computados: 274, Promedio FIT/circ = 14.285714
Mesa 6238 (Circuito 0244 (016 - Río Segundo)) - Total computados: 276, Promedio FIT/circ = 4.428571
Mesa 6267 (Circuito 0245 (016 - Río Segundo)) - Total computados: 278, Promedio FIT/circ = 7.944444
Mesa 6276 (Circuito 0245 (016 - Río Segundo)) - Total computados: 272, Promedio FIT/circ = 7.944444
Mesa 6281 (Circuito 0248 (017 - Presidente Roque Sáenz Peña)) - Total computados: 280, Promedio FIT/circ = 7.411765
Mesa 6283 (Circuito 0248 (017 - Presidente Roque Sáenz Peña)) - Total computados: 257, Promedio FIT/circ = 7.411765
Mesa 6292 (Circuito 0248 (017 - Presidente Roque Sáenz Peña)) - Total computados: 258, Promedio FIT/circ = 7.411765
Mesa 6333 (Circuito 0249 (017 - Presidente Roque Sáenz Peña)) - Total computados: 240, Promedio FIT/circ = 2.500000
Mesa 6341 (Circuito 0252 (017 - Presidente Roque Sáenz Peña)) - Total computados: 254, Promedio FIT/circ = 3.933333
Mesa 6360 (Circuito 0257 (017 - Presidente Roque Sáenz Peña)) - Total computados: 262, Promedio FIT/circ = 3.888889
Mesa 6383 (Circuito 0261 (018 - San Alberto)) - Total computados: 267, Promedio FIT/circ = 11.333333
Mesa 6394 (Circuito 0262 (018 - San Alberto)) - Total computados: 259, Promedio FIT/circ = 16.173913
Mesa 6420 (Circuito 0263 (018 - San Alberto)) - Total computados: 231, Promedio FIT/circ = 13.571429
Mesa 6441 (Circuito 0265 (018 - San Alberto)) - Total computados: 280, Promedio FIT/circ = 4.916667
Mesa 6448 (Circuito 0265A (018 - San Alberto)) - Total computados: 271, Promedio FIT/circ = 3.384615
Mesa 6458 (Circuito 0265A (018 - San Alberto)) - Total computados: 268, Promedio FIT/circ = 3.384615
Mesa 6463 (Circuito 0266 (018 - San Alberto)) - Total computados: 253, Promedio FIT/circ = 4.000000
Mesa 6464 (Circuito 0266 (018 - San Alberto)) - Total computados: 253, Promedio FIT/circ = 4.000000
Mesa 6478 (Circuito 0268 (019 - San Javier)) - Total computados: 265, Promedio FIT/circ = 9.333333
Mesa 6481 (Circuito 0268 (019 - San Javier)) - Total computados: 256, Promedio FIT/circ = 9.333333
Mesa 6499 (Circuito 0268 (019 - San Javier)) - Total computados: 263, Promedio FIT/circ = 9.333333
Mesa 6513 (Circuito 0268 (019 - San Javier)) - Total computados: 257, Promedio FIT/circ = 9.333333
Mesa 6521 (Circuito 0268 (019 - San Javier)) - Total computados: 291, Promedio FIT/circ = 9.333333
Mesa 6523 (Circuito 0268 (019 - San Javier)) - Total computados: 267, Promedio FIT/circ = 9.333333
Mesa 6542 (Circuito 0268 (019 - San Javier)) - Total computados: 263, Promedio FIT/circ = 9.333333
Mesa 6560 (Circuito 0270 (019 - San Javier)) - Total computados: 264, Promedio FIT/circ = 21.818182
Mesa 6561 (Circuito 0270 (019 - San Javier)) - Total computados: 263, Promedio FIT/circ = 21.818182
Mesa 6579 (Circuito 0274A (019 - San Javier)) - Total computados: 143, Promedio FIT/circ = 2.500000
Mesa 6583 (Circuito 0275 (019 - San Javier)) - Total computados: 271, Promedio FIT/circ = 4.500000
Mesa 6586 (Circuito 0275 (019 - San Javier)) - Total computados: 267, Promedio FIT/circ = 4.500000
Mesa 6587 (Circuito 0275A (019 - San Javier)) - Total computados: 271, Promedio FIT/circ = 3.400000
Mesa 6594 (Circuito 0276 (019 - San Javier)) - Total computados: 204, Promedio FIT/circ = 6.666667
Mesa 6596 (Circuito 0277 (020 - San Justo)) - Total computados: 248, Promedio FIT/circ = 6.555556
Mesa 6642 (Circuito 0279 (020 - San Justo)) - Total computados: 275, Promedio FIT/circ = 7.909091
Mesa 6645 (Circuito 0279 (020 - San Justo)) - Total computados: 258, Promedio FIT/circ = 7.909091
Mesa 6651 (Circuito 0279 (020 - San Justo)) - Total computados: 294, Promedio FIT/circ = 7.909091
Mesa 6665 (Circuito 0279A (020 - San Justo)) - Total computados: 145, Promedio FIT/circ = 3.000000
Mesa 6668 (Circuito 0280 (020 - San Justo)) - Total computados: 257, Promedio FIT/circ = 5.176471
Mesa 6678 (Circuito 0280 (020 - San Justo)) - Total computados: 258, Promedio FIT/circ = 5.176471
Mesa 6697 (Circuito 0282 (020 - San Justo)) - Total computados: 265, Promedio FIT/circ = 3.750000
Mesa 6703 (Circuito 0282 (020 - San Justo)) - Total computados: 265, Promedio FIT/circ = 3.750000
Mesa 6707 (Circuito 0282 (020 - San Justo)) - Total computados: 273, Promedio FIT/circ = 3.750000
Mesa 6716 (Circuito 0285 (020 - San Justo)) - Total computados: 274, Promedio FIT/circ = 6.687500
Mesa 6733 (Circuito 0288 (020 - San Justo)) - Total computados: 258, Promedio FIT/circ = 2.500000
Mesa 6734 (Circuito 0288 (020 - San Justo)) - Total computados: 261, Promedio FIT/circ = 2.500000
Mesa 6736 (Circuito 0288 (020 - San Justo)) - Total computados: 260, Promedio FIT/circ = 2.500000
Mesa 6750 (Circuito 0291 (020 - San Justo)) - Total computados: 268, Promedio FIT/circ = 5.055556
Mesa 6754 (Circuito 0291 (020 - San Justo)) - Total computados: 240, Promedio FIT/circ = 5.055556
Mesa 6755 (Circuito 0291 (020 - San Justo)) - Total computados: 254, Promedio FIT/circ = 5.055556
Mesa 6775 (Circuito 0293 (020 - San Justo)) - Total computados: 268, Promedio FIT/circ = 5.800000
Mesa 6786 (Circuito 0295 (020 - San Justo)) - Total computados: 249, Promedio FIT/circ = 2.600000
Mesa 6795 (Circuito 0296 (020 - San Justo)) - Total computados: 239, Promedio FIT/circ = 4.571429
Mesa 6797 (Circuito 0297 (020 - San Justo)) - Total computados: 228, Promedio FIT/circ = 4.000000
Mesa 6799 (Circuito 0297 (020 - San Justo)) - Total computados: 228, Promedio FIT/circ = 4.000000
Mesa 6809 (Circuito 0298 (020 - San Justo)) - Total computados: 276, Promedio FIT/circ = 10.341463
Mesa 6822 (Circuito 0298 (020 - San Justo)) - Total computados: 242, Promedio FIT/circ = 10.341463
Mesa 6831 (Circuito 0298 (020 - San Justo)) - Total computados: 268, Promedio FIT/circ = 10.341463
Mesa 6834 (Circuito 0298 (020 - San Justo)) - Total computados: 251, Promedio FIT/circ = 10.341463
Mesa 6842 (Circuito 0299 (020 - San Justo)) - Total computados: 141, Promedio FIT/circ = 2.000000
Mesa 6860 (Circuito 0304 (020 - San Justo)) - Total computados: 268, Promedio FIT/circ = 6.659091
Mesa 6870 (Circuito 0304 (020 - San Justo)) - Total computados: 260, Promedio FIT/circ = 6.659091
Mesa 6884 (Circuito 0304 (020 - San Justo)) - Total computados: 260, Promedio FIT/circ = 6.659091
Mesa 6900 (Circuito 0304 (020 - San Justo)) - Total computados: 275, Promedio FIT/circ = 6.659091
Mesa 6902 (Circuito 0304 (020 - San Justo)) - Total computados: 252, Promedio FIT/circ = 6.659091
Mesa 6916 (Circuito 0305 (020 - San Justo)) - Total computados: 281, Promedio FIT/circ = 3.285714
Mesa 6928 (Circuito 0308 (020 - San Justo)) - Total computados: 242, Promedio FIT/circ = 4.777778
Mesa 6933 (Circuito 0309 (020 - San Justo)) - Total computados: 234, Promedio FIT/circ = 3.200000
Mesa 7036 (Circuito 0310A (020 - San Justo)) - Total computados: 250, Promedio FIT/circ = 11.355263
Mesa 7064 (Circuito 0310A (020 - San Justo)) - Total computados: 260, Promedio FIT/circ = 11.355263
Mesa 7106 (Circuito 0315 (020 - San Justo)) - Total computados: 270, Promedio FIT/circ = 6.000000
Mesa 7111 (Circuito 0316 (021 - Santa María)) - Total computados: 291, Promedio FIT/circ = 21.208696
Mesa 7265 (Circuito 0323 (021 - Santa María)) - Total computados: 272, Promedio FIT/circ = 9.562500
Mesa 7283 (Circuito 0325 (021 - Santa María)) - Total computados: 281, Promedio FIT/circ = 6.500000
Mesa 7357 (Circuito 0336 (023 - Tercero Arriba)) - Total computados: 272, Promedio FIT/circ = 12.413793
Mesa 7385 (Circuito 0337 (023 - Tercero Arriba)) - Total computados: 285, Promedio FIT/circ = 5.142857
Mesa 7391 (Circuito 0337A (023 - Tercero Arriba)) - Total computados: 243, Promedio FIT/circ = 3.000000
Mesa 7397 (Circuito 0338 (023 - Tercero Arriba)) - Total computados: 268, Promedio FIT/circ = 7.200000
Mesa 7399 (Circuito 0339 (023 - Tercero Arriba)) - Total computados: 294, Promedio FIT/circ = 3.500000
Mesa 7430 (Circuito 0341 (023 - Tercero Arriba)) - Total computados: 268, Promedio FIT/circ = 6.076923
Mesa 7441 (Circuito 0341 (023 - Tercero Arriba)) - Total computados: 266, Promedio FIT/circ = 6.076923
Mesa 7455 (Circuito 0343 (023 - Tercero Arriba)) - Total computados: 242, Promedio FIT/circ = 4.000000
Mesa 7615 (Circuito 0349 (023 - Tercero Arriba)) - Total computados: 254, Promedio FIT/circ = 8.357143
Mesa 7629 (Circuito 0349A (023 - Tercero Arriba)) - Total computados: 164, Promedio FIT/circ = 3.000000

Comments

Un procesador de reStructuredText    2013-09-04 20:38:44+00:00

Siempre me gustó escribir. Pero, desde que recuerdo, casi siempre lo hice en un teclado de computadora. Salvo garabatos cuando tengo que pensar algo difícil o cuando me aburro en una reunión/clase, casi no escribo en papel.

En la compu escribo mucho y, sin embargo, tampoco uso procesadores de texto, ni siquiera los open source: aunque "lo que se ve" es "lo que se obtiene", (me)sucede demasiado seguido que lo que veo no es lo que quiero.

Por ese motivo (y porque casi siempre sigo los consejos de Roberto Alsina) escribo texto plano, usando el formato reStructuredText. Y así escribo todo: este blog, las charlas, mi tesis de grado, la documentación de mis proyectos , notas rápidas en una wiki, cartas de amor, etc.

reST es un lenguaje de marcado sencillo y potente, que a diferencia de LaTex fue pensado para que el contenido sea legible en formato fuente, es decir, en texto plano. Escribiendo con un simple editor de texto nos concentramos en lo importante (el contenido) y no en luchar contra el formato de la tabla, la sangría o el tipo de letra de un encabezado. Además, es más útil cuando se usa con un sistema de control de versiones, porque se pueden visualizar los cambios claramente.

Si bien su sintaxis es algo más verborrágica [1] que la de Markdown (el markup liviano más difundido en la web), reST es muchísimo más potente y orientado a tener múltiples formatos de salida (html, ebooks, pdf, etc.). De hecho se han escrito libros y toda la documentación oficial de Python de esta manera.

Pero tampoco hace falta ser un asceta: si un software nos puede ayudar a escribir y a formatear lo escrito mejor y más fácilmente, ¿por qué no usarlo?

Eso hace rst-completions el plugin para SublimeText del que soy el principal desarrollador [2]. Acá una demo de los que se puede hacer.

Por ahora tiene:

  • Atajos de directivas y formatos: links, admoniciones, código, etc.
  • Encabezados: autocompletado, navegación, cambio de nivel, folding
  • Tablas: autoformato, ajuste con ancho fijo o variable, fusión de celdas lindantes
  • Notas al pie: inserción automática al final del documento, salto entre referencia y nota,
  • Listas: detección automática del patrón, autonumeración.
  • Output: generación de html, pdf, etc. (usando pandoc, rst2pdf o rst2html)

Lo hice para SublimeText porque es el editor que uso y, sobre todo, porque su API de plugins está basada en Python [2]. Pero tengo la idea de separarlo como una biblioteca agnóstica, permitiendo hacer plugins como wrappers delgados para cualquier editor.

¿Qué opinás? ¿Te sumás a colaborar?

Note

¿Por qué está en el github de otro tipo? Simplemente porque él lo empezó. Luego me dió permisos de escritura y yo me cebé un poco.

[1]En las funcionalidades básicas son muy parecidos
[2](1, 2) Aunque su documentación apesta

Comments

Fortran + Windows = pesadilla^2    2013-08-24 11:11:45+00:00

Hace bastante que no escribo en este blog y no es porque tengo otro, sino, principalmente, porque estoy con muchísimo trabajo.

Hace casi un mes dejé [1] de trabajar en Machinalis, una de las empresas más pythónicamente grosas del mundo mundial [2], en la que inevitablemente aprendí muchísimo (y eso que me esforcé ;-)), hice amigos y laburé en proyectos de una escala y complejidad a la que nunca podría haber aspirado como un "freelance che pibe programador".

Ahora laburo fulltime (o sea: el triple) en Phasety, el proyecto que estamos creando junto a Martín Cismondi, director de mi proyecto integrador de grado hace algunos años ("ingeniero en computación", dice el pelpa) y hoy socio. Cismondi es doctor en ingeniería química y uno de los especialistas más reputados a nivel mundial en el área "equilibro de fases", que es, básicamente, modelar el comportamiento termodinámico de un fluido mediante algoritmos numéricos.

Un poco por cierta "inercia cultural" del mundo científico (en particular en las área de química computacional) y otro poco porque sigue siendo increíblemente eficiente para rutinas de cálculo, Fortran es el lenguaje predominante en el que los tipos como Cismondi programan. A lo que si le sumás Windows, las bibliotecas privativas y un flujo de trabajo atado al IDE que aprendieron a "clickear" (en general, Visual Studio), es todo un problema.

Así que parte de mi laburo es sumergirme en este escabrozo mundo y meter ingeniería de software allí donde nunca la hubo.

Por suerte existe Python, pisando cada vez más fuerte en el mundo de la ciencia y la ingeniería (http://scipycon.com.ar/, como ejemplo). Pero, mientras seguimos minimizando la deuda técnica fomentando esta tecnología, hay que hacerlas convivir.

f2py, gfortran y lapack en Windows

Estas son notas de lo que he ido logrando hasta el momento en el intento de armar un entorno de desarrollo y empaquetamiento (en lo posible, libre) de software multiplataforma basado en Python y Fortran.

Como se sabe, el "San Valentín" de esta pareja es f2py, una herramienta que genera los wrappers necesarios para convertir subrutinas (o funciones) de Fortran en módulos binarios (bibliotecas) importables desde Python.

No abordo acá los detalles de cómo usar f2py (aunque este es un buen ejemplo), sino cómo conseguir que funcione para un ejemplo no trivial en windows, compilando con gfortran y linkeando con la biblioteca Lapack.

  1. Instalar Anaconda, de Continuum Analytics.

    Anaconda es una distribución de Python y una amplia colección de paquetes y bibliotecas para computación científica, que se pueden instalar con el gestor conda (análogo a apt-get + pip + virtualenv) que viene incluído.

    Este framework gratuito simplifica muchísimo la instalación de un entorno de computación científica en Windows.

    La versión Miniconda instala sólo Python y conda. Luego podemos instalar paquetes desde la consola (cmd.exe). Por ejemplo:

    $ conda install ipython numpy mingw32
    
  2. Configurar gfortran

    A través de conda puede instalarse MinGW, el conjunto herramientas GNU para tener un entorno de compilación basado en GCC en Windows. Esto incluye, entre otros, gfortran.

    Anaconda wrappea gfortran.exe con el archivo batch c:/Anaconda/Scripts/gfortran.bat. Modificarlo para que linkee estáticamente con libgcc y libgfortran. Quedaría así:

    @echo off
    %~f0\..\..\MinGW\bin\gfortran.exe -static-libgcc -static-libgfortran %*
    

Tip

podés bajar todos los archivos mencionados desde el paso 3 al 5 (para 32bits) desde este zip

  1. Instalar lapack y blas

    Aún cuando la única virtud de Fortran es ser eficiente para operaciones basadas en arrays, no trae una biblioteca estándar incorporada de "alto nivel".

    Para no tener que reinventar ("copypastear") subrutinas todo el tiempo, se linkea con bibliotecas de terceros que, en general, utilizan una nomenclatura común para las signaturas. [3]

    Lapack es la más completa y mantenida biblioteca libre para álgebra lineal, incluyendo rutinas de resolución de sistemas de ecuaciones lineales, factorización de matrices, etc. Se basa a su vez en la biblioteca BLAS que implementa las rutinas de más bajo nivel como rotación y producto de matrices.

    Todo código numérico no trivial utiliza alguna subrutina de Lapack/BLAS.

    Compilarlas en Windows es un lio, pero por suerte ya lo hicieron otros.

    Hay que bajar libblas.dll y liblapack.dll (las que correspondan para tu arquitectura) y copiarlas en c:\Anaconda\MinGW\i686-w64-mingw32\lib y c:/windows/system32

    Tambien bajar libblas.lib y liblapack.lib y ponerlas en c:\Anaconda\libs

  2. dlls en c:/windows/system32

    Además de las bajadas, para que el programa se pueda ejecutar hace falta que Lapack encuentre las librerias de las que depende (ya que no está compilado de manera estática)

    Hace falta bajar gcc-core-4.4.0-mingw32-dll.tar.gz, descomprimirlo y copiar libgcc_s_dw2-1.dll a c:/windows/system32.

    También habrá que copiar allí algunas dll que ya vienen en la instación de MinGW (buscarlas en c:\Anaconda\MinGW\i686-w64-mingw32\lib):

    libgcc_s_sjlj-1.dll
    libgfortran-3.dll
    libquadmath-0.dll
    
  3. Bajar libmsvcr90.a

    Desde acá y ponerlo en la carpeta c:/Anaconda/libs/

  4. Listo! Si todo salió bien, ya podés compilar en windows modulos python implementados en fortran

Como ejemplo, podés probar con esta subrutina que hace lo mismo que numpy.linalg.solve (resolver un sistema lineal Ax=b), basada en la rutina SGESV de lapack (para simple precisión).

subroutine solve(A, b, x, n)
    implicit none

    ! solving the matrix equation A*x=b using LAPACK
    ! declarations, notice single precision
    real, dimension(n,n), intent(in) :: A
    real, dimension(n), intent(in) :: b
    real, dimension(n), intent(out) :: x

    integer :: i, j, pivot(n), ok

    integer, intent(in) :: n

    ! find the solution using the LAPACK routine SGESV
    call SGESV(n, 1, A, n, pivot, b, n, ok)

    ! copy the vector x
    x = b

end subroutine

Lo guardamos en un archivo llamado linalg.f90 y compilamos:

$ f2py --compiler=mingw32 -llapack -m linalg -c linalg.f90

Se creeará un archivo linalg.pyd que es importable desde Python.

In [1]: from linalg import solve

In [2]: solve?
Type:       fortran
String Form:<fortran object>
Docstring:
solve - Function signature:
  x = solve(a,b,[n])
Required arguments:
  a : input rank-2 array('f') with bound
  b : input rank-1 array('f') with bound
Optional arguments:
  n := shape(a,0) input int
Return objects:
  x : rank-1 array('f') with bounds (n)

In [3]: import numpy

In [4]: A = numpy.array([[1, 2.5], [-3, 4]])

In [5]: b = numpy.array([1, 2.5])

In [6]: solve(A, b)

Out[6]: array([-0.19565217,  0.47826087], dtype=float32)

Que es lo mismo que

In [7]: numpy.linalg.solve(A, b)
Out[7]: array([-0.19565217,  0.47826087])

¡Salud!

Note

por supuesto, queda resolver lo del IDE (especialmente el debugger) sin el cual los cientificosprogramadores Fortran se quedan rengos. Cualquier recomendación es bienvenida.

[1]o "terminé de dejar", porque estaba part-time desde septiembre de 2012.
[2]lo de "empresa pythónica", lo digo en serio
[3]La MLK de Intel es una biblioteca matemática optimizada para procesadores de esta firma. En la parte de algebra lineal utiliza la misma API de Lapack, pero no es libre y sale 500 verdes :).

Comments

Apuntes pa'mejorar el chamuio (escrito)    2013-06-24 12:35:13+00:00

Finde largo y el emprendorismo autóctono meta que meta, dale que dale, laburando en sus proyectos.

A veces programando, otras barriendo la oficina o atornillando estanterías y otras veces, quizás las más, corrigiendo documentos (plan, cof, de negocios, cof, cof) que tienen que quedar facherazos. No sólo por lo que dicen sino por cómo lo dicen.

Es que así como el "chamuyo de ascensor" es algo que se aprende y se entrena, no menor debería ser la importancia de la redacción de nuestros proyectos escritos. Que son, despues de todo, el gran sostén de esta etapa de nuestros emprendimientos.

Pero suele pasar: somos muy buenos (ponele) programando y barriendo, te sabemos calcular una derivada parcial y hasta somos capaces de ser simpáticos y entradores en el ascensor... pero damos ocote escribiendo.

¡No os preocupeis! Hete aquí unos apuntes fácilmente masticables que harán las delicias de tod@ emprendedor/a que le pifia al acento y escribe oraciones de 50 palabras porque cree que así se florea ("— Gaitán? — ¡Presente señorita!").

La susodicha que me los facilitó, compañera de andanzas y almohada de este esquenún, es profesora de traducción periodística en la Universidad Nacional de Córdoba.

Disfruten aprender a poner las comas.

Comments

Hola Preciosa    2013-06-02 20:54:17+00:00

Mi propuesta sobre una aplicación para teléfonos inteligentes que facilite el relevamiento de precios y ayude a encontrar mejores ofertas generó muchísimo debate en PyAr, en la lista de Ingeniería y en Twitter .

Hubo quienes desmerecieron la idea por "politizada", otros que me invitaron a no generar polémica y llevar la discusión a otro lado [1], un par que no les gustó porque le quita "la responsabilidad al gobierno que es el que genera inflación por su irresponsable emisión monetaria" y otros que directamente se ofendieron feo y dijeron que era fascista.

Pero a la gran mayoría le pareció buena, de difundió bastante en facebook, muchos aportaron nuevas ideas para mejorarla y otros muchos se entusiasmaron en colaborar.

Así que de eso se trata este post: encauzar todas esas ideas y ganas que se generaron para diseñar e implementar el software. Se me ocurrió el nombre Preciosa [2], por "Precios de Argentina" [3], pero se puede cambiar más adelante.

¿Cómo empezamos(,) Preciosa?

Hice una lista de correos (preciosa-devs@googlegroups.com.

Están invitados programadores/as, diseñadore/as, periodistas y todos y todas quienes tengan algo para aportar al proyecto. Es el lugar para discutir ideas de diseño, difusión e implementación, avisar de apps parecidas o útiles, etc.

También dí de alta el proyecto en Github: https://github.com/mgaitan/preciosa

Además del repositorio usaremos la Wiki para resumir los acuerdos de diseño y la issue tracker para listar las tareas y funcionalidades a implementar, pedir nuevas, reportar errores, etc.

Este será el proyecto padre y allí pondremos el código de la aplicación "servidor", es decir la que proveerá la API para que las aplicaciones móviles bajen y suban información de precios. Luego de que decidamos más o menos cómo será esta API podemos crear un proyecto nuevo para cada una de las aplicaciones clientes de las distintas plataformas mobile (la prioridad debería ser Android y Blackberry, ¿no?).

Porque es lo que yo sé programar, porque es fácil aprenderlo y porque satisface (con creces) tecnológicamente el problema, la aplicación servidor la haremos en Django.

¿Manos a la obra?

[1]¿esta actitud no es una "burbuja de filtros", voluntaria? ¿No es "reducir nuestra visión del mundo" como dice Eli Pariser?
[2]Esteban Morales propuso "DeCompras", que es más explícito e internacionalizable
[3]o porque me inspiró su belleza

Comments

Mirar (tu smartphone) para cuidar    2013-06-01 09:50:39+00:00

Leo sobre el programa Mirar para cuidar, la campaña de acción voluntaria para controlar el cumplimiento del acuerdo de precios con los supermercados.

Me parece muy bueno todo este paquete de medidas y negociaciones que, en vez de negar la situación, la asume y la enfrenta, con medidas simples e ingeniosas. La inflación, creo yo, es el flagelo más sentido por todo el pueblo trabajador.

¿Pero será efectivo tener a tantos compañeros mirando y anotando el precio del paquete de harina en una hoja de papel?

Supongamos que está más caro de lo acordado ¿Qué va a pasar? Imagino que los voluntarios tendrán que informarlo a las autoridades de la Secretaria de Comercio y desde allí deberán enviar a alguien con poder de policia que constate, para luego multar y exigir la adecuación del precio. ¿Cuantos días lleva eso? ¿Cuanta gente compró la harina más cara mientras tanto? ¿Cuánto esfuerzo de trabajo significó, no sólo de los voluntarios, sino de los funcionarios? ¿Cuántas posibilidades reales hay de implementar esto en todos los rincones del país?

Y otra cosa ¿Qué va a pasar con todos los productos que están fuera del acuerdo y no hay referencia para comparar?

Entonces me acordé de una idea que tuve en la era los celulares sin chip, pero que ahora es muy factible.

¿Lo hacemos?

No tengo idea de cómo se hacen aplicaciones para smartphones [1], pero sí puedo ayudar en la API/base datos/web.

Así que busco voluntarios para el programa "Programar para cuidar" ;-).

PD: ¿No se copará la secretaria de defensa del consumidor en poner unos pesos para hacer esto?
[1]en verdad, ideas tengo, lo que no tengo son certezas

Comments

pip, apurate por favor    2013-04-10 01:17:55+00:00

pip es una herramienta esencial para el trabajo diario de un programador python: es el manejador de paquetes de nuestro entorno de trabajo (¡virtual por favor!), con el que instalamos, actualizamos o eliminamos las dependencias de nuestro proyecto (y, recursivamente, las dependencias que estas pudieran tener).

Conceptualmente es similar a los manejadores de paquetes de sistema como apt-get, diferenciándose en que, por defecto, consulta cada vez a una base de datos online si el paquete solicitado existe y de dónde puede bajar la última versión o la específica que se haya pedido.

Responder "qué, cuál y de dónde" es una tarea lenta porque dicha base de datos no es más que una página html por cada paquete con links que funcionan como un índice (como este que pip debe parsear comparar y elegir la mejor opción para bajar (a veces incluso debe parsear la homepage del proyecto en busca de links de descarga, puaj!).

Por eso (y porque muchas veces la infraestructura se satura) el uso estándar de pip es lento. Pero hay algunas maneras de que lo sea menos. Veámoslas.

No bajes dos veces lo mismo

El funcionamiento básico de pip es instalar un paquete con pip install <paquete>: busca, baja e instala el paquete. El flag --download_cache=<path> evita repetir el paso del medio, cosa tediosa cuando tenemos que instalar frecuentemente (por ejemplo en distintos virtualenvs) la misma dependencia o cuando el uso de ancho de banda es limitado.

Por ejemplo instalamos por primera vez lxml y vemos cuanto tarda.

(test)tin@traful:~/lab/test$ time pip install lxml --download-cache=~/.pip_download
Downloading/unpacking lxml
  Downloading lxml-3.1.1.tar.gz (3.3MB): 3.3MB downloaded
  Storing download in cache at /home/tin/.pip_download_cache/https%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fl%2Flxml%2Flxml-3.1.1.tar.gz
  Running setup.py egg_info for package lxml
    Building lxml version 3.1.1.

    [... compilación]


Successfully installed lxml
Cleaning up...

real    2m58.276s
user    0m38.822s
sys 0m0.676s
(test)tin@traful:~/lab/test$

¡3 minutos! Y eso que estoy en una conexión bastante rápida.

Tip

Cualquier flag que pip acepta en su linea de comando se puede configurar como una variable de entorno. Entonces podemos setear flag por defecto en nuestro .bashrc, por ejemplo.. code-block: bash

export PIP_DOWNLOAD_CACHE=~/.pip_download_cache

Pero sigamos: una vez cacheado, las siguientes veces que queramos instalar la misma versión de lxml no bajará el archivo de nuevo

(test2)tin@traful:~/lab/test2$ time pip install lxml --download-cache=~/.pip_download

Downloading/unpacking lxml
  Using download cache from /home/tin/.pip_download_cache/https%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fl%2Flxml%2Flxml-3.1.1.tar.gz
  Running setup.py egg_info for package lxml
    Building lxml version 3.1.1.

    [... compilación]

Successfully installed lxml
Cleaning up...

real    2m30.624s
user    0m38.966s
sys 0m0.504s

Mejoró realmente poco. ¿que clase de caché es esta? Chusmeemos que hay en el directorio.

(test)tin@traful:~/lab/test$ ls ~/.pip_download_cache/ | grep lxml
https%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fl%2Flxml%2Flxml-3.1.1.tar.gz
https%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fl%2Flxml%2Flxml-3.1.1.tar.gz.content-type

¿Caché de urls? -download-cache no evita todo el laburo de averiguar de dónde bajar, sino simplemente no baja si la url resultante ya existe (como nombre de un archivo) en este directorio.

Lo explica simple Carl Meyer:

La función --download-cache no apunta a prevenir la búsqueda en la red del archivo correcto a bajar: todo lo que hace es guardarlo una vez que lo encontró. Si de verdad te interesa instalar tus depedencias desde tu compu (sin salir a la red) usá --download primero y luego --find-links (apuntando al path de descarga) con --no-index.

Una caché sin salir a la red

Sigamosle la corriente al bueno de @carljm:

(test3)tin@traful:~/lab/test3$ time pip install --download=~/.pip_packages lxml
Downloading/unpacking lxml
  Using download cache from /home/mgaitan/.pip_download_cache/https%3A%2F%2Fpypi.python.org%2Fpackages%2Fsource%2Fl%2Flxml%2Flxml-3.1.1.tar.gz
Saved /home/mgaitan/.pip_packages/lxml-3.1.1.tar.gz
    [...]

Successfully downloaded lxml
Cleaning up...

real    2m8.969s
user    0m1.008s
sys 0m0.136s

¡Uff, 2 minutos en copiar un archivo que ya tenía bajado! (evidentemente lo que demora mucho es averiguar la versión del archivo a bajar)

Tip

se puede inspeccionar el berenjenal de redirecciones y parseos que suceden hasta que pip da con el paquete lxml a bajar haciendo el comando más verborrágico con pip install lxml -vvv

En este caso, el caché es directamente el archivo:

(test)mgaitan@traful:~/lab/test$ ls ~/.pip_packages/ | grep lxml
lxml-3.1.1.tar.gz

Por suerte, una vez cacheado el paquete de esta manera no tendremos que consultar el índice online las siguientes veces.

(test3)mgaitan@traful:~/lab/test3$ time pip install --no-index --find-links=~/.pip_packages lxml
Ignoring indexes: https://pypi.python.org/simple/
Downloading/unpacking lxml
  Running setup.py egg_info for package lxml
    Building lxml version 3.1.1.

    [...]


Successfully installed lxml
Cleaning up...

real    0m38.944s
user    0m38.338s
sys 0m0.564s

Ok, ya va mejor.

Haciendo que la cosa vuele: no recompiles la rueda

pip 1.4 (en desarrollo) trae soporte integrado para el nuevo formato de paquetes wheel (superador del viejo egg y basado en los estándares actuales) que es muchísimo más rápido que instalar desde fuentes (sobre todo en casos que se debe compilar, como lxml)

Para usar wheel el paquete a bajar tiene que existir en dicho formato y todavía no abundan en PyPi asi que podemos armarlos localmente con el propio pip

pip wheel --wheel-dir=./pip_packages lxml

Eso es similar a usar --download pero además compila y empaqueta como un archivo .whl

Para que pip acepte instalar estos archivos hay que usar --use-wheel y para que los busque localmente haremos:

pip install --use-wheel --no-index --find-links=~/.pip_packages lxml

¡Lo que tardó menos de 2 decimas de segundo! Un speedup del 90mil veces respecto al primer y canónico pip install lxml

(test)tin@morochita:~/lab/test$ time pip install --use-wheel --no-index --find-links=. lxml
Ignoring indexes: https://pypi.python.org/simple/
Downloading/unpacking lxml
Installing collected packages: lxml
Successfully installed lxml
Cleaning up...

real    0m0.180s
user    0m0.152s
sys 0m0.024s

Asi que ya sabés: todos esos paquetes que instalás en cada entorno (quizas ipython, django, whatever) me los haces rodar para que pip vuele.

Comments

Desambiguando un hash en Git    2013-03-14 18:02:01+00:00

Soy vago. Por eso me llevo bien con Git, que permite reconocer un changeset con un pedacito de su hash sha1 :

Git is smart enough to figure out what commit you meant to type if you provide the first few characters, as long as your partial SHA-1 is at least four characters long and unambiguous — that is, only one object in the current repository begins with that partial SHA-1.

Pero a veces soy demasiado vago, y Git deja de llevarse bien conmigo: Estaba en una rama con varios commits y quería volver al pasado, deshaciendo commits, pero llevando uno. Fácil: reset + cherry-pick. Pero copié muy pocos caracteres del hash que quería cherrypickear:

(cpi)tin@morochita:~/cpi$ git reset --hard 772dad9a775
HEAD is now at 772dad9 making aqueous migration script more robust
(cpi)tin@morochita:~/cpi$ git cherry-pick c4396
error: short SHA1 c4396 is ambiguous.
error: short SHA1 c4396 is ambiguous
fatal: ambiguous argument 'c4396': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
(cpi)mgaitan@gutemberg:~/laburo/cpi/code/cpi_mrp$

Recórcholis.

Un poquito de bash y git plumbing al rescate:

(cpi)tin@morochita:~/cpi$ for hash in c4396{{0..9},{a..f}}; do git cat-file -e $hash && git rev-parse $hash; done 2>/dev/nul
c4396586273b2a9ea5eae46c4ab2d98e236e7792
c4396a2d64214a28791e4ba5a4a4017bdd9d14d6

Ahora tenemos el conjunto de hash con igual prefijo, y podemos revisarlos para ver cual era el que queriamos:

(cpi)tin@morochita:~/cpi$ git show c4396586273b2a9ea5eae46c4ab2d98e236e7792

Y ese era el que quería.

Comments

Cómo funciona Cuevana    2013-03-07 10:17:55+00:00

Estimando cuanto trabajo significa actualizar Cuevana sources y/o Cuevanalib investigué cómo funciona la nueva versión de cuevana.

Estas notas son el resultado de lo que fui observando.

Una vez que se elige un contenido, un iframe apunta a una URL con este forma:

http://www.cuevana.tv/player/sources?id=4773&tipo=pelicula

En código javascript inline define las fuentes disponibles para ese contenido

var plugin_ver = 5, plugin_rev = 0;
var actual_ver, actual_rev;

var sources = {
    "2": {
        "360": ["uptobox", "uploadcore", "vidbull", "bayfiles", "filebox", "cramit", "zalaa"],
        "720": ["uploadcore", "vidbull", "bayfiles", "cramit"]
    }
}, sel_source = 0;

La primer clave (en este caso 2, inglés) es el idioma del audio, y la segunda la calidad del video

Luego define diferentes constates:

var label = {
    '360': 'SD (360p)',
    '480': 'SD (480p)',
    '720': 'HD (720p)',
    '1080': 'HD (1080p)'
};
var labeli = {
    "1": "Espa\u00f1ol",
    "2": "Ingl\u00e9s",
    "3": "Portugu\u00e9s",
    "4": "Alem\u00e1n",
    "5": "Franc\u00e9s",
    "6": "Coreano",
    "7": "Italiano",
    "8": "Tailand\u00e9s",
    "9": "Ruso",
    "10": "Mongol",
    "11": "Polaco",
    "12": "Esloveno",
    "13": "Sueco",
    "14": "Griego",
    "15": "Canton\u00e9s",
    "16": "Japon\u00e9s",
    "17": "Dan\u00e9s",
    "18": "Neerland\u00e9s",
    "19": "Hebreo",
    "20": "Serbio",
    "21": "\u00c1rabe",
    "22": "Hindi",
    "23": "Noruego",
    "24": "Turco",
    "26": "Mandar\u00edn",
    "27": "Nepal\u00e9s",
    "28": "Rumano",
    "29": "Iran\u00ed",
    "30": "Est\u00f3n",
    "31": "Bosnio",
    "32": "Checo",
    "33": "Croata",
    "34": "Fin\u00e9s",
    "35": "H\u00fanagro",
    "36": "Persa",
    "38": "Indonesio"
};
var labelh = {
    'filebox': 'Filebox',
    'uptobox': 'Uptobox (NUEVO)',
    'uploadcore': 'Uploadcore (NUEVO)',
    'vidbull': 'Vidbull (NUEVO)',
    'zalaa': 'Zalaa',
    'cramit': 'Cramit',
    '180upload': '180upload',
    'bayfiles': 'Bayfiles'
};

El usuario selecciona mediante un menú donde se define audio, quality y source que se configuran como atributos data del link:

.. code-block::
<a class="sel" data-type="quality" data-id="360">SD (360p)</a>

Donde data-type es el tipo de variable, data-id el valor para esa opción y class="sel" determina si esa es la opción seleccionada.

Cuando se hace click en el botón Play se invoca la URL:

http://www.cuevana.tv/player/source_get?def=**quality**&audio=**audio**&host=**source**&id=4773&tipo=pelicula

Por ejemplo:

http://www.cuevana.tv/player/source_get?def=360&audio=2&host=bayfiles&id=4773&tipo=pelicula

Esta página presenta el captcha, que una vez superado redirige a la URL:

http://go.cuevana.tv/?*URL_DESTINO*

Por ejemplo:

http://go.cuevana.tv/?http%3A%2F%2Fbayfiles.com%2Ffile%2FvIsf%2FkTvfNj%2Fthe.apparition.2012.bdrip.xvid-sparks.mp4%3Fcid%3D4773%26ctipo%3Dpelicula%26cdef%3D360

Que a su vez redirige a URL_DESTINO que es la URL del servicio donde el video está hosteado con parámetros extra: ?cid=4773&ctipo=pelicula&cdef=360. En el ejemplo anterior:

http://bayfiles.com/file/vIsf/kTvfNj/the.apparition.2012.bdrip.xvid-sparks.mp4**?cid=4773&ctipo=pelicula&cdef=360**

Aquí entra en juego el "plugin de cuevana". Se puede bajar por ejemplo la versión para Firefox desde http://www.cuevana.tv/player/plugins/cstream-5.0.xpi Descomprimirlo con unzip y abrir el archivo content/cuevanastream.js

La presencia de los parámetros cid``y ``ctipo y una url de alguno de los servicios que usa Cuevana hace que se inyecte un javascript en la URL del servicio.

var loc = (window.location.href.match(/cid=/i) && window.location.href.match(/ctipo=/i));
if (window.location.href.match(/^http:\/\/(www\.)?bayfiles\.com/i) && loc) {
    addScript('bayfiles');
}

    // más servicios

  else if (window.location.href.match(/^http:\/\/(www\.|beta\.)?cuevana\.(com|co|tv|me)/i)) {
    var n = document.createElement('div');
    n.id = 'plugin_ok';
    n.setAttribute('data-version', '5');
    n.setAttribute('data-revision', '0');
    document.body.appendChild(n);
}

function addScript(id) {
    var s = document.createElement('script');
    s.setAttribute('type', 'text/javascript');
    s.setAttribute('src', 'http://sc.cuevana.tv/player/scripts/5/' + id + '.js');
    document.getElementsByTagName('head')[0].appendChild(s);
}

En ese caso se inyecta el javascript:

http://sc.cuevana.tv/player/scripts/5/bayfiles.js

Que es el encargado de parsear html para obtener la url real de descarga, resolver/exponer el captcha si existiera, esperar el tiempo de guarda del servicio y redirigir al reproductor de cuevana:

window.location.href = 'http://www.cuevana.tv/#!/' + tipo + '/' + id + '/play/url:' + encodeURIComponent(a) + '/def:' + vars['cdef'];

Donde tipo es series o peliculas, id es el identificador del contenido, def es 360 o 720 y a es la url final del archivo mp4

http://www.cuevana.tv/#!/' + tipo + '/' + id + '/play/url:' + encodeURIComponent(a) + '/def:' + vars['cdef'];

El reproductor carga el subtitulo desde la siguientes URL.

Para series:

http://sc.cuevana.tv/files/s/sub/ID**_**LANG.srt

Donde ID es el identificador del contenido y LANG es el código del idioma en 2 letras mayúsculas (ES, EN, etc.)

Para contenidos HD se agrega el sufijo _720:

http://sc.cuevana.tv/files/s/sub/**ID**_**LANG**_720.srt

Para peliculas es análogo pero un nivel más arriba:

http://sc.cuevana.tv/files/sub/**ID**_**LANG**.srt

Y eso es todo lo que necesitamos saber.

Comments


Contents © 2013 Martín Gaitán