Contents

En esta página podrán encontrar los slides de charlas y presentaciones dictadas por miembros de PyAr.

¡Agregá la tuya!

General


De 0 a Python en 45 minutos

Daniel F. Moisset

Slides: .


Introducción a Python

Daniel F. Moisset

Slides: https://github.com/dmoisset/slides/tree/master/intro-python

En formato Markdown para usar con Landslide y HTML5.


PyGTK y Glade

Natalia Bidart

Links: slides.


Test Driven Development

Javier Mansilla y Natalia Bidart

Links: slides, código de ejemplo.


Twisted Framework

Anthony Lenton

Links: slides, código fuente


Un juego en 7 días

Alejandro J. Cura

Links: slides, codigo fuente (requiere pygame).



Programando para la OLPC

Alejandro David Weil, Alejandro J. Cura

Links: fuente de la charla, requiere pygame y bruce.


Testeos automáticos de seguridad (mediante simulación de ataques)

(Esta charla no tiene demasiado de Python. La intención era mostrar una aplicación real donde se use Python y comentar un poco los pro y contras).

Matias Eissler, Alejandro David Weil

PDF: .




Hacer un juego es fácil

Daniel F. Moisset

Slides: juego-facil-20080822.tar.gz (se ejecuta en python, incluye bibliotecas).


/dev/wiimote > Experimentando con un wii remote en Gnu/Linux

Héctor Karucha Sanchez, Juan Manuel Schillaci, Christian Andres

Slides: http://code.google.com/p/charla-wii-mote/ (se baja por svn, y se ejecuta en Python).


Actividades y juegos educativos para la OLPC

Héctor Karucha Sanchez, Alejandro J. Cura, Manuel Kaufmann

Slides: http://code.google.com/p/charla-pygame/ (se baja por svn, y se ejecuta en Python).




La pythonicidad al palo

Martín Gaitán

¿Qué significa que un código sea "pythónico"? Una charla sobre python idiomático: características de este lenguaje para expresar de forma simple, elegante y potente.
diapositivas: http://mgaitan.github.com/pythonicidad/
repo: http://github.com/mgaitan/pythonicidad/
evento: PyCon Argentina 2013
fecha: Viernes 25 de octubre de 2013
lugar: Rosario, Argentina

MyHDL, de Python al silicio

Martín Gaitán

En el mundo del hardware se usan lenguajes de descripción como VHDL o Verilog. MyHDL es un paquete que permite utilizar la potencia de alto nivel de Python como reemplazo (o abstracción) de un lenguaje de descripción de hardware tradicional.

¿Imaginaste alguna vez diseñar tu propio procesador? O implementar un sistema de embebido en un chip? Esas cosas requieren lidiar con los lenguajes HDL (hardware description language), que si bien no son de bajo nivel como un ensamblador, tienen sitaxis y mañas complejas. No es para menos: esos "programas" se sintetizan y se vuelven los planos internos de un chip, por ejemplo una FPGA.

MyHDL permite reemplazarlos programando en Python, pudiendo simular y hacer test de manera mucho más fácil. Incluso se puede obtener código en lenguajes HDL sintetizables y hacer tu sueño realidad: ¡hacer hardware con Python!.

diapositivas: http://mgaitan.github.com/myhdl-talk/
repo: http://github.com/mgaitan/myhdl-talk/

Curso programación en Python

MarianoReingart

Slides:

  • Parte 1: Introducción a Python: ¿Qué es Python?; ¿Por qué Python?; Instalación; Herramientas Básicas; "Hola Mundo"; El Intérprete; Estructura Básica; Tipos de datos simples; Tipos de datos compuestos; Control de Flujo; Funciones, Clases y Objetos; Excepciones; Módulos, paquetes y espacios de nombre; Archivos.
  • Parte 2: Introducción a la Biblioteca Estándar: sys, time, re, StringIO, datetime, decimal, random, math, os, subprocess, threading, processing, socket, asyncore, urllib2, httplib, BaseHTTPServer, HTMLParser, base64, json, smtplib, email, poplib, imaplib, smtpd, ftplib, csv, xml.dom.minidom, struct, zlib, zipfile, logging, pdb, doctest, unittest .
  • Parte 3: Persistencia y Bases de Datos: Pickle, Shelve, DbApi: SQLite, MySql, PostgreSql, PlPython. Ejemplo práctico: Universidad.
  • Parte 4: Mapeadores Objeto-Relacional: SQLObject, SQlAlchemy, Elixir. Ejemplo práctico: Nuestro propio ORM simple.
  • Parte 5: Introducción a extensiones avanzadas: PIL, ReportLab, PyFPDF, PyOpenGL, PyGame, BeautifulSoup, Win32, Py2Exe .
  • Parte 6: Interfases gráficas del Usuario (GUI): PythonCard, WxPython .
  • Parte 7a: Desarrollo WEB con Django.
  • Parte 7b: Desarrollo WEB con Web2Py .
  • Parte 8: Resúmen Python 3000.


Depuración y defragmentación de memoria en Python

Claudio Freire

Slides: (OpenOffice)



Extendiendo aplicaciones en C y C++ con Python

AngelFreire

"Extender aplicaciones desarrolladas en C o C++ utilizando la API que CPython provee."

Slides: http://github.com/cuerty/eacpy/raw/master/eacpy.odp Fuentes: http://github.com/cuerty/eacpy


Paralelismo en Python

Claudio Freire

Slides: (OpenOffice)


Caching para hordas y estampidas

Claudio Freire

Slides: (OpenOffice)


PyConAr Rafaela 2014

Se está solicitado por mail a los disertantes que agreguen el material de sus charlas. Si alguna charla todavía no está, puede ir apareciendo en estos días. Si sigue sin aparecer, no dudes en preguntarnos! fisa (fisadev@gmail.com) se está encargando del tema.

Ansible, la batuta de Python

  • Disertante: ManuelQuiñones
  • Descripción: Ansible (ansible.com) es una gran herramienta de automatización hecha en Python. No importa que manejes uno o miles de servidores, siempre es necesario automatizar el deploy de tu aplicación web o las configuraciones del sistema. Ansible tiene un encare declarativo muy simple, que va más allá de la automatización por scripts "imperativa" de Fabric y otras alternativas. En mi trabajo actual estoy a cargo de más de mil servidores, y una de mis herramientas preferidas es Ansible. Enterate porqué en esta charla.
  • Slides: http://manuq.github.io/slides-charla-ansible/


Netflix en 10 líneas - Mulpycast

Claudio Freire

Perdón por el click-bait :-D No es una librería. Ni una biblioteca. Es ip multicast "para casi todos". Suena complicado, suena difícil, pero con un poco de buena suerte, y antigravity, se podrá ver en ~4 línas más imports un ejemplo funcional de multicast. Y con un poco más de líneas... de todo. Pytube? check. DroPyBox? check. Porrent (no es porro, es "torrent")? Check. Ip multicast es una herramienta genial para distribución de datos en LANs, WiFi, u overlays. Seh, vamos a ver un poco de overlays, IGMP y todo lo necesario para realmente enteder cómo funciona esto. En ipv4 (perdón, perdón).


RIP - Rest in Python 3

Speakers: Cynthia Monastirsky, Juan Carizza, Emiliano Dalla Verde Marcozzi. Descripción: Cada vez es más común que existan diferentes servicios 'en la nube', que mediante una 'interface' nos permiten acceder y/o modificar los datos que procesan de una forma programática. Esto posibilita una abstracción sobre los lenguajes de programación en los que están desarrollados los sistemas, permitiendoles compartir información. Esta charla quiere ser una introducción a como poder compartir los datos que procesamos en nuestras aplicaciones, con aplicaciones de terceros, creando API's REST. - Slides: https://docs.google.com/presentation/d/1xXrZQy3QtIu5n5Qz4IEw0lD8q83qoEq6ZqsHR2ixqvI/edit?usp=sharing


Argentina en Python: cómo matar el sueño de todo programador en 2 minutos

  • Disertante: ManuelKaufmann
  • Descripción: En Abril de 2014 empecé un proyecto llamado "Argentina en Python" con la idea de recorrer el país dando charlas de programación utilizando el lenguaje Python a quiénes estuvieran interesados en aprender a programar. También, de esta forma, estaría devolviendo de alguna manera el conocimiento que obtuve libremente de la comunidad de Python durante todos estos años. La primera etapa del viaje duró 3 meses aproximadamente, visité 5 provincias y cerca de 10 ciudades. La segunda etapa comienza a principios de Septiembre y finaliza en la PyConAr 2014 en Rafaela. En esta charla se contará un poco sobre la historia del proyecto, sus inicios, su desarrollo y la experiencia vivida durante este tiempo, mencionando los pros y contra de viajar y trabajar como programador, como así también las experiencias en los cursos y charlas de Python.
  • Slides: http://elblogdehumitos.com.ar/posts/python-conference-argentina-2014/argentina-en-python_pyconar2014_humitos.pdf

Introducción a Python

  • Disertante: Facundo Batista
  • 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.
  • Slides: http://www.taniquetil.com.ar/homedevel/presents/intropython.odp

Cómo debuguear código Python

  • Disertante: Facundo Batista
  • Descripción: 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. La 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.
  • Slides: http://www.taniquetil.com.ar/homedevel/presents/debug/debugpython.odp

Cómo los logs me salvaron el alma

  • Disertante: Facundo Batista
  • 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.
  • Slides: http://www.taniquetil.com.ar/homedevel/presents/logs.odp


Tu propio cliente de Torrent Streaming en Python


Prediciendo el mundial con inteligencia artificial

  • Disertante: Juan Pedro Fisanotti
  • Descripción: La idea de esta charla es transmitir algunos conceptos básicos de machine learning (una de las ramas más importantes de la inteligencia artificial), mostrando cómo de forma sencilla pueden ser aprovechados para resolver un problema concreto: predecir resultados de partidos de fútbol del mundial. La primer parte de la charla expone los conceptos básicos que vamos a aplicar, y la segunda parte los muestra aplicados en el ejemplo concreto, incluyendo su código implementado en Python.
  • Slides: (con links a fuentes al final) http://nbviewer.ipython.org/github/fisadev/talks/blob/master/machine-learning-intro-with-worldcup/machine-learning-intro-worldcup.ipynb

Speed is a feature


Trabajando de forma asincrónica en Django/Python

  • Disertante: Martin Alderete
  • Descripción: Introducción a los sistemas distribuidos con Python, Django y brokers de mensajes. En la charla analizaremos distintas formas de separar el "trabajo pesado" en Django/Python utilizando procesos asíncronos, para esto se hará enfasis en Celery y se mostrarán sus característica, ventajas y usos avanzados. También se comentarán soluciones a problemas comunes usando Celery. Por último se dará una introducción al procesamiento asíncrono en la plataforma cloud de Google appengine usando la API de taskqueue.
  • Slides: pdf

El niño tiene tests (y no hay naranja)

  • Disertantes: Natalia Bidart, Matías Bordese
  • Descripción: Esta charla resume nuestra experiencia como docentes del taller de programación de Algoritmos y Estructuras de Datos II en la Universidad Nacional de Córdoba, y las herramientas que desarrollamos (en Python, por supuesto) para facilitar nuestra tarea y al mismo tiempo, ayudar a los estudiantes a escribir código C sin errores o al menos detectarlos a tiempo. Se presentan las metodologías y herramientas implementadas para corregir y hacer devoluciones a los alumnos de sus proyectos escritos en C. Entre ellas, mostramos a nuestro mayordomo Jaime, un sitio web Django, que se encarga de correr unit tests escritos en Python (ejercitando el código C vía ctypes) y reportar los resultados.
  • Slides: pdf

¿Robótica para gente de verdad?

System Message: WARNING/2 (<string>, line 641)

Title underline too short.

¿Robótica para gente de verdad?
------------------------------


PyConAr Mendoza 2015

Si alguna charla no aparece, no dudes en solicitar al autor que la incluya a través de la lista.

Respondiendo en milisegundos

Claudio Freire

Si son como yo, usan la computadora para solucionar problemas complejos, pero les impacienta cuando tarda más de un minuto en responder. Los usuarios son así también. En esta charla vamos a ver cómo obtener respuestas en milisegundos en vez de minutos u horas, pero claro, con un truco: cacheando. La mayoría de los procesos que hay en un sistema útil son todos cacheables. Vamos a aprender a implementar arquitecturas complejas para solucionar problemas complejos.


Manejando 220.000 QPS sin despeinarse

Claudio Freire, Patricio Rocca Huget

Describe la arquitectura que permite que Jampp maneje 220.000 requests por segundo de forma eficiente y escalable.


¿Qué extrañé de Python?

Juanjo Conti

Qué extrañé de Python en los últimos 4 lenguajes en los que trabajé: PHP, Ruby, Swift, Clojure. PHP: el feo, Ruby: el gemelo malvado, Swift: el nuevo, Clojure: el raro. Pasaron varios años ya desde la última vez que utilicé Python profesionalmente. Desde aquel entonces, transité diversos caminos y aprendí nuevas tecnologías. Pero, como pasa con la primera novia, no puedo dejar de compararlo con cada nuevo lenguaje con el que trabajo. Analizo y comparo características de los distintos lenguajes.

  • Slides: www.juanjoconti.com/charlas/missing-python/

Django ORM to win!

Martin Alderete

Veremos como se comporta el ORM de Django con bases de datos grandes. Para esto nos focalizaremos en como funciona el ORM de Django, describir sus componentes y funcionalidades con el fin de generar consultas mas precisas y complejas para disminuir problemas de performance. Tambien se discutira sobre el uso de "managers" personalizados y consejos de escalabilidad con Django como el uso de multiples bases de datos.


¿Así que tú piensas qué puedes PDBear?

System Message: WARNING/2 (<string>, line 737)

Title underline too short.

¿Así que tú piensas qué puedes PDBear?
-------------------------------------

Emiliano Dalla Verde Marcozzi

El debugger de Python 'pdb' es una valiosa herramienta a la hora de entender los errores que ocurren en tus programas. Aprende en esta introducción los comandos comúnmente utilizados en el depurador de Python, a navegar e inspeccionar el código utilizando pdb, pdbpp, ipdb o rpdb.




PyDay Baradaero 2016


Python para humanos

Carlos de la Torre (@py_litox)

SPOILER ALERT: esta charla no incluye código

Se trata de una presentación del Ecosistema Python. ¿Para qué y cómo se usa Python? ¿Por qué? La charla se enfoca en una de sus mayores ventajas: la comunidad. No incluye cuestiones técnicas ni formales sobre el lenguaje en si mismo.

Hay muchas charlas que apuntan a lo técnico: a enseñar el lenguaje o herramientas asociadas. En esta charla propongo analizar Python con una mirada ortogonal, que se basa en la comunidad. Es para dar una perspectiva más amplia y abarcadora del lenguaje, para dimensionar su utilidad y ventajas desde una perspectiva no tan común. La charla incluye mención a diversos ámbitos, de la industria y académicos, donde se usa Python y a cuestiones asociadas al entorno laboral.

La primera versión de esta charla fue presentada en el FLISoL Serrano 2015, Capilla del Monte, Córdoba. Fue concebida para estudiantes iniciales de una tecnicatura en programación.

Slides: https://docs.google.com/presentation/d/1fZUuySkCbBjP477VoHdhBns6Bouj92C33ku-BX-WCGM/

enjoy!




PyDay Rafela 2016

Python para humanos

Carlos de la Torre (@py_litox)

Se trata de una breve introducción a Python: como lenguaje pero principalmente de su Ecosistema. ¿Para qué y cómo se usa Python? ¿Por qué? La charla se enfoca en una de sus mayores ventajas: la comunidad. Incluye apenas una breve descripción técnica del lenguaje al comienzo.

Hay muchas charlas que apuntan a lo técnico: a enseñar el lenguaje o herramientas asociadas. En esta charla propongo analizar Python con una mirada ortogonal, que se basa en la comunidad. Es para dar una perspectiva más amplia y abarcadora del lenguaje, para dimensionar su utilidad y ventajas desde una perspectiva no tan común. La charla incluye mención a diversos ámbitos, de la industria y académicos, donde se usa Python y a cuestiones asociadas al entorno laboral.

Slides: https://docs.google.com/presentation/d/1lsNKc73mVMkpbqqpUPZ-gwbGXllvKv86GkylsCsJM7Q/edit?usp=sharing



PyDay 2018 La Plata