Python en español #27: Tertulia 2021-04-06

Python en español - Un pódcast de Jesús Cea

Categorías:

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.