[{"content":"Hi, I\u0026rsquo;m Alberto Paparelli. I build software, ship side projects, and write about what I learn along the way.\nI\u0026rsquo;m currently pursuing a Master\u0026rsquo;s degree in Artificial Intelligence. My main tools are Python, Go and Rust, and I\u0026rsquo;m particularly interested in the intersection of AI and practical software engineering.\nSome of the things I\u0026rsquo;m building:\nOTPilot — a Chrome extension that auto-fills 2FA codes. No phone, no copy-pasting. GitArena — turns pull request reviews into a competitive sport. StoryPlace — helps startups collect, analyze, and prioritize product feedback. You can find me on GitHub, X, or LinkedIn.\n","permalink":"https://blog.paparelli.com.ar/about/","summary":"\u003cp\u003eHi, I\u0026rsquo;m Alberto Paparelli. I build software, ship side projects, and write about what I learn along the way.\u003c/p\u003e\n\u003cp\u003eI\u0026rsquo;m currently pursuing a Master\u0026rsquo;s degree in Artificial Intelligence. My main tools are Python, Go and Rust, and I\u0026rsquo;m particularly interested in the intersection of AI and practical software engineering.\u003c/p\u003e\n\u003cp\u003eSome of the things I\u0026rsquo;m building:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://github.com/carpe-diem/OTPilot\"\u003eOTPilot\u003c/a\u003e\u003c/strong\u003e — a Chrome extension that auto-fills 2FA codes. No phone, no copy-pasting.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://gitarena.app\"\u003eGitArena\u003c/a\u003e\u003c/strong\u003e — turns pull request reviews into a competitive sport.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ca href=\"https://storyplace.io\"\u003eStoryPlace\u003c/a\u003e\u003c/strong\u003e — helps startups collect, analyze, and prioritize product feedback.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can find me on \u003ca href=\"https://github.com/carpe-diem\"\u003eGitHub\u003c/a\u003e, \u003ca href=\"https://x.com/carpedev\"\u003eX\u003c/a\u003e, or \u003ca href=\"https://linkedin.com/in/albertopaparelli\"\u003eLinkedIn\u003c/a\u003e.\u003c/p\u003e","title":"About"},{"content":"When I first shipped OTPilot, the setup required you to paste in your base32 TOTP secret manually. That\u0026rsquo;s fine if you\u0026rsquo;re a developer, but it\u0026rsquo;s a dealbreaker for everyone else.\nSo I went back and rethought the onboarding from scratch — and the result changes what OTPilot actually is.\nThe big new thing: automatic account detection When you enable 2FA on any site, that site generates a secret and usually shows you a QR code. Hidden in that QR code is a standard URI that looks like otpauth://totp/GitHub?secret=.... OTPilot now scans the page for that URI automatically — no QR scanning, no copy-pasting — and shows a floating card: \u0026ldquo;Save GitHub to OTPilot?\u0026rdquo; One click, done.\nThat\u0026rsquo;s it. You never see a base32 string. You never open the extension popup during setup.\nAlso new: inline unlock If OTPilot is locked and you land on a page it\u0026rsquo;s supposed to fill, it now shows an unlock prompt right on the page — password field and all. You type your master password, press Enter, and it unlocks and fills in one step. No pop-up needed.\nWhere this is going The original pitch was \u0026ldquo;for devs who hate copy-pasting code.\u0026rdquo; The new direction is more ambitious: a general-purpose authenticator that anyone can use, with the same privacy guarantees (fully local, no servers, no telemetry, no accounts).\nStill free, still open source. If you\u0026rsquo;ve been following along, thank you — this one feels like a meaningful step forward.\n","permalink":"https://blog.paparelli.com.ar/posts/2026-05-11-otpilot-update-no-longer-need-totp-secret/","summary":"\u003cp\u003eWhen I first shipped OTPilot, the setup required you to paste in your base32 TOTP secret manually. That\u0026rsquo;s fine if you\u0026rsquo;re a developer, but it\u0026rsquo;s a dealbreaker for everyone else.\u003c/p\u003e\n\u003cp\u003eSo I went back and rethought the onboarding from scratch — and the result changes what OTPilot actually is.\u003c/p\u003e\n\u003ch2 id=\"the-big-new-thing-automatic-account-detection\"\u003eThe big new thing: automatic account detection\u003c/h2\u003e\n\u003cp\u003eWhen you enable 2FA on any site, that site generates a secret and usually shows you a QR code. Hidden in that QR code is a standard URI that looks like \u003ccode\u003eotpauth://totp/GitHub?secret=...\u003c/code\u003e. OTPilot now scans the page for that URI automatically — no QR scanning, no copy-pasting — and shows a floating card: \u0026ldquo;Save GitHub to OTPilot?\u0026rdquo; One click, done.\u003c/p\u003e","title":"OTPilot update: you no longer need to know what a \"TOTP secret\" is"},{"content":"If you work in dev or QA, you probably know the pain: you\u0026rsquo;re in the middle of a flow, you hit a 2FA screen, you grab your phone, open the authenticator app, squint at the 6-digit code that\u0026rsquo;s about to expire, type it in, and then repeat the whole thing 10 times a day.\nI got tired of it, so I built OTPilot.\nWhat it does OTPilot is a Chrome extension that auto-fills TOTP codes (the kind Google Authenticator generates) directly into the login page, eliminating the need for a phone. You configure which URLs it should watch, and it handles the rest: detects the field, fills the code, submits the form.\nIt also has a master password lock, so your secrets stay protected even if someone gets to your computer.\nWhat\u0026rsquo;s inside Auto-fill + auto-submit on matching pages Multiple accounts, each mapped to specific URLs Master password with 24h / 30-day sessions Encrypted backup export/import (AES-GCM, PBKDF2) No telemetry, no servers, no dependencies — just plain JS and Web Crypto It\u0026rsquo;s free and open source The extension is free. If it saves you time and you feel like buying me a coffee, that means a lot and helps me keep building things like this.\n☕ Buy me a coffee\n","permalink":"https://blog.paparelli.com.ar/posts/2026-05-09-otpilot-the-2fa-extension-i-built/","summary":"\u003cp\u003eIf you work in dev or QA, you probably know the pain: you\u0026rsquo;re in the middle of a flow, you hit a 2FA screen, you grab your phone, open the authenticator app, squint at the 6-digit code that\u0026rsquo;s about to expire, type it in, and then repeat the whole thing 10 times a day.\u003c/p\u003e\n\u003cp\u003eI got tired of it, so I built OTPilot.\u003c/p\u003e\n\u003cp\u003e\u003cimg alt=\"OTPilot Chrome extension popup\" loading=\"lazy\" src=\"/images/otpilot-popup.png\"\u003e\u003c/p\u003e\n\u003ch2 id=\"what-it-does\"\u003eWhat it does\u003c/h2\u003e\n\u003cp\u003eOTPilot is a Chrome extension that auto-fills TOTP codes (the kind Google Authenticator generates) directly into the login page, eliminating the need for a phone. You configure which URLs it should watch, and it handles the rest: detects the field, fills the code, submits the form.\u003c/p\u003e","title":"OTPilot: The 2FA extension I built because I was tired of copy-pasting"},{"content":"Los que me conocen o trabajaron conmigo saben que me gusta mucho la consola, ya que me resulta más cómodo y rápido para trabajar. Y además uso Vim para programar.\nCuando empecé a probar Nikola para el blog, me gustó la idea de poder escribir los posts en Vim, pero me resultaba tedioso revisar si me faltaba algún acento o si se me escapaba alguna falta de ortografía.\nAsí fue como llegué a esta funcionalidad de Vim.\nSpell El soporte para el corrector ortográfico se agregó en Vim 7.\nConfiguración Para habilitarlo:\n1 :set spell Para habilitarlo en inglés:\n1 :set spell spelllang=en_us Para habilitarlo en español, primero hay que descargar el diccionario:\n1 2 cd /usr/share/vim/vim81/spell/ wget http://ftp.vim.org/vim/runtime/spell/es.utf-8.spl Luego habilitarlo:\n1 :set spell spelllang=es Una vez habilitado, se marcarán los errores y las sugerencias de sintaxis. Situados en modo normal sobre la palabra con error, al escribir z= saldrá una lista de palabras recomendadas para su reemplazo.\nComandos útiles Comando Descripción [s Ir al próximo error ]s Ir al error anterior zg Agrega la palabra al diccionario zug Elimina la palabra del diccionario z= Despliega lista de opciones para reemplazar la palabra Documentación oficial: Vim spell\n","permalink":"https://blog.paparelli.com.ar/posts/2019-10-20-corrector-ortografico-para-vim/","summary":"\u003cp\u003eLos que me conocen o trabajaron conmigo saben que me gusta mucho la consola, ya que me resulta más cómodo y rápido para trabajar. Y además uso Vim para programar.\u003c/p\u003e\n\u003cp\u003eCuando empecé a probar Nikola para el blog, me gustó la idea de poder escribir los posts en Vim, pero me resultaba tedioso revisar si me faltaba algún acento o si se me escapaba alguna falta de ortografía.\u003c/p\u003e\n\u003cp\u003eAsí fue como llegué a esta funcionalidad de Vim.\u003c/p\u003e","title":"Corrector ortográfico para Vim"},{"content":"Hace un tiempo tuve que comprar una nueva notebook. Mi ThinkPad T430 ya estaba bastante obsoleta.\nPor un tema de precios, tuve que desistir de seguir con la línea de Lenovo y opté por una Dell (Dell G3).\nInstalé Arch Linux y lo configuré como siempre, y aunque tuve algunos problemas por la compatibilidad de Dell con Linux (por ejemplo, la placa de video), había un solo problema que me volvía loco: cuando cerraba la notebook y pasaba a estado sleep.\nEl problema Al \u0026ldquo;despertarla\u0026rdquo;, el touchpad no respondía. Encontré que volviendo a cargar el módulo i2c_hid volvía a funcionar, así que al principio dejaba una consola abierta para hacer:\n1 2 modprobe -r i2c_hid modprobe i2c_hid La solución definitiva Luego de unos días, lo solucioné definitivamente. Por un lado, agregué i2c_hid en /etc/suspend-modules.conf.\nLuego creé el archivo /usr/lib/systemd/system-sleep/suspend-modules con lo siguiente:\n1 2 3 4 5 6 7 8 9 10 11 12 13 14 #!/bin/bash case $1 in pre) for mod in $(\u0026lt;/etc/suspend-modules.conf); do modprobe -r $mod done ;; post) for mod in $(\u0026lt;/etc/suspend-modules.conf); do modprobe $mod done ;; esac Con esto, systemd se encarga de descargar y recargar el módulo en cada ciclo de suspend/resume automáticamente.\n","permalink":"https://blog.paparelli.com.ar/posts/2019-10-18-problemas-con-notebook-dell-extrano-la-thinkpad/","summary":"\u003cp\u003eHace un tiempo tuve que comprar una nueva notebook. Mi ThinkPad T430 ya estaba bastante obsoleta.\u003c/p\u003e\n\u003cp\u003ePor un tema de precios, tuve que desistir de seguir con la línea de Lenovo y opté por una Dell (Dell G3).\u003c/p\u003e\n\u003cp\u003eInstalé Arch Linux y lo configuré como siempre, y aunque tuve algunos problemas por la compatibilidad de Dell con Linux (por ejemplo, la placa de video), había un solo problema que me volvía loco: cuando cerraba la notebook y pasaba a estado sleep.\u003c/p\u003e","title":"Problemas con Notebook Dell (Extraño la ThinkPad)"},{"content":"Hasta hace unos meses participé de un proyecto bastante grande. El proyecto era para un cliente de Estados Unidos, donde uno de los socios era nativo y el otro era un argentino viviendo allá desde hacía unos cuantos años.\nEstuve trabajando unos 2 años desde Argentina, de manera freelance, y mi contacto diario era con el argentino (Product Owner).\nEl proyecto, desde que empecé hasta que me fui, tenía cambios radicales cada 2 meses, nunca estuvo definido hacia dónde íbamos, y se iba definiendo sobre la marcha.\nEsto lo hacía un proyecto perfecto para implementar Scrum, ya que era un sistema complejo donde equivocarnos temprano era lo mejor que nos podía pasar: podríamos haber tenido un crecimiento orgánico y salir a producción rápido.\nUtilizamos Scrum, pero mal, muy mal. Scrum te hace ver los problemas en los procesos, hace que salgan a la luz, y esto es lo bueno del framework, ya que te da la posibilidad de corregirlos a tiempo. Pero en este caso no fue así: donde se visibilizaban los problemas, se optaba por modificar el framework (de ahí ScrumBut).\nEstos son algunos de los problemas que identifico en mi propia retrospectiva post-proyecto.\nNunca salir a producción Uno de los puntos por los que (en mi opinión) el proyecto falló, es que para el Product Owner el sistema nunca estaba listo. Varias veces insistí con la necesidad de salir a producción y así empezar a tener feedback, ya sea para mejorar o para cambiar el rumbo. Pero por más que se llegaban a los objetivos para el release, el último día aparecían cambios radicales que demoraban la salida 2 meses más. Esto se repitió durante toda mi participación en el proyecto.\nSprint Backlog \u0026ldquo;variable\u0026rdquo; Una de las \u0026ldquo;reglas\u0026rdquo; del framework es definir el tiempo de duración de los sprints y limitarse a realizar las tareas del Sprint Backlog. Con este proyecto, era imposible que el cliente lo entendiera: llegó a agregar tareas al sprint incluso 1 día después de definirlo y comenzar a trabajar.\nMirada taylorista del desarrollo Estas costumbres son las más difíciles de cambiar.\nReporte de horas La insistencia en la carga de horas antes y después de realizada la tarea es algo aburrido y agobiante. Yo prefiero estimar por puntos, ya que las horas no me dicen nada: no se pueden utilizar para prever cuánto tiempo se tardará en otras tareas en otra etapa del desarrollo. En cambio, con puntos sí se puede medir la cantidad que el equipo puede realizar por iteración.\nEquipos distribuidos Si bien a mí me conviene hablar bien de equipos distribuidos, tengo que admitir que no es lo mejor. Es totalmente distinto el compromiso como equipo y los lazos que se crean al estar todos bajo un mismo techo.\nCliente Y acá podría hablar mucho, pero prefiero decir simplemente que hay clientes para todos los gustos ;)\nYo dejé el proyecto en agosto del 2015; entre los varios motivos, uno fue el desgaste, que podría haberse evitado si hubiéramos aplicado Scrum de la manera correcta.\nEntre mis errores, me hago cargo: debería haber insistido más en aplicar el framework, poner más límites, ser el agente de cambio.\nAl día de la fecha, la aplicación sigue sin estar productiva y aprovecho para hacer el descargo: aún me deben 2 meses de trabajo :(\n","permalink":"https://blog.paparelli.com.ar/posts/2016-01-03-scrumbut-pero-peor-mucho-peor/","summary":"\u003cp\u003eHasta hace unos meses participé de un proyecto bastante grande. El proyecto era para un cliente de Estados Unidos, donde uno de los socios era nativo y el otro era un argentino viviendo allá desde hacía unos cuantos años.\u003c/p\u003e\n\u003cp\u003eEstuve trabajando unos 2 años desde Argentina, de manera freelance, y mi contacto diario era con el argentino (Product Owner).\u003c/p\u003e\n\u003cp\u003eEl proyecto, desde que empecé hasta que me fui, tenía cambios radicales cada 2 meses, nunca estuvo definido hacia dónde íbamos, y se iba definiendo sobre la marcha.\u003c/p\u003e","title":"ScrumBut, pero peor (Mucho peor)"},{"content":"Pasó otra PyCon en Argentina, la sexta. Esta vez fue en Rafaela, Santa Fe.\nLlegamos el jueves a la tarde, por lo que ese día solo participé del sprint de la nueva web de PyAR. Hice unos commits, pero no hubo mucho tiempo como para poder aportar más.\nEl viernes y sábado fueron de charlas. Entre las que más me gustaron están:\nTu propio cliente de Torrent streaming en Python (por Felipe Lerena y Gilgameth) Django Security quick-wins (por Andrés Riancho) Prediciendo el mundial con inteligencia artificial (por Juan Pedro Fisanotti) De las charlas relámpago, me gustó mucho el cuento de Juanjo Conti, que me hizo acordar mucho al estilo de Hernán Casciari.\nCon respecto al lugar (Rafaela), es lindo, aunque hay muy poco para hacer y recorrer.\n","permalink":"https://blog.paparelli.com.ar/posts/2014-11-17-pycon-ar-2014/","summary":"\u003cp\u003ePasó otra PyCon en Argentina, la sexta. Esta vez fue en Rafaela, Santa Fe.\u003c/p\u003e\n\u003cp\u003eLlegamos el jueves a la tarde, por lo que ese día solo participé del sprint de la nueva web de PyAR. Hice unos commits, pero no hubo mucho tiempo como para poder aportar más.\u003c/p\u003e\n\u003cp\u003eEl viernes y sábado fueron de charlas. Entre las que más me gustaron están:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTu propio cliente de Torrent streaming en Python (por Felipe Lerena y Gilgameth)\u003c/li\u003e\n\u003cli\u003eDjango Security quick-wins (por Andrés Riancho)\u003c/li\u003e\n\u003cli\u003ePrediciendo el mundial con inteligencia artificial (por Juan Pedro Fisanotti)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cimg alt=\"Foto grupal PyCon-AR 2014\" loading=\"lazy\" src=\"/images/pyconar2014.jpg\"\u003e\u003c/p\u003e","title":"PyCon-AR 2014"},{"content":"Una de las tantas cosas que me gusta hacer como pasatiempo es cocinar, y hace mucho tiempo que tenía ganas de empezar a probar con los fiambres caseros.\nBusqué un poco en Internet y encontré la bondiola, que parece ser uno de los embutidos más fáciles para hacer.\nLa hice y salió muy bien. Así que ahora tengo ganas de hacer otros embutidos como jamón crudo y quesos, y obviamente otra bondiola, porque ya la comimos.\nAsí quedó la bondiolita casera:\n","permalink":"https://blog.paparelli.com.ar/posts/2013-12-28-incursionando-en-los-embutidos/","summary":"\u003cp\u003eUna de las tantas cosas que me gusta hacer como pasatiempo es cocinar, y hace mucho tiempo que tenía ganas de empezar a probar con los fiambres caseros.\u003c/p\u003e\n\u003cp\u003eBusqué un poco en Internet y encontré la bondiola, que parece ser uno de los embutidos más fáciles para hacer.\u003c/p\u003e\n\u003cp\u003eLa hice y salió muy bien. Así que ahora tengo ganas de hacer otros embutidos como jamón crudo y quesos, y obviamente otra bondiola, porque ya la comimos.\u003c/p\u003e","title":"Incursionando en los embutidos"},{"content":"El otro día tenía que hacer un deploy de una aplicación en el servidor de un cliente en Amazon. Al intentar acceder por SSH, recibía como respuesta Permission denied (publickey).\nNo podía acceder de ninguna otra manera. Tuve que hacer algunos pasos para solucionarlo.\nMi problema era que alguien cambió los permisos del home, incluyendo el directorio ~/.ssh/.\nCómo lo solucioné Parar la instancia. Ir a Volumes, encontrar el disco de la instancia con problemas y hacer \u0026ldquo;Detach\u0026rdquo;. Si no tenés otra instancia, crear una micro instancia y hacer \u0026ldquo;Attach volume\u0026rdquo;. El disco ya está montado en la nueva instancia, así que podés debugear hasta encontrar el problema. Detach de la nueva instancia. Attach a la instancia vieja. En este caso, el punto de montaje debe ser /dev/sda1 (como estaba antes). Iniciar nuevamente la instancia. ","permalink":"https://blog.paparelli.com.ar/posts/2013-11-04-amazon-permission-denied-publickey/","summary":"\u003cp\u003eEl otro día tenía que hacer un deploy de una aplicación en el servidor de un cliente en Amazon. Al intentar acceder por SSH, recibía como respuesta \u003ccode\u003ePermission denied (publickey)\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eNo podía acceder de ninguna otra manera. Tuve que hacer algunos pasos para solucionarlo.\u003c/p\u003e\n\u003cp\u003eMi problema era que alguien cambió los permisos del home, incluyendo el directorio \u003ccode\u003e~/.ssh/\u003c/code\u003e.\u003c/p\u003e\n\u003ch2 id=\"cómo-lo-solucioné\"\u003eCómo lo solucioné\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eParar la instancia.\u003c/li\u003e\n\u003cli\u003eIr a Volumes, encontrar el disco de la instancia con problemas y hacer \u0026ldquo;Detach\u0026rdquo;.\u003c/li\u003e\n\u003cli\u003eSi no tenés otra instancia, crear una micro instancia y hacer \u0026ldquo;Attach volume\u0026rdquo;.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cimg alt=\"Amazon Permission denied (publickey)\" loading=\"lazy\" src=\"/images/amazon-permission-denied-publickey.png\"\u003e\u003c/p\u003e","title":"Permission denied en AWS"},{"content":"Ya está liberado el CD de instalación para los servidores del plan Conectar Igualdad.\nEste proyecto lo realizamos cuando trabajaba en la Cooperativa de Trabajo Devecoop Ltda. Surgió de la necesidad de las escuelas de tener disponible en la intranet aplicaciones como WordPress, Moodle, etc. Pero como no todas las escuelas tienen internet, se tuvo que buscar otra solución.\nEl CD se va a repartir en las escuelas oficialmente, pero desconozco cuándo.\nUno de los puntos que tuvimos que resolver es que el administrador del servidor no tiene permisos para instalar paquetes en la virtual, así que no podíamos usar herramientas como pyGTK. Esto lo solucionamos incorporando pyzenity en el código.\nEn esta versión libre, incorporo la aplicación ALBA que es un Sistema Informático Abierto de Gestión Unificada para Unidades Educacionales. En la versión oficial, nos pidieron que la saquemos, así que solo está en esta versión libre.\nEl código está disponible en GitHub.\nUna vez que se eligen y se instalan las aplicaciones, estas están disponibles en la URL del servidor de apps. También ahí están los manuales.\nLink directo a la Guía de instalación Link directo al Detalle de aplicaciones ","permalink":"https://blog.paparelli.com.ar/posts/2013-10-29-aplicaciones-para-servidor-de-conectar-igualdad/","summary":"\u003cp\u003eYa está liberado el CD de instalación para los servidores del plan Conectar Igualdad.\u003c/p\u003e\n\u003cp\u003eEste proyecto lo realizamos cuando trabajaba en la Cooperativa de Trabajo \u003ca href=\"https://www.devecoop.com/\"\u003eDevecoop\u003c/a\u003e Ltda. Surgió de la necesidad de las escuelas de tener disponible en la intranet aplicaciones como WordPress, Moodle, etc. Pero como no todas las escuelas tienen internet, se tuvo que buscar otra solución.\u003c/p\u003e\n\u003cp\u003eEl CD se va a repartir en las escuelas oficialmente, pero desconozco cuándo.\u003c/p\u003e","title":"Aplicaciones para servidor de Conectar Igualdad"},{"content":"El jueves 24 y viernes 25 de octubre estuve en PyCon Argentina. Este año se realizó en Rosario y estuvo muy interesante.\nEs el 5° año consecutivo que se realiza en Argentina. El año pasado se realizó en Quilmes y pude participar ayudando en la organización.\nPueden ver las fotos en la wiki.\nEntre las charlas que más me gustaron o me sirvieron están:\nAnálisis de datos con Pandas por Franco Mariluis. Caching para hordas y estampidas por Claudio Freire. Otra charla muy interesante fue \u0026ldquo;La pythonicidad al palo\u0026rdquo; por Martín Gaitán.\n","permalink":"https://blog.paparelli.com.ar/posts/2013-10-29-pycon-ar-2013/","summary":"\u003cp\u003eEl jueves 24 y viernes 25 de octubre estuve en PyCon Argentina. Este año se realizó en Rosario y estuvo muy interesante.\u003c/p\u003e\n\u003cp\u003eEs el 5° año consecutivo que se realiza en Argentina. El año pasado se realizó en Quilmes y pude participar ayudando en la organización.\u003c/p\u003e\n\u003cp\u003ePueden ver las fotos en la \u003ca href=\"http://python.org.ar/Eventos/Conferencias/PyConAr2013\"\u003ewiki\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cimg alt=\"Foto grupal PyCon-AR 2013\" loading=\"lazy\" src=\"/images/pycon2013.jpg\"\u003e\u003c/p\u003e\n\u003cp\u003eEntre las charlas que más me gustaron o me sirvieron están:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAnálisis de datos con Pandas por Franco Mariluis.\u003c/li\u003e\n\u003cli\u003eCaching para hordas y estampidas por Claudio Freire.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eOtra charla muy interesante fue \u0026ldquo;La pythonicidad al palo\u0026rdquo; por Martín Gaitán.\u003c/p\u003e","title":"PyCon-AR 2013"}]