Plataformas centralizadas, GIL, aprendizaje autom\xe1tico, 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\n
Participantes:
\nJes\xfas Cea, email: jcea@jcea.es, twitter:\n @jcea, https://blog.jcea.es/,\n https://www.jcea.es/. Conectando desde Madrid.
\nV\xedctor Ram\xedrez, twitter: @virako,\n programador python y amante de\n vim, conectando desde\n Huelva.
\nFelipem, conectando desde Cantabria.
\nJuan Jos\xe9, Nekmo, https://nekmo.com/,\n https://github.com/Nekmo/. Madrile\xf1o conectando desde M\xe1laga.
\nJes\xfas, conectando desde Ferrol.
\nEduardo Castro, email:\n info@ecdesign.es. Conectando desde A\n Guarda.
\nAudio editado por Pablo G\xf3mez, twitter:\n@julebek.
\nLa m\xfasica de la entrada y la salida es "Lightning Bugs", de Jason\nShaw. Publicada en https://audionautix.com/ con licencia\n- Creative Commons Attribution 4.0 International\nLicense.
\n[00:52] "Vamos a ir cortando" es la entrada de Jes\xfas Cea para\n que alguien proponga temas durante media hora m\xe1s.
\n[02:27] \xa1Ha salido el primer podcast!: Python en espa\xf1ol #7:\n \xa1Metapodcast de relanzamiento!\n https://podcast.jcea.es/python/7.
\nPlataformas de podcasting.
\nNo necesitas ninguna plataforma, puedes usar directamente el\n feed RSS https://es.wikipedia.org/wiki/Rss.
\nFunkwhale https://funkwhale.audio/.
\ntoc2audio https://docs.jcea.es/toc2audio/.
\nJes\xfas Cea tiene su propia plataforma de podcasting,\n herramientas, etc. Quiere evitar la centralizaci\xf3n a toda\n costa.
\n[07:37] Mercurial https://es.wikipedia.org/wiki/Mercurial y\n Git https://es.wikipedia.org/wiki/Git.
\nEn Mercurial https://es.wikipedia.org/wiki/Mercurial es\n imposible modificar la historia.
\nEs imposible hacer nada sofisticado en Git\n https://es.wikipedia.org/wiki/Git sin recurrir a Google.
\nMercurial - Filosof\xeda y visi\xf3n de alto nivel:\n https://www.jcea.es/artic/mercurial_madrid/.
\nBitbucket https://bitbucket.org/ ya no soporta Mercurial.
\nHay alternativas peque\xf1itas. Por ejemplo, Heptapod\n https://heptapod.net/.
\n\xa1Evita la centralizaci\xf3n!
\nAl final, el 99.9% de los proyectos de c\xf3digo abierto los\n mantienen los autores originales en exclusiva.
\nMicrosoft to acquire GitHub for $7.5 billion\n https://news.microsoft.com/2018/06/04/microsoft-to-acquire-github-for-7-5-billion/.
\n\xbfTrabajar por visibilidad? Eso se cura con la edad.
\nMantener infraestructura propia tiene su coste, pero puedes\n pagar a alguien para que lo haga, promoviendo multitud de\n plataformas federadas en vez de centralizar internet m\xe1s y\n m\xe1s.
\nEn cada campo de internet, hay uno o dos ganadores y nadie\n m\xe1s pinta nada. Jes\xfas Cea se queja mucho de eso.
\n[21:54] Herramientas de aprendizaje autom\xe1tico (Machine\n Learning)\n https://es.wikipedia.org/wiki/Aprendizaje_autom%C3%A1tico:
\nDiferencia entre aprendizaje autom\xe1tico "de toda la vida" y\n el aprendizaje con refuerzo\n https://es.wikipedia.org/wiki/Aprendizaje_por_refuerzo.
\nRedes neuronales: TensorFlow\n https://es.wikipedia.org/wiki/TensorFlow y Keras\n https://es.wikipedia.org/wiki/Keras.
\nProcesado de texto: NLTK\n https://es.wikipedia.org/wiki/NLTK.
\nscikit-learn https://scikit-learn.org/stable/index.html.
\nAlgunos libros:
\nPython Machine Learning - Second Edition: Machine\n Learning and Deep Learning with Python, scikit-learn,\n and TensorFlow\n https://www.amazon.es/Python-Machine-Learning-Sebastian-Raschka/dp/1787125939/.\n Hay versi\xf3n en castellano.
\n"TensorFlow en un dia"\n https://www.amazon.es/TensorFlow-Day-Neural-Network-English-ebook/dp/B07H474R7Q/.\n Hay versi\xf3n en castellano.
\nPackt publica un libro gratis al d\xeda, muchos de\n aprendizaje autom\xe1tico:\n https://www.packtpub.com/free-learning.
\n"Towards Data Science" https://towardsdatascience.com/.
\nV\xeddeos:
\nDot CSV:\n https://www.youtube.com/channel/UCy5znSnfMsDwaLlROnZ7Qbg.
\nSlack https://slack.com/. \xa1Arggg, otra plataforma privada\n centralizada!:
\n[30:32] PyConES 2021 https://2021.es.pycon.org/. Llamada a\n ponencias.
\n[31:11] Incompatibilidad entre pydantic\n https://pypi.org/project/pydantic/ y Python\n 3.10: IMPORTANT: PEP 563, PEP 649 and the future of pydantic\n #2678 https://github.com/samuelcolvin/pydantic/issues/2678.
\nPEP 563 -- Postponed Evaluation of Annotations\n https://www.python.org/dev/peps/pep-0563/.
\nA\xfan quedan meses para que se publique Python 3.10, se puede\n dar marcha atr\xe1s.
\n[37:02] \xbfQu\xe9 pensais del comportamiento actual, que ejecuta la\n anotaci\xf3n de tipos al importar un m\xf3dulo?
\n >>> def pepe():\n ... print('hola')\n ... \n >>> def perico(x:pepe()):\n ... pass\n ... \n hola\n
\n[38:47] M\xe1s aclaraciones sobre Flit\n https://pypi.org/project/flit/ y PEP 621 -- Storing project\n metadata in pyproject.toml\n https://www.python.org/dev/peps/pep-0621/.
\n[40:14] Muchas erratas en las tertulias. Hay que fiarse m\xe1s de\n las notas de los podcasts, que se elaboran con posterioridad.
\n\xa1Son charlas de bar! Conversaciones informales, sin\n investigaci\xf3n detallada.
\n\xbfPublicar audios de f\xe9 de erratas?
\n[45:07] Truquillo que puede ser \xfatil a alguien, sobre todo al\n serializar objetos con ciertos protocolos que no soportan\n True
/False
:
>>> int(True)\n 1\n >>> int(False)\n 0\n >>> bool(0)\n False\n >>> bool(1)\n True\n
\n[46:15] Extraer par\xe1metros "keyword" de "**keywords", de forma\n autom\xe1tica.
\n >>> def a(pepe=5, **kwargs):\n ... print(pepe, kwargs)\n ...\n >>> a(5, siete=5)\n 5 {'siete': 5}\n
\nSe explican algunos casos de uso.
\ntoc2audio https://docs.jcea.es/toc2audio/.
\n[49:42] Dataclasses\n https://docs.python.org/3/library/dataclasses.html.
\nPEP 557 -- Data Classes\n https://www.python.org/dev/peps/pep-0557/.
\nDecoradores de clases: PEP 3129 -- Class Decorators\n https://www.python.org/dev/peps/pep-3129/.
\npydantic https://pypi.org/project/pydantic/. Validaci\xf3n de\n tipos en tiempo de ejecuci\xf3n. Esta biblioteca se nombra en\n casi todas las tertulias.
\nMypy http://mypy-lang.org/. Validaci\xf3n de tipos en tiempo\n de "testing" o integraci\xf3n continua.
\n[01:01:12] Truco: "dar por cerrada la sesi\xf3n" siempre abre temas\n nuevos:
\nLibro: Python avanzado en un fin de semana\n https://www.amazon.es/Python-avanzado-fin-semana-Aprende-ebook/dp/B08XLYC38D.
\nLibro de iniciaci\xf3n: Aprende Python en un fin de semana\n https://www.amazon.es/Aprende-Python-en-fin-semana-ebook/dp/B07GXDXLYC/.
\n[01:03:50] GIL\n https://en.wikipedia.org/wiki/Global_interpreter_lock.
\nAunque solo se pueda ejecutar un hilo simultaneamente, es\n ventajoso cuando hay hilos dominados por la entrada/salida.
\nMultihilo\n https://es.wikipedia.org/wiki/Hilo_(inform%C3%A1tica).
\nHa habido muchos intentos de cargarse el GIL de Python, con\n poco \xe9xito.
\nEjemplos de beneficios de multihilo y de tener varias CPUs\n https://es.wikipedia.org/wiki/Unidad_central_de_procesamiento\n en Python, a\xfan con el GIL actual.
\nCharla de Jes\xfas Cea en la PyConES 2018: GIL: Todo lo que\n quisiste saber y no te atreviste a preguntar\n https://www.youtube.com/watch?v=50eOwz9lek4.
\n[01:22:27] Truco: "dar por cerrada la sesi\xf3n" siempre abre temas\n nuevos (segunda parte):
\n[01:24:32] Uso de IDEs\n https://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado.
\nVim https://es.wikipedia.org/wiki/Vim.
\nSublime Text https://www.sublimetext.com/.
\nPyCharm https://www.jetbrains.com/pycharm/.
\nEclipse https://www.eclipse.org/ide/.
\nAutomatizar cosas implica que puedes perder la capacidad de\n hacerlo "a mano", cuando lo necesites.
\n[01:34:42] Eduardo "no tiene casa" :-). Eduardo nos presenta\n a la "jefa".
\nSe emplaza un futuro debate sobre IDEs\n https://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado.
\nInercia para cambiar. El coste de cambiar el evidente, y lo\n que puede no ser evidente es el beneficio de cambiar.
\n"Intentar salir de vim". Fuente inagotable de memes\n https://es.wikipedia.org/wiki/Meme.
\nM\xf3dulo Mercurial que interact\xfaa con GIT: hg-git\n https://pypi.org/project/hg-git/.
\nWebDAV: https://es.wikipedia.org/wiki/WebDAV.
\nWing Python IDE: https://wingware.com/.
\nEl tiempo se va en pensar, no en picar c\xf3digo.
\nTambi\xe9n importa el perfil de c\xf3digo o proyecto concreto. Por\n ejemplo, puede haber mucha plantilla f\xe1cil de automatizar.
\n[01:47:42] Truco: "dar por cerrada la sesi\xf3n" siempre abre temas\n nuevos (tercera parte).
\n[01:48:00] Cierre:
\nApuntarnos temas para traer a lo largo de la semana.
\nCanal de Telegram https://t.me/joinchat/y__YXXQM6bg1MTQ0.
\n[01:49:27] Mejorar el sistema de grabaci\xf3n de la tertulia. Jitsi\n https://es.wikipedia.org/wiki/Jitsi.
\nJes\xfas Cea explica c\xf3mo graba. Algo bizarro y que\n funciona casi de casualidad.
\nCuando Jes\xfas Cea grababa podcasts\n https://es.wikipedia.org/wiki/P%C3%B3dcast con un\n grupo cerrado de gente, la grabaci\xf3n era local cada uno\n en su m\xe1quina. Cada uno grababa su micr\xf3fono local y la\n suma de todos los dem\xe1s en dos canales distintos. Eso\n permite tener separaci\xf3n de canales para editar el\n sonido y, si alguien se olvida de ponerlo, su voz ha\n quedado grabada en remoto en todos los dem\xe1s.
\nALSA\n https://en.wikipedia.org/wiki/Advanced_Linux_Sound_Architecture.
\nPulseAudio https://es.wikipedia.org/wiki/PulseAudio.
\nPipeWire https://en.wikipedia.org/wiki/PipeWire.
\nJes\xfas Cea explica por qu\xe9 no est\xe1 usando esa tecnolog\xeda\n en las tertulias.
\nJibri: Jitsi BRoadcast Infraestructure\n https://github.com/jitsi/jibri.
\naiortc https://pypi.org/project/aiortc/.
\nHay un mont\xf3n de plataformas de grabaci\xf3n online, de pago.\n El problema habitual es el soporte de conexiones desde\n distintos dispositivos.
\n[01:58:35] Despedida.
\n[01:59:15] Final.
\n