Borrachos, bochinche, futbol
De los tiempos en que escuchaba radio y veía televisión colombiana, mi impresión de Felix de Bedout es el de un periodista serio y crítico. Por los reenvíos que me llegan en twitter de quienes siguen su cuenta, mantengo esa impresión. Con motivo de la ley seca en Bogotá durante los partidos de la selección Colombia en el mudial de Brasil 2014 trinó:
<p>Países donde se decreta ley seca para ver en paz un partido de la selección durante el Mundial. pic.twitter.com/ppK6IBWoGA</p>— Felix de Bedout (@fdbedout) junio 19, 2014</blockquote>
La "fuente" que usó Felix fue una imagen genérica de Internet que funciona como meme cuando se quiere indicar que Colombia
es el único país del mundo donde ocurre algo. Es esta:
Como entre meme y meme, y broma y broma la verdad se asoma, me parece que es importante no considerar ese mapa de prohibiciones en el vacío, sino asociarlo con otro que nos permite triangular la correlación que podríamos expresar como fútbol + violencia = ley seca. Como para formalizarlo un poquito más, en lugar de un meme, voy a usar un trino como mi fuente para los paises que reportan más de 100 heridos después de que juega su selección:
<p>Llevamos en Bogotá 110 heridos por el partido de la selección Colombia y 32 heridos por la de Millonarios.</p>— Gustavo Petro (@petrogustavo) junio 19, 2014</blockquote>
y usando Pharo más Roassal y ese trino (tweet) del Alcalde Petro tendremos nuestro nuevo mapa:
A la izquierda están las instrucciones para crear el mapa (código fuente) y a la derecha la gráfica resultante (click para agrandar). En la parte inferior hay más detalles para las personas interesadas.
Esto nos ayuda a poner el mapa de la prohibición trinado por Felix en perspectiva e indirectamente pone a conversar este trino con el del Alcalde Petro sobre las cifras de violencia en correlación con el fútbol (no he visto conversaciones entre ellos a través de este medio).
Ojalá este deporte ocupase un lugar más sosegado junto a las demás actividades recreativas. No me imagino gente con temor de salir a la calle porque quizás se encuentre con un violento hooligan debido Nairo Quintana tuvo un excelente desempeño ciclístico, o por que a bailarines de Colombia hicieron un inmejorable trabajo en el Mundial de Salsa.
Afortunadamente estamos teniendo celebraciones más tranquilas y entendiendo de los logros del proceso, al margen de los resultados, como el del pasado domingo 6 de Julio de 2014, cuando cerca de $125.000 personas se reunieron para darle la bienvenida a jugadores y cuerpo técnico de la selección Colombia de fútbol. Yo, que soy indiferente a éste deporte, sí disfruté de que la celebración haya sido en calma y multitudinaria, a pesar de que no comparto ese discurso totalitario del fútbol que supuestamente pone a vibrar a 47 millones de colombianos, como si fuera incomptable la nacionalidad con que ese deporte esté por fuera de nuestras preocupaciones y reconocer que entonces quien celebraba era una parte numerosa de Colombia, pero no total del país. Ojalá la "pasión del fútbol" no cometa el error tan desafortunadamente generalizado en los medios de comunicación de invisibilizar a las minorías y lo diferente, por ejemplo a quienes no disfrutan de ese deporte y sirva como escenario de reflexión y diálogo sobre otras cosas, como bien lo decía Mauricio Albarracín en su artículo de la silla vacía, que recomiendo sobre manera, al respecto de las relaciones raciales y de género. El título de este texto lo he mantenido para mostrar que podemos ir más allá de las relaciones evidentes y de las reaciones habituales con respecto al fútbol, al menos eso me ha hecho pensar este mundial.
En este texto, quiere aportar en ese sentido, por ejemplo nos permitió juntar conversaciones como las de Felix de Bedout, Gustavo Petro, Mauricio Albarracín y la mía, hablar de convivencia y la posibilidad de reconocer la diversidad y a las minorías, eso gracias a Internet y al Fútbol.
Más detalles sobre el algoritmo de visualización¶
El argumento está esencialmente hecho: pongamos al fútbol en perspectiva, miremos qué diálogos posibilita y qué nos enseña a través de ellos. Para mantener la argumentación fluida sólo hice unos pequeños enlaces, pero en esta parte ampliaremos más los aspectos técnicos.
Acá está el código fuente del mapa generado acá por fuera de la imagen, por si se quiere copiar (contenido entre las comillas triples):
codigo_smalltalk = u"""
"@md:
# Ley Seca en Bogotá
Un pequeño ejercicio de 'periodismo de datos' amateur ;-)
"
"Definamos nuestras variables"
| mapa datos |
"Los datos será una tabla que guarda tripletas de la forma:
' Pais | Cantidad de heridos | Fuente' "
datos := RTTabTable new.
datos input:
'Colombia 110 https://twitter.com/petrogustavo/status/479464213640130560'
usingDelimiters: String tab.
datos convertColumn: 2 to: [ :t | Integer readFrom: t ].
"Ahora dibujemos nuestros datos en un mapa mundi"
mapa := RTMetricMap new.
mapa allCountriesColor: Color white.
mapa countries: datos values named: #first metric: #second.
mapa open setLabel: '
Paises con más de 100 heridos reportados cuando "celebran"
que juega su selección'.
"""
Debido a que el IPython Notebook, la herramienta de escritura para este texto no soporta (aún) el resaltado sintáctico para Smalltalk (el entorno en el que está basado Pharo), usaremos pygments para colorearlo manera más adecuada.
from pygments import highlight
from pygments.lexers import SmalltalkLexer
from pygments.formatters import HtmlFormatter
from IPython.core.display import HTML
html_snippet = highlight(codigo_smalltalk,SmalltalkLexer(),HtmlFormatter(full=True, style='trac'))
HTML(html_snippet)
Tan pronto se obtuvo ese código coloreado el esquema de colores no era de mi agrado. Para saber qué estilos estaban disponibles ejecuté el siguiente código y probé los resultados hasta que encontré alguno que me gustara.
from pygments.styles import get_all_styles
estilos = list(get_all_styles())
print estilos
¿Puede el mismo mapa ser dibujado en IPython? Según este enlace es posible, sin embargo esto requiere la instalación de cartopy, la cual puede ser dispendiosa y no alcancé a resolverla en el tiempo que tuve y nos muestra la ventaja de tener un entorno totalmente integrado, como Pharo/Roassal. En caso de curiosidad, este es el código base en Python (y el error que arroja). La extensión es casi la misma, aunque el código en Smalltalk no sólo es más corto sino mucho más legible a mi juicio.
import matplotlib.pyplot as plt
import cartopy
import cartopy.io.shapereader as shpreader
import cartopy.crs as ccrs
ax = plt.axes(projection=ccrs.PlateCarree())
#ax.add_feature(cartopy.feature.LAND)
ax.add_feature(cartopy.feature.OCEAN)
#ax.add_feature(cartopy.feature.COASTLINE)
#ax.add_feature(cartopy.feature.BORDERS, linestyle='-', alpha=.5)
#ax.add_feature(cartopy.feature.LAKES, alpha=0.95)
#ax.add_feature(cartopy.feature.RIVERS)
ax.set_extent([-150, 60, -25, 60])
shpfilename = shpreader.natural_earth(resolution='110m',
category='cultural',
name='admin_0_countries')
reader = shpreader.Reader(shpfilename)
countries = reader.records()
for country in countries:
if country.attributes['adm0_a3'] == 'USA':
ax.add_geometries(country.geometry, ccrs.PlateCarree(),
facecolor=(0, 0, 1),
label=country.attributes['adm0_a3'])
else:
ax.add_geometries(country.geometry, ccrs.PlateCarree(),
facecolor=(0, 1, 0),
label=country.attributes['adm0_a3'])
plt.show()
Perspectivas y enlaces extra¶
Acá hay algunos enlaces que no alcancé a mencionar antes y que ayudaron a escribir la publicación:
En cuando a lo venidero, me gustaría trabajar más con Smalltalk/Pharo como entorno de visualización. He estado pensando en algo que por lo pronto tiene el nombre tentativo de [Tweetom] por (tweet + atom) o quizás trinomo en su acepción en español (tríno + átomo) que intentaría visualizar una "unidad de conversación" en esta y otras redes de microblogging desde una metáfora similar a las de los átomos. Ya hablaré de ello.
Comments
Comments powered by Disqus