b'Internet Archive, no acabamos de hablar del nuevo "pattern matching", complejidad creciente de la sintaxis de Python https://podcast.jcea.es/python/20\\n
Participantes:
\\nEduardo Castro, email:\\n info@ecdesign.es. Conectando desde A\\n Guarda.
\\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 Huelva.
\\nJavier, conectando desde Madrid.
\\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[01:33] C\\xf3mo documentar en Python.
\\nGoogle docs: https://docs.google.com.
\\nWikis en GitHub:\\n https://docs.github.com/en/communities/documenting-your-project-with-wikis/about-wikis.
\\nVentajas de tener la documentaci\\xf3n en el control de\\n versiones del proyecto.
\\nVentajas de ir escribiendo la documentaci\\xf3n mientras\\n escribes el propio c\\xf3digo: Realimentaci\\xf3n.
\\nSphinx: https://www.sphinx-doc.org/en/master/.
\\nsphinx.ext.autodoc:\\n https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html.
\\nplantuml: https://github.com/sphinx-contrib/plantuml.
\\nMarkdown: https://www.markdownguide.org/.
\\n[03:48] La vieja guardia es esc\\xe9ptica con las novedades de\\n la semana.
\\nLa documentaci\\xf3n gu\\xeda el desarrollo.
\\nParalelismo con los tests.
\\n[08:38] Open source y la verg\\xfcenza: tests y documentaci\\xf3n.
\\n[09:28] CPython Internals Book\\n https://realpython.com/products/cpython-internals-book/.
\\n[11:13] HPy https://hpyproject.org/. Nuevo API\\n https://es.wikipedia.org/wiki/Api para programar extensiones C\\n para Python, independiz\\xe1ndote de la versi\\xf3n del int\\xe9rprete y\\n compatible con cosas como PyPy: https://www.pypy.org/.
\\n[13:18] Internet Archive como biblioteca de libros modernos:\\n https://archive.org/details/inlibrary.
\\nFunciona como una biblioteca tradicional.
\\nPr\\xe9stamo de libros.
\\nEst\\xe1n escaneando a toda velocidad: 2.5 millones de libros en\\n el momento de escribir estas notas (mayo de 2021).
\\nInternet Archive: https://archive.org/.
\\nWayback Machine: https://web.archive.org/.
\\nPreservaci\\xf3n de videojuegos, p\\xe1ginas en flash, discos de\\n m\\xfasica...
\\n[17:03] Web de Python en Internet Archive.
\\n1997:\\n https://web.archive.org/web/19970606181701/http://www.python.org/.
\\n1998:\\n https://web.archive.org/web/19981212032130/http://www.python.org/.
\\nUn ejemplo de "batteries included":\\n https://commons.wikimedia.org/wiki/File:Python_batteries_included.jpg.
\\n[17:53] Jes\\xfas Cea echa de menos la internet distribuida.
\\n[18:23] Pattern Matching en Python 3.10. PEP 622 -- Structural\\n Pattern Matching https://www.python.org/dev/peps/pep-0622/.
\\n\\xbf"match" y "case" ser\\xe1n palabras reservadas?
\\nPEP 617 -- New PEG parser for CPython\\n https://www.python.org/dev/peps/pep-0617/.
\\nSe repasa la funcionalidad un poco por encima.
\\n[27:48] Logs f\\xe1ciles de configurar y decorados con colorines:
\\nDaiquiri: https://daiquiri.readthedocs.io/en/latest/.
\\nColorama: https://pypi.org/project/colorama/. Compatible\\n con Windows.
\\n[29:28] Truco: Python -i
: Ejecuta un script y pasa a modo\\n interactivo.
Comentado hace unas semanas.
\\nTambi\\xe9n se puede hacer desde el propio c\\xf3digo con\\ncode.InteractiveConsole(locals=globals()).interact()
.
Jes\\xfas Cea se queja de que usando la invocaci\\xf3n desde c\\xf3digo\\nno funciona la edici\\xf3n de l\\xedneas. Javier da la pista correcta:\\npara que funcione, basta con hacer import readline
antes de\\nlanzar el modo interactivo.
[30:48] Manhole: https://pypi.org/project/manhole/.
\\n[31:53] Breakpoints condicionales\\n https://docs.python.org/3/library/pdb.html#pdbcommand-condition.
\\nbreakpoint()
como funci\\xf3n nativa: PEP 553 -- Built-in\\n breakpoint() https://www.python.org/dev/peps/pep-0553/.
import pdb; pdb.set_trace()
.
[33:28] Scraping a mano:
\\nscrapy shell:\\n https://docs.scrapy.org/en/latest/topics/shell.html.
\\nJes\\xfas Cea no echa de menos Scrapy\\n https://docs.scrapy.org/en/latest/.
\\n[36:03] Indexador y buscador de documentos: Whoosh \\n https://whoosh.readthedocs.io/en/latest/intro.html.
\\nJes\\xfas necesitaba ignorar tildes, lo que impacta en la\\n extracci\\xf3n del lexema.
\\nEl backend est\\xe1 documentado, para que te lo puedas currar t\\xfa\\n si lo necesitas.
\\n[38:23] \\xbfC\\xf3mo hacer copia de seguridad de un fichero de 600\\n gigabytes con pocos cambios internos?
\\n[40:58] Eduardo Castro ha ganado un hackathon en Pontevedra.
\\nSoftware para Django: https://www.djangoproject.com/.
\\n[46:38] Experiencias agridulces con los hackathones\\n https://en.wikipedia.org/wiki/Hackathon.
\\n[50:38] Una URL puede no estar no disponible ya cuando escuchas\\n el podcast:
\\n[52:28] Jamii https://jamii.es/.
\\n[55:38] GraphQL https://es.wikipedia.org/wiki/GraphQL.
\\nREST:\\n https://es.wikipedia.org/wiki/Transferencia_de_Estado_Representacional.
\\nPermisos de usuario.
\\nNo hay cacheo.
\\nVulcain: https://github.com/dunglas/vulcain.
\\n[01:02:53] HTTP/2 https://en.wikipedia.org/wiki/HTTP/2.
\\nHTTP/2 Server Push:\\n https://en.wikipedia.org/wiki/HTTP/2_Server_Push.
\\nNo se tiene que responder por orden. Multiplexaci\\xf3n.
\\n[01:08:53] La explosi\\xf3n de la complejidad innecesaria ocultada\\n por bibliotecas:
\\nOpenID: https://en.wikipedia.org/wiki/OpenID.
\\n[01:10:33] Complejidad creciente de la sintaxis de Python.
\\nVolvemos a Structural Pattern Matching\\n https://www.python.org/dev/peps/pep-0622/.
\\nComplejidad de la sintaxis.
\\nUn lenguaje peque\\xf1o y capaz reemplaza a lenguajes\\n dinosaurio. Python reemplaz\\xf3 a otros lenguajes dinosaurio.\\n Ahora Python es un dinosaurio. \\xbfCu\\xe1ndo saldr\\xe1 un lenguaje\\n que reemplace a Python?
\\n[01:12:13] Metaclases\\n https://realpython.com/python-metaclasses/.
\\nClosures:\\n https://es.wikipedia.org/wiki/Clausura_(inform%C3%A1tica).
\\n[01:15:08] Empiezan a aparecer sublenguajes, tribus,\\n subculturas de Python.
\\nCiertos cambios de sintaxis pueden unificar subculturas: "la\\n forma oficial de hacerlo".
\\nEl operador ternario de Python v = VALOR1 if CONDICI\\xd3N\\n else VALOR2
: PEP 308 -- Conditional Expressions\\n https://www.python.org/dev/peps/pep-0308/.
List comprehension: [f(i) for i in ITER if\\n CONDICI\\xd3N(i)]
: PEP 202 -- List Comprehensions\\n https://www.python.org/dev/peps/pep-0202/.
[01:20:18] En los viejos tiempos, pod\\xedas hacer barbaridades\\n como True = 0
. Esto funciona en Pythonn 2.7. Es algo que\\n se cambi\\xf3 en Python 3.0:\\n https://docs.python.org/3.0/whatsnew/3.0.html#changed-syntax.
[01:21:53] Jes\\xfas Cea echa de menos que se eliminen cosas.\\n Est\\xe1 obsesionado con el tama\\xf1o del lenguaje.
\\n[01:25:23] El lenguaje C incluye solo lo m\\xednimo imprescindible.
\\n[01:26:48] Curiosidades: What the f*ck Python!\\n https://github.com/satwikkansal/wtfpython:
\\n>>> all([])\\nTrue\\n>>> all([[]])\\nFalse\\n>>> all([[[]]])\\nTrue\\n
\\n[01:28:03] Algunos avances en la investigaci\\xf3n del bug descrito\\n por Virako en las \\xfaltimas semanas: Ejemplo de c\\xf3digo:\\n https://pastebin.com/vGM1sh8r.
\\nIssue24676: Error in pickle using cProfile\\n https://bugs.python.org/issue24676.
\\nIssue9914: trace/profile conflict with the use of\\n sys.modules[__name__]
https://bugs.python.org/issue9914.
Issue9325: Add an option to pdb/trace/profile to run library\\n module as a script https://bugs.python.org/issue9325.
\\nRequiere mejorar el m\\xf3dulo runpy
\\nhttps://docs.python.org/3/library/runpy.html.
A nadie le ha dolido lo suficiente el bug como para\\nsolucionarlo. No es que sea realmente dif\\xedcil. Tal vez s\\xed.
\\n[01:35:53] Nuitka https://nuitka.net/.
\\nEjecutables Python independientes de lo que tengas instalado\\n en el sistema. Por ejemplo, para poder usar una versi\\xf3n de\\n Python "moderna".
\\nTambi\\xe9n funciona en MS Windows.
\\n[01:39:43] Tertulia previa: Fuentes de caracteres con ligaduras.
\\nCombinaci\\xf3n de caracteres unicode.
\\nLas banderas de los pa\\xedses, por ejemplo, son un c\\xf3digo\\n "bandera" seguido del c\\xf3digo del pa\\xeds:\\n https://en.wikipedia.org/wiki/Regional_indicator_symbol.
\\nLa bandera de Taiwan se ve distinta en China que en el resto\\n del mundo: https://emojipedia.org/flag-taiwan/.
\\n"Collation"\\n https://en.wikipedia.org/wiki/Unicode_collation_algorithm,\\n para ordenar y comparar correctamente\\n caracteres unicode: PyICU: https://pypi.org/project/PyICU/.
\\n[01:50:23] Cuando el Steering Council\\n https://www.python.org/dev/peps/pep-0013/ vota un tema\\n pol\\xe9mico, la decisi\\xf3n es final. Ya no se busca el consenso a\\n toda costa.
\\n[01:52:53] Despedida.
\\n[01:53:55] Final.
\\n