Algunos videos de PyCon US 2013

jueves, 21 de marzo de 2013 Sin comentarios

Ya están subiéndose al sitio PyVideo los videos de la PyCon US 2013 que está cerrando hoy. Algunas de las charlas que quería compartir, de temas que son particularmente de mi interés, son:

PyPy without the GIL – Armin Rigo:
PyPy has a version without the Global Interpreter Lock (GIL). It can run multiple threads concurrently. But the real benefit is that you have other, new ways of using all your cores. In this talk I will describe how it is possible (STM) and then focus on some of these new opportunities, e.g. show how we used multiple cores in a single really big program without adding thread locks everywhere.

Python Profiling – Amjith Ramanujam:
This talk will give a tour of different profiling techniques available for Python applications. We’ll cover specific modules in Python for doing function profiling and line level profiling. We’ll show the short comings of such mechanisms in production and discuss how to do sampled profiling of specific functions. We’ll finish with statistical profilers that use thread stack interrogation.

Making Apache suck less for hosting Python web applications – Graham Dumpleton:
It is not hard to find developers who will tell you that Apache sucks for running Python web applications. Is there a valid basis to such claims or have they simply been misguided by the views of others? This talk will endeavor to shine a light on the realities of and limitations in working with Apache, as well as the challenges in implementing the mod_wsgi module for Apache.

Using futures for async GUI programming in Python 3.3 – Dino Viehland:
In Python 3.2 a new feature was added for concurrent programming – futures. In Python 3.3 generators have been extended to allow returning from a generator with a value. In this talk we’ll show how these features can be combined to create a rich and easy to use asynchronous programming model which can be used for creating highly responsive GUI applications or easy async programming.

Kivy: Building GUI and Mobile apps with Python – Mathieu Virbel / Thomas Hansen:
This talk will introduce the Kivy project (http://kivy.org). Kivy’s mission is to make building graphical user interfaces on any device fun, efficient, and pythonic.
The talk will focus on giving attendees an overview of how they can use kivy to build exiting UIs and mobile apps.

Make More Responsive Web Applications with SocketIO and gevent – Luke Sneeringer:
An explanation of how to implement a socket.io server in Python to serve websocket requests from browsers.

El resto de los videos del evento, acá: http://pyvideo.org/category/33/pycon-us-2013

Categories: codear, programación, python Tags:

PyConAr 2012: Charla sobre el protocolo SPDY – Video

miércoles, 2 de enero de 2013 Sin comentarios

Con el nuevo año, aparecieron en su totalidad los videos de la PyConAr 2012 subidos a Youtube por Mariano Reingart, el Coordinador del evento.

Dejo en este post el mío, no sin un dejo de “vergüencita”, je… (encima todavía no lo vi):

Cualquier duda me pueden consultar o comentar este mismo post. Espero próximamente escribir más en profundidad de ciertos aspectos que me quedaron afuera de la charla.

¡Saludos!

Categories: codear, programación, python, web Tags:

PyConAr 2012: Charla sobre el protocolo SPDY – Slides

lunes, 19 de noviembre de 2012 Sin comentarios

PyCon Argentina 2012

Terminó la PyCon Argentina 2012, y con ella vienen semanas menos movidas (espero). Este post es para agradecer a la organización, Mariano, Juan BC, y a todos aquellos que concurrieron y compartieron conmigo este evento que tanto nos gusta a los fanáticos de este lenguaje de programación.

Además, tuve el placer de dar una charla introductoria del protocolo SPDY, que pretende reemplazar a HTTP 1.1, y que muy probablemente ya estés usando sin darte cuenta. 🙂

En definitiva, los slides de mi charla, “Introducción a SPDY, ¿futuro HTTP 2.0?” se pueden ver más abajo en esta página, y también se pueden descargar en formato ODP y PDF.

En cuanto tenga el video, lo pondré a disposición también.

¡Muchas Gracias PyConAr!

Categories: codear, personal, programación, python Tags:

Investigando el protocolo SPDY

domingo, 15 de julio de 2012 2 comentarios

Un tiempo atrás venía buscando áreas de investigación para estudiar, y me encontré con una interesante propuesta de Google, de renovar el ya “viejito pero cumplidor” protocolo HTTP 1.1, llamada SPDY (no sin algo de sentido comercial, se nota).

De ahí en adelante (dado que el desarrollo es abierto a la discusión en general) me dediqué a profundizar en él, entender sus ventajas (lo cual implica entender algunas cosas feas de HTTP 1.1 y la Web de hoy en día), limitaciones, y cosas que faltan implementar. Me apasionó el tema, tanto es así que lo propuse como tema de Tesis para mis estudios y hasta ahora vengo bien (bien con las promesas a mi Director, claro está :-P).

Mi idea era con este post abrir una serie de artículos para documentar lo que voy aprendiendo sobre este protocolo, que cada vez tiene más hype en la industria, tanto que Twitter y Google ya lo implementan en sus servidores (Facebook está en camino), mientras que Chrome/Chromium y Firefox (Opera se está sumando) también lo usan si está disponible.

Personalmente me puse a probarlo y a tratar de implementarlo usando Python, forkeando un proyecto que ya existía y arreglando los problemas más obvios que encontré. Todavía tengo todo el código “atado con alambre”, no bien testeado, y no estoy seguro si funciona del todo (jua!), pero de ahora en más voy a tratar de mejorarlo y mantenerlo mientras pueda, además de dejar algún rastro por aquí y por mi trabajo de investigación formal.

En resumen, el IETF draft de SPDY está disponible acá; tanto parece estar movilizando este protocolo, que el HTTPbis Working Group, encargado de definir un futuro HTTP 2.0, se está moviendo desde hace un tiempo para discutir las propuestas de SPDY. Y esto recién empieza…

Les dejo un video del último Google IO 2012 que es un excelente acercamiento técnico al tema:

Saludos

Categories: codear, python, web Tags:

Instalando DD-WRT en un TP-Link TL-WR941ND

sábado, 2 de junio de 2012 169 comentarios

Uno compra un Router/Access Point estos días con la esperanza de que el firmware (software en el equipo) que tiene cargado sea eficiente, no tenga bugs (o al menos tenga actualizaciones periódicas del fabricante que los corrija), e incorpore muchas capacidades interesantes para sacarle el jugo, como el uso de conexiones VPN, priorización de tráfico, poder regular el poder de la antena, gráficos/estadísticas de uso de la conexión, y muchas “cositas” que a nosotros (la gente técnica) nos gusta aprovechar del dispositivo, todo por el mismo precio.

Pero lo más común es que suceda todo lo contrario. Mi router TP-Link TL-WR941ND, apenas lo compré, le actualicé el firmware oficial, y de ahí en más, a los dos o tres días de estar prendido, mágicamente “se cae”, dejando de responder, acudiendo obligatoriamente a apagar y encenderlo nuevamente. Ni hablar de actualizaciones posteriores, ni funcionalidades “copadas”. Casi que me sentí estafado; siendo previo poseedor de un mítico Linksys WRT54G, lo cambié por el TP-Link que es de norma 802.11N, por ende prometía más velocidad y alcance en mi red.

Pasaron unos meses, hasta que en el FLISOL Luján de este año, Efraim me instaló en el Linksys un firmware libre, basado en Linux, llamado DD-WRT que funciona en muchísimos modelos de Access Points/Routers (más de 200 según la página, aunque seguro son más). De antemano sabía de la existencia de estos proyectos/distros de Linux, aunque ignoraba lo bien logrado que estaba y las muchísimas capacidades que le agregaba automáticamente al tenerlo instalado.

Es por todo eso que tenía pendiente instalar DD-WRT en mi TP-Link para liberarlo… hasta hoy: migración exitosa.

Puedo comentar que:

  • El proceso de instalación tiene bastantes particularidades, dependiendo mucho del dispositivo y de la versión del hardware que se tiene; sí, dentro de un mismo dispositivo, hay como diferentes “releases” o versiones del hardware (1.0, 2.0, 3.0…), donde el fabricante agrega/saca características, y puede influir tranquilamente en la versión del firmware a instalar.
  • Por lo anterior, sugiero encarecidamente leer toda la documentación, foros y wiki disponible, además de tomar todas las precauciones del caso, ya que un error se puede pagar tirando el router al tacho de basura.
  • Yendo más a mi situación particular, el router TL-WR941ND figura en el Router Database del proyecto, y dice que funciona con la versión 15778 del firmware dd-wrt (que entre otras cosas, ¡parece ser del 2010!). Además está dentro de la página de dispositivos con hardware Atheros soportado.
  • Yo tengo la versión 3.6 del hardware, lo compré hace algunos meses nomás en Galería Jardín, así que es bastante probable que todavía y por un tiempo haya versiones iguales dando vueltas.
  • Lo único que hice fue buscar, en foros, como documentación, y encontré que el “router database” estaba desactualizado, y había una versión mucho más actualizada y probada que no estaba linkeada en la página (está en este FTP).
  • La parte más fácil fue el upgrade en sí: sólo tuve que ir a “Upload firmware” en el administrador web del TP-Link, subí el archivo “factory-to-ddwrt.bin” que bajé del FTP, apagar/prender y listo. 🙂

Ahora tengo muchísimas más opciones y potencia que antes en mi equipo y la casi certeza de que va a funcionar correctamente. En este mismo FTP también se van subiendo periódicamente las versiones nuevas del dd-wrt (del 2012), separada por equipo/versión de hardware: ftp://dd-wrt.com/others/eko/BrainSlayer-V24-preSP2/2012/

A disfrutar del Software Libre se ha dicho. 🙂

¡Saludos!

Categories: codear, linux, sysadmin Tags: