Rango Finito

fotoscódigoobservatorioshermanocerdo temas plots

programas

4

Sería chévere armar un sistema de recomendación de cursos para una universidad grandecita con programas flexibles. Cuando estaba en el pregrado tomé como cinco cursos electivos de más por puro desparche (el programa era bastante monolítico) pero siempre penaba al principio del semestre intentando elegir entre la bandeja de decenas de cursos posibles (la estrategia popular era inscribir unos cuatro o cinco de más y descartar la mayoría durante las primeras dos semanas). En universidades donde los requisitos de los programas son pequeños y hay mucha libertad de elección de caminos, como las gringas, ese proceso debe ser todo un martirio por más asesores de pregrado que ofrezcan. Ocasionalmente he intentado ayudar a algunos estudiantes a decidir qué cursos les convienen más, pero siempre es desde la más completa oscuridad. De pronto se podría hacer mejor. La clave, creo, sería que el sistema evadiera de alguna forma inteligente la homogeneidad de elecciones e impulsara la amplitud disciplinaria. No tengo ni idea cómo se podría lograr algo así.

Capicúas

Esta tarde escribí un cuaderno de iPython para jugar con números capicúas. La motivación fue este problema propuesto por Cédric Villani en su sección recién inaugurada de juegos matemáticos de Le Monde. (Loable el esfuerzo de Villani por promover personalmente la matemática entre la gente del común, por cierto. Y adorable su uso (francesísimo) de tablero y tiza para presentar y resolver los problemas. Cada vez me cae mejor.)

Alternativas a Google Reader

Con Sergio estamos probando tiny tiny rss como posible sustituto de Google Reader. La importación de feeds fue trivial. Por lo pronto parece una buena opción. Lo modificamos ligeramente para que haga algunas cosas que nos gustan. No tiene sentido seguir dependiendo de empresas para contar con un lector de noticias. La próxima desactivación de Google Reader es una nueva evidencia de la transición de una internet de creadores/contribuidores descentralizados a una de proveedores/canalizadores centralizados de contenidos.

Matones patentes

La columna de hoy describe (muy) a grandes rasgos el desastre que han desencadenado dentro de la industria tecnológica gringa las patentes de software. El dato sobre el gasto de Google y Apple el año pasado que menciono proviene de un artículo reciente en el New York Times. Esta es la cita completa:

In the smartphone industry alone, according to a Stanford University analysis, as much as $20 billion was spent on patent litigation and patent purchases in the last two years — an amount equal to eight Mars rover missions. Last year, for the first time, spending by Apple and Google on patent lawsuits and unusually big-dollar patent purchases exceeded spending on research and development of new products, according to public filings.

El año pasado un intento de reforma del sistema de patentes se hundió en el congreso. Aquí un buen reportaje de lo que pasó, con intrigas y trucos sucios al por mayor. También el año pasado, This American Life dedicó un programa entero al asunto. Vale muchísimo la pena. Este artículo largo (pdf) de Michele Boldrin y David K. Levine para el Banco de la Reserva Federal de St. Louis presenta a detalle el problema (con análisis económicos y demás juguetes) y al final propone abolir el sistema de patentes del todo, sin compasión. Para terminar la lista de enlaces, un cómic coincidencialmente publicado el jueves en Saturday Morning Breakfast Cereal que ilustra el absurdo a la perfección.

Algo que no dije en la columna (y que tal vez debí) es que el matoneo se ha extendido del software a otras industrias, como la biotecnología. (El caso de las farmacéuticas es otro universo completo, por cierto.) Esto es particularmente relevante en el caso colombiano, ya que el TLC firmado con Estados Unidos contemplaba, hasta donde sé, compromisos para el país con respecto a patentes de este tipo. Cuando entienda bien cuáles fueron estos compromisos (pp. 15-17) tal vez vuelva sobre ello en otra columna.

La empresa de la patente de la agenda para reuniones que menciono en la columna es Microsoft. Pero, siendo justos, si lo que hizo Microsoft en su momento se compara con las gracias actuales de Apple y Google en cuanto a patentes y abusos legales en general, Microsoft es un angelito.

Bogotá en bola

El ejercicio era hacer una versión automatizada y animada de esto usando la mezcla HTML5+JScript (de la que sabía/entendía muy poco). Bogotá en bola representa, usando bolas, algunos datos sobre Bogotá (recopilados mayoritariamente por Miguel con ayuda de sus contactos en el bajo mundo burocrático — estamos en el proceso de aclarar las fuentes) a nivel de localidades. En varios de los gráficos (o en las transiciones entre uno y otro) quedan en evidencia las disparidades y contradicciones de la ciudad. En un área relativamente pequeña caben muchas ciudades con características dispares (casi universos paralelos) y estas disparidades a su vez generan barreras (algunas físicas y otras más sutiles y poderosas) que refuerzan las diferencias.

*

Aporte de homicidios por localidad al total de la ciudad en 2011

Aunque puse una leyenda explicativa en la esquina inferior izquierda de cada gráfico, tal vez valga la pena explicar mejor qué quiere decir cada una. Si dice “Aporte porcentual por localidad al total de la ciudad” entonces la bola sobre cada localidad representa (ejem) el porcentaje que la localidad aporta al conteo total de la ciudad. Si, en cambio, dice “Porcentaje sobre el total en la localidad” entonces cada bola representa el porcentaje de población en la localidad con tal o cual característica sobre el total de la localidad. Así, el grafo de Hogares con teléfono similar al de Población (porque el aporte por localidad al total de la ciudad es muy parecido al aporte de población total) pero en el grafo de Teléfono (relativo) (del segundo tipo) las bolas son todas de tamaño similar, porque el porcentaje de teléfonos por localidad es casi uniforme en toda la ciudad (con internet, por ejemplo, ya no es así).

*

Para representar la ciudad por localidades la describimos con un grafo de contigüidad (entre la localidad A y la localidad B hay un vértice si comparten una frontera) y calculamos la disposición del grafo utilizando la librería arbor.js, que determina la posición de los nodos (asunto en el que francamente no quería pensar) de acuerdo a un modelo físico. Es muy práctica (aunque tal vez un poco pesada). Un primer problema de esta aproximación es que La Candelaria está totalmente rodeada por Santa Fe y por tanto en el grafo se vuelve una cola. Otro problema obvio es el siguiente: dado que la configuración inicial de nodos es semi-aleatoria, existe la posibilidad de que el grafo generado sea una imagen especular del grafo deseado (o que salga enredado). Para compensar el grafo admite la opción de ser reconfigurado moviendo nodos como si fuera de caucho. Esto permite, con un poco de maña, adecuar la ciudad a la imagen preferida por el usuario. (Una posible tarea que surge de acá es cómo generar y describir con algo parecido a arbor.js grafos que sean orientados sobre una superficie bidimensional. No he mirado.)

Tasa de homicidios (i.e. número de homicidios por cada 100 Khab) por localidad en 2011