Novedades: actualmente estoy impulsando el proyecto Argentina en Python, desde aquí (ver mapa)

Enviar muchos emails

Como en algunos de los eventos que organizamos tenemos una confirmación por email de parte de los organizadores, siempre tenemos que enviar unos 40~50 emails a los asistenes (uno para cada uno de ellos) y luego algunos 30 más para los que, por falta de cupo, se quedaron afuera.

Para esta tarea probé varias cosas y ninguna, hasta hoy, había sido de utilidad/simpleza. Básicamente lo que buscaba era que:

  • sea simple de utilizar
  • los links incluídos en los emails no estén ofuscado
  • los emails no tengan textos en inglés
  • emails en texto plano
  • posibilidad de enviar el mismo email a una sola persona

... y probablemente algunas cositas más que ahora no tengo en mente.

Probé mailgun, mailchimp, enviarlos a mano y finalmente terminé yendo por un plugin de Thunderbird llamado MailMerge que me recomendó Facundo.

¿Qué tiene de bueno MailMerge? Básicamente te permite enviar emails personalizados (mediante algunas variables) a todos los contactos que provengan de un .csv o libreta de direcciones. Eso del .csv ya está bueno porque me ahorra el paso de tener que importarlos (de alguna manera en particular) a la libreta del servicio que utilice.

Para crear/filtrar ese .csv que necesito darle de comer a MailMerge me creé un script en Python que lee el .csv que obtengo del formulario de registración de Google Form, lo filtro de acuerdo a una columna en particular y finalmente crea el .csv de la forma correcta para MailMerge: que no es ni más ni menos que en la primera fila los nombres de las variables que querés utilizar y el resto son los datos.

Para generar ese .csv utilizo el script de esta forma:

python mailmerge.py \
  -i /tmp/inscriptos.csv \
  -o /tmp/mailmerge-confirmados.csv \
  --title --strip \
  --email 3 --first-name 1 --last-name 2 \
  --url "https://argentinaenpython.com/django-girls-piura/" \
  --date "Sábado 23 de Enero de 2016" --city Piura \
  --place "UDEP - Universidad de Piura, Av. Ramón Mugica 131, Piura, Piura, Perú" \
  --hour "8:30 (puntual) a 18:30 hs." --days 5 \
  --filter-column 21 --filter-column-text "Confirmado"

Finalmente, mi template/plantilla que utilizo con MailMerge se vé más o menos así:

To: {{first_name}} {{last_name}} <{{email}}>
From: Argentina en Python <argentinaenpython@...>
Subject: Confirmación: Taller Django Girls en {{city}}
Body: Hola {{first_name}}! ...

Eso me permite en pocos minutos, confirmar a todos los inscriptos, avisarles a los que están en "Lista de espera" y seguir con lo que estaba haciendo.



Python en el Machupicchu

¿Qué tendrá que ver batata con luz eléctrica? -me decía mi mamá. Y bueno, tan errado no estábamos ya que unos años más tarde descubrí que con la papa uno puede encender un LED de un par de Volts.

Así mismo te podés estar preguntando vos: ¿Python y el Machupicchu? ¿Qué carajo tiene que ver?. Si estás siguiendo nuestro viaje con Argentina en Python sabrás que hace unos meses estuvimos en la cresta del Machupicchu y el Huaynapicchu, y, si has subido hasta allá, sabrás que no es una tarea fácil para hacer si lo hacés de la forma económica.

Allá arriba nos sacamos unas fotitos con la remera de Django y también de Argentina en Python, pero no por eso te voy a decir que Python estuvo ahí. Sino que, además, cuando bajamos nuevamente hacia Machupicchu Pueblo, veo que pasa un tipo con una remera de un Tux y le digo: "Hey, ¿usás Linux?". El tipo me mira como diciento "Este flaco está del tomate" y me pregunta: "Eh?". "Tu Tux, en la remera". "Ah, Linux, sí, sí. N~ao hablo españole. I'm from Brasil". "Oh, amazing and are you a software developer or so? I love Python".

"Python, ah? I've worked on yowsup. A Python client for Whatsapp. I recommend it to you."

Hoy, unos meses más tarde, necesitaba algo para enviar mensajes a muchos teléfonos de Whatsapp y me fui a buscar esa herramienta y "Oh, my god! It just works!". ¡Qué buena onda! Me resolvió mucho la forma de ponerme en contacto con las personas que se inscriben a nuestros talleres cuando no responden vía email.

Así lo estoy utilizando. Primero, nos registramos:

yowsup-cli registration --mcc 716 --mnc 06 --phone <YOUR-PHONE-NUMBER> --cc 51 --requestcode sms

Validamos nuestro número con el código que nos llega:

yowsup-cli registration --mcc 716 --mnc 06 --phone <YOUR-PHONE-NUMBER> --cc 51 --register <REGISTRATION-CODE>

Y luego, enviamos el mensaje:

yowsup-cli demos -l <YOUR-PHONE-NUMBER>:<PASSWORD-FROM-LAST-STEP> --send <DESTINATION-PHONE-NUMBER> "Hola"

FUCKING AWESOME!


Hablemos de Errante

Como todos saben, Errante es nuestro auto estrella. Sin él, las cosas serían muy diferente y el proyecto Argentina en Python probablemente no existiría. Nos ha acompañado durante más de dos años y con muy pocas intervenciones de mecánicos desconocidos en su cuerpo. Lo habitual, tareas de mantenimiento nada más y alguna que otra cosa que se ha cambiado por desgaste del mismo uso.

Ya en Abril de 2015 desde Paraguay, hicimos una campaña de donaciones que resultó ser un éxito y, no solo pudimos arreglar a nuestro querido Errante aquella vez, sino que juntamos más de lo necesario y utilizamos ese dinero para poder seguir adelante por los otros países que hemos pasado.

En esta oportunidad, nos encontramos en Trujillo, Perú y queremos aprovechar a arreglar a nuestro querido Errante aquí ya que hay un taller oficial de Peugeot -no queremos volver a experimentar lo vivido en Bolivia llevándolo a un mecánico no oficial y que finalmente nos provoque más inconvenientes. Sí, lo sabemos, llevarlo al taller oficial puede ser más caro por lo general, pero creeme que tiene mucho sentido y que al final, no hay mucha diferencia económica. Estando fuera de tu país hay que ser mucho más cuidadoso con las decisiones, las aventuras y los inconvenientes. Creeme.

Aquí en Trujillo visitamos el taller mecánico ayer por la mañana y nos dieron un presupuesto para cambiar filtro de aire y gasolina, además de hacer alineación y balanceo. Además, a eso teníamos que sumarle el presupuesto para arreglar la ventilación del habitáculo interno, ya que el ventilado no gira en absoluto -está muerto.

Hoy lo llevamos para salir a mostrarle un ruido que hacía la cubierta delantera del acompañante para que nos den un diagnóstico y un presupuesto. Lamentablemente, nos encontramos con que hay que cambiar un repuesto ya que suponen que el tiene puesto (no original por que en Argentina no se conseguía en aquél tiempo) no es el correcto, sino que le han puesto el mismo del lado del conductor y del acompañante, pero deberían ser diferentes. Por eso, nos dicen que el amortiguador quedó descentrado y hace ese ruido al pasar por un lomo de burro / rompe muelles.

IMG_20160116_095811.thumbnail.jpg

Amortiguador y soporte lado conductor visto de abajo

Seguir leyendo…