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
Autor: Jesús Cea & Otros - Contacto: python2021@podcast.jcea.es
Fecha de grabación: 2021/04/20 - Duración: 02:00:07
Fecha de publicación: 2021/07/12
Palabras clave: Tertulia
Descarga el audio: M4A (30079395 bytes) - OPUS (14842047 bytes)
Participantes:
Jesús Cea, email: jcea@jcea.es, 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: info@ecdesign.es. 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.
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.
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/.
¡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.
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/.
Vídeos:
Dot CSV: https://www.youtube.com/channel/UCy5znSnfMsDwaLlROnZ7Qbg.
Slack https://slack.com/. ¡Arggg, otra plataforma privada centralizada!:
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.
>>> def pepe():
... print('hola')
...
>>> def perico(x:pepe()):
... pass
...
hola
¡Son charlas de bar! Conversaciones informales, sin investigación detallada.
¿Publicar audios de fé de erratas?
True
/False
:
>>> int(True)
1
>>> int(False)
0
>>> bool(0)
False
>>> bool(1)
True
>>> 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/.
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/.
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.
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/.
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.
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.
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 de hacerlo "a mano", cuando lo necesites.
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.
"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/.
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.
Apuntarnos temas para traer a lo largo de la semana.
Canal de Telegram https://t.me/joinchat/y__YXXQM6bg1MTQ0.
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/.
Hay un montón de plataformas de grabación online, de pago. El problema habitual es el soporte de conexiones desde distintos dispositivos.