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 devim, conectando desdeHuelva.
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 AGuarda.
Audio editado por Pablo Gómez, twitter:@julebek.
La música de la entrada y la salida es "Lightning Bugs", de JasonShaw. Publicada en https://audionautix.com/ con licencia- Creative Commons Attribution 4.0 InternationalLicense.
[00:52] "Vamos a ir cortando" es la entrada de Jesús Cea paraque 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 elfeed 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 todacosta.
[07:37] Mercurial https://es.wikipedia.org/wiki/Mercurial yGit https://es.wikipedia.org/wiki/Git.
En Mercurial https://es.wikipedia.org/wiki/Mercurial esimposible modificar la historia.
Es imposible hacer nada sofisticado en Githttps://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, Heptapodhttps://heptapod.net/.
¡Evita la centralización!
Al final, el 99.9% de los proyectos de código abierto losmantienen los autores originales en exclusiva.
Microsoft to acquire GitHub for $7.5 billionhttps://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 puedespagar a alguien para que lo haga, promoviendo multitud deplataformas federadas en vez de centralizar internet más ymás.
En cada campo de internet, hay uno o dos ganadores y nadiemás pinta nada. Jesús Cea se queja mucho de eso.
[21:54] Herramientas de aprendizaje automático (MachineLearning)https://es.wikipedia.org/wiki/Aprendizaje_autom%C3%A1tico:
Diferencia entre aprendizaje automático "de toda la vida" yel aprendizaje con refuerzohttps://es.wikipedia.org/wiki/Aprendizaje_por_refuerzo.
Redes neuronales: TensorFlowhttps://es.wikipedia.org/wiki/TensorFlow y Kerashttps://es.wikipedia.org/wiki/Keras.
Procesado de texto: NLTKhttps://es.wikipedia.org/wiki/NLTK.
scikit-learn https://scikit-learn.org/stable/index.html.
Algunos libros:
Python Machine Learning - Second Edition: MachineLearning and Deep Learning with Python, scikit-learn,and TensorFlowhttps://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 deaprendizaje automático:https://www.packtpub.com/free-learning.
"Towards Data Science" https://towardsdatascience.com/.
Vídeos:
Dot CSV:https://www.youtube.com/channel/UCy5znSnfMsDwaLlROnZ7Qbg.
Slack https://slack.com/. ¡Arggg, otra plataforma privadacentralizada!:
[30:32] PyConES 2021 https://2021.es.pycon.org/. Llamada aponencias.
[31:11] Incompatibilidad entre pydantichttps://pypi.org/project/pydantic/ y Python3.10: IMPORTANT: PEP 563, PEP 649 and the future of pydantic#2678 https://github.com/samuelcolvin/pydantic/issues/2678.
PEP 563 -- Postponed Evaluation of Annotationshttps://www.python.org/dev/peps/pep-0563/.
Aún quedan meses para que se publique Python 3.10, se puededar marcha atrás.
[37:02] ¿Qué pensais del comportamiento actual, que ejecuta laanotación de tipos al importar un módulo?
>>> def pepe():... print('hola')... >>> def perico(x:pepe()):... pass... hola[38:47] Más aclaraciones sobre Flithttps://pypi.org/project/flit/ y PEP 621 -- Storing projectmetadata in pyproject.tomlhttps://www.python.org/dev/peps/pep-0621/.
[40:14] Muchas erratas en las tertulias. Hay que fiarse más delas notas de los podcasts, que se elaboran con posterioridad.
¡Son charlas de bar! Conversaciones informales, sininvestigación detallada.
¿Publicar audios de fé de erratas?
[45:07] Truquillo que puede ser útil a alguien, sobre todo alserializar objetos con ciertos protocolos que no soportanTrue/False:
>>> int(True)1>>> int(False)0>>> bool(0)False>>> bool(1)True[46:15] Extraer parámetros "keyword" de "**keywords", de formaautomá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] Dataclasseshttps://docs.python.org/3/library/dataclasses.html.
PEP 557 -- Data Classeshttps://www.python.org/dev/peps/pep-0557/.
Decoradores de clases: PEP 3129 -- Class Decoratorshttps://www.python.org/dev/peps/pep-3129/.
pydantic https://pypi.org/project/pydantic/. Validación detipos en tiempo de ejecución. Esta biblioteca se nombra encasi todas las tertulias.
Mypy http://mypy-lang.org/. Validación de tipos en tiempode "testing" o integración continua.
[01:01:12] Truco: "dar por cerrada la sesión" siempre abre temasnuevos:
Libro: Python avanzado en un fin de semanahttps://www.amazon.es/Python-avanzado-fin-semana-Aprende-ebook/dp/B08XLYC38D.
Libro de iniciación: Aprende Python en un fin de semanahttps://www.amazon.es/Aprende-Python-en-fin-semana-ebook/dp/B07GXDXLYC/.
[01:03:50] GILhttps://en.wikipedia.org/wiki/Global_interpreter_lock.
Aunque solo se pueda ejecutar un hilo simultaneamente, esventajoso cuando hay hilos dominados por la entrada/salida.
Multihilohttps://es.wikipedia.org/wiki/Hilo_(inform%C3%A1tica).
Ha habido muchos intentos de cargarse el GIL de Python, conpoco éxito.
Ejemplos de beneficios de multihilo y de tener varias CPUshttps://es.wikipedia.org/wiki/Unidad_central_de_procesamientoen Python, aún con el GIL actual.
Charla de Jesús Cea en la PyConES 2018: GIL: Todo lo quequisiste saber y no te atreviste a preguntarhttps://www.youtube.com/watch?v=50eOwz9lek4.
[01:22:27] Truco: "dar por cerrada la sesión" siempre abre temasnuevos (segunda parte):
[01:24:32] Uso de IDEshttps://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado.
Vim https://es.wikipedia.org/wiki/Vim.
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 dehacerlo "a mano", cuando lo necesites.
[01:34:42] Eduardo "no tiene casa" :-). Eduardo nos presentaa la "jefa".
Se emplaza un futuro debate sobre IDEshttps://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado.
Inercia para cambiar. El coste de cambiar el evidente, y loque puede no ser evidente es el beneficio de cambiar.
"Intentar salir de vim". Fuente inagotable de memeshttps://es.wikipedia.org/wiki/Meme.
Módulo Mercurial que interactúa con GIT: hg-githttps://pypi.org/project/hg-git/.
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. Porejemplo, puede haber mucha plantilla fácil de automatizar.
[01:47:42] Truco: "dar por cerrada la sesión" siempre abre temasnuevos (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. Jitsihttps://es.wikipedia.org/wiki/Jitsi.
Jesús Cea explica cómo graba. Algo bizarro y quefunciona casi de casualidad.
Cuando Jesús Cea grababa podcastshttps://es.wikipedia.org/wiki/P%C3%B3dcast con ungrupo cerrado de gente, la grabación era local cada unoen su máquina. Cada uno grababa su micrófono local y lasuma de todos los demás en dos canales distintos. Esopermite tener separación de canales para editar elsonido y, si alguien se olvida de ponerlo, su voz haquedado grabada en remoto en todos los demás.
ALSAhttps://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íaen las tertulias.
Jibri: Jitsi BRoadcast Infraestructurehttps://github.com/jitsi/jibri.
aiortc https://pypi.org/project/aiortc/.
Hay un montón de plataformas de grabación online, de pago.El problema habitual es el soporte de conexiones desdedistintos dispositivos.
[01:58:35] Despedida.
[01:59:15] Final.
Podchaser is the ultimate destination for podcast data, search, and discovery. Learn More