Facundo Batista: Todos somos Joac

   Publicado:


(Disclaimer: este texto está sobradamente copiado de la declaración de OpenData, porque tenía ganas de escribir algo parecido, y no me salía, y ellos lo expresaron muy bien)

Sobre el allanamiento de domicilio a Joaquín Sorianello ocurrido el viernes a la noche.

A horas de los comicios de primera vuelta para elegir a las autoridades de la Ciudad Autónoma de Buenos Aires, nuestro amigo y colega Joaquín Sorianello denuncia el allanamiento de su domicilio, realizado por la la Policía Metropolitana bajo las órdenes de la jueza Dra. María Luisa Escrich.

El motivo aparente es haber informado sobre una vulnerabilidad grave en los servidores de la empresa Magic Software Argentina (MSA), dueña y operaria del sistema de voto y escrutinio electrónico a ser utilizado en las elecciones porteñas. Esta falla de seguridad permitiría el envío de información apócrifa a los sistemas donde se computa el escrutinio provisorio, vulnerando así la voluntad popular.

Joaquín es un reconocido programador, experto en redes informáticas, muy querido y respetado en distintas comunidades de software libre en las que participa, no sólo por su conocimiento técnico sino también por sus profundos valores y su calidad humana. Su descubrimiento, de una gravedad institucional que no se condice con la pobre difusión pública que tuvo, fue logrado gracias a su loable sentido del deber cívico, y fue informado en primer lugar a la propia MSA para que tome las medidas correctivas. Lejos de obtener premio alguno por colaborar con la transparencia que la ocasión demanda, Joaquín fue víctima de un allanamiento, como si hubiese cometido un acto criminal.

La celeridad y falta de sentido común con la que este allanamiento se realiza resulta al extremo injustificable además, dado que, 6 meses atrás, el Presidente del Tribunal Superior de Justicia de la Ciudad, José Osvaldo Casás, presentó su renuncia al cargo a partir de las falencias ya visibles del sistema de votación.

Es por eso que más allá de alguna que otra acción privada que siempre será insuficiente, me solidarizo con la situación de Joaquín y de otros colegas afectados por este bochornoso accionar de la justicia porteña. Consideramos que el espacio para quienes quieren mejorar las instituciones y la transparencia del pilar fundamental de la democracia, como lo es la voluntad del pueblo a través del sufragio, tiene que existir y ser valorado.

Joaquin Tita: Latex superscript outside math mode

   Publicado:
So...you want to avoid doing:  $9^{th}$ July.

Then, you can use textsuperscript like: 9\textsuperscript{th} July.

Manuel Kaufmann (Humitos): Python For Ladies

   Publicado:

El mes pasado, durante los días 5 y 6 llevamos adelante un curso llamado Python For Ladies en Posadas, Misiones, Argentina. Este curso salió de "una charla casual" con @EllaQuimica y @cynpy cuando estábamos en Villarica, Paraguay.

Había varios desafíos en el medio. Para empezar, nunca había hecho un curso específico para mujeres. Además, sabía que iba a ser complicado organizar el grupo siendo que "no se necesitaba conocimiento alguno" para asistir. Entonces, esto hace que las personas tengan un nivel muy dispar. En muchos casos esto complica la organización, pero por suerte creo que supimos manejarlo y dividimos a los asistentes en dos grupos: uno que se dedicó a investigar algunas librerías como PyQuery, BeautifulSoup, entre otras, para poder resolver un problema puntual que les plantié y otro con el que hicimos una especie de clase con ejercicios.

IMG_20150606_095142.thumbnail.jpg

Empezando el curso

Como siempre, en el curso probé un montón de cosas nuevas que tenía en el tintero o que no sabía cómo encararlas como docente (Jupyter, Spyder, Pysentaishon, además de dinámicas nuevas para mí, etc). Entonces, plantié que el curso no tenga estructura y que vayamos viendo lo que vamos necesitando para resolver lo que tenemos planteado como ejercicio. Y si por el contrario nos descarrilábamos, podíamos volver a seguir el curso tal cual está escrito.

Esto estuvo bueno de a ratos ya que nos permitía investigar y charlar sobre cosas que yo no había contemplado (por ejemplo, la mayoría de las chicas que fueron son genetistas) y lo hacía mucho más dinámico. Pero también, hacía que en muy poco tiempo nos vayamos de tema y tengamos que re-organizar las cosas. Sin embargo, como digo siempre, prefiero que nos descarrilemos hablando de algo que nos interesa a todos a que nos mantengamos estrictos con lo que yo llevé preparado y no sea de su interés ;)

IMG_20150606_154349.thumbnail.jpg

Foto grupal (aunque varias ya se habían ido)

Tuvimos una concurrencia de 15 chicas aproximadamente y para este curso contamos con la ayuda de Catherin Ortiz, nuestra disertante estrella del PyDay Apóstoles, ¿la recuerdan?. Yo le mandé un mail a Catherin y le pedí si podía asistir al curso como Couch y darme una mano junto con Johanna para explicar algunos temas y también para hacer asistencia cuando las chicas se queden trabadas. Catherin, no solo aceptó sino que también preparó alguito de Scrappy y les mostró a las chicas que estaban un poco más avanzadas en el tema todo lo que se puede hacer con Scrappy. ¡Una genia!

Así, trabajamos haciendo ejercicios simples, explicando cómo funciona el intérprete, para qué sirve programar, cómo es el trabajo diario de un programador y un sin fin de temas súper interesantes. A tal punto, que quizás eran más interesantes que lo que aprendieron en sí. Digo, creo que del curso se llevaron un buen punta pié inicial para sumergirse en el mundo de la programación, entendieron para qué sirve y además si puede cubrir (o no) sus necesidades como genetistas.

En lo personal, me fui muy contento con lo que sucedió. Aprendí muchísimo, reporté un bug en Spyder gracias a que algo no funcionó como esperábamos. Me quedé con mucha informacion sobre qué funcionó y qué no volver a hacer o bien cómo mejorar algo que creo yo que no funcionó. Y además, un sin fin de cuestiones de organización dentro del aula de un curso desorganizado.

IMG_20150606_122644.thumbnail.jpg

Las futuras programadoras Python

Siendo que tuvimos la mejores de las ondas del mundo desde la Universidad Gastón Dachary para llevar adelante este curso, tengo que agradecerles públicamente a ellos. Desde el día 0 que fuimos a plantearles la idea de hacer un curso y pedirles un aula, se mantuvieron en contacto directo con nosotros y nos brindaron todo lo que necesitabamos. Sí, nos mimaron.

¡Gracias a todas las chicas que fueron al curso y espero que lo hayan disfrutado tanto como nosotros! También, gracias a Catherin, nuestra disertante estrella, y a Johanna, mi co-equiper infaltable en este alocado proyecto que hemos denominado Argentina en Python.

¡Queremos más mujeres programadoras!

Manuel Kaufmann (Humitos): Guille: artista callejero

   Publicado:

Caminando por las calles de San Salvador de Jujuy, me crucé con un artista callejero que me impactó. Era un tipo de unos 40 años (ponele) que estaba tocando la viola sentado en el banco de una esquina. En "su banco" tenía un equipo de unos 10W por dónde salía el sonido de su guitarra eléctrica, un celular con el que lanzaba una pista de blues y una batería de 12v con la que alimentaba su equipo de audio.

Claramente, estos datos los pude recolectar ya que me impactó y bajé el ritmo de mi caminar para poder escuchar durante un ratito mientras seguía mi camino...

Pasaron unos días, fuimos de un lado a otro hasta que volvimos a pasar por la misma esquina cerca de las 20hs y ahí estaba él. Tocando, sintiendo y disfrutando la gente que lo miraba y lo escuchaba muy atenta. Esta vez, no lo dudé. Me detuve, me quedé escuchando y esperando que termine el tema que estaba tocando. Ahí me acerco y le digo: "Hola, mi nombre es Manuel. Estoy viajando y trato de hacer un registro de lo que voy viendo, de lo que me lla..."

Filmá nomás

-dijo guille y empecé...

Juanjo Conti: Soledad en Santa Fe #VivirEsHoy

   Publicado:

Anoche fuimos a ver a Soledad a ATE Casa España. El recital es la presentación del disco Vivir es hoy. Cuando saqué las entradas, hace más de un mes, mi idea era tenerlo bien escuchado para disfrutar más del show, pero se me pasó, lo escuchamos una tarde mientras Ceci corregía exámenes de matemática pero después me olvidé de seguir machacando. De hecho estaba medio perdido con la fecha, pensaba que era el 28 de julio pero los carteles en la calle me avivaron de que era un mes antes.

Después de misa y con una tormenta que asomaba, manejé hasta el centro. La dejé a Ceci en la puerta (ya llovía) y di un par de vueltas hasta que estacioné a tres cuadras. Miré el reloj: 9:05. Apuré el paso. Pero como no había comido nada paré en un kiosco a comprar un chocolate. Cuando entré, todavía no había empezado, compartimos el chocolate contentos. Luego se apagaron las luces y empezó la música.

Saqué la cámara para tirar algunas fotos pero desde la fila 16 no salían muy bien, así que me puse a filmar unos fragmentos. Luego del primero se me ocurrió una idea. Tengo un amigo, Juan, que es super fanático de Soledad. Cuando le conté que iba a verla me pidió que le guarde el ticket de mi entrada de recuerdo. Entonces ahí, luego de filmar algunos segundos de una canción, se me ocurrió que podía filmar un pedacito de varias y luego compilarlo en un video, subirlo a YouTube y mandarle el link.

¡En un momento se me quedó sin memoria la cámara! No pude grabar una de las canciones con más fuerza. Fue el segundo tema luego del cambio de ropa. ¿Alguen recuerda cuál era? (no era del último CD) Borré algunos videos que ya había bajado a la computadora y me aseguré poder grabar el final (o al menos lo que yo pensaba que era el final).

Por suerte el audio salió muy bien y con una mínima edición quedó algo presentable:

Luego de que guardé la cámara llegó la parte más emocionante. Cuatro personas subieron al escenario y Soledad cantó su Aleluya. El rockero que tenía al lado lloró a moco tendido.

Una nota final. El tecladista de Soledad, Bruno Orgaz, es del mismo pueblo que Juan y yo. Y la rompe:

Tweets:

Juanjo Conti: Libros que leí mientras estudiaba Swift

   Publicado:

Swift Pocket Reference

Swift Development with Cocoa: Developing for the Mac and iOS App Stores

 

Juanjo Conti: Screensaver Ninja

   Publicado:

Este año estuve programando algo totalmente distinto a todos los programas que hice en el pasado: una aplicación de escritorio para Mac OS X. En el camino tuve que aprender un nuevo lenguaje, Swift, y adaptarme al entorno de desarrollo XCode.

La semana pasada se publicó la versión 1.0 de Screensaver Ninja, un protector de pantalla que permite mostrar páginas web e ir rotándolas, customizarlas con JavaScript y CSS y mantener las sesiones que se inicien allí aisladas de la de los otros browsers de la computadora.

Screensaver Ninja

Estoy muy contento desarrollándolo. Tanto el equipo de trabajo como el ambiente es muy bueno.

Algunas fotos de Screensaver Ninja en acción.

Manuel Kaufmann (Humitos): Make your GPX anonymous

   Publicado:

Sometimes I want to make my .gpx files anonymous because it's data that I recover by myself using OSMTracker for Android and I don't want the whole world knows when I was there.

Yeah, maybe I'm a bit crazy. Nice to meet you ;)

Today, I found [1] a real simple solution for this: xmlstarlet

Once you have it installed, you can excecute:

xmlstarlet ed \
   -P \
   -N x=http://www.topografix.com/GPX/1/1 \
   -u '//x:time' \
   -v 1970-01-01T00:00:00Z \
   input.gpx > output-nulltime.gpx

And what will put 1970-01-01T00:00:00Z on all the <time> tags.

That's all! Now, they are ready to be uploaded to the OSM community and nobody will know where you was there :)

[1]https://help.openstreetmap.org/questions/2130/gpx-file-no-time-tag

Manuel Kaufmann (Humitos): OSMTracker on the road

   Publicado:

Mapear mientras vas en el auto está completamente prohibido. Si bien no hay ninguna ley que lo prohiba, es altamente peligroso. Pero claro, cuando vas con un acompañante todo es mucho más fácil: esa persona puede ir mapeando.

Hasta ahí, genial. Pero luego te das cuenta que está todo el tiempo presionando el botón de "Grabar Voz" y menciona todo lo que pasa a nuestro al rededor. También, cada tanto se equivoca, presiona otro botón sin querer y así se pierde de mapear algunas cosas. Además, todo el tiempo mira el celular y también lo acerca a la boca para hablarle y así que la grabación salga mejor.

¡Eso ya es cosa del pasado!

OSMTracker soporta crear nuestros propios layouts haciendo un pequeño archivo XML muy sencillo. Así que, me puse manos a la obra y me hice un layout que lo único que tiene es un botón que ocupa toda la pantalla y que es super accible para presionar: no hay otra cosa. Entonces, es simplemente hacer tap en la pantalla.

one-big-button.thumbnail.png

Mi propio layout de un solo botón

osmtracker-on-the-road/driving.xml

<layouts>

  <layout name="root">
    <row>
      <button type="voicerec" label="Grabar audio" icon="mic.png" iconpos="bottom" />
    </row>
  </layout>

</layouts>

Este archivo hay que copiarlo en la carpeta "layouts" (hay que crearla) dentro del directorio de "osmtracker" en el celular. Luego, hay que ir a las opciones de OSMTracker para activar este layout.

Además, si a eso le sumamos unos auriculares manos libres (esos que tienen micrófono) ya te queda perfecto. No solo no tiene que mirar más el celular, sino que tampoco lo tiene que acercar a la boca para hablarle

Manuel Kaufmann (Humitos): Edición OpenStreetMap offline

   Publicado:

Durante mis viajes con Argentina en Python una de las cosas que me gusta hacer es colaborar con la comunidad de OpenStreetMap. Siento que esto es bastante útil ya que estoy todos los días en movimiento y visitando lugares que, en su mayoría, no está correctamente mapeados o falta información.

Sin embargo, en la mayoría de los casos, la cantidad de información que tiene los mapas de OpenStreetMap es la mejor que tenemos disponible hoy en día. Incluso, mejor que Google Maps. Como todo, no es perfecto y siempre encuentro algo que falta: en mayor o menor medida.

Utilizo mucho osmtracker para realizar mis trazas GPS y añadir puntos a estas trazas. Luego, las importo en JOSM, las corrijo, las adapto y las subo a OSM.

El problema

Uno de los problemas que tengo con esto es que siempre necesito estar OnLine para hacer mis ediciones ya que, primero, necesito bajar la zona del mapa en la que necesito laburar. Eso es algo que no tiene ningún problema en realidad, pero para mí sí lo es. Esto es porque muchas veces no tengo internet (ya que suelo estar en lugares donde no es tan accesible) y, cuando tengo internet, necesito hacer otras cosas.

Entonces, la mayoría de las veces que tengo tiempo disponible para colaborar con OpenStreetMap es cuando no tengo internet.

Hoy, en la Python Paraguay #1 Meetup aprendí a cortar los mapas de OSM en pedazos utilizando osmconvert y aproveché ese conocimiento que adquirí para resolver este problema.

La solución

Básicamente lo que hago es, cuando tengo internet:

  1. Bajo los mapas de Latino América del mirror geofabrik

    wget -c http://download.geofabrik.de/south-america-latest.osm.pbf
    
  2. Descargo el archivo .poly del país en el que me interesa trabajar utilizando esta web: http://polygons.openstreetmap.fr/


Cuando no tengo internet:

  1. Abro el archivo .poly con JOSM.

    visualizar-poly.thumbnail.jpg

    paraguay.poly abierto en JOSM

  2. Creo una capa nueva.

  3. Dibujo un cuadrado con la herramienta "Dibujar nodos (A)" cubriendo la zona en la que me interesa trabajar dentro de ese país.

    zona-a-trabajar.thumbnail.jpg

    Cuadrado dibujado para trabajar offline en esa zona

  4. Guardo esa capa como .poly

  5. Utilizo osmconvert para recortar el mapa de South America utilizando el archivo de polígonos que acabo de crear:

    ./osmconvert \
           south-america.osm.pbf \
           -B=paraguay.poly \
           --out-osm \
           -o=south-america-my_region.osm
    
  6. Abro el archivo south-america-my_region.osm desde el JOSM y trabajo offline con los GPX que guardé con osmtracker.

    zona-offline.thumbnail.jpg

    Zona para trabajar offline (recortada del archivo de mi pc -sin conexión)

  7. Una vez finalizado el trabajo, lo guardo.


Cuando vuelvo a tener internet:

  1. Abro con JOSM el archivo que guardé.
  2. Voy a Archivo -> Actualizar Datos (Control + U)
  3. Subo los datos de la capa que agregué yo

Los agradecimientos

Esto me permite trabajar cómodo desde cualquier lado y offline sin preocuparme si voy a tener internet o no cuando llegue a un lugar donde esté cómodo y pueda trabajar tranquilo escuchando música y tomando mates :)

Por favor, dejá un comentario con feedback sobre los pro- y cons- de esta forma de trabajo y otras alternativas en caso de que conozcas.

Gracias a @51114u9, a @proyectosbeta por el apoyo de siempre en todo lo referido a OpenStreetMap y a toda la comunidad de @PythonParaguay ya que esta idea salió en la Meetup de hoy ;)

Share