Python en español

Python en español #23: Tertulia 2021-03-09

05.31.2021 - By Jesús CeaPlay

Download our free app to listen on your phone

Download on the App StoreGet it on Google Play

Hoy estamos poquitos en la tertulia y eso permite hablar a gente que nunca ha hablado antes: ¿Cómo puede aprender Python un novato? Python y seguridad https://podcast.jcea.es/python/23

Audio procesado con "rnnoise": https://jmvalin.ca/demo/rnnoise/.

Participantes:

Jesús Cea, email: [email protected], twitter:

@jcea, https://blog.jcea.es/,

https://www.jcea.es/. Conectando desde Madrid.

Jesús, conectando desde Ferrol.

Víctor Ramírez, twitter: @virako,

programador python y amante de

vim, conectando desde

Huelva.

Gato, desde Chile.

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:53] Hoy no se han conectado los habituales (Virako conectó

un rato en medio de la sesión). Por suerte, Jesús, un oyente

silencioso habitual, se apiadó de mí.

¿Cómo empezamos a programar en Python?

Empezar con el tutorial:

https://docs.python.org/es/3/tutorial/index.html.

[05:43] Jesús Cea coleccionaba lenguajes de programación en

su juventud.

Forth: https://es.wikipedia.org/wiki/Forth.

Ensamblador:

https://es.wikipedia.org/wiki/Lenguaje_ensamblador.

[06:23] "La mejor herramienta para cada trabajo" tiene un

coste oculto. Especializarse.

[07:23] Mercado laboral en España para trabajar en remoto.

Los empleadores tienen exigencias poco realistas.

[09:18] Hay mucho material para aprender.

Saqueadores edición técnica: http://set-ezine.org/.

[12:48] Formación formal.

[14:03] Comunidades locales Python:

Python Vigo: https://www.python-vigo.es/.

Se intentaba montar algo en La Coruña.

Makerspaces: A Industriosa https://aindustriosa.org/.

[16:23] ¿Recursos que pueda usar un novato para aprender?

Asociación Python España: https://www.es.python.org/.

Lista de correo Python-es:

https://mail.python.org/mailman/listinfo/python-es.

Internet.

[19:23] Raspberry PI https://www.raspberrypi.org/, ESP8266

https://es.wikipedia.org/wiki/ESP8266, ESP32

https://es.wikipedia.org/wiki/ESP32.

[21:43] Puesta al día de la semana.

[23:28] Encuesta mundial de programadores de Python: Python

Developers Survey 2020 Results

https://www.jetbrains.com/lp/python-developers-survey-2020/.

[24:04] Ya estamos repasando las grabaciones, con vista a

publicarlas.

Las notas jugarán un papel importante en las grabaciones.

Capítulos.

[26:03] IPFS: https://es.wikipedia.org/wiki/IPFS.

Peer 2 Peer: https://es.wikipedia.org/wiki/Peer-to-peer.

webrtc: https://es.wikipedia.org/wiki/WebRTC.

Contribuir compartiendo las fotos de Python España.

BitTorrent: https://es.wikipedia.org/wiki/BitTorrent.

[29:33] Métricas de calidad de código.

Complejidad ciclomática:

https://es.wikipedia.org/wiki/Complejidad_ciclom%C3%A1tica.

Radon: https://pypi.org/project/radon/.

Cobertura de test: Coverage

https://pypi.org/project/coverage/.

Cada pequeño paso ayuda.

[35:08] Porcentaje de código nuevo y mantenimiento.

[36:33] Se perdió parte de la grabación de la tertulia de la

semana pasada. Explicaciones.

Explicación de cómo se graban las tertulias.

[41:13] Packt https://www.packtpub.com/. Muchos libros

digitales sobre Python.

Un libro gratis al día:

https://www.packtpub.com/free-learning.

Bot de telegram de notificaciones diarias:

https://t.me/packtpubfreelearning.

[44:33] Funciones que son malas prácticas en C.

C++ 'strcpy' gives a Warning (C4996):

https://stackoverflow.com/questions/4012222/c-strcpy-gives-a-warning-c4996

[46:23] Tema recurrente: ¿poner deberes?

[48:08] ¿Progresos sobre Issue24676: Error in pickle using

cProfile https://bugs.python.org/issue24676, visto en

tertulias anteriores?

Bug poco prioritario.

Jesús Cea propone algunos rodeos al problema.

runpy: https://docs.python.org/3/library/runpy.html.

[52:09] Volvemos al tema de cómo un novato puede aprender desde

cero.

Hacer un proyecto pequeño.

Intentar no extenderse mucho, no hacer "muchas cosas".

Si no tiene base, el código del novato va a ser malo y con

mucho más esfuerzo del necesario. Hace falta cierto

tutelaje.

Examinar un proceso ajeno "pequeño" y estudiarlo.

Project Euler: https://projecteuler.net/.

Kata: https://es.wikipedia.org/wiki/Kata.

Ventajas de un libro: Aprendizaje estructurado, gradual y

que prioriza lo importante.

Aprende Python en un fin de semana || Libro – PDF – EPUB –

Descargar

https://elcientificodedatos.com/aprende-python-en-un-fin-de-semana/.

Python España: Aprende Python

https://www.es.python.org/pages/aprende-python.html.

Comunidades locales.

¿Las charlas valen para algo?

¿Alguien que no sabe programar en absoluto entiende qué

significa a = a + 1?

Commodore VIC-20:

https://en.wikipedia.org/wiki/Commodore_VIC-20.

BASIC: https://es.wikipedia.org/wiki/BASIC.

Escribir código a mano puede ayudar.

[01:11:13] ¿Los emails de recordatorio a las listas de correo

sirven para algo? ¿Son spam?

[01:13:43] Python y seguridad. ¿Recomendaciones para novatos?

OWASP: https://owasp.org/.

OWASP Top Ten Web Application Security Risks:

https://owasp.org/www-project-top-ten/.

Listas de correo de seguridad.

Desbordamiento de búfer:

https://es.wikipedia.org/wiki/Desbordamiento_de_buffer.

Podcast: Security Now https://twit.tv/shows/security-now.

Hispasec: Noticias de seguridad diaria: Una al Día:

https://unaaldia.hispasec.com/.

The CERT C Secure Coding Standard

https://www.amazon.com/CERT-Secure-Coding-Standard/dp/0321563212.

Cada lenguaje tiene sus propios fallos de seguridad típicos,

propios de las idiosincrasias o el estilo de ese lenguaje.

[01:22:43] PEP 578 -- Python Runtime Audit Hooks

https://www.python.org/dev/peps/pep-0578/

Audit events table:

https://docs.python.org/3/library/audit_events.html.

[01:24:43] Los "Framework" te protegen de fallos típicos

conocidos https://es.wikipedia.org/wiki/Framework.

Si el "framework" es popular y se le encuentra un bug, eres

susceptible a un ataque masivo.

Ejemplo: WordPress:

https://es.wikipedia.org/wiki/WordPress.

Hay que preocuparse de tenerlo actualizado.

Django: https://www.djangoproject.com/.

Ataque de cadena de suministro:

https://es.wikipedia.org/wiki/Ataque_a_cadena_de_suministro.

[01:28:53] DevOps: https://es.wikipedia.org/wiki/DevOps.

Docker: https://www.docker.com/.

¿Quién se preocupa de actualizarlo?

[01:31:53] Volvemos al tema OWASP https://owasp.org/.

OWASP Top Ten Web Application Security Risks:

https://owasp.org/www-project-top-ten/.

[01:32:53] ¿En qué posición está Python respecto a la seguridad,

respecto a otros lenguajes de programación?

DB-API 2.0: PEP 249 -- Python Database API Specification

v2.0 https://www.python.org/dev/peps/pep-0249/.

sqlite3: https://docs.python.org/3/library/sqlite3.html.

Aunque un lenguaje de programación sea razonablemente

seguro, los programadores introducen fallos de seguridad en

su código. Algunos ejemplos.

pickle: https://docs.python.org/3/library/pickle.html.

eval:

https://docs.python.org/3/library/functions.html#eval.

[01:36:43] Ataque de cadena de suministro:

https://es.wikipedia.org/wiki/Ataque_a_cadena_de_suministro.

Poison packages – “Supply Chain Risks” user hits Python

community with 4000 fake modules:

https://nakedsecurity.sophos.com/2021/03/07/poison-packages-supply-chain-risks-user-hits-python-community-with-4000-fake-modules/.

Cualquiera puede subir un módulo nuevo a PYPI:

https://pypi.org/.

[01:40:53] Costes del código abierto.

La reputación no basta.

Trabajo ingrato.

Depender del trabajo voluntario es un problema.

[01:43:13] Auditoría automática de código.

Hay una diferencia entre código con bugs y ataques

maliciosos conscientes.

Ejemplo, Antivirus. VirusTotal:

https://www.virustotal.com/gui/, Hispasec

https://hispasec.com/es/.

Un clásico de 1984: "Reflections on Trusting Trust":

https://users.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf.

[01:46:08] Es un problema universal. Dependemos del trabajo de

mucha gente que no cobra, que lo hace por amor al arte.

Referencia obligada a XKCD https://xkcd.com/:

Dependency https://xkcd.com/2347/.

Wikipedia XKCD: https://es.wikipedia.org/wiki/Xkcd.

OpenSSL https://es.wikipedia.org/wiki/OpenSSL:

Heartbleed https://es.wikipedia.org/wiki/Heartbleed.

WordPress: https://es.wikipedia.org/wiki/WordPress.

[01:50:03] Empresas que dan soporte comercial a productos de

código abierto.

Red Hat: https://es.wikipedia.org/wiki/Red_Hat.

Opinión de Jesús Cea: Se vende tranquilidad, no seguridad.

Desplazas la responsabilidad a otro.

Gestión de riesgo. Proteger su puesto de trabajo.

"No han despedido nunca a nadie por comprar IBM":

https://loscuenca.com/2010/04/nunca-han-despedido-a-nadie-por-contratar-a-______/

[01:55:23] Hoy ha sido un día raro en la tertulia, faltan (casi)

todos los habituales y habla gente que no ha hablado nunca.

Jesús Cea ya ha perdido el miedo a que no se conecte nadie a

la tertulia semanal.

[02:00:33] Falta la voz del "novato".

Aprende Python en un fin de semana || Libro – PDF – EPUB –

Descargar

https://elcientificodedatos.com/aprende-python-en-un-fin-de-semana/.

[02:09:03] Traducción de la documentación Python al español:

Documentación Python en Español:

https://docs.python.org/es/3/.

Documentación oficial de Python en español

https://pyar.discourse.group/t/documentacion-oficial-de-python-en-espanol/238/23.

GitHub: https://github.com/python/python-docs-es/.

Documentación oficial de Python en Español

https://elblogdehumitos.com/posts/documentacion-oficial-de-python-en-espanol/.

docs.python.org en Español

https://elblogdehumitos.com/posts/docspythonorg-en-espanol/.

[02:11:28] Final.

More episodes from Python en español