Python en español #27: Tertulia 2021-04-06
Description
Participantes:
Jesús Cea, email: jcea@jcea.es, twitter:
@jcea, https://blog.jcea.es/,
https://www.jcea.es/. Conectando desde Madrid.Eduardo Castro, email:
info@ecdesign.es. 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.
<timestamp compact="1" offset="52" ts="52">[00:52 ]<topic> Prólogo y comentarios sobre la calidad del audio en las
grabaciones.</topic></timestamp>Auriculares para evitar pedir demasiado al sistema de
cancelación de eco, sobre todo si la sala tiene
reverberación.¡Manos fuera del teclado!
<timestamp compact="1" offset="52" ts="212">[03:32 ]<topic> Consejos que ha dado Pablo Gómez para mejorar nuestras
grabaciones.</topic></timestamp><timestamp compact="1" offset="52" ts="292">[04:52 ]<topic> Cómo conecta y graba las tertulias Jesús Cea.</topic></timestamp>
<timestamp compact="1" offset="52" ts="382">[06:22 ]<topic> Publicación inminente de las tertulias.</topic></timestamp>
- toc2audio https://docs.jcea.es/toc2audio/.
<timestamp compact="1" offset="52" ts="442">[07:22 ]<topic> Revisamos el micro de Jesús Cea y sus roces con la ropa
en tiempo real. Fue muy entretenido.</topic></timestamp><timestamp compact="1" offset="52" ts="572">[09:32 ]<topic> Repaso de la tertulia pasada.</topic></timestamp>
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/.
<timestamp compact="1" offset="52" ts="680">[11:20 ]<topic> ¿Cómo se añaden comandos nuevos al sistema en MS
Windows (en Python, claro)?</topic></timestamp><timestamp compact="1" offset="52" ts="1072">[17:52 ]<topic> La nota legal de rigor y presentación de los tertulianos.</topic></timestamp>
<timestamp compact="1" offset="52" ts="1167">[19:27 ]<topic> Revisión estética de "Python en Español"
https://podcast.jcea.es/python/. ¿Algún voluntario?</topic></timestamp><timestamp compact="1" offset="52" ts="1252">[20:52 ]<topic> Más sobre Flit https://pypi.org/project/flit/</topic></timestamp>
- Problemas con los namespaces (PEP 420 -- Implicit Namespace
Packages https://www.python.org/dev/peps/pep-0420/).
- Problemas con los namespaces (PEP 420 -- Implicit Namespace
<timestamp compact="1" offset="52" ts="1302">[21:42 ]<topic> 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/.</topic></timestamp><timestamp compact="1" offset="52" ts="1484">[24:44 ]<topic> Mejor explícito que implícito.</topic></timestamp>
"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:
<timestamp compact="1" offset="52" ts="3332">[55:32 ]<topic> Temas de actualidad.</topic></timestamp>
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.
<timestamp compact="1" offset="52" ts="3447">[57:27 ]<topic> Rarezas Python.</topic></timestamp>
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.
<timestamp compact="0" offset="52" ts="3652">[01:00:52 ]<topic> Uso de variables globales.</topic></timestamp>
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.
- Jesús Cea amenaza con usar "Contextvars"
"Closures":
https://es.wikipedia.org/wiki/Clausura_(inform%C3%A1tica).
<timestamp compact="0" offset="52" ts="4082">[01:08:02 ]<topic> ¿Cómo se hacen pruebas con "closures"
https://es.wikipedia.org/wiki/Clausura_(inform%C3%A1tica) o
decoradores sofisticados?</topic></timestamp>¿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.
<timestamp compact="0" offset="52" ts="4387">[01:13:07 ]<topic> Algunos comentarios sobre "Machete Mode":
https://nedbatchelder.com/blog/202103/machete_mode_tagging_frames.html.</topic></timestamp><timestamp compact="0" offset="52" ts="4494">[01:14:54 ]<topic> Detalles de la grabación e ideas de mejora.</topic></timestamp>
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.<timestamp compact="0" offset="52" ts="4972">[01:22:52 ]<topic> PÉRDID