Autor: Facundo Batista Descripción: (adjunta, bio_es.txt) Foto: http://www.taniquetil.com.ar/facundo/facundobatista.jpg Residencia: Buenos Aires, Argentina Asociación: Python Argentina Bindings, default mutable arguments, y otros quilom... detalles --------------------------------------------------------------- Subtítulo: Explicación de distintos aspectos del lenguaje que traen dolores de cabeza hasta entenderlos. Summary: Explicación de distintos aspectos del lenguaje que, aunque unos los encuentra y usa frecuentemente, siempre traen algún que otro problema hasta que se termina entendiendo que es lo que está sucediendo. Descripción: La charla muestra distintos aspectos del lenguaje que siempre son problemáticos, explicándolos en detalle pero sin entrar en complicaciones, apuntando a entender finalmente que es lo que sucede en esas situaciones de manera de no volver a caer en sus "trampas". Los temas de la charla son: - Como pensar como un pythonista - Default mutable arguments - Espacios de nombres - Scopes - El emparchado del mono - Administradores de contexto URL: http://taniquetil.com.ar/homedevel/presents/pydetalles.odp -- Title: Bindings, mutable arguments, and other mes... details Subtitle: Explanation of some language aspects that bring some headaches until we finally understand them. Summary: Explanation of different language aspects that, even if we find and use them frequently, always bring some headaches until we finally understand what is going on. Description: The talk shows different aspects of the language that always are problematic, explaining them in detail but without being complicated, aiming to understand finally what's going on in those situations so to learn to avoid those "traps". The talk topics are: - How to think like a pythonista - Default mutable arguments - Namespaces - Scopes - Monkeypatching - Context managers -- URL: http://www.taniquetil.com.ar/homedevel/presents/pydetalles.odp Nivel objetivo: intermedio Tipo de público: General Conocimientos previos: Ninguno CC BY-SA-NC 2.0, Atribución-NoComercial-CompartirIgual Entendiendo Unicode ------------------- Subtítulo: Cansados de los UnicodeDecodeEncodeErrors? Frenen ese desastre! Vengan y entiendan Unicode :) Summary: Charla que explica qué es Unicode y otros conceptos relacionados para poder usar esta tecnología Breve descripción: La charla muestra de forma teórica/práctica qué son Unicode, las planillas de códigos, los caracteres, y las codificaciones, entra en detalle en las distintas codificaciones, para saber cómo usarlas, ejemplifica las reglas de oro para utilizar Unicode en nuestros programa, y termina mostrando algunas funciones útiles para el manejo de esa tecnología. -- Title: Understanding Unicode Subtitle: Tired of the UnicodeDecodeEncodeErrors headaches? Stop that mess! Come and understand Unicode :) Summary: Talk that explains what is Unicode and other related concepts to be able to use this technology. Description: The talk shows in a theoretical and practical way what are Unicode, the code charts, the characters, and the encodings. It details the different encodings, to know how to use them, exemplifies the golden rules to use Unicode in our system, and finally shows some useful functions to manage this technology. -- URL: http://www.taniquetil.com.ar/homedevel/presents/unicode.odp Nivel objetivo: intermedio Tipo de público: General Conocimientos previos: Ninguno Temática: Programación; Interoperabilidad CC BY-SA-NC 2.0, Atribución-NoComercial-CompartirIgual Introducción a Python --------------------- URL charla: http://www.taniquetil.com.ar/homedevel/presents/intropython.odp Breve descripción: Esta charla se orienta a programadores, principiantes o avanzados, que desean conocer este lenguaje, de manera de aprender sus principios básicos. Se presentan las características generales del lenguaje y su biblioteca estándar, su parte social, y se recorren los tipos de datos, los controles de flujo, y las diversas maneras de encapsular código, terminando con algunos detalles que muestran la expresividad, sencillez y poder de Python. Elevator pitch: ¿Querés conocer Python? Esta charla te presenta las características generales, su parte social, los tipos de datos, controles de flujo, y diversas maneras de encapsular código, terminando con algunos detalles que muestran la expresividad, sencillez y poder de Python. Nivel objetivo: Independiente Tipo de público: General Conocimientos previos: Ninguno Temática: Programación Python 3000 ----------- URL charla: http://www.taniquetil.com.ar/homedevel/presents/py3k.pdf Summary: Esta charla presenta la evolución de Python, la versión 3 del lenguaje (a.k.a. Python 3000) Breve descripción: Esta charla presenta la evolución de Python, la versión 3 del lenguaje (a.k.a. Python 3000), y explica las razones por las cuales se planeó y ejecutó esta evolución. Además de las nuevas características del lenguajes y mejoras generales se detallan los cambios que presentarán problemas de compatibilidad, y las estrategias para migrar de la rama actual (Python 2) a esta nueva versión: cómo y cuando migrar, y qué herramientas tendremos como ayuda. Más detalle: La charla se separa en tres partes bien definidas. - ¿Por qué? Aquí se explican las razones para que Python 3000 exista como versión disruptiva, y no como parte de la evolución pausada del lenguaje. - Diferencias: Esto es un detalle de las principales (y no tanto) diferencias que hay entre Py2 y Py3. - Migración: Acá contaré cómo es el proceso de migración recomendado, y pautas a seguir para terminar pasando a esta nueva versión Nivel objetivo: intermedio Tipo de público: General Conocimientos previos: Algún conocimiento de Python Temática: Programación, Lenguaje Python más rápido que C ----------------------- URL charla: http://www.taniquetil.com.ar/homedevel/presents/pyrapidc/pyrapidc.odp Summary: Comparación y análisis de velocidades entre los dos lenguajes, con consejos y conclusiones relevantes. Breve descripción: Esta charla compara las velocidades de los distintos lenguajes (pero sin perder de vista otros factores involucrados en el desarrollo), mostrando distintas mediciones hechas con códigos ejemplo, analizando los resultados y explicándolos de manera que el asistente termine una idea de por qué es rápido o lento. Nivel objetivo: intermedio Tipo de público: General Conocimientos previos: Algún conocimiento de Python o C ayuda. Temática: Programación, Lenguaje, Caso de estudio Comunidad, anarquía y subversión -------------------------------- Summary: Pensamientos sobre nuestras comunidades, formas de organización en las distintas etapas de las mismas, y temas relacionados. Breve descripción: ¿Cómo son nuestras comunidades? ¿Cómo nacen, cómo crecen? ¿Qué podemos lograr y hasta dónde podemos llevarlas? En esta charla se analizan nuestras comunidades virtuales en contraste con las normales, cómo se forman y evolucionan, los distintos roles dentro de las mismas. También se hace un repaso de las distintas estructuras y cómo pueden evolucionar. URL: http://www.taniquetil.com.ar/homedevel/presents/comunidad.odp Tipo de público: General Conocimientos previos: Ninguno. Temática: Comunidad, Sociedad CC BY-SA-NC 2.0, Atribución-NoComercial-CompartirIgual Como los logs me salvaron el alma -------------------------------- Subtitle: Aprenda a usar el módulo logging y hacer logs útiles de manera sencilla, con ejemplos. Summary: Varios consejos y recomendaciones para lograr hacer logs de manera útil y sencilla, mostrando ejemplos reales y explicando también el módulo logging. Breve descripción: Los logs son fáciles de hacer, pero también los debemos hacer útiles. Esta charla es una colección de recomendaciones para aprender a loguear de forma eficiente y útil, a partir de la experiencia del uso de logging en un producto utilizado por millones de personas en distintos entornos. La charla también explica cómo utilizar el módulo logging, versando sobre Loggers, Handlers y Formatters, y mostrando un ejemplo sobre la utilización de todos juntos. -- Title: How Logs Saved My Soul Subtitle: Learn how to use the logging module and to do useful logs in a simple way, with examples. Summary: Several tips and recommendations to make logs in a simple and useful way, showing real examples and also expalining the logging module. Description: Logs are easy to generate, but we need to also make them useful. This talk is a collection of recommendations to learn to log in a simple and efficient way, starting from the experience collected when using logging for a product used by millions of clients in different environments. This talk also explains how to use the logging module, introducing Loggers, Handlers and Formatters, and showing an example about the use of these all together. This talk is for beginners and intermediate programmers, with no particular experience at all (but they would understand more of the talk if they needed to do logging in their pasts). After the talk they would have a collection of tips about how to improve their logging, and knowledge on how to do it in Python specifically. -- Intermediate/Beginner URL charla: http://www.taniquetil.com.ar/homedevel/presents/logs.odp Tipo de público: General Conocimientos previos: Ninguno. Temática: Herramientas Cómo debuguear en Python ------------------------ Subtítulo: Tu código Python a veces falla? Acá tenés consejos y recomendaciones para debuguearlo. Summary: Esta charla es una colección de consejos y ejemplos prácticos sobre cómo debuguear código Python, de manera de poder ser más eficiente a la hora de encontrar los problemas del mismo, para poder solucionarlos, y mejorar de esa manera nuestra productividad. Description: Obviamente, al escribir código, no siempre funciona al primer intento. A veces corregirlo es fácil, en otras oportunidades encontrar qué es lo que no está bien lleva tiempo. Esta charla es una serie de consejos prácticos (y ejemplos en vivo) sobre cómo debuguear código Python. Aplicando estos consejos, el tiempo de depuración del código se reduce notablemente, lo cual incrementa nuestra productividad. -- Title: How To Debug Python Code Subtitle: Does your Python code fail sometimes? Here you have tips and recommendations to debug it. Summary: This talk is a collection of practical tips and examples about how to debug Python code, so we can be more efficient when finding its problems, so we can fix them, and in this way enhance our productivity. Description: Obviously, when writing code, it sometimes doesn't work at the first attempt. Sometimes it's easy to fix it, in other occasions find what's wrong takes a lot of time. This talk is a collection of practical tips, recommendations, and live examples about how to debug Python code. Applying these advices, code debugging time reduces considerably, which increments our productivity. -- URL charla: http://taniquetil.com.ar/homedevel/presents/debug/ Tipo de público: General Conocimientos previos: Ninguno. Temática: Herramientas Emulando paralelismo de forma asincrónica ----------------------------------------- Charla introductoria para empezar a entender el mundo asincrónico Ejecutar distintos procesos en paralelo es casi una necesidad básica. ¿Cómo se realiza esto? Multithreading es la primera opción de muchos. Pero no es la mejor, o no siempre. Esta charla mostrará distintas formas de emular paralelismo, haciendo hincapié en el modelo de programación asincrónico, mostrando cómo utilizar distintas bibliotecas de Python para este fin (twisted, gevent, asyncio). Nivel: intermedio Conocimientos previos: threading, paralelismo URL: http://taniquetil.com.ar/homedevel/presents/concurrencia/ Las perlas de Python 3 ---------------------- Principiante Categorias: core, py3k Esta charla muestra varios detalles de Python 3 que son útiles/geniales/indispensables y que no existen en Python 2 (o que normalmente no se usan), explicándolos en detalle, con el propósito de permitir al programador aprovechar estas nuevas características de entrada. Una de PyAr: ------------ Veremos distintos aspectos relacionados a la comunidad de usuarios de Python en Argentina, como por ejemplo cuáles son las herramientas organizativas y algunos de los proyectos que la comunidad lleva adelante. También comentaremos acerca de las actividades que la comunidad lleva adelante para promover el uso de Python en distintos ámbitos estratégicos, como pueden ser las instituciones educativas o gubernamentales. La idea es lograr que los temas abarcados en la charla le brinden a los asistentes elementos de utilidad para una mejor experiencia en la integración y participación en la comunidad. Programación asincrónica en Python 3: el futuro ya llegó -------------------------------------------------------- URL charla: FIXME Summary: La charla presenta conceptos teóricos de la programación asincrónica, mostrando a través de varios ejemplos como lograr implementar esa teoría usando los nuevos módulos y sintaxis presentes en la última versión de Python 3. Descrip: La charla cuenta teoría de asincronismo en general, y muestra en qué casos es útil o necesario. Luego muestra cómo trabajar con esta tecnología en Python 3, explicando la teoría y mostrando ejemplos para utilizar el event loop, haer llamadas, ejecutar corrutinas, ejecutar cosas que bloquean, procesamiento en paralelo, utilización de iteradores, e incluso manejo de errores y supervisión de files descriptos, para cerrar con una introducción a transportes y protocolos, y tips para ayudas. Tipo de público: General Conocimientos previos: Ninguno. Temática: Herramientas No es magia: descriptores al desnudo ------------------------------------ Subtítulo: Conocé la intimidad de uno de los rincones más poderosos y elegantes de Python: Descriptores! Summary: Esta charla muestra a los Descriptores de Python, detallando el funcionamiento de los mismos mediante un ejemplo práctico y detallado, para poder entender el poder y flexibilidad que otorgan. De yapa, se explican decoradores de clase. Descripción: Esta charla presenta, mediante un ejemplo práctico y detallado, a los Descriptores de Python. Se detalla el funcionamiento de los mecanismos que utilizan los descriptores, mostrando el poder y la flexibilidad de los mismos. Finalmente, de yapa y como para completar con el ejemplo práctico, se explican decoradores de clase. -- Title: It's not magic: descriptors exposed Subtitle: Get to know in the intimacy one of the most powerful and elegant corners of Python: Descriptors! Summary: This talk shows the Python Descriptors, detailing their behaviour with a detailed practical example, so we can understand the power and flexibility they give. As a bonus track, class decorators are explained. Description: This talk presents, using a detailed practical example, the Python Descriptos. The behaviour of descriptors mechanisms is detailed, showing their power and flexibility. Finally, as a bonus track and to complete the used practical example, class descriptors are explained. -- https://docs.google.com/presentation/d/1O88eRdHdPhSsL849aNp1NHcCbnB8cam4bX16LgvYx1U/edit#slide=id.ge72e971d2_0_63 Ejercicios de Juanjo Conti para mi charla de intro a la program: https://github.com/jjconti/charla-intro-python/tree/master/intro-code Cadenas ------- URL charla: bit.ly/charla-cadenas Summary: La charla muestra los distintos tipos de cadenas que hay en Python, más las posibilidades para darles formatos, incluyendo algunos riesgos y problemas y cómo solucionarlos. De bonus track se ofrece al final una forma de usar el nuevo formato también con el módulo de logging. Tipo de público: General Conocimientos previos: Ninguno. Temática: Lenguaje Duración: 25' Procesamiento Paralelo de Vectores ---------------------------------- URL charla: https://bit.ly/charla-vectparal Resumen: La charla muestra los intentos (con código y mediciones) de encontrar la mejor manera de paralelizar la suma de dos vectores de números, con la idea de entender los procesos subyacentes y poder discernir qué detalles tenemos que considerar en las distintas situaciones. Descripción: La charla compara tiempos al sumar dos vectores de números de forma serial y en paralelo, en C++, Python usando la biblioteca estándar, y usando algunas librerías externas. Va hilando una evolución de intentos tratando de mejorar la situación anterior, mostrando ventajas y desventajas. En cada caso se muestra el código real y el gráfico correspondiente de mediciones para vectores de distintas longitudes, comparando con los intentos anteriores. Finalmente se sacan conclusiones sobre el proceso. Tipo de público: General Nivel: Medio Conocimientos previos: Ninguno. Temática: Procesamiento de datos Duración: 25' o 45', depende profundidad La charla puede ser de 45', en caso de explicar más profundamente el código mostrado, pero quizás no es eso lo ideal en un PyDay. ------------- Como multiplataformizar tus herramientas Elevator pitch: ¿Cansado de hacer un script en Python en un entorno pero que después no ande o funcione mal en otro? ¿Llevar esa herramienta al server y ver que la tenés que empezar a adaptar? En tres simples pasos te muestro cómo utilizar Fades para que tus herramientas funcionen igual en todos lados! Descripción Esta charla muestra como utilizar Fades (el manejador automágico de virtualenvs) para mejorar los scripts y cualquier herramienta de manera de poder utilizarlos en cualquier entorno sin tener que preocuparse de qué versión de python corre el server, ni de qué año son sus dependencias, ni si está todo lo necesario instalado, etc. De esta manera, uno puede desarrollar y utilizar sus herramientas favoritas, y luego llevarlas a un server con Ubuntu viejo, o un Fedora que tiene pocas cosas instaladas, etc, y usar esas herramientas de forma transparente, sin tener que perder tiempo adaptándolas. ------------ Feedback de la propuesta de PyEmpaq: It does lack a bit of information regarding the talk and the project. But it seems to be relevant to the conference, despite of the fact that is not new and at first sight it does not seem to improve the state of the art of the packaging area. I was not sure if I put a weak reject or a weak accept, there is a bit lack of information and even searching about it, it does not seem to add much. But a new package manager is always interesting to know about, it might add something new, that is the reason I decided to put as a weak accept. This talk appears to be a good technical overview of a rather niche implementation of universal packaging for python. The limitations on py-empaq greatly reduce the possible scope of interest in this talk I think distributing you python project is something a lot of people would be interested in :) Could use a bit more information regarding the talk in the description. Looking at the docs and various discussions on the web, it seems this tools aims at slightly simplifying installation procedures for casual users. It does so by packing a project into a zip file that can be directly executed by Python > 3.7. The zipfile has an entry point __main__.py that takes care of installing a virtual environment for the user using pip. It seems thus mostly focused on hiding virtual environment creation and activation from users. The submission doesn't contain enough detail to catch my interest.