Python en español

Python en español

By Jesús CeaTechnology
Download on the App Store

Python en español episodes

  • 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 https://podcast.jcea.es/python/29

    Participantes:

    • Jesús Cea, email: [email protected], twitter:

      @jcea, https://blog.jcea.es/,
      https://www.jcea.es/. Conectando desde Madrid.

    • Víctor Ramírez, twitter: @virako,

      programador python y amante de
      vim, conectando desde
      Huelva.

    • Felipem, conectando desde Cantabria.

    • Juan José, Nekmo, https://nekmo.com/,

      https://github.com/Nekmo/. Madrileño conectando desde Málaga.

    • Jesús, conectando desde Ferrol.

    • Eduardo Castro, email:

      [email protected]. Conectando desde A
      Guarda.

      Audio editado por Pablo Gómez, twitter:

      @julebek.

      La música de la entrada y la salida es "Lightning Bugs", de Jason

      Shaw. Publicada en https://audionautix.com/ con licencia
      - Creative Commons Attribution 4.0 International
      License.

      • [00:52] "Vamos a ir cortando" es la entrada de Jesús Cea para

        que alguien proponga temas durante media hora más.

      • [02:27] ¡Ha salido el primer podcast!: Python en español #7:

        ¡Metapodcast de relanzamiento!
        https://podcast.jcea.es/python/7.

        • Plataformas de podcasting.

        • No necesitas ninguna plataforma, puedes usar directamente el

          feed RSS https://es.wikipedia.org/wiki/Rss.

        • Funkwhale https://funkwhale.audio/.

        • toc2audio https://docs.jcea.es/toc2audio/.

        • Jesús Cea tiene su propia plataforma de podcasting,

          herramientas, etc. Quiere evitar la centralización a toda
          costa.

        • [07:37] Mercurial https://es.wikipedia.org/wiki/Mercurial y

          Git https://es.wikipedia.org/wiki/Git.

          • En Mercurial https://es.wikipedia.org/wiki/Mercurial es

            imposible modificar la historia.

          • Es imposible hacer nada sofisticado en Git

            https://es.wikipedia.org/wiki/Git sin recurrir a Google.

          • Mercurial - Filosofía y visión de alto nivel:

            https://www.jcea.es/artic/mercurial_madrid/.

          • Bitbucket https://bitbucket.org/ ya no soporta Mercurial.

          • Hay alternativas pequeñitas. Por ejemplo, Heptapod

            https://heptapod.net/.

            • Más referencias en
            • https://www.mercurial-scm.org/wiki/MercurialHosting.
            • ¡Evita la centralización!

            • Al final, el 99.9% de los proyectos de código abierto los

              mantienen los autores originales en exclusiva.

            • Microsoft to acquire GitHub for $7.5 billion

              https://news.microsoft.com/2018/06/04/microsoft-to-acquire-github-for-7-5-billion/.

            • ¿Trabajar por visibilidad? Eso se cura con la edad.

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

            • En cada campo de internet, hay uno o dos ganadores y nadie

              más pinta nada. Jesús Cea se queja mucho de eso.

            • [21:54] Herramientas de aprendizaje automático (Machine

              Learning)
              https://es.wikipedia.org/wiki/Aprendizaje_autom%C3%A1tico:

              • Diferencia entre aprendizaje automático "de toda la vida" y

                el aprendizaje con refuerzo
                https://es.wikipedia.org/wiki/Aprendizaje_por_refuerzo.

              • Redes neuronales: TensorFlow

                https://es.wikipedia.org/wiki/TensorFlow y Keras
                https://es.wikipedia.org/wiki/Keras.

              • Procesado de texto: NLTK

                https://es.wikipedia.org/wiki/NLTK.

              • scikit-learn https://scikit-learn.org/stable/index.html.

              • Algunos libros:

                • Python Machine Learning - Second Edition: Machine

                  Learning and Deep Learning with Python, scikit-learn,
                  and TensorFlow
                  https://www.amazon.es/Python-Machine-Learning-Sebastian-Raschka/dp/1787125939/.
                  Hay versión en castellano.

                • "TensorFlow en un dia"

                  https://www.amazon.es/TensorFlow-Day-Neural-Network-English-ebook/dp/B07H474R7Q/.
                  Hay versión en castellano.

                • Packt publica un libro gratis al día, muchos de

                  aprendizaje automático:
                  https://www.packtpub.com/free-learning.

                • "Towards Data Science" https://towardsdatascience.com/.

                  • Medium https://medium.com/. Otra plataforma
                  • centralizada de las que tanto molestan a Jesús Cea.
                  • Vídeos:

                    • Dot CSV:

                      https://www.youtube.com/channel/UCy5znSnfMsDwaLlROnZ7Qbg.

                      • La IMPRESIONANTE Cancelación de Ruido de NVIDIA |
                      • Data Coffee #13
                        https://www.youtube.com/watch?v=d0g1EviDyWM.
                      • Slack https://slack.com/. ¡Arggg, otra plataforma privada

                        centralizada!:

                        • ML-Hispano https://machinelearninghispano.com/.
                        • [30:32] PyConES 2021 https://2021.es.pycon.org/. Llamada a

                          ponencias.

                        • [31:11] Incompatibilidad entre pydantic

                          https://pypi.org/project/pydantic/ y Python
                          3.10: IMPORTANT: PEP 563, PEP 649 and the future of pydantic
                          #2678 https://github.com/samuelcolvin/pydantic/issues/2678.

                          • PEP 563 -- Postponed Evaluation of Annotations

                            https://www.python.org/dev/peps/pep-0563/.

                          • Aún quedan meses para que se publique Python 3.10, se puede

                            dar marcha atrás.

                            • 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
                              https://mail.python.org/archives/list/[email protected]/thread/CLVXXPQ2T2LQ5MP2Y53VVQFCXYWQJHKZ/.
                            • [37:02] ¿Qué pensais del comportamiento actual, que ejecuta la

                              anotación de tipos al importar un módulo?

                              >>> def pepe():
                              ... print('hola')
                              ...
                              >>> def perico(x:pepe()):
                              ... pass
                              ...
                              hola
                            • [38:47] Más aclaraciones sobre Flit

                              https://pypi.org/project/flit/ y PEP 621 -- Storing project
                              metadata in pyproject.toml
                              https://www.python.org/dev/peps/pep-0621/.

                            • [40:14] Muchas erratas en las tertulias. Hay que fiarse más de

                              las notas de los podcasts, que se elaboran con posterioridad.

                              • ¡Son charlas de bar! Conversaciones informales, sin

                                investigación detallada.

                              • ¿Publicar audios de fé de erratas?

                              • [45:07] Truquillo que puede ser útil a alguien, sobre todo al

                                serializar objetos con ciertos protocolos que no soportan
                                True/False:

                                >>> int(True)
                                1
                                >>> int(False)
                                0
                                >>> bool(0)
                                False
                                >>> bool(1)
                                True
                              • [46:15] Extraer parámetros "keyword" de "**keywords", de forma

                                automática.

                                >>> def a(pepe=5, **kwargs):
                                ... print(pepe, kwargs)
                                ...
                                >>> a(5, siete=5)
                                5 {'siete': 5}
                                • Se explican algunos casos de uso.

                                • toc2audio https://docs.jcea.es/toc2audio/.

                                • [49:42] Dataclasses

                                  https://docs.python.org/3/library/dataclasses.html.

                                  • PEP 557 -- Data Classes

                                    https://www.python.org/dev/peps/pep-0557/.

                                  • Decoradores de clases: PEP 3129 -- Class Decorators

                                    https://www.python.org/dev/peps/pep-3129/.

                                  • attrs https://pypi.org/project/attrs/.

                                  • pydantic https://pypi.org/project/pydantic/. Validación de

                                    tipos en tiempo de ejecución. Esta biblioteca se nombra en
                                    casi todas las tertulias.

                                  • Mypy http://mypy-lang.org/. Validación de tipos en tiempo

                                    de "testing" o integración continua.

                                  • [01:01:12] Truco: "dar por cerrada la sesión" siempre abre temas

                                    nuevos:

                                    • Libro: Python avanzado en un fin de semana

                                      https://www.amazon.es/Python-avanzado-fin-semana-Aprende-ebook/dp/B08XLYC38D.

                                    • Libro de iniciación: Aprende Python en un fin de semana

                                      https://www.amazon.es/Aprende-Python-en-fin-semana-ebook/dp/B07GXDXLYC/.

                                    • [01:03:50] GIL

                                      https://en.wikipedia.org/wiki/Global_interpreter_lock.

                                      • Aunque solo se pueda ejecutar un hilo simultaneamente, es

                                        ventajoso cuando hay hilos dominados por la entrada/salida.

                                      • Multihilo

                                        https://es.wikipedia.org/wiki/Hilo_(inform%C3%A1tica).

                                      • Ha habido muchos intentos de cargarse el GIL de Python, con

                                        poco éxito.

                                        • PEP 554 -- Multiple Interpreters in the Stdlib
                                        • https://www.python.org/dev/peps/pep-0554/.
                                        • Ejemplos de beneficios de multihilo y de tener varias CPUs

                                          https://es.wikipedia.org/wiki/Unidad_central_de_procesamiento
                                          en Python, aún con el GIL actual.

                                        • Charla de Jesús Cea en la PyConES 2018: GIL: Todo lo que

                                          quisiste saber y no te atreviste a preguntar
                                          https://www.youtube.com/watch?v=50eOwz9lek4.

                                        • [01:22:27] Truco: "dar por cerrada la sesión" siempre abre temas

                                          nuevos (segunda parte):

                                          • ¿Ponerse deberes para que todos podamos aportar temas cada
                                          • semana?
                                          • [01:24:32] Uso de IDEs

                                            https://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado.

                                            • Vim https://es.wikipedia.org/wiki/Vim.

                                              • Autocompletado: Languaje Server Protocol
                                              • https://en.wikipedia.org/wiki/Language_Server_Protocol.
                                              • Sublime Text https://www.sublimetext.com/.

                                              • PyCharm https://www.jetbrains.com/pycharm/.

                                              • Eclipse https://www.eclipse.org/ide/.

                                              • Automatizar cosas implica que puedes perder la capacidad de

                                                hacerlo "a mano", cuando lo necesites.

                                              • [01:34:42] Eduardo "no tiene casa" :-). Eduardo nos presenta

                                                a la "jefa".

                                              • Se emplaza un futuro debate sobre IDEs

                                                https://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado.

                                              • Inercia para cambiar. El coste de cambiar el evidente, y lo

                                                que puede no ser evidente es el beneficio de cambiar.

                                                • Hace falta un mentor "al lado". Ver un caso de uso.
                                                • "Intentar salir de vim". Fuente inagotable de memes

                                                  https://es.wikipedia.org/wiki/Meme.

                                                • Módulo Mercurial que interactúa con GIT: hg-git

                                                  https://pypi.org/project/hg-git/.

                                                • FTP https://es.wikipedia.org/wiki/Ftp.

                                                • WebDAV: https://es.wikipedia.org/wiki/WebDAV.

                                                • Wing Python IDE: https://wingware.com/.

                                                • El tiempo se va en pensar, no en picar código.

                                                • También importa el perfil de código o proyecto concreto. Por

                                                  ejemplo, puede haber mucha plantilla fácil de automatizar.

                                                • [01:47:42] Truco: "dar por cerrada la sesión" siempre abre temas

                                                  nuevos (tercera parte).

                                                • [01:48:00] Cierre:

                                                  • Apuntarnos temas para traer a lo largo de la semana.

                                                  • Canal de Telegram https://t.me/joinchat/y__YXXQM6bg1MTQ0.

                                                  • [01:49:27] Mejorar el sistema de grabación de la tertulia. Jitsi

                                                    https://es.wikipedia.org/wiki/Jitsi.

                                                    • Jesús Cea explica cómo graba. Algo bizarro y que

                                                      funciona casi de casualidad.

                                                    • Cuando Jesús Cea grababa podcasts

                                                      https://es.wikipedia.org/wiki/P%C3%B3dcast 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.

                                                    • ALSA

                                                      https://en.wikipedia.org/wiki/Advanced_Linux_Sound_Architecture.

                                                    • PulseAudio https://es.wikipedia.org/wiki/PulseAudio.

                                                    • PipeWire https://en.wikipedia.org/wiki/PipeWire.

                                                    • Jesús Cea explica por qué no está usando esa tecnología

                                                      en las tertulias.

                                                    • Jibri: Jitsi BRoadcast Infraestructure

                                                      https://github.com/jitsi/jibri.

                                                    • aiortc https://pypi.org/project/aiortc/.

                                                      • ICE (Interactive Connectivity Establishment):
                                                      • https://en.wikipedia.org/wiki/Interactive_Connectivity_Establishment.
                                                      • Hay un montón de plataformas de grabación online, de pago.

                                                        El problema habitual es el soporte de conexiones desde
                                                        distintos dispositivos.

                                                      • [01:58:35] Despedida.

                                                      • [01:59:15] Final.

                                                        2 hr 1 min
                                                      • 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 https://podcast.jcea.es/python/28

                                                        Participantes:

                                                        • Jesús Cea, email: [email protected], twitter:

                                                          @jcea, https://blog.jcea.es/,
                                                          https://www.jcea.es/. Conectando desde Madrid.

                                                        • Jesús, conectando desde Ferrol.

                                                        • Felipem, conectando desde Cantabria.

                                                        • Eduardo Castro, email:

                                                          [email protected]. Conectando desde A
                                                          Guarda.

                                                        • Víctor Ramírez, twitter: @virako,

                                                          programador python y amante de
                                                          vim, conectando desde
                                                          Huelva.

                                                        • Sergio, conectando desde Vigo.

                                                        • Juan José, Nekmo, https://nekmo.com/,

                                                          https://github.com/Nekmo/. Madrileño conectando desde Málaga.

                                                        • Miguel Sánchez, email:

                                                          [email protected], conectando desde
                                                          Las Palmas.

                                                          Audio editado por Pablo Gómez, twitter:

                                                          @julebek.

                                                          La música de la entrada y la salida es "Lightning Bugs", de Jason

                                                          Shaw. Publicada en https://audionautix.com/ con licencia
                                                          - Creative Commons Attribution 4.0 International
                                                          License.

                                                          • [00:52] Presentaciones.

                                                          • [03:47] Utilizar diferentes versiones de Python en el mismo

                                                            ordenador.

                                                            • Cada paquete instalado está vinculado a una instancia

                                                              concreta de Python instalada en el sistema.

                                                            • Nunca hacer pip install, sino indicar la versión: pip3.9

                                                              install.

                                                            • A la hora de instalar paquetes Python en la versión nativa

                                                              del sistema operativo, se puede usar pip o bien el gestor
                                                              de paquetes del sistema operativo. Mezclar ambas es una
                                                              receta para el desastre.

                                                            • [16:37] Un problema de los paquetes precompilados ("wheels"

                                                              https://www.python.org/dev/peps/pep-0427/) es que no se suelen
                                                              precompilar de forma retroactiva para la última versión de
                                                              Python que acaba de salir.

                                                              • No suelen estar disponibles hasta que sale una versión nueva
                                                              • del paquete, lo que puede tardar meses.
                                                              • [19:52] ¿Bibliotecas para manejar imágenes, compatibles con PyPy

                                                                https://www.pypy.org/?

                                                                • Numpy https://numpy.org/ aún no funciona en PyPy
                                                                • https://www.pypy.org/.
                                                                • [21:17] ¿Qué es PyPy https://www.pypy.org/ exactamente?

                                                                  • Jit: Compilación al vuelo

                                                                    https://es.wikipedia.org/wiki/Compilaci%C3%B3n_en_tiempo_de_ejecuci%C3%B3n.

                                                                  • Barrera de entrada muy grande para entrar en el proyecto.

                                                                    Curva de aprendizaje.

                                                                  • Problemas con los módulos en C. No valoraron la

                                                                    importancia del ecosistema.

                                                                  • HPy https://hpyproject.org/.

                                                                  • [27:27] Experiencia de un par de semanas con Flit

                                                                    https://pypi.org/project/flit/.

                                                                    • Jesús Cea lo está utilizando para publicar su biblioteca

                                                                      toc2audio https://docs.jcea.es/toc2audio/.

                                                                    • Herramienta propuesta en la charla "Python Packaging: Lo

                                                                      estás haciendo mal"
                                                                      https://www.youtube.com/watch?v=OeOtIEDFr4Y, de Juan Luis
                                                                      Cano.

                                                                      • https://github.com/astrojuanlu/charla-python-packaging.

                                                                      • https://nbviewer.jupyter.org/format/slides/github/astrojuanlu/charla-python-packaging/blob/main/Charla%20Python%20packaging.ipynb#/

                                                                      • PEP 621 -- Storing project metadata in pyproject.toml

                                                                        https://www.python.org/dev/peps/pep-0621/.

                                                                      • Lo importante que es tener enlaces directos al "changelog" o

                                                                        a la documentación en PyPI https://pypi.org/.

                                                                      • [31:32] Módulos de documentación. Carencias.

                                                                        • Docstrings.

                                                                        • doctest

                                                                          https://docs.python.org/3/library/doctest.html.

                                                                        • Sphinx https://pypi.org/project/Sphinx/.

                                                                          • make html.
                                                                          • Tema eterno: Incluir una biblioteca en la biblioteca

                                                                            estándar o como biblioteca estándar.

                                                                          • ReST: reStructuredText

                                                                            https://docutils.sourceforge.io/rst.html.

                                                                            • PEP 287 -- reStructuredText Docstring Format
                                                                            • https://www.python.org/dev/peps/pep-0287/.
                                                                            • docutils: https://pypi.org/project/docutils/.

                                                                            • [40:02] ¿Formato tertulia o preguntas y respuestas?

                                                                            • [41:22] Estado actual de Durus

                                                                              https://www.mems-exchange.org/software/DurusWorks/ y
                                                                              comentarios variados sobre el sistema de persistencia.

                                                                              • Jesús Cea ha estado intentando conectar con los autores, con

                                                                                poco éxito.

                                                                              • Jesús Cea tiene problemas con la licencia.

                                                                              • ¿Abandonar el proyecto y pasarse a ZODB

                                                                                https://zodb.org/en/latest/?

                                                                              • La gente está haciendo "forks"

                                                                                https://en.wikipedia.org/wiki/Fork_(software_development)
                                                                                pasando olímpicamente de las licencias.

                                                                              • Jesús Cea se está currando varios cambios de licencia en

                                                                                ciertos proyectos que le interesan, con muy poco éxito.

                                                                              • ZOPE https://zopefoundation.github.io/Zope/.

                                                                              • COPYRIGHT ASSIGNMENT

                                                                                https://www.copylaw.com/forms/copyassn.html.

                                                                              • [50:32] ¿Cómo funciona un sistema de persistencia?

                                                                                • Modelo completamente diferente a un ORM

                                                                                  https://en.wikipedia.org/wiki/Object%E2%80%93relational_mapping.

                                                                                • SQL: https://en.wikipedia.org/wiki/SQL.

                                                                                • Working set: https://en.wikipedia.org/wiki/Working_set.

                                                                                • [58:17] Volvemos al tema de licencias.

                                                                                • [59:52] Explícame esto:

                                                                                  https://lists.es.python.org/pipermail/general/2021-April/003476.html.

                                                                                  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 :-).
                                                                                • [01:03:42] A la gente le encanta que le "piquen".

                                                                                • [01:03:52] Las versiones actuales de Python ya han integrado el

                                                                                  parche del "memory leak" que se habló en navidades.

                                                                                  • bpo-35930: Raising an exception raised in a "future"
                                                                                  • instance will create reference cycles #24995
                                                                                    https://github.com/python/cpython/pull/24995.
                                                                                  • [01:04:22] Llamada a ponencias de la PyConES

                                                                                    https://2021.es.pycon.org/.

                                                                                  • [01:05:22] Volvemos al reto en

                                                                                    https://lists.es.python.org/pipermail/general/2021-April/003476.html.

                                                                                    • Pista: los métodos son descriptores:

                                                                                      https://docs.python.org/3/howto/descriptor.html.

                                                                                    • Bound method:

                                                                                      https://www.geeksforgeeks.org/bound-methods-python/.

                                                                                    • Métodos estáticos:

                                                                                      https://pythonbasics.org/static-method/.

                                                                                    • 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
                                                                                      https://wiki.python.org/moin/FromFunctionToMethod.

                                                                                    • [01:10:02] Atributos de función. PEP 232 -- Function Attributes

                                                                                      https://www.python.org/dev/peps/pep-0232/.

                                                                                      • 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: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
                                                                                      • [01:14:42] Notas de las grabaciones, temas futuros y enviar

                                                                                        temas con algún tiempo previo a la tertulia si requieren pensar.

                                                                                      • [01:16:06] Final.

                                                                                        1 hr 17 min
                                                                                      • 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 https://podcast.jcea.es/python/27

                                                                                        Participantes:

                                                                                        • Jesús Cea, email: [email protected], twitter:

                                                                                          @jcea, https://blog.jcea.es/,
                                                                                          https://www.jcea.es/. Conectando desde Madrid.

                                                                                        • Eduardo Castro, email:

                                                                                          [email protected]. Conectando desde A
                                                                                          Guarda.

                                                                                        • Víctor Ramírez, twitter: @virako,

                                                                                          programador python y amante de
                                                                                          vim, conectando desde
                                                                                          Huelva.

                                                                                        • Javier, conectando desde Madrid.

                                                                                          Audio editado por Pablo Gómez, twitter:

                                                                                          @julebek.

                                                                                          La música de la entrada y la salida es "Lightning Bugs", de Jason

                                                                                          Shaw. Publicada en https://audionautix.com/ con licencia
                                                                                          - Creative Commons Attribution 4.0 International
                                                                                          License.

                                                                                          • [00:52] Prólogo y comentarios sobre la calidad del audio en las

                                                                                            grabaciones.

                                                                                            • Auriculares para evitar pedir demasiado al sistema de

                                                                                              cancelación de eco, sobre todo si la sala tiene
                                                                                              reverberación.

                                                                                            • ¡Manos fuera del teclado!

                                                                                            • [03:32] Consejos que ha dado Pablo Gómez para mejorar nuestras

                                                                                              grabaciones.

                                                                                            • [04:52] Cómo conecta y graba las tertulias Jesús Cea.

                                                                                            • [06:22] Publicación inminente de las tertulias.

                                                                                              • toc2audio https://docs.jcea.es/toc2audio/.
                                                                                              • [07:22] Revisamos el micro de Jesús Cea y sus roces con la ropa

                                                                                                en tiempo real. Fue muy entretenido.

                                                                                              • [09:32] Repaso de la tertulia pasada.

                                                                                                • toc2audio https://docs.jcea.es/toc2audio/ usa Flit

                                                                                                  https://pypi.org/project/flit/.

                                                                                                • Erratas de lo que se dijo la tertulia pasada sobre Flit

                                                                                                  https://pypi.org/project/flit/.

                                                                                                • [11:20] ¿Cómo se añaden comandos nuevos al sistema en MS

                                                                                                  Windows (en Python, claro)?

                                                                                                • [17:52] La nota legal de rigor y presentación de los tertulianos.

                                                                                                • [19:27] Revisión estética de "Python en Español"

                                                                                                  https://podcast.jcea.es/python/. ¿Algún voluntario?

                                                                                                • [20:52] Más sobre Flit https://pypi.org/project/flit/

                                                                                                  • Problemas con los namespaces (PEP 420 -- Implicit Namespace
                                                                                                  • Packages https://www.python.org/dev/peps/pep-0420/).
                                                                                                  • [21:42] 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 https://pep8.org/.

                                                                                                  • [24:44] Mejor explícito que implícito.

                                                                                                    • "from X import Y as Z".

                                                                                                    • Cuidado con las microoptimizaciones.

                                                                                                    • Reducir no es optimizar, necesariamente.

                                                                                                    • Comentarios obvios sin utilidad.

                                                                                                    • Los comentarios deben explicar el contexto, no lo que puedes

                                                                                                      ver directamente en el código.

                                                                                                    • Ejemplos de comentarios inútiles.

                                                                                                    • Metacomentarios:

                                                                                                      • Linter https://es.wikipedia.org/wiki/Lint.

                                                                                                      • Vim https://es.wikipedia.org/wiki/Vim.

                                                                                                      • [55:32] Temas de actualidad.

                                                                                                        • Nuevas versiones (fallidas) de Python 3.8 y 3.9.

                                                                                                        • Última alpha de Python 3.10.

                                                                                                        • Caída de PyPI https://pypi.org/: PyPI Unavailable :

                                                                                                          https://status.python.org/incidents/rw171ylf8jw3.

                                                                                                        • [57:27] Rarezas Python.

                                                                                                          • What does this print, #1:

                                                                                                            https://blog.kevmod.com/2014/06/what-does-this-print-1/.

                                                                                                          • Depende de la implementación.

                                                                                                          • Da pistas de cómo funciona la implementación Python por

                                                                                                            dentro.

                                                                                                          • Hay muchas ambigüedades en las implementaciones de Python.

                                                                                                            Hay muchas reglas implícitas no documentadas.

                                                                                                          • [01:00:52] Uso de variables globales.

                                                                                                            • Condiciones de carrera:

                                                                                                              https://es.wikipedia.org/wiki/Condici%C3%B3n_de_carrera.

                                                                                                            • Conflictos entre múltiples instancias o múltiples hilos.

                                                                                                            • Patrón de diseño "singleton"

                                                                                                              https://es.wikipedia.org/wiki/Singleton.

                                                                                                            • ¿Qué es una variable global?

                                                                                                            • "Contextvars":

                                                                                                              https://docs.python.org/3/library/contextvars.html.

                                                                                                              • Jesús Cea amenaza con usar "Contextvars"
                                                                                                              • https://docs.python.org/3/library/contextvars.html en
                                                                                                                su proyecto "toc2audio"
                                                                                                                https://docs.jcea.es/toc2audio/ por pura chulería.
                                                                                                              • "Closures":

                                                                                                                https://es.wikipedia.org/wiki/Clausura_(inform%C3%A1tica).

                                                                                                              • [01:08:02] ¿Cómo se hacen pruebas con "closures"

                                                                                                                https://es.wikipedia.org/wiki/Clausura_(inform%C3%A1tica) o
                                                                                                                decoradores sofisticados?

                                                                                                                • ¿Los tests unitarios están sobrevalorados?

                                                                                                                • ¿Concentrarse en tests funcionales?

                                                                                                                • Mock: unittest.mock

                                                                                                                  https://docs.python.org/3/library/unittest.mock.html.

                                                                                                                • Tests unitarios cuando se solucionan bugs, para evitar

                                                                                                                  regresiones.

                                                                                                                • Al refactorizar https://es.wikipedia.org/wiki/Refactorizar

                                                                                                                  el código, hay que refractorizar tanto el código como los
                                                                                                                  tests unitarios.

                                                                                                                • Inyección de dependencias

                                                                                                                  https://es.wikipedia.org/wiki/Inyecci%C3%B3n_de_dependencias.

                                                                                                                • [01:13:07] Algunos comentarios sobre "Machete Mode":

                                                                                                                  https://nedbatchelder.com/blog/202103/machete_mode_tagging_frames.html.

                                                                                                                • [01:14:54] Detalles de la grabación e ideas de mejora.

                                                                                                                  • Jesús Cea se ha pasado la tertulia sujetando el micro con la

                                                                                                                    mano y Eduardo no ha metido ruido de teclado.

                                                                                                                  • Jesús Cea tiene "ideas" de cómo grabar mejor. ¡Peligro!

                                                                                                                  • Plataformas de grabación online.

                                                                                                                  • El problema del cocktail:

                                                                                                                    https://en.wikipedia.org/wiki/Signal_separation?wprov=srpw1_4#Cocktail_party_problem.

                                                                                                                  • Supresión de ruido: rnnoise

                                                                                                                    https://jmvalin.ca/demo/rnnoise/.

                                                                                                                  • Cancelación de ruido espectacular de NVIDIA:

                                                                                                                    https://www.youtube.com/watch?v=d0g1EviDyWM.

                                                                                                                  • Pablo Gómez utiliza Ardour https://ardour.org/ para editar

                                                                                                                    los audios.

                                                                                                                  • [01:22:52] PÉRDIDA DE SONIDO.

                                                                                                                  • [01:23:07] Enlace al canal de Telegram de la tertulia:

                                                                                                                    https://t.me/joinchat/y__YXXQM6bg1MTQ0.

                                                                                                                    • A Jesús Cea no le gusta nada utilizar mensajería instantanea

                                                                                                                      para cosas que se quieran conservar.

                                                                                                                    • [01:24:02] PÉRDIDA DE SONIDO.

                                                                                                                    • [01:24:47] "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 :-).

                                                                                                                    • [01:26:35] Final.

                                                                                                                      1 hr 28 min
                                                                                                                    • Python en español #26: Tertulia 2021-03-30
                                                                                                                      Diseccionamos la charla de Juan Luis Cano "Python Packaging: Lo estás haciendo mal" y mucho DevOps https://podcast.jcea.es/python/26

                                                                                                                      Este audio tiene mucho ruido producido por el roce del micrófono

                                                                                                                      de Jesús Cea en la ropa.

                                                                                                                      Participantes:

                                                                                                                      • Jesús Cea, email: [email protected], twitter:

                                                                                                                        @jcea, https://blog.jcea.es/,
                                                                                                                        https://www.jcea.es/. Conectando desde Madrid.

                                                                                                                      • Felipem, conectando desde Cantabria.

                                                                                                                      • Víctor Ramírez, twitter: @virako,

                                                                                                                        programador python y amante de
                                                                                                                        vim, conectando desde
                                                                                                                        Huelva.

                                                                                                                      • Javier, conectando desde Madrid.

                                                                                                                        Audio editado por Pablo Gómez, twitter:

                                                                                                                        @julebek.

                                                                                                                        La música de la entrada y la salida es "Lightning Bugs", de Jason

                                                                                                                        Shaw. Publicada en https://audionautix.com/ con licencia
                                                                                                                        - Creative Commons Attribution 4.0 International
                                                                                                                        License.

                                                                                                                        • [00:50] Preludio.

                                                                                                                          • Hay que automatizarlo todo, y lo que no se puede

                                                                                                                            automatizar, se documenta.

                                                                                                                          • Detalles de calidad de grabación.

                                                                                                                          • Lo que falta para publicar los audios.

                                                                                                                            • toc2audio https://docs.jcea.es/toc2audio/.
                                                                                                                            • La publicación de audios es inminente.

                                                                                                                            • Diversas plataformas de podcast

                                                                                                                              https://es.wikipedia.org/wiki/Podcasting.

                                                                                                                              • Spotify https://es.wikipedia.org/wiki/Spotify.

                                                                                                                              • ¿Y publicar en Youtube?

                                                                                                                              • Estadísticas de descarga.

                                                                                                                              • [08:20] Autonomía digital.

                                                                                                                              • ¡Muerte al MP3! https://es.wikipedia.org/wiki/MP3

                                                                                                                              • [10:20] Jesús Cea se queja de que la encuesta de programadores

                                                                                                                                de Python no es sobre Python.

                                                                                                                                • Python Developers Survey 2020 Results
                                                                                                                                • https://www.jetbrains.com/lp/python-developers-survey-2020/
                                                                                                                                • [11:55] Python Packaging: Lo estás haciendo mal

                                                                                                                                  https://www.youtube.com/watch?v=OeOtIEDFr4Y.

                                                                                                                                  • https://github.com/astrojuanlu/charla-python-packaging.

                                                                                                                                  • https://nbviewer.jupyter.org/format/slides/github/astrojuanlu/charla-python-packaging/blob/main/Charla%20Python%20packaging.ipynb#/

                                                                                                                                  • La charla ha gustado bastante en general.

                                                                                                                                  • Flit https://pypi.org/project/flit/.

                                                                                                                                  • Mucha documentación online está anticuada. Viene bien una

                                                                                                                                    lista de "buenas prácticas" actualizadas.

                                                                                                                                  • El peso del "legado" anticuado.

                                                                                                                                  • El ecosistema se está moviendo muy rápido.

                                                                                                                                  • Buenas prácticas: https://packaging.python.org/. Esperemos

                                                                                                                                    que alguien mantenga eso actualizado.

                                                                                                                                  • PEP 621 -- Storing project metadata in pyproject.toml

                                                                                                                                    https://www.python.org/dev/peps/pep-0621/.

                                                                                                                                  • Pecado que Jesús Cea comete constantemente: ¡instalar

                                                                                                                                    paquetes a nivel de sistema operativo!. No le da problemas
                                                                                                                                    porque hace tantas barbaridades que se cancelan unas a
                                                                                                                                    otras. ¡Tú mejor que sigas las recomendaciones de Juan Luis
                                                                                                                                    Cano https://twitter.com/juanluisback!

                                                                                                                                  • pipenv es el mal https://pypi.org/project/pipenv/.

                                                                                                                                  • pip-tools https://pypi.org/project/pip-tools/.

                                                                                                                                    • pip-compile.
                                                                                                                                    • pipdeptree https://pypi.org/project/pipdeptree/.

                                                                                                                                    • [35:28] A la hora de fijar dependencias, no es lo mismo

                                                                                                                                      bibliotecas que aplicaciones.

                                                                                                                                      • [40:58] ¿Estar a la última o actualizar cuando no hay más

                                                                                                                                        remedio?

                                                                                                                                      • ¡Tests de integración!

                                                                                                                                        https://es.wikipedia.org/wiki/Prueba_de_integraci%C3%B3n

                                                                                                                                      • [45:15] Un 100% de cobertura de código no garantiza que se

                                                                                                                                        ejecuten todos los estados del código.

                                                                                                                                      • [49:10] Tests de mutaciones

                                                                                                                                        https://es.wikipedia.org/wiki/Prueba_de_mutaci%C3%B3n.

                                                                                                                                        • hypothesis https://pypi.org/project/hypothesis/.

                                                                                                                                        • mutant https://pypi.org/project/mutant/.

                                                                                                                                        • [50:50] Flit https://pypi.org/project/flit/.

                                                                                                                                          • PEP 420 -- Implicit Namespace Packages

                                                                                                                                            https://www.python.org/dev/peps/pep-0420/.

                                                                                                                                          • PEP 621 -- Storing project metadata in pyproject.toml

                                                                                                                                            https://www.python.org/dev/peps/pep-0621/.

                                                                                                                                          • [55:35] PEP 427 -- The Wheel Binary Package Format 1.0

                                                                                                                                            https://www.python.org/dev/peps/pep-0427/.

                                                                                                                                            • Conda: https://docs.conda.io/en/latest/.

                                                                                                                                            • Problemas para que los Wheel soporten las nuevas versiones

                                                                                                                                              de Python.

                                                                                                                                              Cuando sale una nueva versión de Python, suele ser

                                                                                                                                              necesario esperar para tener soporte Wheels de los
                                                                                                                                              paquetes que nos interesan.

                                                                                                                                            • ELF (Executable and Linkable Format):

                                                                                                                                              https://en.wikipedia.org/wiki/Executable_and_Linkable_Format.

                                                                                                                                            • [01:03:10] ¿Alguien usando un sistema operativo viejo va a

                                                                                                                                              instalar una versión moderna de Python?

                                                                                                                                              • Si puedes instalar Python desde código fuente, seguro

                                                                                                                                                que puedes compilar mi librería desde código fuente
                                                                                                                                                también.

                                                                                                                                              • Ojo con los paquetes binarios avanzados en CPUs

                                                                                                                                                antiguas.

                                                                                                                                                • SSE:

                                                                                                                                                  https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions.

                                                                                                                                                • cmov:

                                                                                                                                                  https://en.wikipedia.org/wiki/Predication_(computer_architecture)#History.

                                                                                                                                                • [01:10:48] Docker

                                                                                                                                                  https://es.wikipedia.org/wiki/Docker_(software).

                                                                                                                                                  • [01:11:20] Réplicas locales de PyPI https://pypi.org/ y

                                                                                                                                                    PyPI privados.

                                                                                                                                                  • [01:14:45] ccache https://ccache.dev/.

                                                                                                                                                  • Ansible: https://es.wikipedia.org/wiki/Ansible_(software).

                                                                                                                                                  • [01:18:58] HPy https://hpyproject.org/.

                                                                                                                                                  • [01:20:10] ¿Proponer temas esotéricos? ¿Mandar deberes?

                                                                                                                                                  • [01:21:05] Más sobre HPy https://hpyproject.org/.

                                                                                                                                                    • API alternativa para módulos Python en C.

                                                                                                                                                      https://es.wikipedia.org/wiki/Interfaz_de_programaci%C3%B3n_de_aplicaciones.

                                                                                                                                                    • Permite generar un Wheel

                                                                                                                                                      https://www.python.org/dev/peps/pep-0427/ que funciona en
                                                                                                                                                      varias versiones de Python.

                                                                                                                                                    • Buen rendimiento tanto en CPython como en PyPy

                                                                                                                                                      https://www.pypy.org/.

                                                                                                                                                    • Posible API

                                                                                                                                                      https://es.wikipedia.org/wiki/Interfaz_de_programaci%C3%B3n_de_aplicaciones
                                                                                                                                                      futuro para CPython.

                                                                                                                                                    • [01:29:02] Ayuda para adecentar la página web de los podcasts:

                                                                                                                                                      https://podcast.jcea.es/python/.

                                                                                                                                                      • La publicación de los audios es inminente.

                                                                                                                                                      • Reusaremos el podcast "Python en español"

                                                                                                                                                        https://podcast.jcea.es/python/. He pedido permiso a mis
                                                                                                                                                        antiguos compañeros.

                                                                                                                                                      • CSS:

                                                                                                                                                        https://es.wikipedia.org/wiki/Hoja_de_estilos_en_cascada.

                                                                                                                                                      • Hay tanto retraso en la publicación que cualquier

                                                                                                                                                        "feedback" tardará en salir y en notarse sus efectos.

                                                                                                                                                      • [01:35:10] Canal de Telegram de coordinación:

                                                                                                                                                        https://t.me/joinchat/y__YXXQM6bg1MTQ0.

                                                                                                                                                      • [01:36:10] Machete Mode

                                                                                                                                                        https://nedbatchelder.com/blog/202103/machete_mode_tagging_frames.html.

                                                                                                                                                        • Usarlo para depurar un bug.

                                                                                                                                                        • Pena de muerte en producción.

                                                                                                                                                        • Ideas locas: James Powell https://twitter.com/dontusethiscode.

                                                                                                                                                        • Conocimiento íntimo del lenguaje y de su implementación.

                                                                                                                                                          • Javier disfruta dando charlas de temas profundos y
                                                                                                                                                          • esotéricos.
                                                                                                                                                          • [01:42:30] El parche de Memory Leak ya se ha integrado el

                                                                                                                                                            Python.

                                                                                                                                                            • bpo-35930: Raising an exception raised in a "future"
                                                                                                                                                            • instance will create reference cycles #24995
                                                                                                                                                              https://github.com/python/cpython/pull/24995.
                                                                                                                                                            • [01:43:30] Despedida y deberes futuros.

                                                                                                                                                              • Security funding & NYU

                                                                                                                                                                https://discuss.python.org/t/new-packaging-security-funding-nyu/7792.

                                                                                                                                                              • TUF (The Update Framework) https://theupdateframework.io/.

                                                                                                                                                              • PEP 458 -- Secure PyPI downloads with signed repository

                                                                                                                                                                metadata https://www.python.org/dev/peps/pep-0458/.

                                                                                                                                                              • PEP 480 -- Surviving a Compromise of PyPI: End-to-end

                                                                                                                                                                signing of packages
                                                                                                                                                                https://www.python.org/dev/peps/pep-0480/.

                                                                                                                                                              • En honor a Eduardo, que no se ha conectado hoy, metemos

                                                                                                                                                                ruido de teclado para que nuestro editor Pablo no lo eche de
                                                                                                                                                                menos.

                                                                                                                                                              • [01:48:20] Final.

                                                                                                                                                                1 hr 50 min
                                                                                                                                                              • Python en español #25: Tertulia 2021-03-23
                                                                                                                                                                Pattern Matching en Python 3.10, Sans IO y Encuesta mundial de programadores Python https://podcast.jcea.es/python/25

                                                                                                                                                                Participantes:

                                                                                                                                                                • Jesús Cea, email: [email protected], twitter:

                                                                                                                                                                  @jcea, https://blog.jcea.es/,
                                                                                                                                                                  https://www.jcea.es/. Conectando desde Madrid.

                                                                                                                                                                • Felipem, conectando desde Cantabria.

                                                                                                                                                                • Jesús, conectando desde Ferrol.

                                                                                                                                                                • Víctor Ramírez, twitter: @virako,

                                                                                                                                                                  programador python y amante de
                                                                                                                                                                  vim, conectando desde
                                                                                                                                                                  Huelva.

                                                                                                                                                                • Eduardo Castro, email:

                                                                                                                                                                  [email protected]. Conectando desde A
                                                                                                                                                                  Guarda.

                                                                                                                                                                  Audio editado por Pablo Gómez, twitter:

                                                                                                                                                                  @julebek.

                                                                                                                                                                  La música de la entrada y la salida es "Lightning Bugs", de Jason

                                                                                                                                                                  Shaw. Publicada en https://audionautix.com/ con licencia
                                                                                                                                                                  - Creative Commons Attribution 4.0 International
                                                                                                                                                                  License.

                                                                                                                                                                  • [00:52] Advertencia de que el audio tiene lagunas y puede ser

                                                                                                                                                                    difícil seguir el hilo.

                                                                                                                                                                  • [01:07] Conecta gente nueva y cambio de horario.

                                                                                                                                                                    • ¡Queremos que las tertulias sean más cortas!
                                                                                                                                                                    • [04:57] Python 3.10: ¿Mandar y cómo mandar deberes?

                                                                                                                                                                      • ¿Probar las novedades cuando se anuncian o esperar a que
                                                                                                                                                                      • entren en producción?
                                                                                                                                                                      • [08:19] Presentaciones.

                                                                                                                                                                      • [10:32] Jesús Cea ha enviado ya el parche para el bug que se

                                                                                                                                                                        discutió en navidades: Issue35930: Raising an exception raised
                                                                                                                                                                        in a "future" instance will create reference cycles
                                                                                                                                                                        https://bugs.python.org/issue35930.

                                                                                                                                                                      • [11:12] Los que se autodenominan novatos también tienen mucho

                                                                                                                                                                        que aportar.

                                                                                                                                                                      • [12:21] Unpacking en bucles for: PEP 3132 -- Extended Iterable

                                                                                                                                                                        Unpacking: https://www.python.org/dev/peps/pep-3132/.

                                                                                                                                                                        • Busca en Internet: "Python tuple unpacking".

                                                                                                                                                                        • PEP 448 -- Additional Unpacking Generalizations:

                                                                                                                                                                          https://www.python.org/dev/peps/pep-0448/.

                                                                                                                                                                        • [15:57] Python Packaging: Lo estás haciendo mal

                                                                                                                                                                          https://www.youtube.com/watch?v=OeOtIEDFr4Y.

                                                                                                                                                                          • https://github.com/astrojuanlu/charla-python-packaging.

                                                                                                                                                                          • https://nbviewer.jupyter.org/format/slides/github/astrojuanlu/charla-python-packaging/blob/main/Charla%20Python%20packaging.ipynb#/

                                                                                                                                                                          • [18:07] Machete Mode:

                                                                                                                                                                            https://nedbatchelder.com/blog/202103/machete_mode_tagging_frames.html.

                                                                                                                                                                          • [18:42] Pattern Matching en Python 3.10:

                                                                                                                                                                            • PEP 622 -- Structural Pattern Matching

                                                                                                                                                                              https://www.python.org/dev/peps/pep-0622/.

                                                                                                                                                                            • PEP 634 -- Structural Pattern Matching: Specification

                                                                                                                                                                              https://www.python.org/dev/peps/pep-0634/.

                                                                                                                                                                            • PEP 635 -- Structural Pattern Matching: Motivation and

                                                                                                                                                                              Rationale https://www.python.org/dev/peps/pep-0635/.

                                                                                                                                                                            • PEP 636 -- Structural Pattern Matching: Tutorial

                                                                                                                                                                              https://www.python.org/dev/peps/pep-0636/.

                                                                                                                                                                            • Tema recurrente: ¿Compensa complicar la sintaxis del

                                                                                                                                                                              lenguaje?

                                                                                                                                                                            • [22:27] ¡Combina todo eso con el Walrus operator (operador

                                                                                                                                                                              morsa)!: PEP 572 -- Assignment Expressions
                                                                                                                                                                              https://www.python.org/dev/peps/pep-0572/.

                                                                                                                                                                              • Presentación en vídeo: Pattern Matching in Python 3.10:
                                                                                                                                                                              • https://morioh.com/p/aa1e6d5352c3, minuto 8:47.
                                                                                                                                                                              • [24:32] Temas recurrentes de Jesús Cea: complejidad accidental

                                                                                                                                                                                del lenguaje. ¿Python ha perdido el rumbo?

                                                                                                                                                                                • Guido van Rossum

                                                                                                                                                                                  https://es.wikipedia.org/wiki/Guido_van_Rossum está
                                                                                                                                                                                  apoyando muchos cambios polémicos en Python.

                                                                                                                                                                                • El principio del fin fue la implementación de

                                                                                                                                                                                  async/await y dividir Python en dos mundos: síncrono y
                                                                                                                                                                                  asíncrono.

                                                                                                                                                                                • [27:02] Código que puede funcionar tanto en el mundo síncrono y

                                                                                                                                                                                  asíncrono.

                                                                                                                                                                                  • Biblioteca asyncio:

                                                                                                                                                                                    https://docs.python.org/3/library/asyncio.html.

                                                                                                                                                                                  • Biblioteca unsync: https://pypi.org/project/unsync/.

                                                                                                                                                                                  • inspect.iscoroutinefunction(object):

                                                                                                                                                                                    https://docs.python.org/3/library/inspect.html#inspect.iscoroutinefunction.

                                                                                                                                                                                  • inspect.iscoroutine(object):

                                                                                                                                                                                    https://docs.python.org/3/library/inspect.html#inspect.iscoroutine.

                                                                                                                                                                                  • inspect.isawaitable(object):

                                                                                                                                                                                    https://docs.python.org/3/library/inspect.html#inspect.isawaitable.

                                                                                                                                                                                  • inspect.isasyncgenfunction(object):

                                                                                                                                                                                    https://docs.python.org/3/library/inspect.html#inspect.isasyncgenfunction.

                                                                                                                                                                                  • inspect.isasyncgen(object):

                                                                                                                                                                                    https://docs.python.org/3/library/inspect.html.

                                                                                                                                                                                  • [29:12] Lo bueno de tener dificultad para mezclar el mundo

                                                                                                                                                                                    síncrono y el mundo asíncrono es que ha surgido un movimiento
                                                                                                                                                                                    para desvincular los protocolos del propio medio de
                                                                                                                                                                                    comunicación.

                                                                                                                                                                                    • Sans IO: https://sans-io.readthedocs.io/.

                                                                                                                                                                                    • Máquina de estados:

                                                                                                                                                                                      https://es.wikipedia.org/wiki/M%C3%A1quina_de_estados.

                                                                                                                                                                                    • [33:15] How to write obfuscated python

                                                                                                                                                                                      https://archive.org/details/pyvideo_398___how-to-write-obfuscated-python.

                                                                                                                                                                                    • [33:52] Seguridad en PyPI https://pypi.org/: New packaging

                                                                                                                                                                                      security funding & NYU
                                                                                                                                                                                      https://discuss.python.org/t/new-packaging-security-funding-nyu/7792.

                                                                                                                                                                                      • PEP 458 -- Secure PyPI downloads with signed repository

                                                                                                                                                                                        metadata https://www.python.org/dev/peps/pep-0458/.

                                                                                                                                                                                      • Permite meter espejos de PyPI https://pypi.org/ sin tener

                                                                                                                                                                                        que confiar en ellos.

                                                                                                                                                                                      • [36:27] Encuesta mundial de programadores Python: Python

                                                                                                                                                                                        Developers Survey 2020 Results
                                                                                                                                                                                        https://www.jetbrains.com/lp/python-developers-survey-2020/.

                                                                                                                                                                                        Aquí no vamos a describir cada respuesta de la encuesta en las

                                                                                                                                                                                        notas de la tertulia, pero listamos puntos y enlaces que
                                                                                                                                                                                        pueden ser de interés.

                                                                                                                                                                                        • [40:32] Usar Python en el navegador web: Brython

                                                                                                                                                                                          http://www.brython.info/.

                                                                                                                                                                                          • [44:42] ¿No molaría poder mezclar código Python y

                                                                                                                                                                                            Javascript y poder llamarse mutuamente?

                                                                                                                                                                                          • [45:42] Precendente: Python y Java: Jython

                                                                                                                                                                                            https://www.jython.org/.

                                                                                                                                                                                            • WAR:
                                                                                                                                                                                            • https://en.wikipedia.org/wiki/WAR_(file_format).
                                                                                                                                                                                            • [47:42] Python soportado en los navegadores.

                                                                                                                                                                                              • PyXPCOM:

                                                                                                                                                                                                https://developer.mozilla.org/pl/docs/PyXPCOM.

                                                                                                                                                                                              • WebAssembly:

                                                                                                                                                                                                https://es.wikipedia.org/wiki/WebAssembly.

                                                                                                                                                                                              • asm.js: https://en.wikipedia.org/wiki/Asm.js.

                                                                                                                                                                                              • Emscripten: https://emscripten.org/.

                                                                                                                                                                                              • Javascript en javascript: Polyfill

                                                                                                                                                                                                https://en.wikipedia.org/wiki/Polyfill_(programming).

                                                                                                                                                                                              • Pyodide https://pyodide.org/en/stable/index.html.

                                                                                                                                                                                              • [59:37] Aún hay mucha documentación online sin actualizar,

                                                                                                                                                                                                con ejemplos en Python 2.

                                                                                                                                                                                              • [01:00:42] Corte de conexión. Se supone que había un más

                                                                                                                                                                                                gente grabando la tertulia, pero luego resultó que no.

                                                                                                                                                                                              • [01:04:12] pipenv https://pypi.org/project/pipenv/.

                                                                                                                                                                                              • [01:09:22] Las características deseadas de Python chocan

                                                                                                                                                                                                con lo que más se valora en él...

                                                                                                                                                                                              • [01:11:32] La documentación de FastAPI

                                                                                                                                                                                                https://fastapi.tiangolo.com/ es fantástica y puedes
                                                                                                                                                                                                aprender muchísimos conceptos web.

                                                                                                                                                                                                • REST:
                                                                                                                                                                                                • https://en.wikipedia.org/wiki/Representational_state_transfer.
                                                                                                                                                                                                • [01:18:07] Libro "Modern Tkinter for Busy Python Developers"

                                                                                                                                                                                                  https://tkdocs.com/book.html.

                                                                                                                                                                                                • [01:19:12] En la escuesta no salen librerías de generación

                                                                                                                                                                                                  de PDFs https://es.wikipedia.org/wiki/PDF. Se sugieren
                                                                                                                                                                                                  algunas:

                                                                                                                                                                                                  • Reportlab https://pypi.org/project/reportlab/.

                                                                                                                                                                                                  • PyPDF3 https://pypi.org/project/PyPDF3/.

                                                                                                                                                                                                  • weasyprint https://pypi.org/project/weasyprint/.

                                                                                                                                                                                                  • [01:21:52] No hay representación de tecnologías de

                                                                                                                                                                                                    persistencia de datos en los resultados de la encuesta.

                                                                                                                                                                                                  • [01:22:22] Tortoise ORM

                                                                                                                                                                                                    https://tortoise-orm.readthedocs.io/en/latest/index.html
                                                                                                                                                                                                    es asíncrona.

                                                                                                                                                                                                  • [01:22:47] SQLite https://sqlite.org/ es perfecta si

                                                                                                                                                                                                    quieres SQL https://es.wikipedia.org/wiki/SQL, pero solo
                                                                                                                                                                                                    hay un programa usando la base de datos.

                                                                                                                                                                                                  • [01:26:42] Map/Reduce

                                                                                                                                                                                                    https://es.wikipedia.org/wiki/MapReduce.

                                                                                                                                                                                                    • Manta: Triton's object storage and converged analytics
                                                                                                                                                                                                    • solution https://apidocs.joyent.com/manta/.
                                                                                                                                                                                                    • [01:27:32] Lo dejamos en la mitad de la encuesta:

                                                                                                                                                                                                      Technologies and Cloud.

                                                                                                                                                                                                    • [01:28:22] Intentamos coordinar el acceso a la segunda captura

                                                                                                                                                                                                      de audio de la tertulia. Lamentablemente la cosa no
                                                                                                                                                                                                      funcionó.

                                                                                                                                                                                                    • [01:29:22] Queda pendiente comentar cómo va la publicación de

                                                                                                                                                                                                      las tertulias en formato podcast.

                                                                                                                                                                                                    • [01:30:17] ¡Nuevo horario!

                                                                                                                                                                                                    • [01:31:05] Final.

                                                                                                                                                                                                      1 hr 32 min
                                                                                                                                                                                                    • Python en español #24: Tertulia 2021-03-16
                                                                                                                                                                                                      Evolución de la sintaxis de Python, comunidades locales y metareferencias a las grabaciones de las tertulias https://podcast.jcea.es/python/24

                                                                                                                                                                                                      Participantes:

                                                                                                                                                                                                      • Jesús Cea, email: [email protected], twitter:

                                                                                                                                                                                                        @jcea, https://blog.jcea.es/,
                                                                                                                                                                                                        https://www.jcea.es/. Conectando desde Madrid.

                                                                                                                                                                                                      • Jesús, conectando desde Ferrol.

                                                                                                                                                                                                      • Víctor Ramírez, twitter: @virako,

                                                                                                                                                                                                        programador python y amante de
                                                                                                                                                                                                        vim, conectando desde
                                                                                                                                                                                                        Huelva.

                                                                                                                                                                                                      • Eduardo Castro, email:

                                                                                                                                                                                                        [email protected]. Conectando desde A
                                                                                                                                                                                                        Guarda.

                                                                                                                                                                                                      • Gato, desde Chile.

                                                                                                                                                                                                        Audio editado por Pablo Gómez, twitter:

                                                                                                                                                                                                        @julebek.

                                                                                                                                                                                                        La música de la entrada y la salida es "Lightning Bugs", de Jason

                                                                                                                                                                                                        Shaw. Publicada en https://audionautix.com/ con licencia
                                                                                                                                                                                                        - Creative Commons Attribution 4.0 International
                                                                                                                                                                                                        License.

                                                                                                                                                                                                        • [00:53] Volvemos a estar poquita gente.

                                                                                                                                                                                                          • Comunidades locales en Galicia.

                                                                                                                                                                                                          • Python Vigo: https://www.python-vigo.es/.

                                                                                                                                                                                                          • Makerspaces: https://en.wikipedia.org/wiki/Hackerspace.

                                                                                                                                                                                                          • GPUL: Grupo de Programadores e Usuarios de Linux:

                                                                                                                                                                                                            https://www.gpul.org/.

                                                                                                                                                                                                          • [05:48] Propuesta de cambio en la sintaxis de lambda.

                                                                                                                                                                                                            • Ventaja de la sintaxis actual: al aparecer el término

                                                                                                                                                                                                              "lambda", se puede buscar en Internet.

                                                                                                                                                                                                            • El lenguaje cada vez es más opaco y complejo.

                                                                                                                                                                                                            • [09:58] Asistencia escasa en las últimas tertulias. ¿Cómo

                                                                                                                                                                                                              afrontarlo?

                                                                                                                                                                                                              • ¿Proponer temas a lo largo de la semana?
                                                                                                                                                                                                              • [12:23] Volvemos al cambio de sintaxis de lambda.

                                                                                                                                                                                                                • PEP 617 -- New PEG parser for CPython
                                                                                                                                                                                                                • https://www.python.org/dev/peps/pep-0617/.
                                                                                                                                                                                                                • [15:03] Guido van Rossum

                                                                                                                                                                                                                  https://es.wikipedia.org/wiki/Guido_van_Rossum está apoyando
                                                                                                                                                                                                                  muchos cambios polémicos en Python.

                                                                                                                                                                                                                  • Nominación de Pablo Galindo al Steering Council:
                                                                                                                                                                                                                  • https://discuss.python.org/t/steering-council-nomination-pablo-galindo-salgado-2021-term/5720.
                                                                                                                                                                                                                  • [16:58] ¿Python intenta seguir la estela de otros lenguajes con

                                                                                                                                                                                                                    los que compite?

                                                                                                                                                                                                                    • PEP 617 -- New PEG parser for CPython

                                                                                                                                                                                                                      https://www.python.org/dev/peps/pep-0617/.

                                                                                                                                                                                                                    • El parser nuevo abre muchas posibilidades peligrosas.

                                                                                                                                                                                                                    • Lista de correo de Python-ideas:

                                                                                                                                                                                                                      https://mail.python.org/mailman3/lists/python-ideas.python.org/.

                                                                                                                                                                                                                    • [23:38] ¿Dónde se almacenan los valores por defecto de los

                                                                                                                                                                                                                      parámetros de una función?

                                                                                                                                                                                                                      • Librerías para procesar y generar bytecode

                                                                                                                                                                                                                        https://es.wikipedia.org/wiki/Bytecode python.

                                                                                                                                                                                                                      • Ejemplo: simplificar la sintaxis de meter código ensamblador

                                                                                                                                                                                                                        desde Python.

                                                                                                                                                                                                                      • Decoradores que manipulan las tripas de las funciones, a

                                                                                                                                                                                                                        nivel de bytecode
                                                                                                                                                                                                                        https://es.wikipedia.org/wiki/Bytecode.

                                                                                                                                                                                                                      • Módulo "dis" https://docs.python.org/3/library/dis.html.

                                                                                                                                                                                                                        import dis
                                                                                                                                                                                                                        >>> def a():
                                                                                                                                                                                                                        ... return 5
                                                                                                                                                                                                                        ...
                                                                                                                                                                                                                        >>> dis.dis(a)
                                                                                                                                                                                                                        2 0 LOAD_CONST 1 (5)
                                                                                                                                                                                                                        2 RETURN_VALUE
                                                                                                                                                                                                                      • [30:13] Cómo mezclar código síncrono y asíncrono, en función del

                                                                                                                                                                                                                        tipo de función que te llama.

                                                                                                                                                                                                                        • inspect.iscoroutinefunction(object):

                                                                                                                                                                                                                          https://docs.python.org/3/library/inspect.html#inspect.iscoroutinefunction.

                                                                                                                                                                                                                        • inspect.iscoroutine(object):

                                                                                                                                                                                                                          https://docs.python.org/3/library/inspect.html#inspect.iscoroutine.

                                                                                                                                                                                                                        • inspect.isawaitable(object):

                                                                                                                                                                                                                          https://docs.python.org/3/library/inspect.html#inspect.isawaitable.

                                                                                                                                                                                                                        • inspect.isasyncgenfunction(object):

                                                                                                                                                                                                                          https://docs.python.org/3/library/inspect.html#inspect.isasyncgenfunction.

                                                                                                                                                                                                                        • inspect.isasyncgen(object):

                                                                                                                                                                                                                          https://docs.python.org/3/library/inspect.html.

                                                                                                                                                                                                                        • [32:03] Bibliotecas con "plugins". Namespaces: PEP 420 --

                                                                                                                                                                                                                          Implicit Namespace Packages
                                                                                                                                                                                                                          https://www.python.org/dev/peps/pep-0420/.

                                                                                                                                                                                                                          • Problemas con el "modo desarrollo" del paquete.

                                                                                                                                                                                                                          • PEP 402 -- Simplified Package Layout and Partitioning:

                                                                                                                                                                                                                            https://www.python.org/dev/peps/pep-0402/. Este PEP se
                                                                                                                                                                                                                            rechazó.

                                                                                                                                                                                                                          • PEP 382 -- Namespace Packages

                                                                                                                                                                                                                            https://www.python.org/dev/peps/pep-0382/.

                                                                                                                                                                                                                          • Ficheros pth:

                                                                                                                                                                                                                            https://docs.python.org/3/library/site.html.

                                                                                                                                                                                                                          • [42:21] Charla Python Madrid: Python Packaging: Lo estás

                                                                                                                                                                                                                            haciendo mal https://www.youtube.com/watch?v=OeOtIEDFr4Y.

                                                                                                                                                                                                                            • Buenas prácticas actuales.

                                                                                                                                                                                                                            • Se puso como deberes futuros.

                                                                                                                                                                                                                            • [45:11] Metareferencia: Podcast: Python en español:

                                                                                                                                                                                                                              https://podcast.jcea.es/python/.

                                                                                                                                                                                                                              • Notas y capítulos para poder navegar por las grabaciones.

                                                                                                                                                                                                                              • Temas pendientes para poder publicar los audios.

                                                                                                                                                                                                                              • Biblioteca toc2audio: https://docs.jcea.es/toc2audio/.

                                                                                                                                                                                                                              • MP3 https://es.wikipedia.org/wiki/Mp3 en formato VBR

                                                                                                                                                                                                                                https://es.wikipedia.org/wiki/Tasa_de_bits_variable.

                                                                                                                                                                                                                              • ¿Dónde colgar las grabaciones? ¿Secuestrar y resucitar el

                                                                                                                                                                                                                                podcast "Python en español":
                                                                                                                                                                                                                                https://podcast.jcea.es/python/?

                                                                                                                                                                                                                              • Zope: https://es.wikipedia.org/wiki/Zope.

                                                                                                                                                                                                                              • [51:33] Temas Django https://www.djangoproject.com/:

                                                                                                                                                                                                                                • Consultas complejas usando el ORM

                                                                                                                                                                                                                                  https://es.wikipedia.org/wiki/Asignaci%C3%B3n_objeto-relacional.

                                                                                                                                                                                                                                • SQL: https://es.wikipedia.org/wiki/SQL.

                                                                                                                                                                                                                                • Postgresql: https://www.postgresql.org/.

                                                                                                                                                                                                                                • MySQL: https://www.mysql.com/.

                                                                                                                                                                                                                                • MariaDB: https://mariadb.org/.

                                                                                                                                                                                                                                • [55:38] Novedades Python 3.10:

                                                                                                                                                                                                                                  • PEP 622 -- Structural Pattern Matching

                                                                                                                                                                                                                                    https://www.python.org/dev/peps/pep-0622/.

                                                                                                                                                                                                                                  • PEP 634 -- Structural Pattern Matching: Specification

                                                                                                                                                                                                                                    https://www.python.org/dev/peps/pep-0634/.

                                                                                                                                                                                                                                  • PEP 635 -- Structural Pattern Matching: Motivation and

                                                                                                                                                                                                                                    Rationale https://www.python.org/dev/peps/pep-0635/.

                                                                                                                                                                                                                                  • PEP 636 -- Structural Pattern Matching: Tutorial

                                                                                                                                                                                                                                    https://www.python.org/dev/peps/pep-0636/.

                                                                                                                                                                                                                                  • ¿Deberes futuros?

                                                                                                                                                                                                                                  • What the f*ck Python!

                                                                                                                                                                                                                                    https://github.com/satwikkansal/wtfpython

                                                                                                                                                                                                                                  • Docker: https://en.wikipedia.org/wiki/Docker_(software).

                                                                                                                                                                                                                                  • [01:02:18] Podcast: Python Bytes: https://pythonbytes.fm/.

                                                                                                                                                                                                                                    • Hablar de las cosas habiéndolas probado.

                                                                                                                                                                                                                                    • Real Python https://realpython.com/.

                                                                                                                                                                                                                                    • No hay contenido comparable en español.

                                                                                                                                                                                                                                    • [01:05:08] Traducción de la documentación Python al español:

                                                                                                                                                                                                                                      • Documentación Python en Español:

                                                                                                                                                                                                                                        https://docs.python.org/es/3/.

                                                                                                                                                                                                                                      • Documentación oficial de Python en español

                                                                                                                                                                                                                                        https://pyar.discourse.group/t/documentacion-oficial-de-python-en-espanol/238/23.

                                                                                                                                                                                                                                      • GitHub: https://github.com/python/python-docs-es/.

                                                                                                                                                                                                                                      • Documentación oficial de Python en Español

                                                                                                                                                                                                                                        https://elblogdehumitos.com/posts/documentacion-oficial-de-python-en-espanol/.

                                                                                                                                                                                                                                      • docs.python.org en Español

                                                                                                                                                                                                                                        https://elblogdehumitos.com/posts/docspythonorg-en-espanol/.

                                                                                                                                                                                                                                      • [01:06:43] Tutorial de Python en español:

                                                                                                                                                                                                                                        https://docs.python.org/es/3/tutorial/index.html.

                                                                                                                                                                                                                                      • [01:07:08] Python España: Aprende Python

                                                                                                                                                                                                                                        https://www.es.python.org/pages/aprende-python.html.

                                                                                                                                                                                                                                        • Parece abandonado.
                                                                                                                                                                                                                                        • [01:07:43] Eventos Python en España:

                                                                                                                                                                                                                                          http://calendario.es.python.org/.

                                                                                                                                                                                                                                          • Costaba mucho que la gente avisase de los eventos. Al final
                                                                                                                                                                                                                                          • había que estar en todas partes y poner mucha oreja.
                                                                                                                                                                                                                                          • [01:09:03] Automatizaciones de seguimientos.

                                                                                                                                                                                                                                          • [01:09:43] La dificultar para crear comunidad.

                                                                                                                                                                                                                                          • [01:10:38] Iniciativa de comunidades tecnológicas de Madrid.

                                                                                                                                                                                                                                            • Problemas comunes de los organizadores: conseguir ponentes,

                                                                                                                                                                                                                                              reservar locales, conseguir subvenciones, gente que se
                                                                                                                                                                                                                                              apunta y luego no acude, etc.

                                                                                                                                                                                                                                            • Calendario de actividades tecnológicas en Madrid.

                                                                                                                                                                                                                                            • [01:13:18] Python para desarrollar herramientas de sonido.

                                                                                                                                                                                                                                              • Latencia.

                                                                                                                                                                                                                                              • PulseAudio: https://es.wikipedia.org/wiki/PulseAudio.

                                                                                                                                                                                                                                              • Instrumentos VST:

                                                                                                                                                                                                                                                https://es.wikipedia.org/wiki/Virtual_Studio_Technology.

                                                                                                                                                                                                                                              • Jesús Cea ha escrito software de control de una emisora de

                                                                                                                                                                                                                                                radio. Detalles.

                                                                                                                                                                                                                                                • Ojo con el sistema de recogida de basuras. gc — Garbage
                                                                                                                                                                                                                                                • Collector interface:
                                                                                                                                                                                                                                                  https://docs.python.org/3/library/gc.html.
                                                                                                                                                                                                                                                • [01:19:43] Capítulos en podcasts. Más detalles sobre el

                                                                                                                                                                                                                                                  "workflow" de edición de sonido.

                                                                                                                                                                                                                                                  • Biblioteca: https://docs.jcea.es/toc2audio/.

                                                                                                                                                                                                                                                  • rnnoise: https://jmvalin.ca/demo/rnnoise/.

                                                                                                                                                                                                                                                  • [01:22:53] Despedida.

                                                                                                                                                                                                                                                    • Experimento con deberes para poder tratar temas profundos
                                                                                                                                                                                                                                                    • habiéndolos visto con anterioridad.
                                                                                                                                                                                                                                                    • [01:24:18] Final.

                                                                                                                                                                                                                                                      1 hr 26 min
                                                                                                                                                                                                                                                    • Python en español #23: Tertulia 2021-03-09
                                                                                                                                                                                                                                                      Hoy estamos poquitos en la tertulia y eso permite hablar a gente que nunca ha hablado antes: ¿Cómo puede aprender Python un novato? Python y seguridad https://podcast.jcea.es/python/23

                                                                                                                                                                                                                                                      Audio procesado con "rnnoise": https://jmvalin.ca/demo/rnnoise/.

                                                                                                                                                                                                                                                      Participantes:

                                                                                                                                                                                                                                                      • Jesús Cea, email: [email protected], twitter:

                                                                                                                                                                                                                                                        @jcea, https://blog.jcea.es/,
                                                                                                                                                                                                                                                        https://www.jcea.es/. Conectando desde Madrid.

                                                                                                                                                                                                                                                      • Jesús, conectando desde Ferrol.

                                                                                                                                                                                                                                                      • Víctor Ramírez, twitter: @virako,

                                                                                                                                                                                                                                                        programador python y amante de
                                                                                                                                                                                                                                                        vim, conectando desde
                                                                                                                                                                                                                                                        Huelva.

                                                                                                                                                                                                                                                      • Gato, desde Chile.

                                                                                                                                                                                                                                                        Audio editado por Pablo Gómez, twitter:

                                                                                                                                                                                                                                                        @julebek.

                                                                                                                                                                                                                                                        La música de la entrada y la salida es "Lightning Bugs", de Jason

                                                                                                                                                                                                                                                        Shaw. Publicada en https://audionautix.com/ con licencia
                                                                                                                                                                                                                                                        - Creative Commons Attribution 4.0 International
                                                                                                                                                                                                                                                        License.

                                                                                                                                                                                                                                                        • [00:53] Hoy no se han conectado los habituales (Virako conectó

                                                                                                                                                                                                                                                          un rato en medio de la sesión). Por suerte, Jesús, un oyente
                                                                                                                                                                                                                                                          silencioso habitual, se apiadó de mí.

                                                                                                                                                                                                                                                          • ¿Cómo empezamos a programar en Python?

                                                                                                                                                                                                                                                          • Empezar con el tutorial:

                                                                                                                                                                                                                                                            https://docs.python.org/es/3/tutorial/index.html.

                                                                                                                                                                                                                                                          • [05:43] Jesús Cea coleccionaba lenguajes de programación en

                                                                                                                                                                                                                                                            su juventud.

                                                                                                                                                                                                                                                            • Forth: https://es.wikipedia.org/wiki/Forth.

                                                                                                                                                                                                                                                            • Ensamblador:

                                                                                                                                                                                                                                                              https://es.wikipedia.org/wiki/Lenguaje_ensamblador.

                                                                                                                                                                                                                                                            • [06:23] "La mejor herramienta para cada trabajo" tiene un

                                                                                                                                                                                                                                                              coste oculto. Especializarse.

                                                                                                                                                                                                                                                            • [07:23] Mercado laboral en España para trabajar en remoto.

                                                                                                                                                                                                                                                              • Los empleadores tienen exigencias poco realistas.
                                                                                                                                                                                                                                                              • [09:18] Hay mucho material para aprender.

                                                                                                                                                                                                                                                                • Saqueadores edición técnica: http://set-ezine.org/.
                                                                                                                                                                                                                                                                • [12:48] Formación formal.

                                                                                                                                                                                                                                                                • [14:03] Comunidades locales Python:

                                                                                                                                                                                                                                                                  • Python Vigo: https://www.python-vigo.es/.

                                                                                                                                                                                                                                                                  • Se intentaba montar algo en La Coruña.

                                                                                                                                                                                                                                                                  • Makerspaces: A Industriosa https://aindustriosa.org/.

                                                                                                                                                                                                                                                                  • [16:23] ¿Recursos que pueda usar un novato para aprender?

                                                                                                                                                                                                                                                                    • Asociación Python España: https://www.es.python.org/.

                                                                                                                                                                                                                                                                    • Lista de correo Python-es:

                                                                                                                                                                                                                                                                      https://mail.python.org/mailman/listinfo/python-es.

                                                                                                                                                                                                                                                                    • Internet.

                                                                                                                                                                                                                                                                    • [19:23] Raspberry PI https://www.raspberrypi.org/, ESP8266

                                                                                                                                                                                                                                                                      https://es.wikipedia.org/wiki/ESP8266, ESP32
                                                                                                                                                                                                                                                                      https://es.wikipedia.org/wiki/ESP32.

                                                                                                                                                                                                                                                                    • [21:43] Puesta al día de la semana.

                                                                                                                                                                                                                                                                    • [23:28] Encuesta mundial de programadores de Python: Python

                                                                                                                                                                                                                                                                      Developers Survey 2020 Results
                                                                                                                                                                                                                                                                      https://www.jetbrains.com/lp/python-developers-survey-2020/.

                                                                                                                                                                                                                                                                    • [24:04] Ya estamos repasando las grabaciones, con vista a

                                                                                                                                                                                                                                                                      publicarlas.

                                                                                                                                                                                                                                                                      • Las notas jugarán un papel importante en las grabaciones.

                                                                                                                                                                                                                                                                      • Capítulos.

                                                                                                                                                                                                                                                                      • [26:03] IPFS: https://es.wikipedia.org/wiki/IPFS.

                                                                                                                                                                                                                                                                        • Peer 2 Peer: https://es.wikipedia.org/wiki/Peer-to-peer.

                                                                                                                                                                                                                                                                        • webrtc: https://es.wikipedia.org/wiki/WebRTC.

                                                                                                                                                                                                                                                                        • Contribuir compartiendo las fotos de Python España.

                                                                                                                                                                                                                                                                        • BitTorrent: https://es.wikipedia.org/wiki/BitTorrent.

                                                                                                                                                                                                                                                                        • [29:33] Métricas de calidad de código.

                                                                                                                                                                                                                                                                          • Complejidad ciclomática:

                                                                                                                                                                                                                                                                            https://es.wikipedia.org/wiki/Complejidad_ciclom%C3%A1tica.

                                                                                                                                                                                                                                                                          • Radon: https://pypi.org/project/radon/.

                                                                                                                                                                                                                                                                          • Cobertura de test: Coverage

                                                                                                                                                                                                                                                                            https://pypi.org/project/coverage/.

                                                                                                                                                                                                                                                                          • Cada pequeño paso ayuda.

                                                                                                                                                                                                                                                                          • [35:08] Porcentaje de código nuevo y mantenimiento.

                                                                                                                                                                                                                                                                          • [36:33] Se perdió parte de la grabación de la tertulia de la

                                                                                                                                                                                                                                                                            semana pasada. Explicaciones.

                                                                                                                                                                                                                                                                            • Explicación de cómo se graban las tertulias.
                                                                                                                                                                                                                                                                            • [41:13] Packt https://www.packtpub.com/. Muchos libros

                                                                                                                                                                                                                                                                              digitales sobre Python.

                                                                                                                                                                                                                                                                              • Un libro gratis al día:

                                                                                                                                                                                                                                                                                https://www.packtpub.com/free-learning.

                                                                                                                                                                                                                                                                              • Bot de telegram de notificaciones diarias:

                                                                                                                                                                                                                                                                                https://t.me/packtpubfreelearning.

                                                                                                                                                                                                                                                                              • [44:33] Funciones que son malas prácticas en C.

                                                                                                                                                                                                                                                                                • C++ 'strcpy' gives a Warning (C4996):
                                                                                                                                                                                                                                                                                • https://stackoverflow.com/questions/4012222/c-strcpy-gives-a-warning-c4996
                                                                                                                                                                                                                                                                                • [46:23] Tema recurrente: ¿poner deberes?

                                                                                                                                                                                                                                                                                • [48:08] ¿Progresos sobre Issue24676: Error in pickle using

                                                                                                                                                                                                                                                                                  cProfile https://bugs.python.org/issue24676, visto en
                                                                                                                                                                                                                                                                                  tertulias anteriores?

                                                                                                                                                                                                                                                                                  • Bug poco prioritario.

                                                                                                                                                                                                                                                                                  • Jesús Cea propone algunos rodeos al problema.

                                                                                                                                                                                                                                                                                  • runpy: https://docs.python.org/3/library/runpy.html.

                                                                                                                                                                                                                                                                                  • [52:09] Volvemos al tema de cómo un novato puede aprender desde

                                                                                                                                                                                                                                                                                    cero.

                                                                                                                                                                                                                                                                                    • Hacer un proyecto pequeño.

                                                                                                                                                                                                                                                                                    • Intentar no extenderse mucho, no hacer "muchas cosas".

                                                                                                                                                                                                                                                                                    • Si no tiene base, el código del novato va a ser malo y con

                                                                                                                                                                                                                                                                                      mucho más esfuerzo del necesario. Hace falta cierto
                                                                                                                                                                                                                                                                                      tutelaje.

                                                                                                                                                                                                                                                                                    • Examinar un proceso ajeno "pequeño" y estudiarlo.

                                                                                                                                                                                                                                                                                    • Project Euler: https://projecteuler.net/.

                                                                                                                                                                                                                                                                                    • Kata: https://es.wikipedia.org/wiki/Kata.

                                                                                                                                                                                                                                                                                    • Ventajas de un libro: Aprendizaje estructurado, gradual y

                                                                                                                                                                                                                                                                                      que prioriza lo importante.

                                                                                                                                                                                                                                                                                    • Aprende Python en un fin de semana || Libro – PDF – EPUB –

                                                                                                                                                                                                                                                                                      Descargar
                                                                                                                                                                                                                                                                                      https://elcientificodedatos.com/aprende-python-en-un-fin-de-semana/.

                                                                                                                                                                                                                                                                                    • Python España: Aprende Python

                                                                                                                                                                                                                                                                                      https://www.es.python.org/pages/aprende-python.html.

                                                                                                                                                                                                                                                                                    • Comunidades locales.

                                                                                                                                                                                                                                                                                      • ¿Las charlas valen para algo?
                                                                                                                                                                                                                                                                                      • ¿Alguien que no sabe programar en absoluto entiende qué

                                                                                                                                                                                                                                                                                        significa a = a + 1?

                                                                                                                                                                                                                                                                                      • Commodore VIC-20:

                                                                                                                                                                                                                                                                                        https://en.wikipedia.org/wiki/Commodore_VIC-20.

                                                                                                                                                                                                                                                                                      • BASIC: https://es.wikipedia.org/wiki/BASIC.

                                                                                                                                                                                                                                                                                      • Escribir código a mano puede ayudar.

                                                                                                                                                                                                                                                                                      • [01:11:13] ¿Los emails de recordatorio a las listas de correo

                                                                                                                                                                                                                                                                                        sirven para algo? ¿Son spam?

                                                                                                                                                                                                                                                                                      • [01:13:43] Python y seguridad. ¿Recomendaciones para novatos?

                                                                                                                                                                                                                                                                                        • OWASP: https://owasp.org/.

                                                                                                                                                                                                                                                                                        • OWASP Top Ten Web Application Security Risks:

                                                                                                                                                                                                                                                                                          https://owasp.org/www-project-top-ten/.

                                                                                                                                                                                                                                                                                        • Listas de correo de seguridad.

                                                                                                                                                                                                                                                                                        • Desbordamiento de búfer:

                                                                                                                                                                                                                                                                                          https://es.wikipedia.org/wiki/Desbordamiento_de_buffer.

                                                                                                                                                                                                                                                                                        • Podcast: Security Now https://twit.tv/shows/security-now.

                                                                                                                                                                                                                                                                                        • Hispasec: Noticias de seguridad diaria: Una al Día:

                                                                                                                                                                                                                                                                                          https://unaaldia.hispasec.com/.

                                                                                                                                                                                                                                                                                        • The CERT C Secure Coding Standard

                                                                                                                                                                                                                                                                                          https://www.amazon.com/CERT-Secure-Coding-Standard/dp/0321563212.

                                                                                                                                                                                                                                                                                        • Cada lenguaje tiene sus propios fallos de seguridad típicos,

                                                                                                                                                                                                                                                                                          propios de las idiosincrasias o el estilo de ese lenguaje.

                                                                                                                                                                                                                                                                                        • [01:22:43] PEP 578 -- Python Runtime Audit Hooks

                                                                                                                                                                                                                                                                                          https://www.python.org/dev/peps/pep-0578/

                                                                                                                                                                                                                                                                                          • Audit events table:
                                                                                                                                                                                                                                                                                          • https://docs.python.org/3/library/audit_events.html.
                                                                                                                                                                                                                                                                                          • [01:24:43] Los "Framework" te protegen de fallos típicos

                                                                                                                                                                                                                                                                                            conocidos https://es.wikipedia.org/wiki/Framework.

                                                                                                                                                                                                                                                                                            • Si el "framework" es popular y se le encuentra un bug, eres

                                                                                                                                                                                                                                                                                              susceptible a un ataque masivo.

                                                                                                                                                                                                                                                                                              • Ejemplo: WordPress:
                                                                                                                                                                                                                                                                                              • https://es.wikipedia.org/wiki/WordPress.
                                                                                                                                                                                                                                                                                              • Hay que preocuparse de tenerlo actualizado.

                                                                                                                                                                                                                                                                                              • Django: https://www.djangoproject.com/.

                                                                                                                                                                                                                                                                                              • Ataque de cadena de suministro:

                                                                                                                                                                                                                                                                                                https://es.wikipedia.org/wiki/Ataque_a_cadena_de_suministro.

                                                                                                                                                                                                                                                                                              • [01:28:53] DevOps: https://es.wikipedia.org/wiki/DevOps.

                                                                                                                                                                                                                                                                                                • Docker: https://www.docker.com/.

                                                                                                                                                                                                                                                                                                • ¿Quién se preocupa de actualizarlo?

                                                                                                                                                                                                                                                                                                • [01:31:53] Volvemos al tema OWASP https://owasp.org/.

                                                                                                                                                                                                                                                                                                  • OWASP Top Ten Web Application Security Risks:
                                                                                                                                                                                                                                                                                                  • https://owasp.org/www-project-top-ten/.
                                                                                                                                                                                                                                                                                                  • [01:32:53] ¿En qué posición está Python respecto a la seguridad,

                                                                                                                                                                                                                                                                                                    respecto a otros lenguajes de programación?

                                                                                                                                                                                                                                                                                                    • DB-API 2.0: PEP 249 -- Python Database API Specification

                                                                                                                                                                                                                                                                                                      v2.0 https://www.python.org/dev/peps/pep-0249/.

                                                                                                                                                                                                                                                                                                    • sqlite3: https://docs.python.org/3/library/sqlite3.html.

                                                                                                                                                                                                                                                                                                    • Aunque un lenguaje de programación sea razonablemente

                                                                                                                                                                                                                                                                                                      seguro, los programadores introducen fallos de seguridad en
                                                                                                                                                                                                                                                                                                      su código. Algunos ejemplos.

                                                                                                                                                                                                                                                                                                    • pickle: https://docs.python.org/3/library/pickle.html.

                                                                                                                                                                                                                                                                                                    • eval:

                                                                                                                                                                                                                                                                                                      https://docs.python.org/3/library/functions.html#eval.

                                                                                                                                                                                                                                                                                                    • [01:36:43] Ataque de cadena de suministro:

                                                                                                                                                                                                                                                                                                      https://es.wikipedia.org/wiki/Ataque_a_cadena_de_suministro.

                                                                                                                                                                                                                                                                                                      • Poison packages – “Supply Chain Risks” user hits Python

                                                                                                                                                                                                                                                                                                        community with 4000 fake modules:
                                                                                                                                                                                                                                                                                                        https://nakedsecurity.sophos.com/2021/03/07/poison-packages-supply-chain-risks-user-hits-python-community-with-4000-fake-modules/.

                                                                                                                                                                                                                                                                                                      • Cualquiera puede subir un módulo nuevo a PYPI:

                                                                                                                                                                                                                                                                                                        https://pypi.org/.

                                                                                                                                                                                                                                                                                                      • [01:40:53] Costes del código abierto.

                                                                                                                                                                                                                                                                                                        • La reputación no basta.

                                                                                                                                                                                                                                                                                                        • Trabajo ingrato.

                                                                                                                                                                                                                                                                                                        • Depender del trabajo voluntario es un problema.

                                                                                                                                                                                                                                                                                                        • [01:43:13] Auditoría automática de código.

                                                                                                                                                                                                                                                                                                          • Hay una diferencia entre código con bugs y ataques

                                                                                                                                                                                                                                                                                                            maliciosos conscientes.

                                                                                                                                                                                                                                                                                                          • Ejemplo, Antivirus. VirusTotal:

                                                                                                                                                                                                                                                                                                            https://www.virustotal.com/gui/, Hispasec
                                                                                                                                                                                                                                                                                                            https://hispasec.com/es/.

                                                                                                                                                                                                                                                                                                          • Un clásico de 1984: "Reflections on Trusting Trust":

                                                                                                                                                                                                                                                                                                            https://users.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf.

                                                                                                                                                                                                                                                                                                          • [01:46:08] Es un problema universal. Dependemos del trabajo de

                                                                                                                                                                                                                                                                                                            mucha gente que no cobra, que lo hace por amor al arte.

                                                                                                                                                                                                                                                                                                            • Referencia obligada a XKCD https://xkcd.com/:

                                                                                                                                                                                                                                                                                                              • Dependency https://xkcd.com/2347/.

                                                                                                                                                                                                                                                                                                              • Wikipedia XKCD: https://es.wikipedia.org/wiki/Xkcd.

                                                                                                                                                                                                                                                                                                              • OpenSSL https://es.wikipedia.org/wiki/OpenSSL:

                                                                                                                                                                                                                                                                                                                • Heartbleed https://es.wikipedia.org/wiki/Heartbleed.
                                                                                                                                                                                                                                                                                                                • WordPress: https://es.wikipedia.org/wiki/WordPress.

                                                                                                                                                                                                                                                                                                                • [01:50:03] Empresas que dan soporte comercial a productos de

                                                                                                                                                                                                                                                                                                                  código abierto.

                                                                                                                                                                                                                                                                                                                  • Red Hat: https://es.wikipedia.org/wiki/Red_Hat.

                                                                                                                                                                                                                                                                                                                  • Opinión de Jesús Cea: Se vende tranquilidad, no seguridad.

                                                                                                                                                                                                                                                                                                                    • Desplazas la responsabilidad a otro.

                                                                                                                                                                                                                                                                                                                    • Gestión de riesgo. Proteger su puesto de trabajo.

                                                                                                                                                                                                                                                                                                                    • "No han despedido nunca a nadie por comprar IBM":

                                                                                                                                                                                                                                                                                                                      https://loscuenca.com/2010/04/nunca-han-despedido-a-nadie-por-contratar-a-______/

                                                                                                                                                                                                                                                                                                                    • [01:55:23] Hoy ha sido un día raro en la tertulia, faltan (casi)

                                                                                                                                                                                                                                                                                                                      todos los habituales y habla gente que no ha hablado nunca.

                                                                                                                                                                                                                                                                                                                      • Jesús Cea ya ha perdido el miedo a que no se conecte nadie a
                                                                                                                                                                                                                                                                                                                      • la tertulia semanal.
                                                                                                                                                                                                                                                                                                                      • [02:00:33] Falta la voz del "novato".

                                                                                                                                                                                                                                                                                                                        • Aprende Python en un fin de semana || Libro – PDF – EPUB –
                                                                                                                                                                                                                                                                                                                        • Descargar
                                                                                                                                                                                                                                                                                                                          https://elcientificodedatos.com/aprende-python-en-un-fin-de-semana/.
                                                                                                                                                                                                                                                                                                                        • [02:09:03] Traducción de la documentación Python al español:

                                                                                                                                                                                                                                                                                                                          • Documentación Python en Español:

                                                                                                                                                                                                                                                                                                                            https://docs.python.org/es/3/.

                                                                                                                                                                                                                                                                                                                          • Documentación oficial de Python en español

                                                                                                                                                                                                                                                                                                                            https://pyar.discourse.group/t/documentacion-oficial-de-python-en-espanol/238/23.

                                                                                                                                                                                                                                                                                                                          • GitHub: https://github.com/python/python-docs-es/.

                                                                                                                                                                                                                                                                                                                          • Documentación oficial de Python en Español

                                                                                                                                                                                                                                                                                                                            https://elblogdehumitos.com/posts/documentacion-oficial-de-python-en-espanol/.

                                                                                                                                                                                                                                                                                                                          • docs.python.org en Español

                                                                                                                                                                                                                                                                                                                            https://elblogdehumitos.com/posts/docspythonorg-en-espanol/.

                                                                                                                                                                                                                                                                                                                          • [02:11:28] Final.

                                                                                                                                                                                                                                                                                                                            2 hr 13 min
                                                                                                                                                                                                                                                                                                                          • Python en español #22: Tertulia 2021-03-02
                                                                                                                                                                                                                                                                                                                            Os dejamos con la miel en los labios, pero hasta ese momento hablamos de la interacción entre las clases abstractas y MYPY, más complejidad en la sintaxis de Python con el PEP 637, PIP, dependencias varias y seguridad, y los tipos de PEP que hay. ¿Bokeh o Plotly? Haberte conectado en directo... https://podcast.jcea.es/python/22

                                                                                                                                                                                                                                                                                                                            Participantes:

                                                                                                                                                                                                                                                                                                                            • Jesús Cea, email: [email protected], twitter:

                                                                                                                                                                                                                                                                                                                              @jcea, https://blog.jcea.es/,
                                                                                                                                                                                                                                                                                                                              https://www.jcea.es/. Conectando desde Madrid.

                                                                                                                                                                                                                                                                                                                            • Javier, conectando desde Madrid.

                                                                                                                                                                                                                                                                                                                            • Miguel Sánchez, email:

                                                                                                                                                                                                                                                                                                                              [email protected], conectando desde
                                                                                                                                                                                                                                                                                                                              Las Palmas.

                                                                                                                                                                                                                                                                                                                            • Eduardo Castro, email:

                                                                                                                                                                                                                                                                                                                              [email protected]. Conectando desde A
                                                                                                                                                                                                                                                                                                                              Guarda.

                                                                                                                                                                                                                                                                                                                            • Víctor Ramírez, twitter: @virako,

                                                                                                                                                                                                                                                                                                                              programador python y amante de
                                                                                                                                                                                                                                                                                                                              vim, conectando desde
                                                                                                                                                                                                                                                                                                                              Huelva.

                                                                                                                                                                                                                                                                                                                            • José Juan.

                                                                                                                                                                                                                                                                                                                              Audio editado por Pablo Gómez, twitter:

                                                                                                                                                                                                                                                                                                                              @julebek.

                                                                                                                                                                                                                                                                                                                              La música de la entrada y la salida es "Lightning Bugs", de Jason

                                                                                                                                                                                                                                                                                                                              Shaw. Publicada en https://audionautix.com/ con licencia
                                                                                                                                                                                                                                                                                                                              - Creative Commons Attribution 4.0 International
                                                                                                                                                                                                                                                                                                                              License.

                                                                                                                                                                                                                                                                                                                              • [00:53] Vamos progresando en la publicación de las grabaciones.

                                                                                                                                                                                                                                                                                                                                • Pablo Gómez, twitter:

                                                                                                                                                                                                                                                                                                                                  @julebek, nuestro sufrido
                                                                                                                                                                                                                                                                                                                                  editor de audio, está enviando a Jesús Cea ya algunos audios
                                                                                                                                                                                                                                                                                                                                  procesados.

                                                                                                                                                                                                                                                                                                                                  • La calidad de los audios originales es bastante mala.
                                                                                                                                                                                                                                                                                                                                  • Capítulos en audios: Biblioteca toc2audio

                                                                                                                                                                                                                                                                                                                                    https://docs.jcea.es/toc2audio/.

                                                                                                                                                                                                                                                                                                                                  • Jesús Cea quiere notas exhaustivas de cada grabación. El

                                                                                                                                                                                                                                                                                                                                    audio es casi redundante. Lo que estás leyendo ahora mismo,
                                                                                                                                                                                                                                                                                                                                    vaya.

                                                                                                                                                                                                                                                                                                                                  • [06:45] El aviso legal de rigor para grabar los audios y

                                                                                                                                                                                                                                                                                                                                    publicarlos luego.

                                                                                                                                                                                                                                                                                                                                  • [06:58] Presentaciones.

                                                                                                                                                                                                                                                                                                                                  • [09:58] Jesús Cea habla mucho.

                                                                                                                                                                                                                                                                                                                                  • [10:53] Interacción entre clases abstractas

                                                                                                                                                                                                                                                                                                                                    https://docs.python.org/3/library/abc.html y MYPY
                                                                                                                                                                                                                                                                                                                                    http://mypy-lang.org/.

                                                                                                                                                                                                                                                                                                                                  • [18:28] Expansión explosiva del tamaño del bytecode

                                                                                                                                                                                                                                                                                                                                    https://es.wikipedia.org/wiki/Bytecode generado por un
                                                                                                                                                                                                                                                                                                                                    programa trivial Python.

                                                                                                                                                                                                                                                                                                                                    Ojo, teclear este código tal cual puede tumbar tu máquina y

                                                                                                                                                                                                                                                                                                                                    puedes necesitar reiniciar, perdiendo lo que estés haciendo
                                                                                                                                                                                                                                                                                                                                    con el ordenador.

                                                                                                                                                                                                                                                                                                                                    (1<<19**8,)*2
                                                                                                                                                                                                                                                                                                                                    (1<<19**8,)*4**7
                                                                                                                                                                                                                                                                                                                                    • Build a Compiler Bomb: Python 3, 13 byte source,

                                                                                                                                                                                                                                                                                                                                      9,057,900,463 byte (8.5GiB) .pyc-file / Python 3, 16 byte
                                                                                                                                                                                                                                                                                                                                      source, >32TB .pyc-file (if you have enough memory, disk
                                                                                                                                                                                                                                                                                                                                      space and patience)
                                                                                                                                                                                                                                                                                                                                      https://codegolf.stackexchange.com/questions/69189/build-a-compiler-bomb/69415#69415.

                                                                                                                                                                                                                                                                                                                                    • 16 bytes of Python code compiles to 32 terabytes of bytecode

                                                                                                                                                                                                                                                                                                                                      https://www.reddit.com/r/Python/comments/llccey/16_bytes_of_python_code_compiles_to_32_terabytes/.

                                                                                                                                                                                                                                                                                                                                    • [27:48] GitHub actions: https://github.com/features/actions.

                                                                                                                                                                                                                                                                                                                                    • [28:43] PEP 637 -- Support for indexing with keyword arguments

                                                                                                                                                                                                                                                                                                                                      https://www.python.org/dev/peps/pep-0637/.

                                                                                                                                                                                                                                                                                                                                      • La sintaxis de Python es cada vez más compleja.

                                                                                                                                                                                                                                                                                                                                      • Jesús Cea se sorprende de que Guido van Rossum

                                                                                                                                                                                                                                                                                                                                        https://es.wikipedia.org/wiki/Guido_van_Rossum esté
                                                                                                                                                                                                                                                                                                                                        "pervertiendo" tanto Python.

                                                                                                                                                                                                                                                                                                                                      • Muchos cambios de sintaxis se justifican para ciertos

                                                                                                                                                                                                                                                                                                                                        usuarios (cálculo numérico) y resulta que a esos usuarios no
                                                                                                                                                                                                                                                                                                                                        les está preguntando nadie.

                                                                                                                                                                                                                                                                                                                                      • Los lenguajes empiezan simples y se van complicando...

                                                                                                                                                                                                                                                                                                                                        siendo reemplazados por otros lenguajes que empiezan
                                                                                                                                                                                                                                                                                                                                        simples.

                                                                                                                                                                                                                                                                                                                                      • Estos temas se han tratado con frecuencia y profundidad en

                                                                                                                                                                                                                                                                                                                                        tertulias anteriores.

                                                                                                                                                                                                                                                                                                                                      • El lenguaje se particiona en "sublenguajes" y "subculturas".

                                                                                                                                                                                                                                                                                                                                      • BNF (Backus–Naur form):

                                                                                                                                                                                                                                                                                                                                        https://es.wikipedia.org/wiki/Notaci%C3%B3n_de_Backus-Naur.

                                                                                                                                                                                                                                                                                                                                      • JavaScript: The Good Parts:

                                                                                                                                                                                                                                                                                                                                        https://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742.

                                                                                                                                                                                                                                                                                                                                      • ¿Cómo aprende Python la gente novata?

                                                                                                                                                                                                                                                                                                                                      • Grupos de excepciones: PEP 654

                                                                                                                                                                                                                                                                                                                                        https://www.python.org/dev/peps/pep-0654/.

                                                                                                                                                                                                                                                                                                                                      • asyncio https://docs.python.org/3/library/asyncio.html

                                                                                                                                                                                                                                                                                                                                        contamina todo tu código.

                                                                                                                                                                                                                                                                                                                                        • Trio: https://pypi.org/project/trio/.
                                                                                                                                                                                                                                                                                                                                        • [44:26] Metaconversacion sobre temas recurrentes en la tertulia.

                                                                                                                                                                                                                                                                                                                                          • ¿Puesta al día anual sobre temas recurrentes?
                                                                                                                                                                                                                                                                                                                                          • [45:08] ¿Cómo se numeran los PEP

                                                                                                                                                                                                                                                                                                                                            https://www.python.org/dev/peps/?

                                                                                                                                                                                                                                                                                                                                            • Cuando se actualiza un PEP, no cambia de numeración.

                                                                                                                                                                                                                                                                                                                                            • Black: https://pypi.org/project/black/.

                                                                                                                                                                                                                                                                                                                                            • Los PEP incluyen una sección de cambios, historia del PEP.

                                                                                                                                                                                                                                                                                                                                            • PEP 494 -- Python 3.6 Release Schedule

                                                                                                                                                                                                                                                                                                                                              https://www.python.org/dev/peps/pep-0494/.

                                                                                                                                                                                                                                                                                                                                            • PEP 373 -- Python 2.7 Release Schedule

                                                                                                                                                                                                                                                                                                                                              https://www.python.org/dev/peps/pep-0373/.

                                                                                                                                                                                                                                                                                                                                            • [51:08] A veces para ver los cambios de un proyecto, a veces no

                                                                                                                                                                                                                                                                                                                                              hay más remedio que examinar el propio sustema de control de
                                                                                                                                                                                                                                                                                                                                              versiones. Documentar los cambios debería ser obligatorio, pero
                                                                                                                                                                                                                                                                                                                                              no todos los proyectos lo usan
                                                                                                                                                                                                                                                                                                                                              https://es.wikipedia.org/wiki/Changelog.

                                                                                                                                                                                                                                                                                                                                            • [53:28] El valor de los DeprecationWarning:

                                                                                                                                                                                                                                                                                                                                              https://docs.python.org/3/library/exceptions.html#DeprecationWarning.
                                                                                                                                                                                                                                                                                                                                              ¿Cuándo los arreglas?

                                                                                                                                                                                                                                                                                                                                              • Deuda técnica.

                                                                                                                                                                                                                                                                                                                                              • Estrategia: Bloquear dependencias.

                                                                                                                                                                                                                                                                                                                                              • Acumular actualizaciones tampoco es buena idea.

                                                                                                                                                                                                                                                                                                                                              • Que tus tests comprueben tus dependencias suele ser una mala

                                                                                                                                                                                                                                                                                                                                                práctica, pero para los tests de integración puede ser buena
                                                                                                                                                                                                                                                                                                                                                idea para asegurarse la estabilidad del ecosistema del
                                                                                                                                                                                                                                                                                                                                                proyecto.

                                                                                                                                                                                                                                                                                                                                              • [58:13] Los problemas de bloquear dependencias de forma

                                                                                                                                                                                                                                                                                                                                                transitiva.

                                                                                                                                                                                                                                                                                                                                                • pip freeze https://pip.pypa.io/en/stable/cli/pip_freeze/.

                                                                                                                                                                                                                                                                                                                                                • virtualenv: https://pypi.org/project/virtualenv/.

                                                                                                                                                                                                                                                                                                                                                • [01:02:56] pip https://pypi.org/project/pip/ no tiene "hooks"

                                                                                                                                                                                                                                                                                                                                                  https://es.wikipedia.org/wiki/Hooking, pero las versiones
                                                                                                                                                                                                                                                                                                                                                  recientes tienen un proceso de resolución de dependencias
                                                                                                                                                                                                                                                                                                                                                  bastante sofisticado.

                                                                                                                                                                                                                                                                                                                                                • [01:05:43] Paquete "safety" https://pypi.org/project/safety/.

                                                                                                                                                                                                                                                                                                                                                • [01:07:38] Salto de fe al hacer pip install. Paquetes

                                                                                                                                                                                                                                                                                                                                                  maliciosos.

                                                                                                                                                                                                                                                                                                                                                  • Ataque a cadena de suministro
                                                                                                                                                                                                                                                                                                                                                  • https://es.wikipedia.org/wiki/Ataque_a_cadena_de_suministro.
                                                                                                                                                                                                                                                                                                                                                  • [01:09:23] Motivación económica para secuestrar el DNS

                                                                                                                                                                                                                                                                                                                                                    https://es.wikipedia.org/wiki/Dns.

                                                                                                                                                                                                                                                                                                                                                  • [01:10:58] Nombres inexplicables de paquetes en PIP.

                                                                                                                                                                                                                                                                                                                                                  • [01:11:28] RFC 2606: Reserved Top Level DNS Names

                                                                                                                                                                                                                                                                                                                                                    https://datatracker.ietf.org/doc/html/rfc2606.

                                                                                                                                                                                                                                                                                                                                                    • Por ejemplo, http://example.org/ .
                                                                                                                                                                                                                                                                                                                                                    • [01:13:53] Recursos en español de Python:

                                                                                                                                                                                                                                                                                                                                                      • Pybonacci: https://pybonacci.org/.

                                                                                                                                                                                                                                                                                                                                                      • Chema Cortés: https://blog.ch3m4.org/.

                                                                                                                                                                                                                                                                                                                                                      • AlgoriSoft: https://algorisoft.com/. Cursos de Django

                                                                                                                                                                                                                                                                                                                                                        https://www.djangoproject.com/.

                                                                                                                                                                                                                                                                                                                                                      • [01:16:28] Comparativa entre Bokeh https://bokeh.org/ y Plotly

                                                                                                                                                                                                                                                                                                                                                        https://plotly.com/python/.

                                                                                                                                                                                                                                                                                                                                                        • Gráficos dinámicos en JavaScript para el navegador web, pero
                                                                                                                                                                                                                                                                                                                                                        • alimentado desde Python en el servidor.
                                                                                                                                                                                                                                                                                                                                                        • [01:19:46] La grabación se cortó aquí debido a "un problema

                                                                                                                                                                                                                                                                                                                                                          técnico" (entre la silla y el teclado de Jesús Cea). Se ha
                                                                                                                                                                                                                                                                                                                                                          perdido más o menos la última media hora.

                                                                                                                                                                                                                                                                                                                                                        • [01:19:55] Final.

                                                                                                                                                                                                                                                                                                                                                          1 hr 21 min
                                                                                                                                                                                                                                                                                                                                                        • Python en español #21: Tertulia 2021-02-23
                                                                                                                                                                                                                                                                                                                                                          Grupos de excepciones (PEP 654), PYPI y hasta bitcoins y blockchains (¡sin hype!) https://podcast.jcea.es/python/21

                                                                                                                                                                                                                                                                                                                                                          Este audio tiene mucho ruido producido por el roce del micrófono

                                                                                                                                                                                                                                                                                                                                                          de Jesús Cea en la ropa.

                                                                                                                                                                                                                                                                                                                                                          Participantes:

                                                                                                                                                                                                                                                                                                                                                          • Jesús Cea, email: [email protected], twitter:

                                                                                                                                                                                                                                                                                                                                                            @jcea, https://blog.jcea.es/,
                                                                                                                                                                                                                                                                                                                                                            https://www.jcea.es/. Conectando desde Madrid.

                                                                                                                                                                                                                                                                                                                                                          • Javier, conectando desde Madrid.

                                                                                                                                                                                                                                                                                                                                                          • Miguel Sánchez, email:

                                                                                                                                                                                                                                                                                                                                                            [email protected], conectando desde
                                                                                                                                                                                                                                                                                                                                                            Canarias.

                                                                                                                                                                                                                                                                                                                                                          • Eduardo Castro, email:

                                                                                                                                                                                                                                                                                                                                                            [email protected]. Conectando desde A
                                                                                                                                                                                                                                                                                                                                                            Guarda.

                                                                                                                                                                                                                                                                                                                                                          • Víctor Ramírez, twitter: @virako,

                                                                                                                                                                                                                                                                                                                                                            programador python y amante de
                                                                                                                                                                                                                                                                                                                                                            vim, conectando desde Huelva.

                                                                                                                                                                                                                                                                                                                                                            Audio editado por Pablo Gómez, twitter:

                                                                                                                                                                                                                                                                                                                                                            @julebek.

                                                                                                                                                                                                                                                                                                                                                            La música de la entrada y la salida es "Lightning Bugs", de Jason

                                                                                                                                                                                                                                                                                                                                                            Shaw. Publicada en https://audionautix.com/ con licencia
                                                                                                                                                                                                                                                                                                                                                            - Creative Commons Attribution 4.0 International
                                                                                                                                                                                                                                                                                                                                                            License.

                                                                                                                                                                                                                                                                                                                                                            • [00:53] El aviso legal de rigor.

                                                                                                                                                                                                                                                                                                                                                              • ¡Hay un voluntario para editar!
                                                                                                                                                                                                                                                                                                                                                              • [02:23] Pasamos a reunirnos en la sala "py2021" en vez de en la

                                                                                                                                                                                                                                                                                                                                                                sala "py2020".

                                                                                                                                                                                                                                                                                                                                                              • [03:13] ¿Las cadenas son inmutables? Las cadenas son inmutables,

                                                                                                                                                                                                                                                                                                                                                                pero los id() se reutilizan cuando se liberan objetos.

                                                                                                                                                                                                                                                                                                                                                                • Se explica qué es id(). No es una identidad persistente,
                                                                                                                                                                                                                                                                                                                                                                • depende de su direcciñon de memoria y la memoria se
                                                                                                                                                                                                                                                                                                                                                                  reutiliza cuando se liberan objetos.
                                                                                                                                                                                                                                                                                                                                                                • [07:23] ¿Hay forma de mutar una cadena? No desde el propio

                                                                                                                                                                                                                                                                                                                                                                  lenguaje, pero desde C y... ¡No vayas por ahí!

                                                                                                                                                                                                                                                                                                                                                                  • Python 3.9.2 soluciona un desbordamiento de memoria.
                                                                                                                                                                                                                                                                                                                                                                  • [10:03] Grupos de excepciones: PEP 654

                                                                                                                                                                                                                                                                                                                                                                    https://www.python.org/dev/peps/pep-0654/.

                                                                                                                                                                                                                                                                                                                                                                    • Lista de correo de Python Ideas:

                                                                                                                                                                                                                                                                                                                                                                      https://mail.python.org/mailman3/lists/python-ideas.python.org/.

                                                                                                                                                                                                                                                                                                                                                                    • Si usas la funcionalidad, la sintaxis y semántica de las

                                                                                                                                                                                                                                                                                                                                                                      excepciones se modifica.

                                                                                                                                                                                                                                                                                                                                                                    • Como ocurrió con async y await, si alguno de los

                                                                                                                                                                                                                                                                                                                                                                      paquetes nuevos usa esta funcionalidad, te contaminará tu
                                                                                                                                                                                                                                                                                                                                                                      propio código.

                                                                                                                                                                                                                                                                                                                                                                    • [14:28] Probar una biblioteca en diferentes versiones de Python.

                                                                                                                                                                                                                                                                                                                                                                      • Tener varias versiones instaladas de Python.

                                                                                                                                                                                                                                                                                                                                                                      • make altinstall es tu amiga para poder instalar varias

                                                                                                                                                                                                                                                                                                                                                                        versiones diferentes de Python a la vez en el sistemas
                                                                                                                                                                                                                                                                                                                                                                        operativo.

                                                                                                                                                                                                                                                                                                                                                                      • Diferencia entre llamar a python3 y llamar a python3.6.

                                                                                                                                                                                                                                                                                                                                                                      • Matriz de tests.

                                                                                                                                                                                                                                                                                                                                                                      • Docker: https://es.wikipedia.org/wiki/Docker_(software).

                                                                                                                                                                                                                                                                                                                                                                      • Flake8: https://pypi.org/project/flake8/.

                                                                                                                                                                                                                                                                                                                                                                      • [22:43] Bibliotecas y cambios de sintaxis en Python con la

                                                                                                                                                                                                                                                                                                                                                                        evolución del intérprete.

                                                                                                                                                                                                                                                                                                                                                                        • Si código Python 3 funciona en Python 2... ¿El código era

                                                                                                                                                                                                                                                                                                                                                                          Python 3 realmente?

                                                                                                                                                                                                                                                                                                                                                                        • Proyectos con compatibilidad mal especificada.

                                                                                                                                                                                                                                                                                                                                                                        • [25:53] Pruebas en varias versiones:

                                                                                                                                                                                                                                                                                                                                                                          • Tox: https://pypi.org/project/tox/.

                                                                                                                                                                                                                                                                                                                                                                          • pyenv: https://pypi.org/project/pyenv/.

                                                                                                                                                                                                                                                                                                                                                                          • Pylint: https://pypi.org/project/pylint/.

                                                                                                                                                                                                                                                                                                                                                                          • [27:53] Black: https://pypi.org/project/black/.

                                                                                                                                                                                                                                                                                                                                                                            • Reformateador de código "nazi".

                                                                                                                                                                                                                                                                                                                                                                            • Se acabaron las discusiones de estilo.

                                                                                                                                                                                                                                                                                                                                                                            • ¿Puede un formateador "nazi" ser configurable? ¿No es un

                                                                                                                                                                                                                                                                                                                                                                              oxímoron?

                                                                                                                                                                                                                                                                                                                                                                            • [32:28] Pasar tests y comprobaciones cuando se mete código en el

                                                                                                                                                                                                                                                                                                                                                                              control de versiones:

                                                                                                                                                                                                                                                                                                                                                                              • gitlint: https://jorisroovers.com/gitlint/.

                                                                                                                                                                                                                                                                                                                                                                              • vim-autopep8:

                                                                                                                                                                                                                                                                                                                                                                                https://vim-autopep8.readthedocs.io/en/latest/.

                                                                                                                                                                                                                                                                                                                                                                              • [34:53] PEPs recientes con cambios de sintaxis: Grupos de

                                                                                                                                                                                                                                                                                                                                                                                excepciones y "pattern matching":

                                                                                                                                                                                                                                                                                                                                                                                • Grupos de excepciones: PEP 654 -- Exception Groups and

                                                                                                                                                                                                                                                                                                                                                                                  except* https://www.python.org/dev/peps/pep-0654/.

                                                                                                                                                                                                                                                                                                                                                                                  • La semántica cambia bastante y "contamina" el código
                                                                                                                                                                                                                                                                                                                                                                                  • como lo hace async/await.
                                                                                                                                                                                                                                                                                                                                                                                  • PEP 622 -- Structural Pattern Matching

                                                                                                                                                                                                                                                                                                                                                                                    https://www.python.org/dev/peps/pep-0622/.

                                                                                                                                                                                                                                                                                                                                                                                  • PEP 634 -- Structural Pattern Matching: Specification

                                                                                                                                                                                                                                                                                                                                                                                    https://www.python.org/dev/peps/pep-0634/.

                                                                                                                                                                                                                                                                                                                                                                                  • PEP 635 -- Structural Pattern Matching: Motivation and

                                                                                                                                                                                                                                                                                                                                                                                    Rationale https://www.python.org/dev/peps/pep-0635/.

                                                                                                                                                                                                                                                                                                                                                                                  • PEP 636 -- Structural Pattern Matching: Tutorial

                                                                                                                                                                                                                                                                                                                                                                                    https://www.python.org/dev/peps/pep-0636/.

                                                                                                                                                                                                                                                                                                                                                                                  • [40:28] Trio https://pypi.org/project/trio/ programación

                                                                                                                                                                                                                                                                                                                                                                                    asíncrona mejor hecha que con asyncio
                                                                                                                                                                                                                                                                                                                                                                                    https://docs.python.org/3/library/asyncio.html.

                                                                                                                                                                                                                                                                                                                                                                                    • El concepto de "guardería" en Trio:
                                                                                                                                                                                                                                                                                                                                                                                    • https://trio.readthedocs.io/en/stable/reference-core.html#trio.Nursery.
                                                                                                                                                                                                                                                                                                                                                                                    • [44:23] Python ha cumplido 30 años. La primera versión pública

                                                                                                                                                                                                                                                                                                                                                                                      fue la 0.9.1 en 1991.

                                                                                                                                                                                                                                                                                                                                                                                      • Happy birthday, Python, you're 30 years old this week: Easy

                                                                                                                                                                                                                                                                                                                                                                                        to learn, and the right tool at the right time
                                                                                                                                                                                                                                                                                                                                                                                        https://www.theregister.com/2021/02/20/python_at_30/.

                                                                                                                                                                                                                                                                                                                                                                                      • Compilación en sistemas operativos modernos:

                                                                                                                                                                                                                                                                                                                                                                                        https://github.com/smontanaro/python-0.9.1.

                                                                                                                                                                                                                                                                                                                                                                                      • [45:13] Comparación de diferentes tipos. En Python 2 se podían

                                                                                                                                                                                                                                                                                                                                                                                        mezclar, pero en Python 3 no.

                                                                                                                                                                                                                                                                                                                                                                                        • Programar funciones de comparación personalizadas.

                                                                                                                                                                                                                                                                                                                                                                                        • Definir tipos personalizados que sepan compararse entre sí.

                                                                                                                                                                                                                                                                                                                                                                                        • Problemas al migrar un sistema de persistencia de Python 2 a

                                                                                                                                                                                                                                                                                                                                                                                          Python 3.

                                                                                                                                                                                                                                                                                                                                                                                          • BTree: https://es.wikipedia.org/wiki/%C3%81rbol-B.
                                                                                                                                                                                                                                                                                                                                                                                          • [52:33] ¿Por qué Pillow https://pypi.org/project/Pillow/ se

                                                                                                                                                                                                                                                                                                                                                                                            sigue importando como import PIL, la librería que reemplazó
                                                                                                                                                                                                                                                                                                                                                                                            hace eones?

                                                                                                                                                                                                                                                                                                                                                                                            • Confuso.

                                                                                                                                                                                                                                                                                                                                                                                            • Casos similares (hay muchos más):

                                                                                                                                                                                                                                                                                                                                                                                              • python-dateutil

                                                                                                                                                                                                                                                                                                                                                                                                https://pypi.org/project/python-dateutil/.

                                                                                                                                                                                                                                                                                                                                                                                              • Beautiful Soup:

                                                                                                                                                                                                                                                                                                                                                                                                https://pypi.org/project/beautifulsoup4/.

                                                                                                                                                                                                                                                                                                                                                                                              • dnspython https://pypi.org/project/dnspython/.

                                                                                                                                                                                                                                                                                                                                                                                              • [59:18] Seguridad en PYPI https://pypi.org/.

                                                                                                                                                                                                                                                                                                                                                                                              • [01:00:48] ¿El buscador de PYPI https://pypi.org/ sirve para

                                                                                                                                                                                                                                                                                                                                                                                                algo? El orden por relevancia es un chiste.

                                                                                                                                                                                                                                                                                                                                                                                              • [01:02:18] Estadísticas de descarga en PYPI https://pypi.org/:

                                                                                                                                                                                                                                                                                                                                                                                                • Antes había contadores de descargas.

                                                                                                                                                                                                                                                                                                                                                                                                  • Vanity: https://pypi.org/project/vanity/.
                                                                                                                                                                                                                                                                                                                                                                                                  • Ahora tenemos: (depende de Google)

                                                                                                                                                                                                                                                                                                                                                                                                    • PyPI Download Stats https://pypistats.org/.

                                                                                                                                                                                                                                                                                                                                                                                                    • pypinfo https://pypi.org/project/pypinfo/.

                                                                                                                                                                                                                                                                                                                                                                                                    • [01:09:48] Servicios que Google ha matado:

                                                                                                                                                                                                                                                                                                                                                                                                      https://killedbygoogle.com/.

                                                                                                                                                                                                                                                                                                                                                                                                      • 229 servicios hasta el momento.
                                                                                                                                                                                                                                                                                                                                                                                                      • [01:10:23] Jesús y su ideología de servicios gratuitos que

                                                                                                                                                                                                                                                                                                                                                                                                        crecen a costa del trabajo de los usuarios.

                                                                                                                                                                                                                                                                                                                                                                                                        • Encima dependes de ellos y queman el mercado para servicios

                                                                                                                                                                                                                                                                                                                                                                                                          comerciales.

                                                                                                                                                                                                                                                                                                                                                                                                        • La resignación y pasividad de los usuarios.

                                                                                                                                                                                                                                                                                                                                                                                                        • [01:13:28] Idea de Jesús: Estamos viviendo en la edad oscura

                                                                                                                                                                                                                                                                                                                                                                                                          de la informática. Dentro de 50 años no se podrá acceder a
                                                                                                                                                                                                                                                                                                                                                                                                          la información generada en estos momentos.

                                                                                                                                                                                                                                                                                                                                                                                                          • Por ejemplo: Videojuegos en red con servidores.

                                                                                                                                                                                                                                                                                                                                                                                                          • https://archive.org/.

                                                                                                                                                                                                                                                                                                                                                                                                            • GeoCities https://es.wikipedia.org/wiki/GeoCities.

                                                                                                                                                                                                                                                                                                                                                                                                            • Tumblr https://es.wikipedia.org/wiki/Tumblr.

                                                                                                                                                                                                                                                                                                                                                                                                            • [01:16:43] ¿Mirrors de PYPI https://pypi.org/? Ahora mismo no

                                                                                                                                                                                                                                                                                                                                                                                                              hay verificación de firmas digitales.

                                                                                                                                                                                                                                                                                                                                                                                                              • Package signing & detection/verification:

                                                                                                                                                                                                                                                                                                                                                                                                                https://github.com/pypa/warehouse/milestone/16.

                                                                                                                                                                                                                                                                                                                                                                                                              • Red distribuida por IPFS

                                                                                                                                                                                                                                                                                                                                                                                                                https://es.wikipedia.org/wiki/Sistema_de_archivos_interplanetario
                                                                                                                                                                                                                                                                                                                                                                                                                o BitTorrent https://es.wikipedia.org/wiki/BitTorrent.

                                                                                                                                                                                                                                                                                                                                                                                                                • Ideas de Jesús para Python España: red distribuida de
                                                                                                                                                                                                                                                                                                                                                                                                                • fotos de las PyConES http://www.es.pycon.org/.
                                                                                                                                                                                                                                                                                                                                                                                                                • [01:21:13] Montar servicios encima de PYPI https://pypi.org/.

                                                                                                                                                                                                                                                                                                                                                                                                                  • PYPI proporciona RSS https://es.wikipedia.org/wiki/Rss.

                                                                                                                                                                                                                                                                                                                                                                                                                    • PyPI recent updates https://pypi.org/rss/updates.xml.

                                                                                                                                                                                                                                                                                                                                                                                                                    • PyPI newest packages

                                                                                                                                                                                                                                                                                                                                                                                                                      https://pypi.org/rss/packages.xml.

                                                                                                                                                                                                                                                                                                                                                                                                                    • [01:24:43] GitHub: Security vulnerability alerts for Python

                                                                                                                                                                                                                                                                                                                                                                                                                      https://github.blog/2018-07-12-security-vulnerability-alerts-for-python/.

                                                                                                                                                                                                                                                                                                                                                                                                                    • [01:25:13] Compilar paquetes binarios para Windows.

                                                                                                                                                                                                                                                                                                                                                                                                                    • [01:26:48] Cython https://pypi.org/project/Cython/ y mypyc

                                                                                                                                                                                                                                                                                                                                                                                                                      https://github.com/mypyc/mypyc.

                                                                                                                                                                                                                                                                                                                                                                                                                    • [01:28:33] A veces te importa a ti más el código que al dueño de

                                                                                                                                                                                                                                                                                                                                                                                                                      la biblioteca.

                                                                                                                                                                                                                                                                                                                                                                                                                      • Dinámicas de colaboración en proyectos de código abierto.

                                                                                                                                                                                                                                                                                                                                                                                                                      • Core developer de Python: Mariatta Wijaya - What is a Python

                                                                                                                                                                                                                                                                                                                                                                                                                        Core Developer?
                                                                                                                                                                                                                                                                                                                                                                                                                        https://www.youtube.com/watch?v=hhj7eb6TrtI.

                                                                                                                                                                                                                                                                                                                                                                                                                      • La importancia de la realimentación.

                                                                                                                                                                                                                                                                                                                                                                                                                      • [01:35:43] Kodi https://es.wikipedia.org/wiki/Kodi y

                                                                                                                                                                                                                                                                                                                                                                                                                        dinámica del proyecto:

                                                                                                                                                                                                                                                                                                                                                                                                                        • La compresión de datos en WebDAV.

                                                                                                                                                                                                                                                                                                                                                                                                                        • Que la gestión de base de datos sea Python.

                                                                                                                                                                                                                                                                                                                                                                                                                        • Bajar la barrera de entrada al proyecto.

                                                                                                                                                                                                                                                                                                                                                                                                                        • [01:39:21] ¿Qué micros tenemos para grabar? ¿Cómo hablamos?

                                                                                                                                                                                                                                                                                                                                                                                                                        • [01:45:08] Digresión sobre BitCoins

                                                                                                                                                                                                                                                                                                                                                                                                                          https://es.wikipedia.org/wiki/Bitcoin y la importancia de
                                                                                                                                                                                                                                                                                                                                                                                                                          hacer copia de seguridad del monedero.

                                                                                                                                                                                                                                                                                                                                                                                                                          • Blockchain https://es.wikipedia.org/wiki/Cadena_de_bloques.

                                                                                                                                                                                                                                                                                                                                                                                                                          • BitCoin desarrolla ideas muy interesantes.

                                                                                                                                                                                                                                                                                                                                                                                                                          • Prueba de trabajo:

                                                                                                                                                                                                                                                                                                                                                                                                                            https://es.wikipedia.org/wiki/Sistema_de_prueba_de_trabajo.

                                                                                                                                                                                                                                                                                                                                                                                                                          • Cypherpunk: https://en.wikipedia.org/wiki/Cypherpunk.

                                                                                                                                                                                                                                                                                                                                                                                                                          • Contrato inteligente:

                                                                                                                                                                                                                                                                                                                                                                                                                            https://es.wikipedia.org/wiki/Contrato_inteligente.

                                                                                                                                                                                                                                                                                                                                                                                                                          • Datos abiertos:

                                                                                                                                                                                                                                                                                                                                                                                                                            https://es.wikipedia.org/wiki/Datos_abiertos.

                                                                                                                                                                                                                                                                                                                                                                                                                          • [01:55:23] Ojo, que todo queda grabado para la posteridad.

                                                                                                                                                                                                                                                                                                                                                                                                                            Estamos teniendo una conversación de bar. Hay que valorar que
                                                                                                                                                                                                                                                                                                                                                                                                                            las opiniones son opiniones de bar, con el peso de una opinión
                                                                                                                                                                                                                                                                                                                                                                                                                            de bar.

                                                                                                                                                                                                                                                                                                                                                                                                                          • [01:58:03] ¿Poner deberes? Nadie tiene tiempo...

                                                                                                                                                                                                                                                                                                                                                                                                                          • [01:58:58] La motivación para hacer todo esto.

                                                                                                                                                                                                                                                                                                                                                                                                                            • Solapar intereses es difícil.
                                                                                                                                                                                                                                                                                                                                                                                                                            • [02:00:23] Despedida.

                                                                                                                                                                                                                                                                                                                                                                                                                            • [02:01:45] Final.

                                                                                                                                                                                                                                                                                                                                                                                                                              2 hr 3 min
                                                                                                                                                                                                                                                                                                                                                                                                                            • Python en español #20: Tertulia 2021-02-16
                                                                                                                                                                                                                                                                                                                                                                                                                              Internet Archive, no acabamos de hablar del nuevo "pattern matching", complejidad creciente de la sintaxis de Python https://podcast.jcea.es/python/20

                                                                                                                                                                                                                                                                                                                                                                                                                              Participantes:

                                                                                                                                                                                                                                                                                                                                                                                                                              • Eduardo Castro, email:

                                                                                                                                                                                                                                                                                                                                                                                                                                [email protected]. Conectando desde A
                                                                                                                                                                                                                                                                                                                                                                                                                                Guarda.

                                                                                                                                                                                                                                                                                                                                                                                                                              • Jesús Cea, email: [email protected], twitter:

                                                                                                                                                                                                                                                                                                                                                                                                                                @jcea, https://blog.jcea.es/,
                                                                                                                                                                                                                                                                                                                                                                                                                                https://www.jcea.es/. Conectando desde Madrid.

                                                                                                                                                                                                                                                                                                                                                                                                                              • Víctor Ramírez, twitter: @virako,

                                                                                                                                                                                                                                                                                                                                                                                                                                programador python y amante de
                                                                                                                                                                                                                                                                                                                                                                                                                                vim, conectando desde Huelva.

                                                                                                                                                                                                                                                                                                                                                                                                                              • Javier, conectando desde Madrid.

                                                                                                                                                                                                                                                                                                                                                                                                                                Audio editado por Pablo Gómez, twitter:

                                                                                                                                                                                                                                                                                                                                                                                                                                @julebek.

                                                                                                                                                                                                                                                                                                                                                                                                                                La música de la entrada y la salida es "Lightning Bugs", de Jason

                                                                                                                                                                                                                                                                                                                                                                                                                                Shaw. Publicada en https://audionautix.com/ con licencia
                                                                                                                                                                                                                                                                                                                                                                                                                                - Creative Commons Attribution 4.0 International
                                                                                                                                                                                                                                                                                                                                                                                                                                License.

                                                                                                                                                                                                                                                                                                                                                                                                                                • [01:33] Cómo documentar en Python.

                                                                                                                                                                                                                                                                                                                                                                                                                                  • Google docs: https://docs.google.com.

                                                                                                                                                                                                                                                                                                                                                                                                                                  • Wikis en GitHub:

                                                                                                                                                                                                                                                                                                                                                                                                                                    https://docs.github.com/en/communities/documenting-your-project-with-wikis/about-wikis.

                                                                                                                                                                                                                                                                                                                                                                                                                                  • Ventajas de tener la documentación en el control de

                                                                                                                                                                                                                                                                                                                                                                                                                                    versiones del proyecto.

                                                                                                                                                                                                                                                                                                                                                                                                                                  • Ventajas de ir escribiendo la documentación mientras

                                                                                                                                                                                                                                                                                                                                                                                                                                    escribes el propio código: Realimentación.

                                                                                                                                                                                                                                                                                                                                                                                                                                  • Sphinx: https://www.sphinx-doc.org/en/master/.

                                                                                                                                                                                                                                                                                                                                                                                                                                    • sphinx.ext.autodoc:

                                                                                                                                                                                                                                                                                                                                                                                                                                      https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html.

                                                                                                                                                                                                                                                                                                                                                                                                                                    • plantuml: https://github.com/sphinx-contrib/plantuml.

                                                                                                                                                                                                                                                                                                                                                                                                                                    • Markdown: https://www.markdownguide.org/.

                                                                                                                                                                                                                                                                                                                                                                                                                                    • [03:48] La vieja guardia es escéptica con las novedades de

                                                                                                                                                                                                                                                                                                                                                                                                                                      la semana.

                                                                                                                                                                                                                                                                                                                                                                                                                                      • No hay balas de plata.
                                                                                                                                                                                                                                                                                                                                                                                                                                      • La documentación guía el desarrollo.

                                                                                                                                                                                                                                                                                                                                                                                                                                      • Paralelismo con los tests.

                                                                                                                                                                                                                                                                                                                                                                                                                                      • [08:38] Open source y la vergüenza: tests y documentación.

                                                                                                                                                                                                                                                                                                                                                                                                                                      • [09:28] CPython Internals Book

                                                                                                                                                                                                                                                                                                                                                                                                                                        https://realpython.com/products/cpython-internals-book/.

                                                                                                                                                                                                                                                                                                                                                                                                                                      • [11:13] HPy https://hpyproject.org/. Nuevo API

                                                                                                                                                                                                                                                                                                                                                                                                                                        https://es.wikipedia.org/wiki/Api para programar extensiones C
                                                                                                                                                                                                                                                                                                                                                                                                                                        para Python, independizándote de la versión del intérprete y
                                                                                                                                                                                                                                                                                                                                                                                                                                        compatible con cosas como PyPy: https://www.pypy.org/.

                                                                                                                                                                                                                                                                                                                                                                                                                                      • [13:18] Internet Archive como biblioteca de libros modernos:

                                                                                                                                                                                                                                                                                                                                                                                                                                        https://archive.org/details/inlibrary.

                                                                                                                                                                                                                                                                                                                                                                                                                                        • Funciona como una biblioteca tradicional.

                                                                                                                                                                                                                                                                                                                                                                                                                                        • Préstamo de libros.

                                                                                                                                                                                                                                                                                                                                                                                                                                        • Están escaneando a toda velocidad: 2.5 millones de libros en

                                                                                                                                                                                                                                                                                                                                                                                                                                          el momento de escribir estas notas (mayo de 2021).

                                                                                                                                                                                                                                                                                                                                                                                                                                        • Internet Archive: https://archive.org/.

                                                                                                                                                                                                                                                                                                                                                                                                                                        • Wayback Machine: https://web.archive.org/.

                                                                                                                                                                                                                                                                                                                                                                                                                                        • Preservación de videojuegos, páginas en flash, discos de

                                                                                                                                                                                                                                                                                                                                                                                                                                          música...

                                                                                                                                                                                                                                                                                                                                                                                                                                        • [17:03] Web de Python en Internet Archive.

                                                                                                                                                                                                                                                                                                                                                                                                                                          • 1997:

                                                                                                                                                                                                                                                                                                                                                                                                                                            https://web.archive.org/web/19970606181701/http://www.python.org/.

                                                                                                                                                                                                                                                                                                                                                                                                                                          • 1998:

                                                                                                                                                                                                                                                                                                                                                                                                                                            https://web.archive.org/web/19981212032130/http://www.python.org/.

                                                                                                                                                                                                                                                                                                                                                                                                                                          • Un ejemplo de "batteries included":

                                                                                                                                                                                                                                                                                                                                                                                                                                            https://commons.wikimedia.org/wiki/File:Python_batteries_included.jpg.

                                                                                                                                                                                                                                                                                                                                                                                                                                          • [17:53] Jesús Cea echa de menos la internet distribuida.

                                                                                                                                                                                                                                                                                                                                                                                                                                          • [18:23] Pattern Matching en Python 3.10. PEP 622 -- Structural

                                                                                                                                                                                                                                                                                                                                                                                                                                            Pattern Matching https://www.python.org/dev/peps/pep-0622/.

                                                                                                                                                                                                                                                                                                                                                                                                                                            • ¿"match" y "case" serán palabras reservadas?

                                                                                                                                                                                                                                                                                                                                                                                                                                            • PEP 617 -- New PEG parser for CPython

                                                                                                                                                                                                                                                                                                                                                                                                                                              https://www.python.org/dev/peps/pep-0617/.

                                                                                                                                                                                                                                                                                                                                                                                                                                            • Se repasa la funcionalidad un poco por encima.

                                                                                                                                                                                                                                                                                                                                                                                                                                            • [27:48] Logs fáciles de configurar y decorados con colorines:

                                                                                                                                                                                                                                                                                                                                                                                                                                              • Daiquiri: https://daiquiri.readthedocs.io/en/latest/.

                                                                                                                                                                                                                                                                                                                                                                                                                                              • Colorama: https://pypi.org/project/colorama/. Compatible

                                                                                                                                                                                                                                                                                                                                                                                                                                                con Windows.

                                                                                                                                                                                                                                                                                                                                                                                                                                              • [29:28] Truco: Python -i: Ejecuta un script y pasa a modo

                                                                                                                                                                                                                                                                                                                                                                                                                                                interactivo.

                                                                                                                                                                                                                                                                                                                                                                                                                                                Comentado hace unas semanas.

                                                                                                                                                                                                                                                                                                                                                                                                                                                También se puede hacer desde el propio código con

                                                                                                                                                                                                                                                                                                                                                                                                                                                code.InteractiveConsole(locals=globals()).interact().

                                                                                                                                                                                                                                                                                                                                                                                                                                                Jesús Cea se queja de que usando la invocación desde código

                                                                                                                                                                                                                                                                                                                                                                                                                                                no funciona la edición de líneas. Javier da la pista correcta:
                                                                                                                                                                                                                                                                                                                                                                                                                                                para que funcione, basta con hacer import readline antes de
                                                                                                                                                                                                                                                                                                                                                                                                                                                lanzar el modo interactivo.

                                                                                                                                                                                                                                                                                                                                                                                                                                              • [30:48] Manhole: https://pypi.org/project/manhole/.

                                                                                                                                                                                                                                                                                                                                                                                                                                              • [31:53] Breakpoints condicionales

                                                                                                                                                                                                                                                                                                                                                                                                                                                https://docs.python.org/3/library/pdb.html#pdbcommand-condition.

                                                                                                                                                                                                                                                                                                                                                                                                                                                • breakpoint() como función nativa: PEP 553 -- Built-in

                                                                                                                                                                                                                                                                                                                                                                                                                                                  breakpoint() https://www.python.org/dev/peps/pep-0553/.

                                                                                                                                                                                                                                                                                                                                                                                                                                                • import pdb; pdb.set_trace().

                                                                                                                                                                                                                                                                                                                                                                                                                                                • [33:28] Scraping a mano:

                                                                                                                                                                                                                                                                                                                                                                                                                                                  • scrapy shell:

                                                                                                                                                                                                                                                                                                                                                                                                                                                    https://docs.scrapy.org/en/latest/topics/shell.html.

                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Jesús Cea no echa de menos Scrapy

                                                                                                                                                                                                                                                                                                                                                                                                                                                    https://docs.scrapy.org/en/latest/.

                                                                                                                                                                                                                                                                                                                                                                                                                                                  • [36:03] Indexador y buscador de documentos: Whoosh

                                                                                                                                                                                                                                                                                                                                                                                                                                                    https://whoosh.readthedocs.io/en/latest/intro.html.

                                                                                                                                                                                                                                                                                                                                                                                                                                                    • Jesús necesitaba ignorar tildes, lo que impacta en la

                                                                                                                                                                                                                                                                                                                                                                                                                                                      extracción del lexema.

                                                                                                                                                                                                                                                                                                                                                                                                                                                    • El backend está documentado, para que te lo puedas currar tú

                                                                                                                                                                                                                                                                                                                                                                                                                                                      si lo necesitas.

                                                                                                                                                                                                                                                                                                                                                                                                                                                    • [38:23] ¿Cómo hacer copia de seguridad de un fichero de 600

                                                                                                                                                                                                                                                                                                                                                                                                                                                      gigabytes con pocos cambios internos?

                                                                                                                                                                                                                                                                                                                                                                                                                                                    • [40:58] Eduardo Castro ha ganado un hackathon en Pontevedra.

                                                                                                                                                                                                                                                                                                                                                                                                                                                      • Software para Django: https://www.djangoproject.com/.

                                                                                                                                                                                                                                                                                                                                                                                                                                                      • [46:38] Experiencias agridulces con los hackathones

                                                                                                                                                                                                                                                                                                                                                                                                                                                        https://en.wikipedia.org/wiki/Hackathon.

                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Netflix Prize https://en.wikipedia.org/wiki/Netflix_Prize.
                                                                                                                                                                                                                                                                                                                                                                                                                                                        • [50:38] Una URL puede no estar no disponible ya cuando escuchas

                                                                                                                                                                                                                                                                                                                                                                                                                                                          el podcast:

                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Podcast: Programar es una mierda:
                                                                                                                                                                                                                                                                                                                                                                                                                                                          • https://www.programaresunamierda.com/.
                                                                                                                                                                                                                                                                                                                                                                                                                                                          • [52:28] Jamii https://jamii.es/.

                                                                                                                                                                                                                                                                                                                                                                                                                                                          • API https://es.wikipedia.org/wiki/Api

                                                                                                                                                                                                                                                                                                                                                                                                                                                          • [55:38] GraphQL https://es.wikipedia.org/wiki/GraphQL.

                                                                                                                                                                                                                                                                                                                                                                                                                                                            • REST:

                                                                                                                                                                                                                                                                                                                                                                                                                                                              https://es.wikipedia.org/wiki/Transferencia_de_Estado_Representacional.

                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Permisos de usuario.

                                                                                                                                                                                                                                                                                                                                                                                                                                                            • No hay cacheo.

                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Vulcain: https://github.com/dunglas/vulcain.

                                                                                                                                                                                                                                                                                                                                                                                                                                                            • [01:02:53] HTTP/2 https://en.wikipedia.org/wiki/HTTP/2.

                                                                                                                                                                                                                                                                                                                                                                                                                                                              • HTTP/2 Server Push:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                https://en.wikipedia.org/wiki/HTTP/2_Server_Push.

                                                                                                                                                                                                                                                                                                                                                                                                                                                              • No se tiene que responder por orden. Multiplexación.

                                                                                                                                                                                                                                                                                                                                                                                                                                                              • [01:08:53] La explosión de la complejidad innecesaria ocultada

                                                                                                                                                                                                                                                                                                                                                                                                                                                                por bibliotecas:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                • OAuth2

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  https://en.wikipedia.org/wiki/OAuth#OAuth_2.0.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                • OpenID: https://en.wikipedia.org/wiki/OpenID.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                • [01:10:33] Complejidad creciente de la sintaxis de Python.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Volvemos a Structural Pattern Matching

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    https://www.python.org/dev/peps/pep-0622/.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Complejidad de la sintaxis.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Un lenguaje pequeño y capaz reemplaza a lenguajes

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    dinosaurio. Python reemplazó a otros lenguajes dinosaurio.
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    Ahora Python es un dinosaurio. ¿Cuándo saldrá un lenguaje
                                                                                                                                                                                                                                                                                                                                                                                                                                                                    que reemplace a Python?

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • [01:12:13] Metaclases

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    https://realpython.com/python-metaclasses/.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Closures:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    https://es.wikipedia.org/wiki/Clausura_(inform%C3%A1tica).

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • [01:15:08] Empiezan a aparecer sublenguajes, tribus,

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    subculturas de Python.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                  • Ciertos cambios de sintaxis pueden unificar subculturas: "la

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    forma oficial de hacerlo".

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • El operador ternario de Python v = VALOR1 if CONDICIÓN

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      else VALOR2: PEP 308 -- Conditional Expressions
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      https://www.python.org/dev/peps/pep-0308/.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • List comprehension: [f(i) for i in ITER if

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      CONDICIÓN(i)]: PEP 202 -- List Comprehensions
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      https://www.python.org/dev/peps/pep-0202/.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • [01:20:18] En los viejos tiempos, podías hacer barbaridades

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      como True = 0. Esto funciona en Pythonn 2.7. Es algo que
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      se cambió en Python 3.0:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      https://docs.python.org/3.0/whatsnew/3.0.html#changed-syntax.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                    • [01:21:53] Jesús Cea echa de menos que se eliminen cosas.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      Está obsesionado con el tamaño del lenguaje.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • ¿Qué eliminaríamos?
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • [01:25:23] El lenguaje C incluye solo lo mínimo imprescindible.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • [01:26:48] Curiosidades: What the f*ck Python!

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        https://github.com/satwikkansal/wtfpython:

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        >>> all([])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        True
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        >>> all([[]])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        False
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        >>> all([[[]]])
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        True
                                                                                                                                                                                                                                                                                                                                                                                                                                                                      • [01:28:03] Algunos avances en la investigación del bug descrito

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        por Virako en las últimas semanas: Ejemplo de código:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        https://pastebin.com/vGM1sh8r.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Issue24676: Error in pickle using cProfile

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          https://bugs.python.org/issue24676.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Issue9914: trace/profile conflict with the use of

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          sys.modules[__name__] https://bugs.python.org/issue9914.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • Issue9325: Add an option to pdb/trace/profile to run library

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          module as a script https://bugs.python.org/issue9325.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          Requiere mejorar el módulo runpy

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          https://docs.python.org/3/library/runpy.html.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          A nadie le ha dolido lo suficiente el bug como para

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          solucionarlo. No es que sea realmente difícil. Tal vez sí.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                        • [01:35:53] Nuitka https://nuitka.net/.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • Ejecutables Python independientes de lo que tengas instalado

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            en el sistema. Por ejemplo, para poder usar una versión de
                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Python "moderna".

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • También funciona en MS Windows.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                          • [01:39:43] Tertulia previa: Fuentes de caracteres con ligaduras.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Combinación de caracteres unicode.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • Las banderas de los países, por ejemplo, son un código

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              "bandera" seguido del código del país:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              https://en.wikipedia.org/wiki/Regional_indicator_symbol.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • La bandera de Taiwan se ve distinta en China que en el resto

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              del mundo: https://emojipedia.org/flag-taiwan/.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • "Collation"

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              https://en.wikipedia.org/wiki/Unicode_collation_algorithm,
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              para ordenar y comparar correctamente
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              caracteres unicode: PyICU: https://pypi.org/project/PyICU/.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • [01:50:23] Cuando el Steering Council

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              https://www.python.org/dev/peps/pep-0013/ vota un tema
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              polémico, la decisión es final. Ya no se busca el consenso a
                                                                                                                                                                                                                                                                                                                                                                                                                                                                              toda costa.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • [01:52:53] Despedida.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            • [01:53:55] Final.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                              1 hr 55 min

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            About Python en español

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            From the publisher's feed

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            'Feed' de Python en español.

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            More shows like Python en español

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Libros para Emprendedores by Luis Ramos

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            Libros para Emprendedores

                                                                                                                                                                                                                                                                                                                                                                                                                                                                            1,118 Listeners