Taller de Programación de Sockets TCP/IP

En este mes de febrero tuve la suerte de llevar adelante en la UNLu un breve pero conciso taller de programación de sockets basado en Python. Dejo los slides, ejemplos de código y ejercicios planteados en el apartado de Charlas de mi blog, y en este post. Agenda: Clase 1: Introducción Sockets API. Modelo OSI, entornos de ejecución.Introducción a Python. Socket API para UDP. Ejercicios. Descargar en Formato ODP / Formato PDF. Código de ejemplo: ZIP. Clase 2: Socket API para TCP. Código de ejemplo y ejercicios. Descargar en Formato ODP / Formato PDF. Clase 3: Multiprogramación, concurrencia, paralelismo. Syscall fork() y relacionados. Ejemplos de servidor multiproceso. Procesos vs. Threads. Descargar en Formato ODP / Formato PDF. Código de ejemplo: ZIP. Clase 4: Sockets asincrónicos. Modelo de trabajo, syscall select(). Ejemplos de código. Introducción a Scapy. Descargar en Formato ODP / Formato PDF. Código de ejemplo: ZIP. ¡Saludos! ...

February 27, 2018 · 1 min · Marcelo

Pwning hardware

El video dura media hora, pero a mí me gustó muchísimo, aprendí mucho. Mikah Scott es una genia, y se propone investigar cómo customizar el firmware de una lectora/grabadora de CD/DVD/Blu-Ray, para dominarlo por completo, empezando por el microcontrolador ARM que posee. Por ejemplo, moviendo el láser en la posición que uno quiera y dispararlo. Habla un excelente y puntilloso inglés, así que se le entiende palabra por palabra, sugiero que lo vean incluso para practicar su inglés técnico. ...

November 1, 2014 · 1 min · Marcelo

Algunos videos de PyCon US 2013

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. ...

March 21, 2013 · 3 min · Marcelo

PyConAr 2012: Charla sobre el protocolo SPDY – Video

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. ...

January 2, 2013 · 1 min · Marcelo

PyConAr 2012: Charla sobre el protocolo SPDY - Slides

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. :-) ...

November 19, 2012 · 1 min · Marcelo

Investigando el protocolo SPDY

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). ...

July 15, 2012 · 2 min · Marcelo

Jornada de Python en Luján: PyDay Luján 2012

PyAr, el grupo de usuarios de Python Argentina, está orgulloso de presentar una nueva Jornada del lenguaje de programación Python 2012 ( PyDay) en la Universidad Nacional de Luján, el día Sábado 5 de Mayo de 2012 de 11Hs a 18Hs. Durante el Python Day se darán pequeños cursos y charlas relacionadas a este lenguaje, creando un espacio en donde cualquier persona interesada pueda acercarse para preguntar, aprender y experimentar con esta herramienta. ...

March 28, 2012 · 2 min · Marcelo

Estableciendo conexiones HTTPS "bien seguras" en Python

Hace unos días que tenía pendiente colgar esto acá, ya que a alguien en PyAr le fue útil. HTTPS es la manera de establecer conexiones HTTP pero seguras, en el sentido de que previo al diálogo HTTP estándar pero luego de establecerse la conexión TCP contra el servidor, se negocia entre los participantes una conexión/sesión “especial” entre ambos. Allí se intercambian certificados con el fin de autenticar contra quién se “está hablando”, para luego, si hubo éxito en la dicha comprobación, encriptar (o no) todo lo que va para el otro lado, tanto del Servidor al Cliente (generalmente un navegador), como del Cliente al Servidor. ...

February 19, 2011 · 4 min · Marcelo

Navegador simple con wxPython + Webkit/GTK

Hace algunos posts (¡casi un año ya!) escribí sobre una manera fácil y rápida de tener un componente “navegador web” en Python sobre Linux/BSD, gracias a PyGTK y WebkitGTK, llamado lógicamente, pyWebkitGTK. En pocas líneas de código uno puede disponer de un navegador potente y completo en un panel de su aplicación basada en PyGTK, ideal para integrar aún más la cada omnipresente Web. Las vueltas de la vida y las ganas de experimentar y aprender te llevan a probar otros frameworks/librerías, como lo es wxPython; tanto es así que de vez en cuando tengo el placer de dar alguna charla al respecto [1], y una de las debilidades que le usualmente le encontraba es la falta de un componente “browser web” nativo y soportado en todas las plataformas (wxPython sólo incluye IE embebible como ActiveX en Windows). ...

October 10, 2010 · 4 min · Marcelo

PyDay Rafaela 2010 - Introducción a wxPython

Para no ser menos que Juanjo y Fisa, ¡qué bueno estuvo el PyDay Rafaela 2010! Muchos (muchos) asistentes, muy buena onda, y una chorizeada + fernet a la noche inolvidables… En la sección de Charlas del blog están los slides de mi “Introducción a wxPython”, más los ejemplos de rigor. También [hice propaganda](http://marcelofernandez.info/charlas/Ubuntu Lightning Talk.pdf) de Ubuntu en las Lightning Talks. :-P Acá hay un par de fotos… con los días van a ir apareciendo más cosas en el sito del evento… incluso los videos de las charlas. :-) ...

May 10, 2010 · 1 min · Marcelo