Preview of Nikola Webapp

I have already made a few attempts at turning Nikola, a static site and blog generator into a webapp, with varied success. One of the bigger problems was, I think, one of scale. I was thinking of something to replace http://wordpress.com ... something where everyone could host his own blog in very low cost infrastructure.

But then again... why not try to replace all those self-hosted wordpress instances out there? So, here's the webapp plugin!

It's very early stages, no support for pages, only supports markdown, no configuration changes, and you can't even really delete things. But hey, you can post, which is 95% of the usage this will get.

UPDATE: if you are running Nikola from github master, you can install this using the plugins repo: http://plugins.getnikola.com/#webapp and it supports a lot more than on the video above.

8 de cada 10 gatos prefieren whiskas (o: como mentir con estadísticas)

DISCLAIMER: Uso Whiskas porque tenía un slogan estadístico. No tengo nada contra Whiskas. ¡A mis gatos les gusta Whiskas! No me haga juicio señor Whiskas :-)

Ese es (o era) el slogan de Whiskas. Que debe ser rico si sos un gato (admito que las latas huelen apetitosas) pero... en serio, 8 de cada 10? Bueno, resulta que después aclararon "8 de cada 10 dueños de gatos que expresaron una preferencia dijeron que sus gatos prefieren whiskas".

No es tan marketinero.

Bueno, en este post vamos a ver otras maneras de hacer que 8 de cada 10 gatos prefieran algo. Hay una sorprendente cantidad de formas de hacerlo! Voy a mostrar ejemplos extremos, para que se entienda la técnica. De aquí en más, ustedes son gatos y yo trabajo en el departamente de marketing estadístico de Whiskas.

Pregunta Tendenciosa

Nunca confíes en una encuesta que no te dice exactamente qué preguntaron. Por ejemplo, qué responderías si te pregunto "¿Sr. gato, prefiere whiskas o la leucemia felina?". Desde ya que una pregunta tan tendenciosa, que compara cosas totalmente distintas, tiene una sola respuesta lógica, lo que garantiza el resultado.

También es un ejemplo de la falacia de la falsa dicotomía, y está buenísimo, porque significa que uno puede tener un laburo rentado en base a aprovechar esa clase de lógica clásica que pensaron que no servía para nada.

Ejemplos alternativos:

¿Whiskas o comida hecha con cabezas de pescado y aditivos?
Whiskas tal vez también está hecho de cabezas de pescado y aditivos.
¿Whiskas o Kitekat?

Puse Kitekat como podría haber puesto cualquier marca barata. La gente (y los gatos, cuando en realidad le preguntás a los dueños) tiende a elegir la marca cara, especialmente cuando es una elección que no le cuesta dinero. Suele acompañarse de una nota al pie en letra diminuta que dice cosas como "prefiere whiskas comparado con marcas representativas de la competencia en el mercado"

Como "representativas" y "el mercado" son cosas completamente indefinidas, es muy probable que quiera decir "marcas con las cuales nos da un lindo número a favor".

El diseño de las preguntas es una parte muy importante del hacer encuestas. Cosas como cual nombre se pone primero varía el resultado (pista: whiskas va siempre primero ;-)

Experimentos Informales

En vez de preguntarle a los dueños, preguntémosle a los gatos ¡CIENCIA! Ponemos un bol de whiskas y otro de otra marca, soltamos un gato y vemos que come. ¿Suena bien?

Bueno, sí, suena bien siempre que controles las variables que no son "marca de comida".

Por ejemplo (y créanme, faltan cientos):

¿Los gatos tienen tendencia a preferir comida a la que están acostumbrados?

¿De ser así, los gatos del experimento comían whiskas?

¿Se usa el mismo sabor de comida en ambos bols?

¿Se usa la misma cantidad?

¿Se pone whiskas aleatoriamente a la derecha y a la izquierda?

¿El gato se ubica a la misma distancia de ambos bols?

¿El gato entró al área de prueba sin pasar cerca de uno de los bols?

¿La raza del gato afecta la preferencia?

¿Son gatos con una dieta representativa de la población de gatos?

¿Son gatos de razas representativas de la población?

¿Los dueños de los gatos los llevan, o son gatos de refugio? ¿Si los llevan los dueños, cómo se los recluta?

¿Cual es la edad de los gatos? ¿Es representativa?

Etc, etc, etc.

¿Y por supuesto... hay un interés en el que lleva a cabo el experimento que haga que prefiera un resultado positivo para Whiskas?

El diseño experimental es una ciencia. Y es una ciencia muy difícil. Sospecho que el departamento de marketing de Whiskas no cumple los standards.

Agrupar Resultados

Esta es muy usada en encuestas políticas, generalmente las de "imagen positiva".

Supongamos que les hago una encuesta multiple choice:

¿Qué le parece la calidad de Whiskas?

  1. Excelente
  2. Asombrosa
  3. Increíble
  4. Muy buena
  5. Buena
  6. Horrible

A menos que te parezca realmente horrible (y como lo vas a saber, no sos gato), vas a contestar algo positivo, y Whiskas puede decir que tiene una imagen positiva del 90%. Veamos una alternativa, con unos resultados que acabo de inventar:

  1. Muy buena (10%)
  2. Buena (20%)
  3. Normal (50%)
  4. Mala (10%)
  5. Muy mala (10%)

¿Parece más balanceada, no? Sí, lo es, pero después se toman las 3 categorías de arriba como "buenas" y sólo las dos de abajo como malas, y el resultado puede ser algo como "80% de los encuestados opina que Whiskas es de calidad aceptable o mejor que la media". O, si te paga Kitekat: "70% de los encuestados opina que Whiskas es de una calidad mediocre o inferior que la media". Y las dos cosas son ciertas.

Descarte de Negativos

Supongamos que diseñamos un experimento perfecto. Supongamos por otro lado que los gatos, la verdad, comen cualquier cosa. Que es cierto... en mi casa los gatos comen cucarachas aún con un bol de whiskas disponible en la cocina. Eso indicaría que van a elegir más o menos al azar. Entonces a veces van a elegir más Whiskas, y a veces van a elegir la alternativa.

A veces mucho, a veces poco.

Entonces, alcanza con repetir el experimento lo suficiente... y no decirle a nadie cuando no nos conviene. Entonces, si de 23 veces que hice el experimento 1 vez 8 gatos eligieron Whiskas... sale slogan. Claro, no voy a decir "8 de cada diez gatos prefieren whiskas 1 de cada 23 veces de acuerdo a mis pruebas" porque no entra en los carteles.

Esto parecerá muy tonto, pero es o que hacen, por ejemplo, las farmacéuticas. Nunca publican los resultados de los estudios negativos. Sí, la excusa es "de que sirve un estudio que dice que la aspirina no cura la dermatitis". Bueno, para empezar evita que la otra farmacéutica investigue lo mismo. Y por otro lado, si el día de mañana alguien empieza a vender aspirina para la dermatitis porque tiene un estudio positivo... bueno, se puede hacer un metaestudio y ver si es cierto.

Y porque saber más es casi siempre bueno. Y ahora sabés que las encuestas... bueno, las encuestas no siempre son lo que te dicen.

Porcentajes Mentirosos

Supongamos que se hace, cada X años una evaluación del estado de la educación en muchos países. Supongamos que se llama PISA, y los resultados son públicos, y se hizo en 2000, 2003, 2006, 2009 y 2012.

Supongamos además que los resultados en matemática fueron estos:

  • 2012: 388
  • 2009: 398
  • 2006: 381

O sea una variación de -10 puntos en esa escala entre 2009 y 2012. Obviamente eso lleva a titulares catástrofe acerca de la decadencia de la educación argentina, especialmente porque otros países de la región tuvieron mejores resultados (que obviamente ignoran el resultado de 2006). Pero ... bueno, si sabés de mi historia con esta clase de cosas sabés que hay un pero.

Resulta que eso que ves no es realmente el informe "oficial". Es el press release, que parece más la tabla de un torneo de fútbol que un reporte estadístico o sociológico. El reporte oficial es ... más complicado. Por ejemplo, contiene cosas como que los alumnos de Argentina tienen una mucha mayor percepción de que sacar buenas notas en ciencias es importante que los de Alemania (90% a 77%) pero no nos metamos a ver las mil tablas de cada reporte. Sigamos con los puntitos.

Por ejemplo, acá está lo que dice el reporte oficial de Argentina en 2009 en matemática:

  • Secundaria regular: 421
  • Resto muestra: 337
  • Total muestra: 388

¿Qué es eso? "Secundaria regular" quiere decir "alumos de secundariade 15 años". El "resto muestra" es gente que no es alumna del grado escolar esperable, porque abandonó los estudios temporalmente, o repitió, o está atrasado por algún otro motivo. El "total" es un promedio de toda la muestra.

Entonces resulta que ese número mágico subió del 2006 al 2009 17 puntos y bajó luego 10 puntos del 2009 al 2012. Les dije que el reporte original es mucho más complicado. Una de esas complicaciones es que trata de indicar si las diferencias son estadísticamente significativas o no. Es complicado de explicar, pero siempre cuando medís una cosa complicada como esta, hay variaciones en cuanto te da. Siempre. Entonces, hay que tratar de distinguir entre esa variación natural y azarosa y una tendencia real. Hay tests matemáticos para tener una idea.

En este caso, dice que los valores son estadísticamente significativos al 5% para diferencias de mas o menos 9 puntos. La oscilacion argentina entre 2009 y 2012 está al borde de no ser significativa. Es explicable en un 80% por ruido en la medición.

Por otro lado... ¿Saben quienes no están medidos? Los que no van al colegio.

Entonces, hay una manera muy sencilla de subir los puntajes. Hacé que vaya menos gente al secundario. Hacé que en vez de repetir abandonen.

En Argentina, resulta que desde 2006 a 2012 el porcentaje de adolescentes de 15 que va al colegio no es constante. No tengo el dato exacto porque no se categoriza por edad, pero en 1971, en la época que los viejos como yo extrañan como una edad de oro (porque somos viejos y boludos) el porcentaje de población escolarizada era 63.4% y en 2012 era del 90.9%

La cantidad de alumnos secundarios en Argentina (y recuerden que algunos de los del PISA son de primaria, repitentes, etc) subió entre 2007 y 2012 de 11,262,362 a 12,108,740 (7.5%). En particular, en el secundario, subió de 3,471,738 a 3,813,545 (9,85%).

Tendría que correlacionarlo con las tablas de nacimientos y no pienso calentarme en hacerlo, pero que aumente más el secundario que el primario en un país con población en crecimiento y escolarización primaria casi plena indica que la escolarización secundaria subió mucho. No un poco. mucho.

Y sí, uno de los efectos de agregar gente antes excluída al universo que mide PISA es que los números bajan. Y eso no está mal.

Fixing HDMI overscan on Ubuntu again

A while ago, I wrote about using a cheap 1080p TV as external monitor on Ubuntu. That happens to cause some weird problems because the TV is trying to be smart about clipping things, etc (just read it if you want.)

In it I outlined a bunch of approaches that succeed in fixing overscan with different levels of success. Here's some extra detail for one of those, setting up a custom mode which doesn't trigger overscan:

First, go to http://www.arachnoid.com/modelines/ and create a modeline for some mode that is close to 1080p but not quite there. How close to 1080p you can get before your TV decides "this is 1080p I am doing overscan" will vary.

For example, I can do 1800x1012 with this modeline and can probably do a bit more:

Modeline "1800x1012_60.00" 151.42 1800 1912 2104 2408 1012 1013 1016 1048 -HSync +Vsync

Then, to experiment, we can add this mode to X using xrandr. Here HDMI1 is the output I have connected to my TV:

xrandr --newmode "1800x1012_60.00" 151.42 1800 1912 2104 2408 1012 1013 1016 1048 -HSync +Vsync
xrandr --addmode HDMI1 "1800x1012_60.00"
xrandr --output HDMI1 --mode "1800x1012_60.00"

I don't think it works as well as the force-dvi hack from the last time, but hey, I do get HDMI audio, and I have not seen this described elsewhere using xrandr.

Yo Vivo En Un Pueblito Sin Nombre

Vivo en un pueblo chiquito, en provincia, como dicen por acá. [1]

Tiene dos plazas, una acá a media cuadra, con el secundario enfrente, juegos para los pibes, mucho pajarito. [2] Como es un pueblo chico, puedo hacer todo más o menos caminando, el colegio del pibe queda a tres cuadras, mi oficina está en casa, el centro si tengo que ir al banco queda a cinco minutos de caminata.

Tengo mi bar y café a dos cuadras donde los mozos saben mi nombre y lo que tomo, el cementerio está un poco más lejos, la panadería en el medio, el supermercado en la avenida, la avenida acá nomás.

La municipalidad está cruzando la avenida, el hospital de niños y el de adultos cerquita. Si uno tuviera esos vicios, hay dos iglesias a mano, una más grande, la otra más chica.

Lo que no tengo en mi pueblo lo tengo cerca, hay un cine pero es medio malo, así que me puedo ir al pueblo de al lado, que tiene uno mejor.

Es linda la vida de pueblo chico, tiene una paz, una velocidad distinta. Nada de tener que manejar una hora a la mañana para ir a trabajar, de irse de un lado a otro a las corridas, uno hace las cosas tranquilo, al tranquito.

Yo he vivido en ciudades grandes como Santa Fe, hasta viví un tiempo en la capital. Eso no es para mí. Esta vida de pueblo es lo mío.

Se los recomiendo.

PD: este es mi pueblito, si hacen dos zooms para adentro. Literalmente no salgo de acá a menos que me vaya de viaje (aunque sea al pueblito de al lado, adonde está Unicenter)


Ver mapa más grande
[1] Para los no-bonaerenses, eso quiere decir "en la provincia de Buenos Aires"
[2] Con Tato el otro día vimos un pájaro carpintero picoteando un árbol!

El Partido De La Red

Una red es un montón de agujeros atados con sogas.

—El Chavo del 8 (Especial vacaciones en Acapulco)

Debo confesar que me enteré de la existencia del Partido de la Red medio tarde, hace poquito. Y ... la verdad, me da un escozor.

Resumiendo lo que entiendo de la propuesta:

  • Meten legisladores
  • Esos legisladores no piensan
  • Presentan las propuestas a votar en una página web
  • La gente vota si o no
  • El legislador vota en consecuencia

Hay una serie de problemas (me parece) con esta idea.

Para empezar, hace que a quien se elija sea irrelevante. Si no va a pensar, la legislatura puede estar formada por perfectos imbéciles (hey, uno de los candidatos estudia astrología) y da lo mismo. Eso probablemente no es malo en sí mismo, pero asume que el único objetivo de la legislatura es votar. Y no es cierto. La legislatura también escribe las propuestas.

Si todos los legisladores fueran del partido de la red, robotitos sin ideología, quién propondría los proyectos a votar? Supongo, de acuerdo a la idea general, que "la gente". Nuevamente, tal vez eso no sea malo en sí, pero en la realidad significa que los proyectos van a venir de los que tienen tiempo y plata para hacerlos. Corporaciones, lobbistas, ONGs grandes, y van a ser siempre en base a intereses particulares.

Otro objetivo de los cuerpos legislativos es el debate, la discusión y la formación de consensos. Con el modelo del Partido de la Red, las cosas se aprueban o no se aprueban y punto. Nunca se mejoran los proyectos. Nunca se balancean intereses sectoriales. Es blanco o negro (bah, rojo o verde en la página). Si te parece que el discurso político argentino está lleno de bajezas, esperá a que se decida el voto en el equivalente de la sección comentarios de Youtube.

Proponen un mecanismo de delegación del voto. La propuesta es que para un voto en un tema en que no te sentís informado, podés delegar tu voto a un experto, cuyo voto adquiere más valor.

¡Eso no es una idea nueva! Por ejemplo, en la "década infame", los peones delegaban su voto a los patrones, que votaban por ellos en su carácter de expertos en todo. Claro, en esas épocas poco iluminadas, si bien todo el mundo sabía que pasaba, mantenían la ficción de que era un delito.

Hay que admirar la aplicación de la tecnología a un problema que ha azorado a los políticos por décadas. El viejo dilema de "¿Cómo me aseguro que si te doy unas zapatillas me votás a favor?" queda por fin resuelto, gracias al Partido de la Red. ¡Votemos en un libre mercado! ¿A cuánto cotiza un voto por el shopping en Caballito? ¿Habrá voto oficial y voto blue?

Claro, esto asume que lo que vota la gente en la página del Partido de la Red es lo que votan los legisladores. Que no te lo garantiza nadie. Yo sospecho que no ha habido, en décadas, fraude electoral significativo en Argentina, porque auditar una elección es muy fácil: vas de fiscal o autoridad de mesa, te gastás un domingo, y auditás un cachito. ¿Quién audita el software de la página del Partido de la Red? ¿Quién audita que el código que se audita es el que se usa? ¿Qué pasa si tiene un bug, votan igual? ¿Qué pasa si alguien se afana los hashes de las passwords? ¿Quién me garantiza que mi voto es secreto? Sospecho que las respuestas a esas preguntas varían entre nadie, magoya, y el gran bonete.

Pero sigamos asumiendo que el software funciona bárbaro, nadie miente, votan los robotitos como corresponde, y todo eso.

Si este fuera el modelo correcto, todo sería unánime en la legislatura. Dado que los legisladores no representan ideas ni ideologías ni proyectos, son básicamente intercambiables. No tiene sentido tener partidos políticos, no tiene sentido separarlos en bloques, no tiene sentido en realidad tener sesiones, si no se va a discutir, ni consensuar proyectos, ni decidir votos.

Si este fuera un modelo correcto, todas las leyes pasarían (o no), siempre con el 100% de los votos, todos los legisladores-robot votando lo mismo a los dos minutos de poner el culo en la banca. Este modelo te dice: si sos minoría no importás. No merecés que se te escuche. Si sos minoría no podés aprobar nada, entonces para qué vas a hablar.

En una legislatura de verdad, con ideas e ideologías, tal vez no haya mayorías. Tal vez haya la posibilidad de que varias minorías superen a una primera minoría, o al menos la obstruyan. En el mundo binario del Partido de la Red, una vez que dijo NO el 50.0001% de la gente no hace falta discutir. No hace falta hablar. No hace falta tu opinión, ni la de nadie.

Sospecho que, con las mejores intenciones, la gente del Partido de la Red cree que están haciendo algo novedoso e interesante. Y sí, algunos aspectos son novedosos, como es novedosa la gripe de cada invierno, e interesante, como es interesante un choque de autos. Pero también me parece que es retrógrado, que incita a la corrupción, que es antidemocrático y que muestra un completo desconocimiento de para qué cazzo sirven los cuerpos legislativos.

AGREGADO

Me han indicado que debería leer las bases de acción política del partido de la red y es, de hecho, una lectura interesante. Por ejemplo, dice cosas como ésta:

El planeamiento urbano que propiciamos se orienta hacia las necesidades sociales y sus estilos de vida.

Ok, que pasa entonces si se presenta un proyecto en contra de ese lineamiento, y mediante mecanismos obvios sale votado positivo en el sitio del partido. Bueno, votan a favor. Hay una completa desconexión entre la propuesta ideológica que llevan y lo que van a votar. En palabras de Menem "si decía lo que iba a hacer no me votaban" pero por lo menos ahí uno podía decir "me mintieron". En este caso es simplemente que no importa. NO IMPORTA lo que digan antes de las elecciones porque su propia garantía de votar según lo que les ordenen garantiza que no importe.

Locche: The Untouchable Pastebin

TL;DR:

I did manage to write this thing, sort of, in 2 hours. You can see it in action here: http://tinyurl.com/locche1 and it has some rather unusual features :-)

  • You can hack Locche inside Locche.
  • You can go back to previous versions of the text (or Locche) from any copy of Locche
  • It uses no server whatsoever (other than a CDN to get JS and codemirror)

What's missing?

  • Making it pretty
  • Shorten history URLs so the size doesn't explode so much
  • Fix handling of ' " and probably other characters in the text
  • Document it

But I think it's cool. Below is the liveblog of how it was done. Have fun matching it with the commit history at https://github.com/ralsina/locche


I am going to live-code a pastebin, with a few twists.

It's called Locche, in honour of Nicolino Locche, The Untouchable.

This page will update every 5 minutes until I am done, or 2 hours have elapsed.

Read more…

Really, Really, Magical Forum

It has taken me a long time and several attempts but here it is:

A totally not-hosted-by-me-forum-in-a-url: http://tinyurl.com/reallyreallymagicalforum

If you don't understand how it works, well, I can explain. But trust me, you are not downloading anything from any of my sites to make that forum work, except for a piece of JS used to paginate which it could just as well get from github or whatever.

The actual code is at http://github.com/ralsina/magicforum