'Feed' de Python en español.

Python en español
Claim This Podcastby Jesús Cea
Podcast Overview
'Feed' de Python en español.
Language
🇪🇸
Publishing Since
3/11/2015
1 verified contact email on file for Python en español
Pitch yourself as a guest, propose sponsorships, or reach out directly to the host.
Recent Episodes

July 12, 2021
Python en español #29: Tertulia 2021-04-20
Plataformas centralizadas, GIL, aprendizaje automático, Pydantic y Python 3.10, y hemos renunciado a llevar la cuenta de los gazapos que metemos en cada tertulia <a href="https://podcast.jcea.es/python/29">https://podcast.jcea.es/python/29</a> <p><p>Participantes:</p> <ul> <li> <p>Jesús Cea, email: <a href="mailto:jcea@jcea.es">jcea@jcea.es</a>, twitter: <a href="https://twitter.com/jcea">@jcea</a>, <a href="https://blog.jcea.es/">https://blog.jcea.es/</a>, <a href="https://www.jcea.es/">https://www.jcea.es/</a>. Conectando desde Madrid.</p> </li> <li> <p>Víctor Ramírez, twitter: <a href="https://twitter.com/virako">@virako</a>, programador python y amante de <a href="https://es.wikipedia.org/wiki/Vim">vim</a>, conectando desde Huelva.</p> </li> <li> <p>Felipem, conectando desde Cantabria.</p> </li> <li> <p>Juan José, Nekmo, <a href="https://nekmo.com/">https://nekmo.com/</a>, <a href="https://github.com/Nekmo/">https://github.com/Nekmo/</a>. Madrileño conectando desde Málaga.</p> </li> <li> <p>Jesús, conectando desde Ferrol.</p> </li> <li> <p>Eduardo Castro, email: <a href="mailto:info@ecdesign.es">info@ecdesign.es</a>. Conectando desde A Guarda.</p> </li> </ul> <p>Audio editado por Pablo Gómez, twitter: <a href="https://twitter.com/julebek">@julebek</a>.</p> <p>La música de la entrada y la salida es "Lightning Bugs", de Jason Shaw. Publicada en <a href="https://audionautix.com/">https://audionautix.com/</a> con licencia - <a href="https://audionautix.com/creative-commons-music">Creative Commons Attribution 4.0 International License</a>.</p> <ul> <li> <p><timestamp compact="1" offset="52" ts="52"><strong>[00:52]</strong><topic> "Vamos a ir cortando" es la entrada de Jesús Cea para que alguien proponga temas durante media hora más.</topic></timestamp></p> </li> <li> <p><timestamp compact="1" offset="52" ts="147"><strong>[02:27]</strong><topic> ¡Ha salido el primer podcast!: Python en español #7: ¡Metapodcast de relanzamiento! <a href="https://podcast.jcea.es/python/7">https://podcast.jcea.es/python/7</a>.</topic></timestamp></p> <ul> <li> <p>Plataformas de podcasting.</p> </li> <li> <p>No necesitas ninguna plataforma, puedes usar directamente el feed RSS <a href="https://es.wikipedia.org/wiki/Rss">https://es.wikipedia.org/wiki/Rss</a>.</p> </li> <li> <p>Funkwhale <a href="https://funkwhale.audio/">https://funkwhale.audio/</a>.</p> </li> <li> <p>toc2audio <a href="https://docs.jcea.es/toc2audio/">https://docs.jcea.es/toc2audio/</a>.</p> </li> <li> <p>Jesús Cea tiene su propia plataforma de podcasting, herramientas, etc. Quiere evitar la centralización a toda costa.</p> </li> </ul> </li> <li> <p><timestamp compact="1" offset="52" ts="457"><strong>[07:37]</strong><topic> Mercurial <a href="https://es.wikipedia.org/wiki/Mercurial">https://es.wikipedia.org/wiki/Mercurial</a> y Git <a href="https://es.wikipedia.org/wiki/Git">https://es.wikipedia.org/wiki/Git</a>.</topic></timestamp></p> <ul> <li> <p>En Mercurial <a href="https://es.wikipedia.org/wiki/Mercurial">https://es.wikipedia.org/wiki/Mercurial</a> es imposible modificar la historia.</p> </li> <li> <p>Es imposible hacer nada sofisticado en Git <a href="https://es.wikipedia.org/wiki/Git">https://es.wikipedia.org/wiki/Git</a> sin recurrir a Google.</p> </li> <li> <p>Mercurial - Filosofía y visión de alto nivel: <a href="https://www.jcea.es/artic/mercurial_madrid/">https://www.jcea.es/artic/mercurial_madrid/</a>.</p> </li> <li> <p>Bitbucket <a href="https://bitbucket.org/">https://bitbucket.org/</a> ya no soporta Mercurial.</p> </li> <li> <p>Hay alternativas pequeñitas. Por ejemplo, Heptapod <a href="https://heptapod.net/">https://heptapod.net/</a>.</p> <ul> <li>Más referencias en <a href="https://www.mercurial-scm.org/wiki/MercurialHosting">https://www.mercurial-scm.org/wiki/MercurialHosting</a>.</li> </ul> </li> <li> <p>¡Evita la centralización!</p> </li> <li> <p>Al final, el 99.9% de los proyectos de código abierto los mantienen los autores originales en exclusiva.</p> </li> <li> <p>Microsoft to acquire GitHub for $7.5 billion <a href="https://news.microsoft.com/2018/06/04/microsoft-to-acquire-github-for-7-5-billion/">https://news.microsoft.com/2018/06/04/microsoft-to-acquire-github-for-7-5-billion/</a>.</p> </li> <li> <p>¿Trabajar por visibilidad? Eso se cura con la edad.</p> </li> <li> <p>Mantener infraestructura propia tiene su coste, pero puedes pagar a alguien para que lo haga, promoviendo multitud de plataformas federadas en vez de centralizar internet más y más.</p> </li> <li> <p>En cada campo de internet, hay uno o dos ganadores y nadie más pinta nada. Jesús Cea se queja mucho de eso.</p> </li> </ul> </li> <li> <p><timestamp compact="1" offset="52" ts="1314"><strong>[21:54]</strong><topic> Herramientas de aprendizaje automático (Machine Learning) <a href="https://es.wikipedia.org/wiki/Aprendizaje_autom%C3%A1tico">https://es.wikipedia.org/wiki/Aprendizaje_autom%C3%A1tico</a>:</topic></timestamp></p> <ul> <li> <p>Diferencia entre aprendizaje automático "de toda la vida" y el aprendizaje con refuerzo <a href="https://es.wikipedia.org/wiki/Aprendizaje_por_refuerzo">https://es.wikipedia.org/wiki/Aprendizaje_por_refuerzo</a>.</p> </li> <li> <p>Redes neuronales: TensorFlow <a href="https://es.wikipedia.org/wiki/TensorFlow">https://es.wikipedia.org/wiki/TensorFlow</a> y Keras <a href="https://es.wikipedia.org/wiki/Keras">https://es.wikipedia.org/wiki/Keras</a>.</p> </li> <li> <p>Procesado de texto: NLTK <a href="https://es.wikipedia.org/wiki/NLTK">https://es.wikipedia.org/wiki/NLTK</a>.</p> </li> <li> <p>scikit-learn <a href="https://scikit-learn.org/stable/index.html">https://scikit-learn.org/stable/index.html</a>.</p> </li> <li> <p>Algunos libros:</p> <ul> <li> <p>Python Machine Learning - Second Edition: Machine Learning and Deep Learning with Python, scikit-learn, and TensorFlow <a href="https://www.amazon.es/Python-Machine-Learning-Sebastian-Raschka/dp/1787125939/">https://www.amazon.es/Python-Machine-Learning-Sebastian-Raschka/dp/1787125939/</a>. Hay versión en castellano.</p> </li> <li> <p>"TensorFlow en un dia" <a href="https://www.amazon.es/TensorFlow-Day-Neural-Network-English-ebook/dp/B07H474R7Q/">https://www.amazon.es/TensorFlow-Day-Neural-Network-English-ebook/dp/B07H474R7Q/</a>. Hay versión en castellano.</p> </li> <li> <p>Packt publica un libro gratis al día, muchos de aprendizaje automático: <a href="https://www.packtpub.com/free-learning">https://www.packtpub.com/free-learning</a>.</p> </li> </ul> </li> <li> <p>"Towards Data Science" <a href="https://towardsdatascience.com/">https://towardsdatascience.com/</a>.</p> <ul> <li>Medium <a href="https://medium.com/">https://medium.com/</a>. Otra plataforma centralizada de las que tanto molestan a Jesús Cea.</li> </ul> </li> <li> <p>Vídeos:</p> <ul> <li> <p>Dot CSV: <a href="https://www.youtube.com/channel/UCy5znSnfMsDwaLlROnZ7Qbg">https://www.youtube.com/channel/UCy5znSnfMsDwaLlROnZ7Qbg</a>.</p> <ul> <li>La IMPRESIONANTE Cancelación de Ruido de NVIDIA | Data Coffee #13 <a href="https://www.youtube.com/watch?v=d0g1EviDyWM">https://www.youtube.com/watch?v=d0g1EviDyWM</a>.</li> </ul> </li> </ul> </li> <li> <p>Slack <a href="https://slack.com/">https://slack.com/</a>. ¡Arggg, otra plataforma privada centralizada!:</p> <ul> <li>ML-Hispano <a href="https://machinelearninghispano.com/">https://machinelearninghispano.com/</a>.</li> </ul> </li> </ul> </li> <li> <p><timestamp compact="1" offset="52" ts="1832"><strong>[30:32]</strong><topic> PyConES 2021 <a href="https://2021.es.pycon.org/">https://2021.es.pycon.org/</a>. Llamada a ponencias.</topic></timestamp></p> </li> <li> <p><timestamp compact="1" offset="52" ts="1871"><strong>[31:11]</strong><topic> Incompatibilidad entre pydantic <a href="https://pypi.org/project/pydantic/">https://pypi.org/project/pydantic/</a> y Python 3.10: IMPORTANT: PEP 563, PEP 649 and the future of pydantic #2678 <a href="https://github.com/samuelcolvin/pydantic/issues/2678">https://github.com/samuelcolvin/pydantic/issues/2678</a>.</topic></timestamp></p> <ul> <li> <p>PEP 563 -- Postponed Evaluation of Annotations <a href="https://www.python.org/dev/peps/pep-0563/">https://www.python.org/dev/peps/pep-0563/</a>.</p> </li> <li> <p>Aún quedan meses para que se publique Python 3.10, se puede dar marcha atrás.</p> <ul> <li>Spoiler: Se dio marcha atrás temporalmente. Python 3.10 se publicará sin ese cambio polémico. En principio, Python 3.11 (octubre de 2022) sí incluirá ese cambio. Detalles: PEP 563 and Python 3.10 <a href="https://mail.python.org/archives/list/python-dev@python.org/thread/CLVXXPQ2T2LQ5MP2Y53VVQFCXYWQJHKZ/">https://mail.python.org/archives/list/python-dev@python.org/thread/CLVXXPQ2T2LQ5MP2Y53VVQFCXYWQJHKZ/</a>.</li> </ul> </li> </ul> </li> <li> <p><timestamp compact="1" offset="52" ts="2222"><strong>[37:02]</strong><topic> ¿Qué pensais del comportamiento actual, que ejecuta la anotación de tipos al importar un módulo?</topic></timestamp></p> <pre><code> >>> def pepe(): ... print('hola') ... >>> def perico(x:pepe()): ... pass ... hola </code></pre> </li> <li> <p><timestamp compact="1" offset="52" ts="2327"><strong>[38:47]</strong><topic> Más aclaraciones sobre Flit <a href="https://pypi.org/project/flit/">https://pypi.org/project/flit/</a> y PEP 621 -- Storing project metadata in pyproject.toml <a href="https://www.python.org/dev/peps/pep-0621/">https://www.python.org/dev/peps/pep-0621/</a>.</topic></timestamp></p> </li> <li> <p><timestamp compact="1" offset="52" ts="2414"><strong>[40:14]</strong><topic> Muchas erratas en las tertulias. Hay que fiarse más de las notas de los podcasts, que se elaboran con posterioridad.</topic></timestamp></p> <ul> <li> <p>¡Son charlas de bar! Conversaciones informales, sin investigación detallada.</p> </li> <li> <p>¿Publicar audios de fé de erratas?</p> </li> </ul> </li> <li> <p><timestamp compact="1" offset="52" ts="2707"><strong>[45:07]</strong><topic> Truquillo que puede ser útil a alguien, sobre todo al serializar objetos con ciertos protocolos que no soportan <code>True</code>/<code>False</code>:</topic></timestamp></p> <pre><code> >>> int(True) 1 >>> int(False) 0 >>> bool(0) False >>> bool(1) True </code></pre> </li> <li> <p><timestamp compact="1" offset="52" ts="2775"><strong>[46:15]</strong><topic> Extraer parámetros "keyword" de "**keywords", de forma automática.</topic></timestamp></p> <pre><code> >>> def a(pepe=5, **kwargs): ... print(pepe, kwargs) ... >>> a(5, siete=5) 5 {'siete': 5} </code></pre> <ul> <li> <p>Se explican algunos casos de uso.</p> </li> <li> <p>toc2audio <a href="https://docs.jcea.es/toc2audio/">https://docs.jcea.es/toc2audio/</a>.</p> </li> </ul> </li> <li> <p><timestamp compact="1" offset="52" ts="2982"><strong>[49:42]</strong><topic> Dataclasses <a href="https://docs.python.org/3/library/dataclasses.html">https://docs.python.org/3/library/dataclasses.html</a>.</topic></timestamp></p> <ul> <li> <p>PEP 557 -- Data Classes <a href="https://www.python.org/dev/peps/pep-0557/">https://www.python.org/dev/peps/pep-0557/</a>.</p> </li> <li> <p>Decoradores de clases: PEP 3129 -- Class Decorators <a href="https://www.python.org/dev/peps/pep-3129/">https://www.python.org/dev/peps/pep-3129/</a>.</p> </li> <li> <p>attrs <a href="https://pypi.org/project/attrs/">https://pypi.org/project/attrs/</a>.</p> </li> <li> <p>pydantic <a href="https://pypi.org/project/pydantic/">https://pypi.org/project/pydantic/</a>. Validación de tipos en tiempo de ejecución. Esta biblioteca se nombra en casi todas las tertulias.</p> </li> <li> <p>Mypy <a href="http://mypy-lang.org/">http://mypy-lang.org/</a>. Validación de tipos en tiempo de "testing" o integración continua.</p> </li> </ul> </li> <li> <p><timestamp compact="0" offset="52" ts="3672"><strong>[01:01:12]</strong><topic> Truco: "dar por cerrada la sesión" siempre abre temas nuevos:</topic></timestamp></p> <ul> <li> <p>Libro: Python avanzado en un fin de semana <a href="https://www.amazon.es/Python-avanzado-fin-semana-Aprende-ebook/dp/B08XLYC38D">https://www.amazon.es/Python-avanzado-fin-semana-Aprende-ebook/dp/B08XLYC38D</a>.</p> </li> <li> <p>Libro de iniciación: Aprende Python en un fin de semana <a href="https://www.amazon.es/Aprende-Python-en-fin-semana-ebook/dp/B07GXDXLYC/">https://www.amazon.es/Aprende-Python-en-fin-semana-ebook/dp/B07GXDXLYC/</a>.</p> </li> </ul> </li> <li> <p><timestamp compact="0" offset="52" ts="3830"><strong>[01:03:50]</strong><topic> GIL <a href="https://en.wikipedia.org/wiki/Global_interpreter_lock">https://en.wikipedia.org/wiki/Global_interpreter_lock</a>.</topic></timestamp></p> <ul> <li> <p>Aunque solo se pueda ejecutar un hilo simultaneamente, es ventajoso cuando hay hilos dominados por la entrada/salida.</p> </li> <li> <p>Multihilo <a href="https://es.wikipedia.org/wiki/Hilo_(inform%C3%A1tica)">https://es.wikipedia.org/wiki/Hilo_(inform%C3%A1tica)</a>.</p> </li> <li> <p>Ha habido muchos intentos de cargarse el GIL de Python, con poco éxito.</p> <ul> <li>PEP 554 -- Multiple Interpreters in the Stdlib <a href="https://www.python.org/dev/peps/pep-0554/">https://www.python.org/dev/peps/pep-0554/</a>.</li> </ul> </li> <li> <p>Ejemplos de beneficios de multihilo y de tener varias CPUs <a href="https://es.wikipedia.org/wiki/Unidad_central_de_procesamiento">https://es.wikipedia.org/wiki/Unidad_central_de_procesamiento</a> en Python, aún con el GIL actual.</p> </li> <li> <p>Charla de Jesús Cea en la PyConES 2018: GIL: Todo lo que quisiste saber y no te atreviste a preguntar <a href="https://www.youtube.com/watch?v=50eOwz9lek4">https://www.youtube.com/watch?v=50eOwz9lek4</a>.</p> </li> </ul> </li> <li> <p><timestamp compact="0" offset="52" ts="4947"><strong>[01:22:27]</strong><topic> Truco: "dar por cerrada la sesión" siempre abre temas nuevos (segunda parte):</topic></timestamp></p> <ul> <li>¿Ponerse deberes para que todos podamos aportar temas cada semana?</li> </ul> </li> <li> <p><timestamp compact="0" offset="52" ts="5072"><strong>[01:24:32]</strong><topic> Uso de IDEs <a href="https://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado">https://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado</a>.</topic></timestamp></p> <ul> <li> <p>Vim <a href="https://es.wikipedia.org/wiki/Vim">https://es.wikipedia.org/wiki/Vim</a>.</p> <ul> <li>Autocompletado: Languaje Server Protocol <a href="https://en.wikipedia.org/wiki/Language_Server_Protocol">https://en.wikipedia.org/wiki/Language_Server_Protocol</a>.</li> </ul> </li> <li> <p>Sublime Text <a href="https://www.sublimetext.com/">https://www.sublimetext.com/</a>.</p> </li> <li> <p>PyCharm <a href="https://www.jetbrains.com/pycharm/">https://www.jetbrains.com/pycharm/</a>.</p> </li> <li> <p>Eclipse <a href="https://www.eclipse.org/ide/">https://www.eclipse.org/ide/</a>.</p> </li> <li> <p>Automatizar cosas implica que puedes perder la capacidad de hacerlo "a mano", cuando lo necesites.</p> </li> <li> <p><timestamp compact="0" offset="52" ts="5682"><strong>[01:34:42]</strong><topic> Eduardo "no tiene casa" :-). Eduardo nos presenta a la "jefa".</topic></timestamp></p> </li> <li> <p>Se emplaza un futuro debate sobre IDEs <a href="https://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado">https://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado</a>.</p> </li> <li> <p>Inercia para cambiar. El coste de cambiar el evidente, y lo que puede no ser evidente es el beneficio de cambiar.</p> <ul> <li>Hace falta un mentor "al lado". Ver un caso de uso.</li> </ul> </li> <li> <p>"Intentar salir de vim". Fuente inagotable de memes <a href="https://es.wikipedia.org/wiki/Meme">https://es.wikipedia.org/wiki/Meme</a>.</p> </li> <li> <p>Módulo Mercurial que interactúa con GIT: hg-git <a href="https://pypi.org/project/hg-git/">https://pypi.org/project/hg-git/</a>.</p> </li> <li> <p>FTP <a href="https://es.wikipedia.org/wiki/Ftp">https://es.wikipedia.org/wiki/Ftp</a>.</p> </li> <li> <p>WebDAV: <a href="https://es.wikipedia.org/wiki/WebDAV">https://es.wikipedia.org/wiki/WebDAV</a>.</p> </li> <li> <p>Wing Python IDE: <a href="https://wingware.com/">https://wingware.com/</a>.</p> </li> <li> <p>El tiempo se va en pensar, no en picar código.</p> </li> <li> <p>También importa el perfil de código o proyecto concreto. Por ejemplo, puede haber mucha plantilla fácil de automatizar.</p> </li> </ul> </li> <li> <p><timestamp compact="0" offset="52" ts="6462"><strong>[01:47:42]</strong><topic> Truco: "dar por cerrada la sesión" siempre abre temas nuevos (tercera parte).</topic></timestamp></p> </li> <li> <p><timestamp compact="0" offset="52" ts="6480"><strong>[01:48:00]</strong><topic> Cierre:</topic></timestamp></p> <ul> <li> <p>Apuntarnos temas para traer a lo largo de la semana.</p> </li> <li> <p>Canal de Telegram <a href="https://t.me/joinchat/y__YXXQM6bg1MTQ0">https://t.me/joinchat/y__YXXQM6bg1MTQ0</a>.</p> </li> </ul> </li> <li> <p><timestamp compact="0" offset="52" ts="6567"><strong>[01:49:27]</strong><topic> Mejorar el sistema de grabación de la tertulia. Jitsi <a href="https://es.wikipedia.org/wiki/Jitsi">https://es.wikipedia.org/wiki/Jitsi</a>.</topic></timestamp></p> <ul> <li> <p>Jesús Cea explica cómo graba. Algo bizarro y que funciona casi de casualidad.</p> </li> <li> <p>Cuando Jesús Cea grababa podcasts <a href="https://es.wikipedia.org/wiki/P%C3%B3dcast">https://es.wikipedia.org/wiki/P%C3%B3dcast</a> con un grupo cerrado de gente, la grabación era local cada uno en su máquina. Cada uno grababa su micrófono local y la suma de todos los demás en dos canales distintos. Eso permite tener separación de canales para editar el sonido y, si alguien se olvida de ponerlo, su voz ha quedado grabada en remoto en todos los demás.</p> </li> <li> <p>ALSA <a href="https://en.wikipedia.org/wiki/Advanced_Linux_Sound_Architecture">https://en.wikipedia.org/wiki/Advanced_Linux_Sound_Architecture</a>.</p> </li> <li> <p>PulseAudio <a href="https://es.wikipedia.org/wiki/PulseAudio">https://es.wikipedia.org/wiki/PulseAudio</a>.</p> </li> <li> <p>PipeWire <a href="https://en.wikipedia.org/wiki/PipeWire">https://en.wikipedia.org/wiki/PipeWire</a>.</p> </li> <li> <p>Jesús Cea explica por qué no está usando esa tecnología en las tertulias.</p> </li> <li> <p>Jibri: Jitsi BRoadcast Infraestructure <a href="https://github.com/jitsi/jibri">https://github.com/jitsi/jibri</a>.</p> </li> <li> <p>aiortc <a href="https://pypi.org/project/aiortc/">https://pypi.org/project/aiortc/</a>.</p> <ul> <li>ICE (Interactive Connectivity Establishment): <a href="https://en.wikipedia.org/wiki/Interactive_Connectivity_Establishment">https://en.wikipedia.org/wiki/Interactive_Connectivity_Establishment</a>.</li> </ul> </li> <li> <p>Hay un montón de plataformas de grabación online, de pago. El problema habitual es el soporte de conexiones desde distintos dispositivos.</p> </li> </ul> </li> <li> <p><timestamp compact="0" offset="52" ts="7115"><strong>[01:58:35]</strong><topic> Despedida.</topic></timestamp></p> </li> <li> <p><timestamp compact="0" offset="52" ts="7155"><strong>[01:59:15]</strong><topic> Final.</topic></timestamp></p> </li> </ul>

June 29, 2021
Python en español #28: Tertulia 2021-04-13
Tener varias versiones de Python en el mismo ordenador, estado de Durus, su licencia y cómo funciona la persistencia de datos <a href="https://podcast.jcea.es/python/28">https://podcast.jcea.es/python/28</a> <p><p>Participantes:</p> <ul> <li> <p>Jesús Cea, email: <a href="mailto:jcea@jcea.es">jcea@jcea.es</a>, twitter: <a href="https://twitter.com/jcea">@jcea</a>, <a href="https://blog.jcea.es/">https://blog.jcea.es/</a>, <a href="https://www.jcea.es/">https://www.jcea.es/</a>. Conectando desde Madrid.</p> </li> <li> <p>Jesús, conectando desde Ferrol.</p> </li> <li> <p>Felipem, conectando desde Cantabria.</p> </li> <li> <p>Eduardo Castro, email: <a href="mailto:info@ecdesign.es">info@ecdesign.es</a>. Conectando desde A Guarda.</p> </li> <li> <p>Víctor Ramírez, twitter: <a href="https://twitter.com/virako">@virako</a>, programador python y amante de <a href="https://es.wikipedia.org/wiki/Vim">vim</a>, conectando desde Huelva.</p> </li> <li> <p>Sergio, conectando desde Vigo.</p> </li> <li> <p>Juan José, Nekmo, <a href="https://nekmo.com/">https://nekmo.com/</a>, <a href="https://github.com/Nekmo/">https://github.com/Nekmo/</a>. Madrileño conectando desde Málaga.</p> </li> <li> <p>Miguel Sánchez, email: <a href="msanchez@uninet.edu">msanchez@uninet.edu</a>, conectando desde Las Palmas.</p> </li> </ul> <p>Audio editado por Pablo Gómez, twitter: <a href="https://twitter.com/julebek">@julebek</a>.</p> <p>La música de la entrada y la salida es "Lightning Bugs", de Jason Shaw. Publicada en <a href="https://audionautix.com/">https://audionautix.com/</a> con licencia - <a href="https://audionautix.com/creative-commons-music">Creative Commons Attribution 4.0 International License</a>.</p> <ul> <li> <p><timestamp compact="1" offset="52" ts="52"><strong>[00:52]</strong><topic> Presentaciones.</topic></timestamp></p> </li> <li> <p><timestamp compact="1" offset="52" ts="227"><strong>[03:47]</strong><topic> Utilizar diferentes versiones de Python en el mismo ordenador.</topic></timestamp></p> <ul> <li> <p>Cada paquete instalado está vinculado a una instancia concreta de Python instalada en el sistema.</p> </li> <li> <p>Nunca hacer <code>pip install</code>, sino indicar la versión: <code>pip3.9 install</code>.</p> </li> <li> <p>A la hora de instalar paquetes Python en la versión nativa del sistema operativo, se puede usar <code>pip</code> o bien el gestor de paquetes del sistema operativo. Mezclar ambas es una receta para el desastre.</p> </li> </ul> </li> <li> <p><timestamp compact="1" offset="52" ts="997"><strong>[16:37]</strong><topic> Un problema de los paquetes precompilados ("wheels" <a href="https://www.python.org/dev/peps/pep-0427/">https://www.python.org/dev/peps/pep-0427/</a>) es que no se suelen precompilar de forma retroactiva para la última versión de Python que acaba de salir.</topic></timestamp></p> <ul> <li>No suelen estar disponibles hasta que sale una versión nueva del paquete, lo que puede tardar meses.</li> </ul> </li> <li> <p><timestamp compact="1" offset="52" ts="1192"><strong>[19:52]</strong><topic> ¿Bibliotecas para manejar imágenes, compatibles con PyPy <a href="https://www.pypy.org/">https://www.pypy.org/</a>?</topic></timestamp></p> <ul> <li>Numpy <a href="https://numpy.org/">https://numpy.org/</a> aún no funciona en PyPy <a href="https://www.pypy.org/">https://www.pypy.org/</a>.</li> </ul> </li> <li> <p><timestamp compact="1" offset="52" ts="1277"><strong>[21:17]</strong><topic> ¿Qué es PyPy <a href="https://www.pypy.org/">https://www.pypy.org/</a> exactamente?</topic></timestamp></p> <ul> <li> <p>Jit: Compilación al vuelo <a href="https://es.wikipedia.org/wiki/Compilaci%C3%B3n_en_tiempo_de_ejecuci%C3%B3n">https://es.wikipedia.org/wiki/Compilaci%C3%B3n_en_tiempo_de_ejecuci%C3%B3n</a>.</p> </li> <li> <p>Barrera de entrada muy grande para entrar en el proyecto. Curva de aprendizaje.</p> </li> <li> <p>Problemas con los módulos en C. No valoraron la importancia del ecosistema.</p> </li> <li> <p>HPy <a href="https://hpyproject.org/">https://hpyproject.org/</a>.</p> </li> </ul> </li> <li> <p><timestamp compact="1" offset="52" ts="1647"><strong>[27:27]</strong><topic> Experiencia de un par de semanas con Flit <a href="https://pypi.org/project/flit/">https://pypi.org/project/flit/</a>.</topic></timestamp></p> <ul> <li> <p>Jesús Cea lo está utilizando para publicar su biblioteca toc2audio <a href="https://docs.jcea.es/toc2audio/">https://docs.jcea.es/toc2audio/</a>.</p> </li> <li> <p>Herramienta propuesta en la charla "Python Packaging: Lo estás haciendo mal" <a href="https://www.youtube.com/watch?v=OeOtIEDFr4Y">https://www.youtube.com/watch?v=OeOtIEDFr4Y</a>, de Juan Luis Cano.</p> <ul> <li> <p><a href="https://github.com/astrojuanlu/charla-python-packaging">https://github.com/astrojuanlu/charla-python-packaging</a>.</p> </li> <li> <p><a href="https://nbviewer.jupyter.org/format/slides/github/astrojuanlu/charla-python-packaging/blob/main/Charla%20Python%20packaging.ipynb#/">https://nbviewer.jupyter.org/format/slides/github/astrojuanlu/charla-python-packaging/blob/main/Charla%20Python%20packaging.ipynb#/</a></p> </li> </ul> </li> <li> <p>PEP 621 -- Storing project metadata in pyproject.toml <a href="https://www.python.org/dev/peps/pep-0621/">https://www.python.org/dev/peps/pep-0621/</a>.</p> </li> <li> <p>Lo importante que es tener enlaces directos al "changelog" o a la documentación en PyPI <a href="https://pypi.org/">https://pypi.org/</a>.</p> </li> </ul> </li> <li> <p><timestamp compact="1" offset="52" ts="1892"><strong>[31:32]</strong><topic> Módulos de documentación. Carencias.</topic></timestamp></p> <ul> <li> <p>Docstrings.</p> </li> <li> <p>doctest <a href="https://docs.python.org/3/library/doctest.html">https://docs.python.org/3/library/doctest.html</a>.</p> </li> <li> <p>Sphinx <a href="https://pypi.org/project/Sphinx/">https://pypi.org/project/Sphinx/</a>.</p> <ul> <li><code>make html</code>.</li> </ul> </li> <li> <p>Tema eterno: Incluir una biblioteca en la biblioteca estándar o como biblioteca estándar.</p> </li> <li> <p>ReST: reStructuredText <a href="https://docutils.sourceforge.io/rst.html">https://docutils.sourceforge.io/rst.html</a>.</p> <ul> <li>PEP 287 -- reStructuredText Docstring Format <a href="https://www.python.org/dev/peps/pep-0287/">https://www.python.org/dev/peps/pep-0287/</a>.</li> </ul> </li> <li> <p>docutils: <a href="https://pypi.org/project/docutils/">https://pypi.org/project/docutils/</a>.</p> </li> </ul> </li> <li> <p><timestamp compact="1" offset="52" ts="2402"><strong>[40:02]</strong><topic> ¿Formato tertulia o preguntas y respuestas?</topic></timestamp></p> </li> <li> <p><timestamp compact="1" offset="52" ts="2482"><strong>[41:22]</strong><topic> Estado actual de Durus <a href="https://www.mems-exchange.org/software/DurusWorks/">https://www.mems-exchange.org/software/DurusWorks/</a> y comentarios variados sobre el sistema de persistencia.</topic></timestamp></p> <ul> <li> <p>Jesús Cea ha estado intentando conectar con los autores, con poco éxito.</p> </li> <li> <p>Jesús Cea tiene problemas con la licencia.</p> </li> <li> <p>¿Abandonar el proyecto y pasarse a ZODB <a href="https://zodb.org/en/latest/">https://zodb.org/en/latest/</a>?</p> </li> <li> <p>La gente está haciendo "forks" <a href="https://en.wikipedia.org/wiki/Fork_(software_development)">https://en.wikipedia.org/wiki/Fork_(software_development)</a> pasando olímpicamente de las licencias.</p> </li> <li> <p>Jesús Cea se está currando varios cambios de licencia en ciertos proyectos que le interesan, con muy poco éxito.</p> </li> <li> <p>ZOPE <a href="https://zopefoundation.github.io/Zope/">https://zopefoundation.github.io/Zope/</a>.</p> </li> <li> <p>COPYRIGHT ASSIGNMENT <a href="https://www.copylaw.com/forms/copyassn.html">https://www.copylaw.com/forms/copyassn.html</a>.</p> </li> </ul> </li> <li> <p><timestamp compact="1" offset="52" ts="3032"><strong>[50:32]</strong><topic> ¿Cómo funciona un sistema de persistencia?</topic></timestamp></p> <ul> <li> <p>Modelo completamente diferente a un ORM <a href="https://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping">https://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping</a>.</p> </li> <li> <p>SQL: <a href="https://en.wikipedia.org/wiki/SQL">https://en.wikipedia.org/wiki/SQL</a>.</p> </li> <li> <p>Working set: <a href="https://en.wikipedia.org/wiki/Working_set">https://en.wikipedia.org/wiki/Working_set</a>.</p> </li> </ul> </li> <li> <p><timestamp compact="1" offset="52" ts="3497"><strong>[58:17]</strong><topic> Volvemos al tema de licencias.</topic></timestamp></p> </li> <li> <p><timestamp compact="1" offset="52" ts="3592"><strong>[59:52]</strong><topic> Explícame esto: <a href="https://lists.es.python.org/pipermail/general/2021-April/003476.html">https://lists.es.python.org/pipermail/general/2021-April/003476.html</a>.</topic></timestamp></p> <pre><code> Creamos un fichero "a.py" con el contenido: def x(): print('X') Creamos otro fichero "b.py" con el contenido: import a class clase: x = a.x def p(self): print(self.x) self.x() if __name__ == '__main__': a.x() b = clase() b.p() Ejecutas "b.py" y me explicas por qué sale lo que sale :-). </code></pre> </li> <li> <p><timestamp compact="0" offset="52" ts="3822"><strong>[01:03:42]</strong><topic> A la gente le encanta que le "piquen".</topic></timestamp></p> </li> <li> <p><timestamp compact="0" offset="52" ts="3832"><strong>[01:03:52]</strong><topic> Las versiones actuales de Python ya han integrado el parche del "memory leak" que se habló en navidades.</topic></timestamp></p> <ul> <li>bpo-35930: Raising an exception raised in a "future" instance will create reference cycles #24995 <a href="https://github.com/python/cpython/pull/24995">https://github.com/python/cpython/pull/24995</a>.</li> </ul> </li> <li> <p><timestamp compact="0" offset="52" ts="3862"><strong>[01:04:22]</strong><topic> Llamada a ponencias de la PyConES <a href="https://2021.es.pycon.org/">https://2021.es.pycon.org/</a>.</topic></timestamp></p> </li> <li> <p><timestamp compact="0" offset="52" ts="3922"><strong>[01:05:22]</strong><topic> Volvemos al reto en <a href="https://lists.es.python.org/pipermail/general/2021-April/003476.html">https://lists.es.python.org/pipermail/general/2021-April/003476.html</a>.</topic></timestamp></p> <ul> <li> <p>Pista: los métodos son descriptores: <a href="https://docs.python.org/3/howto/descriptor.html">https://docs.python.org/3/howto/descriptor.html</a>.</p> </li> <li> <p>Bound method: <a href="https://www.geeksforgeeks.org/bound-methods-python/">https://www.geeksforgeeks.org/bound-methods-python/</a>.</p> </li> <li> <p>Métodos estáticos: <a href="https://pythonbasics.org/static-method/">https://pythonbasics.org/static-method/</a>.</p> </li> <li> <p>No se ha entendido nada porque ha habido numerosos cortes de sonido. El tema está bastante mejor explicado y se entiende en, por ejemplo, From Function to Method <a href="https://wiki.python.org/moin/FromFunctionToMethod">https://wiki.python.org/moin/FromFunctionToMethod</a>.</p> </li> </ul> </li> <li> <p><timestamp compact="0" offset="52" ts="4202"><strong>[01:10:02]</strong><topic> Atributos de función. PEP 232 -- Function Attributes <a href="https://www.python.org/dev/peps/pep-0232/">https://www.python.org/dev/peps/pep-0232/</a>.</topic></timestamp></p> <ul> <li>Se pueden meter atributos a un método, pero se hace a nivel de clase, no de instancia, porque los métodos pertenecen a la clase, no a la instancia:<pre><code>class clase: def p(self): clase.p.hola = 78 >>> x=clase() >>> x.p() >>> x.p.hola 78 >>> y=clase() >>> a.p.hola 78 >>> clase.p.hola 78 </code></pre> </li> </ul> </li> <li> <p><timestamp compact="0" offset="52" ts="4482"><strong>[01:14:42]</strong><topic> Notas de las grabaciones, temas futuros y enviar temas con algún tiempo previo a la tertulia si requieren pensar.</topic></timestamp></p> </li> <li> <p><timestamp compact="0" offset="52" ts="4566"><strong>[01:16:06]</strong><topic> Final.</topic></timestamp></p> </li> </ul>

June 19, 2021
Python en español #27: Tertulia 2021-04-06
Flit, estilos de código, reducir no es optimizar, muchas opiniones sobre cómo documentar software y minutos sobre el audio de las tertulias y su inminente publicación <a href="https://podcast.jcea.es/python/27">https://podcast.jcea.es/python/27</a> <p><p>Participantes:</p> <ul> <li> <p>Jesús Cea, email: <a href="mailto:jcea@jcea.es">jcea@jcea.es</a>, twitter: <a href="https://twitter.com/jcea">@jcea</a>, <a href="https://blog.jcea.es/">https://blog.jcea.es/</a>, <a href="https://www.jcea.es/">https://www.jcea.es/</a>. Conectando desde Madrid.</p> </li> <li> <p>Eduardo Castro, email: <a href="mailto:info@ecdesign.es">info@ecdesign.es</a>. Conectando desde A Guarda.</p> </li> <li> <p>Víctor Ramírez, twitter: <a href="https://twitter.com/virako">@virako</a>, programador python y amante de <a href="https://es.wikipedia.org/wiki/Vim">vim</a>, conectando desde Huelva.</p> </li> <li> <p>Javier, conectando desde Madrid.</p> </li> </ul> <p>Audio editado por Pablo Gómez, twitter: <a href="https://twitter.com/julebek">@julebek</a>.</p> <p>La música de la entrada y la salida es "Lightning Bugs", de Jason Shaw. Publicada en <a href="https://audionautix.com/">https://audionautix.com/</a> con licencia - <a href="https://audionautix.com/creative-commons-music">Creative Commons Attribution 4.0 International License</a>.</p> <ul> <li> <p><timestamp compact="1" offset="52" ts="52"><strong>[00:52]</strong><topic> Prólogo y comentarios sobre la calidad del audio en las grabaciones.</topic></timestamp></p> <ul> <li> <p>Auriculares para evitar pedir demasiado al sistema de cancelación de eco, sobre todo si la sala tiene reverberación.</p> </li> <li> <p>¡Manos fuera del teclado!</p> </li> </ul> </li> <li> <p><timestamp compact="1" offset="52" ts="212"><strong>[03:32]</strong><topic> Consejos que ha dado Pablo Gómez para mejorar nuestras grabaciones.</topic></timestamp></p> </li> <li> <p><timestamp compact="1" offset="52" ts="292"><strong>[04:52]</strong><topic> Cómo conecta y graba las tertulias Jesús Cea.</topic></timestamp></p> </li> <li> <p><timestamp compact="1" offset="52" ts="382"><strong>[06:22]</strong><topic> Publicación inminente de las tertulias.</topic></timestamp></p> <ul> <li>toc2audio <a href="https://docs.jcea.es/toc2audio/">https://docs.jcea.es/toc2audio/</a>.</li> </ul> </li> <li> <p><timestamp compact="1" offset="52" ts="442"><strong>[07:22]</strong><topic> Revisamos el micro de Jesús Cea y sus roces con la ropa en tiempo real. Fue muy entretenido.</topic></timestamp></p> </li> <li> <p><timestamp compact="1" offset="52" ts="572"><strong>[09:32]</strong><topic> Repaso de la tertulia pasada.</topic></timestamp></p> <ul> <li> <p>toc2audio <a href="https://docs.jcea.es/toc2audio/">https://docs.jcea.es/toc2audio/</a> usa Flit <a href="https://pypi.org/project/flit/">https://pypi.org/project/flit/</a>.</p> </li> <li> <p>Erratas de lo que se dijo la tertulia pasada sobre Flit <a href="https://pypi.org/project/flit/">https://pypi.org/project/flit/</a>.</p> </li> </ul> </li> <li> <p><timestamp compact="1" offset="52" ts="680"><strong>[11:20]</strong><topic> ¿Cómo se añaden comandos nuevos al sistema en MS Windows (en Python, claro)?</topic></timestamp></p> </li> <li> <p><timestamp compact="1" offset="52" ts="1072"><strong>[17:52]</strong><topic> La nota legal de rigor y presentación de los tertulianos.</topic></timestamp></p> </li> <li> <p><timestamp compact="1" offset="52" ts="1167"><strong>[19:27]</strong><topic> Revisión estética de "Python en Español" <a href="https://podcast.jcea.es/python/">https://podcast.jcea.es/python/</a>. ¿Algún voluntario?</topic></timestamp></p> </li> <li> <p><timestamp compact="1" offset="52" ts="1252"><strong>[20:52]</strong><topic> Más sobre Flit <a href="https://pypi.org/project/flit/">https://pypi.org/project/flit/</a></topic></timestamp></p> <ul> <li>Problemas con los namespaces (PEP 420 -- Implicit Namespace Packages <a href="https://www.python.org/dev/peps/pep-0420/">https://www.python.org/dev/peps/pep-0420/</a>).</li> </ul> </li> <li> <p><timestamp compact="1" offset="52" ts="1302"><strong>[21:42]</strong><topic> Estilo de código. La mayor parte del código abierto lo mantiene una sola persona. Tener una cultura común de código abierto ayuda. PEP 8 <a href="https://pep8.org/">https://pep8.org/</a>.</topic></timestamp></p> </li> <li> <p><timestamp compact="1" offset="52" ts="1484"><strong>[24:44]</strong><topic> Mejor explícito que implícito.</topic></timestamp></p> <ul> <li> <p>"from X import Y as Z".</p> </li> <li> <p>Cuidado con las microoptimizaciones.</p> </li> <li> <p>Reducir no es optimizar, necesariamente.</p> </li> <li> <p>Comentarios obvios sin utilidad.</p> </li> <li> <p>Los comentarios deben explicar el contexto, no lo que puedes ver directamente en el código.</p> </li> <li> <p>Ejemplos de comentarios inútiles.</p> </li> <li> <p>Metacomentarios:</p> <ul> <li> <p>Linter <a href="https://es.wikipedia.org/wiki/Lint">https://es.wikipedia.org/wiki/Lint</a>.</p> </li> <li> <p>Vim <a href="https://es.wikipedia.org/wiki/Vim">https://es.wikipedia.org/wiki/Vim</a>.</p> </li> </ul> </li> </ul> </li> <li> <p><timestamp compact="1" offset="52" ts="3332"><strong>[55:32]</strong><topic> Temas de actualidad.</topic></timestamp></p> <ul> <li> <p>Nuevas versiones (fallidas) de Python 3.8 y 3.9.</p> </li> <li> <p>Última alpha de Python 3.10.</p> </li> <li> <p>Caída de PyPI <a href="https://pypi.org/">https://pypi.org/</a>: PyPI Unavailable : <a href="https://status.python.org/incidents/rw171ylf8jw3">https://status.python.org/incidents/rw171ylf8jw3</a>.</p> </li> </ul> </li> <li> <p><timestamp compact="1" offset="52" ts="3447"><strong>[57:27]</strong><topic> Rarezas Python.</topic></timestamp></p> <ul> <li> <p>What does this print, #1: <a href="https://blog.kevmod.com/2014/06/what-does-this-print-1/">https://blog.kevmod.com/2014/06/what-does-this-print-1/</a>.</p> </li> <li> <p>Depende de la implementación.</p> </li> <li> <p>Da pistas de cómo funciona la implementación Python por dentro.</p> </li> <li> <p>Hay muchas ambigüedades en las implementaciones de Python. Hay muchas reglas implícitas no documentadas.</p> </li> </ul> </li> <li> <p><timestamp compact="0" offset="52" ts="3652"><strong>[01:00:52]</strong><topic> Uso de variables globales.</topic></timestamp></p> <ul> <li> <p>Condiciones de carrera: <a href="https://es.wikipedia.org/wiki/Condici%C3%B3n_de_carrera">https://es.wikipedia.org/wiki/Condici%C3%B3n_de_carrera</a>.</p> </li> <li> <p>Conflictos entre múltiples instancias o múltiples hilos.</p> </li> <li> <p>Patrón de diseño "singleton" <a href="https://es.wikipedia.org/wiki/Singleton">https://es.wikipedia.org/wiki/Singleton</a>.</p> </li> <li> <p>¿Qué es una variable global?</p> </li> <li> <p>"Contextvars": <a href="https://docs.python.org/3/library/contextvars.html">https://docs.python.org/3/library/contextvars.html</a>.</p> <ul> <li>Jesús Cea amenaza con usar "Contextvars" <a href="https://docs.python.org/3/library/contextvars.html">https://docs.python.org/3/library/contextvars.html</a> en su proyecto "toc2audio" <a href="https://docs.jcea.es/toc2audio/">https://docs.jcea.es/toc2audio/</a> por pura chulería.</li> </ul> </li> <li> <p>"Closures": <a href="https://es.wikipedia.org/wiki/Clausura_(inform%C3%A1tica)">https://es.wikipedia.org/wiki/Clausura_(inform%C3%A1tica)</a>.</p> </li> </ul> </li> <li> <p><timestamp compact="0" offset="52" ts="4082"><strong>[01:08:02]</strong><topic> ¿Cómo se hacen pruebas con "closures" <a href="https://es.wikipedia.org/wiki/Clausura_(inform%C3%A1tica)">https://es.wikipedia.org/wiki/Clausura_(inform%C3%A1tica)</a> o decoradores sofisticados?</topic></timestamp></p> <ul> <li> <p>¿Los tests unitarios están sobrevalorados?</p> </li> <li> <p>¿Concentrarse en tests funcionales?</p> </li> <li> <p>Mock: unittest.mock <a href="https://docs.python.org/3/library/unittest.mock.html">https://docs.python.org/3/library/unittest.mock.html</a>.</p> </li> <li> <p>Tests unitarios cuando se solucionan bugs, para evitar regresiones.</p> </li> <li> <p>Al refactorizar <a href="https://es.wikipedia.org/wiki/Refactorizar">https://es.wikipedia.org/wiki/Refactorizar</a> el código, hay que refractorizar tanto el código como los tests unitarios.</p> </li> <li> <p>Inyección de dependencias <a href="https://es.wikipedia.org/wiki/Inyecci%C3%B3n_de_dependencias">https://es.wikipedia.org/wiki/Inyecci%C3%B3n_de_dependencias</a>.</p> </li> </ul> </li> <li> <p><timestamp compact="0" offset="52" ts="4387"><strong>[01:13:07]</strong><topic> Algunos comentarios sobre "Machete Mode": <a href="https://nedbatchelder.com/blog/202103/machete_mode_tagging_frames.html">https://nedbatchelder.com/blog/202103/machete_mode_tagging_frames.html</a>.</topic></timestamp></p> </li> <li> <p><timestamp compact="0" offset="52" ts="4494"><strong>[01:14:54]</strong><topic> Detalles de la grabación e ideas de mejora.</topic></timestamp></p> <ul> <li> <p>Jesús Cea se ha pasado la tertulia sujetando el micro con la mano y Eduardo no ha metido ruido de teclado.</p> </li> <li> <p>Jesús Cea tiene "ideas" de cómo grabar mejor. ¡Peligro!</p> </li> <li> <p>Plataformas de grabación online.</p> </li> <li> <p>El problema del cocktail: <a href="https://en.wikipedia.org/wiki/Signal_separation?wprov=srpw1_4#Cocktail_party_problem">https://en.wikipedia.org/wiki/Signal_separation?wprov=srpw1_4#Cocktail_party_problem</a>.</p> </li> <li> <p>Supresión de ruido: rnnoise <a href="https://jmvalin.ca/demo/rnnoise/">https://jmvalin.ca/demo/rnnoise/</a>.</p> </li> <li> <p>Cancelación de ruido espectacular de NVIDIA: <a href="https://www.youtube.com/watch?v=d0g1EviDyWM">https://www.youtube.com/watch?v=d0g1EviDyWM</a>.</p> </li> <li> <p>Pablo Gómez utiliza Ardour <a href="https://ardour.org/">https://ardour.org/</a> para editar los audios.</p> </li> <li> <p><timestamp compact="0" offset="52" ts="4972"><strong>[01:22:52]</strong><topic> <strong>PÉRDIDA DE SONIDO</strong>.</topic></timestamp></p> </li> </ul> </li> <li> <p><timestamp compact="0" offset="52" ts="4987"><strong>[01:23:07]</strong><topic> Enlace al canal de Telegram de la tertulia: <a href="https://t.me/joinchat/y__YXXQM6bg1MTQ0">https://t.me/joinchat/y__YXXQM6bg1MTQ0</a>.</topic></timestamp></p> <ul> <li> <p>A Jesús Cea no le gusta nada utilizar mensajería instantanea para cosas que se quieran conservar.</p> </li> <li> <p><timestamp compact="0" offset="52" ts="5042"><strong>[01:24:02]</strong><topic> <strong>PÉRDIDA DE SONIDO</strong>.</topic></timestamp></p> </li> </ul> </li> <li> <p><timestamp compact="0" offset="52" ts="5087"><strong>[01:24:47]</strong><topic> "Lo que se ha perdido ha sido la mejor conversación de la historia; lástima que no se haya grabado. La gente debería conectarse en directo a la tertulia para no perderse estas joyas". Es broma, ¿o no?. Muahahahaha :-).</topic></timestamp></p> </li> <li> <p><timestamp compact="0" offset="52" ts="5195"><strong>[01:26:35]</strong><topic> Final.</topic></timestamp></p> </li> </ul>
29 total episodes available
Deep-dive analytics for Python en español
Frequently asked questions
Have a different question and can't find the answer you're looking for? Reach out to our support team by sending us an email and we'll get back to you as soon as we can.
- What is Python en español?
- How often does this podcast release new episodes?
This podcast updates daily.
- Where can I listen to this podcast?
This podcast is available on 4 platforms including Apple Podcasts, Spotify, and more. You can also use the RSS feed directly.
- Does this podcast accept guests?
Yes, this podcast regularly features guests.
Legal Disclaimer
Pod Engine is not affiliated with, endorsed by, or officially connected with any of the podcasts displayed on this platform. We operate independently as a podcast discovery and analytics service.
All podcast artwork, thumbnails, and content displayed on this page are the property of their respective owners and are protected by applicable copyright laws. This includes, but is not limited to, podcast cover art, episode artwork, show descriptions, episode titles, transcripts, audio snippets, and any other content originating from the podcast creators or their licensors.
We display this content under fair use principles and/or implied license for the purpose of podcast discovery, information, and commentary. We make no claim of ownership over any podcast content, artwork, or related materials shown on this platform. All trademarks, service marks, and trade names are the property of their respective owners.
While we strive to ensure all content usage is properly authorized, if you are a rights holder and believe your content is being used inappropriately or without proper authorization, please contact us immediately at hey@podengine.ai for prompt review and appropriate action, which may include content removal or proper attribution.
By accessing and using this platform, you acknowledge and agree to respect all applicable copyright laws and intellectual property rights of content owners. Any unauthorized reproduction, distribution, or commercial use of the content displayed on this platform is strictly prohibited.
