Automágica: durante 2017 estoy trabajando bastante en Automágica, mi software para editar libros: Más información - Posts relacionados


Taller de Python para NO programadores

La segunda meetup de Python en Santa Fe fue un taller de programación para no programadores. Es decir, un taller para personas no sabían ni siquiera qué es programar.

http://www.meetup.com/es-ES/Meetup-de-Python-en-Santa-Fe/events/231222573/

Estuvo muy bueno.

Use unas slides de Facundo Batista modificadas https://github.com/jjconti/charla-intro-python/blob/master/introprogram.odp

y fuimos armando un pequeño juego con lo que ibamos aprendiendo.

Al final, todos se coparon tirando features y las ibamos implementado en vivo:

https://github.com/jjconti/charla-intro-python/tree/master/intro-code


1er meetup de Python en Santa Fe

Cómo surgió

Durante 2006, 2007 y 2008 se llevaron a cabo en la UTN de la ciudad de Santa Fe tres eventos denominados "Python en Santa Fe".

Para muchas personas de la ciudad y alrededores fue su primer contacto con el lenguaje, incluso con la programación.

Luego de eso, las actividades relacionadas con Python llevadas a cabo por porsonas de la ciudad se fueron canalizando a travéz de PyAr, el grupo de usuarios de Python Argentina y si bien nos encontrábamos en eventos a nivel nacional en distintos puntos del país (PyCons, PyCamps, PyDays) casi no nos volvimos a juntar.

El año pasado se empezó a usar mucho la plataforma de meetup.com en la ciudad (hay por ejemplode Ruby, de JavaScript, de Postgres...). Lo que me gusta del esta es que te permite descubrir comunidades que no conocías y que se reúnen en tu misma ciudad (lo que implica conocer nuevas personas, proyectos, etc...).

Fue por eso que hace un par de meses, sin muchas expectativas, cree el Meetup de Python en Santa Fe. Rápidamente llegamos al límite del plan gratuito de 50 miembros y pedí ayuda a la Python Software Foundation para tener una cuenta paga. Luego de aceptar las solicitudes pendientes llegamos a 66 pythonistas en Santa Fe y ya no pude huir del peso del deber: le puse fecha a nuestro primer evento. Uno de los asistentes se encargó de hablar con la gente de un bar y todo estuvo listo.

La idea del primer meetup fue entonces un encuentro social, sin charlas ni slides.

La meetup en sí

La meetup fue muy distinta a lo que me había imaginado que sería.

Habían confirmado unas 17 personas. A muchas de ellas no las conocía. Pensé encontrarme con muchos programadores Python. ¿Podría ser posible esto? ¿Gente que no esté en la lista de PyAr? ¡Hasta había preparado una pequeña encuesta!

No fue así.

  • Más de la mitad faltó sin avisar.
  • De los programadores que fueron, los conocía a todos.
  • Fue gente que sabía poco de programación, pero estaba muy entuciasmada en participar.

Esto último fue lo mejor. Hablamos de dos temas principalmente y de cómo podíamos ayudar con Python. Uno fue arte digital y el otro el banco de alimentos que se está por abrir en la ciudad.

Tal vez pronto surgan novedades de alguna actividad interdiciplinaria relacionado a estos temas.

PyConAr

En un momento de la meetup fuimos intervenidos :) Llegaron tres miembros de la cooperativa Coprinf y nos contaron sobre la organización que se está llevando a cabo para la próxima PyConAr que va a ser en Bahía Blanca y está organizada por un conjunto de cooperativas.

Nos contaron que la idea es que este año el foco esté en la comunidad (en contraste a la anterior que se sintió demasiado empresarial) y en esta línea una de las ideas es que haya un colectivo que salga del norte, pase por varios lugares donde haya comunidades (incluído Santa Fe) y llegue hasta Bahía Blanca.

Se quedaron casi una hora y estuvo re bueno que pasen.

El lugar

Un apartado especial para el lugar.

La música estaba un poco más fuerte de lo deseado y hasta toco una banda. Tenías que arrimarte para escuchar lo que estaban diciendo en la otra punta de la mesa.

Las luces y la ambientación estaban buenas. Nos gustaron unas pinturas en las paredes que cambiaban de color con la luz e incluso vimos cuando las seguían pintando en vivo.

Como nota de colar, la pizzeada no fue tal ya que el bar se había quedado sin pizzas. Nos trajeron unas picadas que si bien estuvieron ricas, terminaron costando un poco más que el precio que nos habían dado para la "pizza libre".


Generador de sopas de letras

Desde hace un par de meses vengo usando un script en Python para generar sopas de letras.

Cuando busqué qué herramienta usar, encontré wordsearch.py de Richard Boulton (entre otras opciones) qué básicamente hacía lo que quería: tomar una lista de palabras y generar una sopa de letras lista para imprimir.

Desde entonces le hice algunas mejoras:

  • Mejor disposición de la grila en el pdf generado
  • Encabezado y pie configurables
  • Permite palabras con espacios (usando comillas). Ejemplo:
python wordsearch.py hard word1 "word with spaces" word3
  • Permite caracteres no ascii en las palabras (por ejemplo ñ, á, é, í, ó, ú)

Ejemplo del pdf que genera el script: https://github.com/jjconti/sopa-de-letras/blob/master/output_example.pdf

Mi versión se puede instalar desde: https://github.com/jjconti/sopa-de-letras/

PD para no programadores: si querés bajarlo y no sabés como hacerlo con el anterior link, escribime y te ayudo!


PyConAr 2015

Voy a intentar contar y resumir mis experiencias vividas en PyConAr 2015; ya pasó más de una semana y eso hace que los recuerdos pierdan detalle.

Si bien ya hace varios años que no uso Python profesionalmente o, mejor dicho, en el día a día, siempre rescato su comunidad y me gusta, cuando puedo, participar en ella.

Jueves 12

Ya que las charlas empezaban el 13 y el 12 había talleres introductorios, no planifiqué llegar para el primer día. De hecho, en mi esquema original iba a llegar en colectivo el viernes a la mañana y volverme de la misma forma el sábado a la noche. Las circunstancias cambiaron y llegué en auto el jueves a la siesta. Luego de buscar hospedaje, tipo 16 hs, me llegué al Espacio Cultural Le Parc, donde se estaba desarrollando la conferencia.

Luego de intentar acreditarme en una conferencia sobre agua, encontré el stand de acreditación indicado y me acerqué al salón donde se estaba desarrollando DjangoGirls Mendoza, un tutorial que pretender llevar a personas (en principio mujeres [*]) con cero o poca experiencia programando a utilizar herramientas profesionales siguiendo los pasos de un tutorial. Cuando entré, no me di cuenta, pero estaba interrumpiendo: aproveché para saludar a Humitos, Marcos Dione, @EllaQuimina y CynCyn.

Al cerrar el evento nos fuimos a tomar algo a la calle Arístides Villanueva, donde están TODOS los bares y comedores en Mendoza.

Viernes 13

Las charlas estaba divididas en dos tracks, el amarillo en un salón circular y el azul en un aula normal.

Del primer día mis charlas preferidas fueron:

El día lo cerró Ashwini Oruganti con una keynote sobre el futuro de Python. No era una charla técnica y no trataba sobre el futuro técnico del lenguaje sino más bien sobre como hacer que la comunidad perdure en el tiempo. La slide final resumía la charla diciendo algo así como "El futuro de Python sos vos": así que salí a dar charlas, metete en proyectos, programá, preguntá, respondé, ayudá.

Sábado 14

El sábado arranqué temprano porque daba mi charla Qué extrañé de Python en los últimos 4 lenguajes en los que trabajé. Creo que el hecho de que sea la primera del día me jugó un poco en contra e hizo que no haya tantos asistentes como me hubiese gustado. De todas formas estoy conforme con como salió.

https://viejoblog.juanjoconti.com/charlas/missing-python/

De este día me gustaron:

La keynote final estuvo a cargo de Simon Willison y contó como migraron a microservicios en Evenbrite. La única charla que está filmada, gracias a Roberto Allende que la filmó desde el público.

Durante la conferencia, algunas empresas plantearon juegos o desafíos. Yo le dediqué algunas horas del sábado al de Machinalis que consistía en programar un bot en Python dentro de http://thewalnut.io que resuelva cierto problema. Por entretenerme con eso, me perdí una charla que me interesaba sobre cómo hacer aplicaciones para celulares con Kivy. Por suerte, acabo de encontrar las slides online: https://speakerdeck.com/entrerrianas/tu-primera-aplicacion-con-kivy-para-moviles

Antes de irnos, Machinalis anunció los ganadores de su concurso:

Más

En PyConAr hubo mucho más. Demasiado para un post. Rescato: las charlas relámpago y las charlas a la hora de comer o en el café.

[*] Si son hombre podés ir pero solo si llevás a una mujer.

PyConAr 2015, la semana que viene, en Mendoza

La semana que viene, de jueves a sábado, es PyConAr 2015, la conferencia anual e itinerante de Python Argentina. Este año se hace en Mendoza.

No iba a ir: era lejos, tenía que planificar con anticipación y alguna otra excusa que me había puesto. Había mandado una charla y la habían rechazado.

Hoy recibí un mail en el que me decían que la mía había quedado como la primer charla suplente, que no había entrado por un pelito y que ahora había un slot disponible.

Así que: iiiiuuuuujjuuuu! Nos vemos allá!

PS: llevo libros de mi editorial Automágica (Xolopes, Santa Furia y La prueba...), que son ON TOPIC porque están maqueteados con Python, si alguno quiere uno, reserve por acá.



Charlas de Python en Santa Fe

El próximo sábado en la FICH (barrio El Pozo) se va a llevar a cabo el 4to PyDay en la ciudad. Un PyDay es un día de charlas sobre Python orientadas principalmente a gente que está empezando con el lenguaje.

Yo voy a dar una en la que comparo Python con otros lenguajes que usé para trabajar.

banner-pyday.png

Cronograma



import_twitpic (plugin para Nikola)

Revisando qué contenido viejo subido a otros sitios podía importar en mi nuevo blog, me di cuenta que en mi segunda era de subir fotos tomadas con el celular mientras ando [1] mis fotos, por pura casualidad, se estuvieron guardando en Twitpic (descanse en paz).

Afortunadamente el sitio (que fue comprado por Twitter y dejado en modo read-only) te deja exportar tus datos. Me bajé un zip que adentro tenía una carpeta. La carpeta tenía todas las imágenes más un archivo de texto con la fecha de publicación de cada una y su texto.

Armado con esto y mi experiencia haciendo el plugin import_goodreads cree import_twitpic.

Este es su README:

README.md

This plugin imports Twitpic pics (including twitted text) as new posts.

This plugin:

  • Creates post as a rst file using the tweet text and the figure directive
  • Copies images to images/POSTS_OUTPUT_FOLDER/POST_SLUG/
  • Uses original tweet date as post date
  • Uses "Twitpic: DATE" as title
  • Adds "Twitpic" as tag plus the ones passed as arguments
  • Adds mentionds as hashtags as tags, but if the site already have a similar tag it use that (to avoid "ERROR: Nikola: You have tags that are too similar")

Note: Twitpic export is a folder cotaining all your images plus a tweets.txt file.

Tiene dos mejoras que eventualmente voy a migrar a import_goodreads y, con suerte, a otros:

  • agrega el parámetro --tags para definir tags extras a agregar a los posts que se crearán
  • antes de agregar un tag, se fija si antes no existe uno similar. De ser así, usa ese.

En la etiqueta Twitpic se puede ver el resultado luego de ejecutar el comando:

nikola import_twitpic -o posts/twitpic/  -t "Desde el camino, Fotos" dumps/twitpic/
[1] La primera era fue con un Nokia 6132 y mucho ingenio.