Por qué dar una charla *ahora* y no luego

Nota: Esto iba a ser un email para la lista de PyLadies España, pero me ha parecido más divertido compartirlo en público 🙂

Contexto: Como sabéis, dentro de una semana se cierra el plazo para presentar charlas a la PyData Madrid 2016, que se celebrará en abril. Es un momento importante porque, si bien no es la primera vez que tenemos presencia de «trazas de PyData» en nuestro país (la primera fue en la EuroPython 2015) es la primera vez que se organiza como evento independiente. Yo tuve el privilegio de asistir a la primera que se hizo en Europa en un tiempo en el que me podía permitir el lujo de hacer estas cosas. Mucha gente se piensa que soy una especie de experto nacional de Python así que, inspirado por un intercambio que hemos tenido con una chica en privado por Twitter, me gustaría aclarar que mis inicios fueron bastante tortuosos, para así haceros reír un poco y de paso animaros a que participéis en este evento 😉 A continuación, mi email tal y como lo empecé:

Yo ya estoy animando a amigas y gente de mi entorno y empiezo a ver un patrón en las respuestas: «todavía no». Os animo a que hagáis piña, os volváis locas y presentéis charla - aunque penséis que «no sois expertas (¿todavía?)» o mejor: con más motivo si lo pensáis. Por tres razones:

La primera: no todos los que vamos a presentar charlas somos «expertos» ¡ni de coña! Es más, yo muchas veces he presentado charlas sobre temas que no dominaba, pero ha sido una excusa perfecta para estudiarlos.

La segunda: si no queréis presentar una charla «experta», las charlas introductorias son súper informativas, muy útiles y suelen gustar a un rango de público bastante amplio. En Internet hay demasiada información, pero vosotras en media hora podéis separar el grano de la paja e iluminar a quienes quieran seguir un determinado camino.

Y la tercera: esa gente que pensáis que es «experta» también la caga. Y a veces la caga bastante, y pasa vergüenzita y quieren que se los trague la tierra. En primicia, cómo me llevé unas diapos a medio preparar a la primera PyConES y luego para arreglarlo enseñé mi contraseña de PyPI en directo

He tardado dos años y medio en volver a ver este vídeo porque me daba pánico, y dos años y medio después me he dado cuenta de que desde fuera no fue tan horrible. Me encuentro sinceramente sorprendido 🙂 (y también de todo el pelo que he perdido en tan poco tiempo, ¿será la radiación de mi portátil?)

De mi segundo fallo no hay vídeo: sucedió en la PyData Londres 2014. Era mi primer evento en inglés, solo conocía a mi colega Fran (con quien volaba a Alicante al acabar) y en un momento dado me volví loco y apunté mi nombre en el tablón de lightning talks.

¡¡Me cago en todo, iba a dar una charla en inglés delante de un huevo de expertos sobre Python científico y análisis de datos!! La experiencia fue trepidante porque fui incapaz de hacer funcionar el proyector con mi portátil en dos ocasiones, así que estaba taquicárdico perdido. Ian Ozsvald me dio una última oportunidad y di la última lightning talk de esa conferencia.

Hubo un momento divertido cuando me puse a explorar la galería de ejemplos con widgets de IPython notebook, que entonces estaban aún en beta y a punto de salir, y no se me ocurre otra cosa que saltarme la sección de machine learning haciendo scroll a toda leche mientras decía al micrófono este comentario:

Machine learning, data science, blah blah blah...

Ni qué decir tiene que la gente soltó una buena carcajada y que yo me puse bastante rojo.

Lo mejor de todo esto es que... no pasa ná 🙂 Me recuperé sin terapia ni nada, mi lightning de los notebooks gustó mucho, he seguido dando charlas en un montón de países, y encima me invitaron a la PyData London 2015 y lo peté. Pero si nunca me hubiese atrevido a empezar a dar malas charlas, a medio preparar o directamente sudoroso y tembloroso como un flan nunca habría llegado a donde estoy.

Así que por favor: mandad charlas aunque no seáis expertas, mandadlas aunque penséis que todos os van a juzgar y mandadlas aunque tengáis miedo de hacerlo mal. Porque la realidad es que al principio tal vez lo haréis mal, os juzgarán menos de lo que pensáis y sois más expertas de lo que imagináis. Pero nada de esto importa en realidad 🙂

Si necesitáis ayuda, consejo de cualquier tipo o un empujoncito, no dudéis en escribirme a mi nombre acortado arroba este blog.

Desde aquí un aplauso a las personas de esta comunidad que trabajan duro por hacer de Python algo más que un simple lenguaje de programación y convertirlo en una herramienta de cambio social.

¡Un saludo y os veo en la PyData 2015!

Cómo crear extensiones en C para Python usando CFFI y numba

Introducción

En este artículo vamos a ver cómo crear extensiones en C para Python usando CFFI y aceleradas con numba. El proyecto CFFI ("C Foreign Function Interface") pretende ofrecer una manera de llamar a bibliotecas escritas en C desde Python de una manera simple, mientras que numba, como podéis leer en nuestro blog, es un compilador JIT para código Python numérico. Mientras que hay algo de literatura sobre cómo usar CFFI, muy poco se ha escrito sobre cómo usar funciones CFFI desde numba, una característica que estaba desde las primeras versiones pero que no se completó hasta hace cuatro meses. Puede parecer contradictorio mezclar estos dos proyectos pero en seguida veremos la justificación y por qué hacerlo puede abrir nuevos caminos para escribir código Python extremadamente eficiente.

Este trabajo ha surgido a raíz de mis intentos de utilizar funciones hipergeométricas escritas en C desde funciones aceleradas con numba para el artículo que estoy escribiendo sobre poliastro. El resultado, si bien no es 100 % satisfactorio aún, es bastante bueno y ha sido relativamente fácil de conseguir, teniendo en cuenta que partía sin saber nada de C ni CFFI hace tres días.

¿Por qué CFFI + numba?

Como decíamos CFFI y numba, aunque tienen que ver con hacer nuestros programas más rápidos, tienen objetivos bastante diferentes:

  • CFFI nos permite usar C desde Python. De este modo, si encontramos algún algoritmo que merece la pena ser optimizado, lo podríamos escribir en C y llamarlo gracias a CFFI.
  • numba nos permite acelerar código Python numérico. Si encontramos algún algoritmo que merece la pena ser optimizado, adecentamos un poco la función correspondiente y un decorador la compilará a LLVM al vuelo.

Continue reading

PyConES 2015: Crónica de un evento inolvidable

Esta es la primera crónica que escribo de una conferencia a la que asisto desde que existe este blog. Y no puedo dejar de pensar que «ya iba siendo hora», porque en todo este tiempo he ido a 3 PyConES, 2 PyData London, 1 PyConSE y 1 SciPy LA. Todas ellas fueron especiales a su modo y me enseñaron mucho, pero la tercera PyCon España que se ha celebrado en Valencia ha significado el fin de semana más emocionante (y estresante) de mi vida. Va a ser una crónica un poco rara porque solo fui a una charla, pero aun así la quiero compartir con vosotros para dejar de sentirme culpable, empezar a relatar todos los eventos a los que vaya a partir de ahora y contaros nuestra experiencia «desde la retaguardia».

El 4 de enero de este año le mandaba a Quique Porta un correo electrónico proponiéndole cómo nos íbamos a distribuir el trabajo para la PyConES 2015, así que podemos decir que la gestación de esta conferencia ha sido más larga que un embarazo humano xD Desde entonces hemos tenido más de 15 videoconferencias entre Marcos, Javi, Mai y yo en las que hemos ido avanzando poco a poco hasta el momento clave del fin de semana del 20 al 22 de noviembre.

Así empezó la PyConES 2015...
Así empezó la PyConES 2015...

El viernes una expedición de 8 intrépidos aeronáuticos (más 1 ingeniero naval infiltrado) partió desde Madrid rumbo al que iba a ser un evento muy especial para el equipo de AeroPython: batíamos récords de asistencia, contábamos con patrocinadores de la talla de Airbus y Skyscanner y dos compañeros, Carlos y Siro, daban un taller habiendo aprendido Python hace tan solo 1 año (¡1 año!). Yo aun así estaba extremadamente nervioso porque intuía que las tareas organizativas me absorberían para todo el fin de semana, como al final sucedió.

Continue reading

Curso de Python en la ETSIAE: 4ª edición

¡Ya vamos a por la cuarta edición de nuestro curso de Python para aeronáuticos! Esta vez durará 1512 horas y este es el temario:

  1. Introducción a la sintaxis de Python
  2. Uso del Notebook de IPython
  3. Arrays de NumPy
  4. Representación gráfica con matplotlib
  5. Análisis numérico con SciPy
  6. Cálculo simbólico con SymPy

Curso AeroPython

El curso se desarrollará en la sala II del centro de cálculo de la ETSI Aeronáutica y del Espacio de 17:3018:00 a 20:00 a lo largo de dos semanas, los días 3, 4, 5, 10, 11 y 12.

Continue reading

Comunidades, relevo generacional y la muerte de Python Hispano

Hace muchos meses que no escribo un artículo técnico, y me temo que este tampoco va a serlo. Lo que es peor: hace aún más meses que no escribo un artículo triste, y lamentablemente ha llegado el momento de poner algunas ideas negro sobre blanco. Este texto, como su propio título indica, trata de comunidades, de relevo generacional y de la muerte de Python Hispano.

Primero, un poco de contexto. Descubrí Python en 2010 buscando en Google "free alternative to Mathematica" y accediendo al proyecto Sage, en diciembre de 2011 creé un blog llamado "Dead Epsilon", en enero de 2012 fui a mi primera reunión de Python Madrid y en marzo de 2012 maté Dead Epsilon y creamos Pybonacci. Eso significa que pronto va a hacer 4 años que formo parte de esta comunidad: la comunidad Python.

Camiseta de Python Madrid, sacada de http://python-madrid.es/meetings/camisetas-python-madrid/
Camiseta de Python Madrid, sacada de http://python-madrid.es/meetings/camisetas-python-madrid/

La intersección entre «usuarios de Python» y «gente que pertenece a la comunidad de Python» es mucho más pequeña de lo que uno pensaría. ¿O alguien cree que Python solo lo usan en España las 350 personas que caben en una PyConES? Una comunidad es algo que va mucho más allá de ser simplemente un usuario. Cada uno podría dar una definición, pero para mí es algo que tiene que ver con divulgar, con ayudar a los demás, con defender una herramienta frente a otras por los motivos que sean y con establecer lazos.

Continue reading

¡Curso AeroPython en la UC3M!

¡Tenemos el placer de anunciar un nuevo curso de Python aplicado a la ingeniería aeroespacial, esta vez organizado por el Departamento de Ingeniería Aeroespacial de la Universidad Carlos III de Madrid!

El curso durará 10 horas, será gratuito para los alumnos y el temario será el siguiente:

  1. Introducción a la sintaxis de Python
  2. Uso del notebook de Jupyter
  3. Arrays de NumPy
  4. Representación gráfica con matplotlib
  5. Análisis numérico con SciPy
  6. Cálculo simbólico con SymPy

El horario será de 13:00 a 15:00 los días 5 a 9 de octubre y las clases tendrán lugar en el aula 7.0.J03.

Cartel Curso Python UC3M

Continue reading

SciPy Latin America 2015 en Argentina: ¡manda tu charla!

Ya lo hemos comentado por Twitter algunas veces, pero para quienes aún no lo sepáis: del 20 al 22 de mayo se celebrará la SciPy Latin America 2015 en Posadas, Misiones (Argentina), y gracias a la generosa invitación de los organizadores tanto Kiko como el que os escribe iremos en calidad de speakers invitados. ¡Muchísimas gracias! 😀

SciPy Latin America 2015

Este evento surge después de dos años de celebrar conferencias sobre Python científico en Argentina, la primera en 2013 en Puerto Madryn, Chubut y la segunda en 2014 en Bahía Blanca, Buenos Aires. Este año los organizadores han sumado fuerzas con gente de Brasil para llevar adelante un evento mucho más ambicioso a nivel de todo Latinoamérica. Desde aquí no puedo más que quitarme el sombrero por semejante esfuerzo (que incluye personas entendiéndose en portugués y español 🙂 ) y estoy seguro de que la SciPyLA 2015 será todo un éxito.

El plazo para presentar propuestas se cierra el día 6 de abril, ¡así que no pierdas un minuto para mandar tu charla, taller o póster a la conferencia! En el llamado a propuestas de la SciPyLA 2015 tienes toda la información sobre qué tipo de formatos se aceptan. La conferencia es gratuita, abierta a todo el mundo y habrá charlas en español, inglés y portugués. Nosotros ya hemos mandado nuestras propuestas, ¿a qué esperas tú? 🙂

Para mí es una ocasión muy emocionante para conocer a gente con la que normalmente solo puedo hablar a través de las redes sociales, y a la vez un reconocimiento excepcional a la labor que llevamos haciendo ya tres años en Pybonacci. Tendremos el honor de coincidir con personas que han tenido un papel crucial en el desarrollo de la comunidad Python argentina, hispana en general y brasileña, como Damián Ávila, Raniere Silva, Martín Gaitán, Filipe Saraiva, Mariano Reingart, Celia Cintas o Manuel Kaufmann, nos reencontraremos con Juan Bautista después de dos años de cruzarnos en la PyConES 2013 y desvirtualizaremos a fans que nos siguen desde el primer día como Cristian Hernán Schmidt. Puedes ver la lista pública de asistentes a la SciPyLA 2015 en la web de la conferencia.

Cartel SciPyLA 2015

No te puedes perder este evento: manda ya tu charla, regístrate (que es gratis) y ¡nos vemos en Argentina! 😉

Cómo acelerar tu código Python con numba

Introducción

En este artículo vamos a hacer un repaso exhaustivo de cómo acelerar sustancialmente tu código Python usando numba. Ya hablamos sobre la primera versión de numba en el blog, allá por 2012, pero ha habido importantes cambios desde entonces y la herramienta ha cambiado muchísimo. Recientemente Continuum publicó numba 0.17 con una nueva documentación mucho más fácil de seguir, pero aun así no siempre queda claro cuál es el camino para hacer que funcione, como quedó patente con el artículo sobre Cython de Kiko. Por ello, en este artículo voy a aclarar qué puede y qué no puede hacer numba, cómo sacarle partido y voy a detallar un par de ejemplos exitosos que he producido en los últimos meses.

Continue reading

“Introducción a Python para científicos e ingenieros”, 2ª edición, ¡ya disponible!

Curso Python online y gratuito de introducción al lenguaje de programación Python para científicos e ingenieros. Los vídeos de este curso online se dividen en dos ediciones: la primera recoge los fundamentos de Python científico y la segunda los últimos avances introducidos en el 2015 con IPython 3 (Jupyter).

Ambas ediciones son impartidas por Juan Luis Cano (http://pybonacci.org) y han sido posibles gracias a la financiación del Instituto Universitario de Ingeniería de Procesos Químicos y la Escuela Politécnica Superior (y su delegación de alumnos) dentro de la Universidad de Alicante. Los videotutoriales de este curso se han diseñado para que sea práctico, con ejemplos extraídos de asignaturas comunes en carreras científicas y de ingeniería.

Un año más, gracias a la impagabla colaboración de CAChemE y la Universidad de Alicante, tenemos una segunda tanda de vídeos disponibles, grabados durante la segunda edición de nuestro curso de Introducción a Python para científicos e ingenieros. Más horas de material actualizado a las ultimísimas versiones, incluyendo el flamante IPython 3.0, que a día de hoy ya podéis instalar en vuestros canales habituales 😉

Si queréis leer todos los detalles del curso no os perdáis la entrada en CAChemE:

http://cacheme.org/curso-online-python-cientifico-ingenieros/

Desde aquí no puedo más que agradecer que año tras año estos alicantinos me hagan sentir mejor que en casa. Cuando tengamos un momento para respirar en Pybonacci hablaremos de IPython 3.0, Jupyter, numba y muchas más cosas. Por el momento, ¡disfrutad de los vídeos y difundid! 😀