Psicofonías

(algo así como el blog de Psicobyte)

Feliz Python 3.11

Actualización: Pues. al final, resulta que Python 3.11 no se libera hoy, sino el próximo día 24.

El mundo Python está de celebración, porque hoy se publica oficialmente la versión 3.11 de este lenguaje de programación. Y, como soy un autor responsable y eficiente, los contenidos de mi libro El lenguaje de programación Python de principio a fin también están ya actualizados a esta última versión (a costa de hacerlo un poquito más gordo, me temo).

¿Cómo? ¿Que aún no has comprado mi libro? ¡Pero si ya te avisé de que estaba a la venta! A este paso jamás me haré millonario.

Aunque los cambios que trae esta versión quizás no sean tan espectaculares como los que vimos en Python 3.10 (que nos trajo, para empezar, todo el sistema de ajuste de patrones), sí que hay algunas cosas interesantes.

La principal novedad no es estrictamente algo relacionado con el lenguaje, y es que Python 3.11 (o, más exactamente, el intérprete CPython) es sensiblemente más rápido y eficiente que las versiones precedentes.

En cuanto a la sintaxis en sí, el cambio más notable es que se ha añadido la posibilidad de gestionar grupos de excepciones con "except*" (sí, acabado en asterisco), junto con las clases "ExceptionGroup" y "BaseExceptionGroup", que sirven para poder instanciar estos grupos.

Además, los mensajes que informan de las excepciones se han mejorado, y ahora pueden indicar gráficamente el punto exacto del código donde saltó la excepción, y no solo la línea, como hacían hasta ahora.

En todos los casos, las últimas versiones de Python han incluido alguna mejora en el sistema (opcional) de tipado; esta vez se han añadido nuevos tipos, como el tipo "Self" o la posibilidad de tipar cadenas literales.

Se han marcado como obsoletos algunos módulos de la biblioteca estándar que ya no tenían demasiada utilidad, y se ha añadido uno nuevo, "tomllib", para interpretar archivos TOML.

Y, como siempre, toda una serie de cambios y mejoras de menor importancia tanto en el Propio lenguaje, como en muchos de los módulos de la biblioteca estándar.

Pues, lo dicho: Feliz Python 3.11.

Propagar la estupidez

Ayer, La periodista Elisa Beni que, por lo visto, tiene fama de equivocarse mucho (al menos, tiene es fama entre ese tipo de tuiteros que se autodefinen como "políticamente incorrectos") hablaba en un debate televisivo con otros dos individuos del lema "Dios, Patria, Familia" que enarbola el partido de Giorgia Meloni, que acaba de ganar las elecciones italianas.

En el corte del vídeo parece que no le han dejado terminar lo que estaba diciendo, pero imagino que trataba establecer un paralelismo con otros lemas de la derecha, como el "Dios, Patria, Rey" (o "Fueros", o lo que corresponda) del carlismo español, o algo así.

Digo que no la han dejado terminar porque, inmediatamente, uno de sus interlocutores (que no sé quien es) la interrumpe afirmando entre burlón y paternalista que "Es el himno italiano". El otro periodista del debate (Carlos Cuesta) confirma automáticamente y sin asomo de duda esa información, diciendo que "Es el símbolo que les une a todos". Elisa Beni, claramente desconcertada, admite que no conoce el himno de Italia.

Este tipo de cortes son muy apreciados por por los medios, porque suelen tener un gran éxito en las redes sociales: El dato puntual, concreto y, a menudo, trivial, que rebate todo un argumento y deja en ridículo a la persona que lo sostenía. Es lo que ya se conoce como un "Zasca", y son enormemente más populares que cualquier argumentación compleja porque son mucho más simples y fáciles de asumir (¿Quién quiere leerse un folio de teoría política pudiendo limitarse a decir "Zasca"?) y porque alimentan en nuestro interior ese delicioso punto anti-intelectual de "darle su merecido" a esos pedantes que les gusta enrollarse y usar palabras difíciles.

El "Zasca" invoca al gilipollas que llevamos dentro.

Tanto es así que, en cuestión de minutos, Twitter (y, en menor medida, otras redes sociales) se ha llenado de cientos de comentarios burlándose de la ignorancia de Elisa Beni, que no conocía el himno de Italia.

Lo divertido de todo esto es que ese lema "Dios, Patria, Familia" no aparece en el himno italiano (ni ninguno remotamente parecido).

El cuñao paternalista del vídeo que ha corregido a Elisa Beni está equivocado, y resulta que es él el que no conoce el himno de Italia.

El listillo de Carlos Cuesta, que se apresurado a añadir lo del "símbolo que les une a todos" se ha tirado un farol, a ver si colaba, y tampoco conoce el himno de Italia.

Todos los mastuerzos que se han lanzado a burlares de la "ignorancia" de Elisa Beni han resultado ellos doblemente ignorantes, porque no sólo no conocían el himno de Italia sino que, para poder burlarse de alguien y alimentar un (obviamente inmerecido) sentimiento de superioridad han aceptado acríticamente lo que les decían, se lo han creído a pies juntillas, y ni se les ha ocurrido mirar en Wikipedia.

Y respecto a los supuestos periodistas que han publicado esta pseudo-noticia, mejor no comentar nada.

Y este caso concreto puede ser muy evidente e incluso divertido, pero debería servirnos de recordatorio de que la información en redes sociales se propaga en función de parámetros que no tienen nada que ver con la veracidad, y sí mucho con la emoción y la manipulación.

Las redes sociales propagan la estupidez de forma mucho más eficiente que la información.

Día de Pi

En el instante preciso de publicar esto:

Mes: 3.

Día: 14.

Hora: 1.

Minuto: 59.

Segundo: 26.

Ya hacía demasiado tiempo que no ponía esta tontería por aquí.

Kedada

Hace doce años que no se avisa de una kedada desde este blog.

Dado que una situación así es insostenible y requiere de una enmienda pronta y rigurosa, y dado también que Campanilla ha decidido que lo que debe hacerse debe hacerse y ha procedido a organizar la tan ansiada kedada, declaro en este acto oficialmente convocada la:

"I Piononos and Twitter o Discord o lo que se lleve ahora"

De este modo, por medio de este acto performativo del habla, quedas advertido de los siguientes hechos objetivos e incontestables:

Hay una invitación a una kedada que te incluye a tí personalmente, si bien de modo implícito.

La susodicha quedada hasta ahora existe en un estado de potencialidad, ya que está ubicada en un momento del futuro, pero se desarrollará de forma efectiva como una realidad factual el próximo viernes quince de febrero a las siete de la tarde, según el actual horario ofical de la península.

Las coordenadas espaciales que complementan a la ubicación en el continuo temporal se ubican en un punto De la cuidad de Granada, en el Centro Comercial Neptuno, en un establecimiento Bar/Cafetería denominado por el adecuado nombre de "De boca en boca" (adecuado para una kedada sobre redes sociales y tal, se entiende).

En resumen:

Hay Kedada.

Es este viernes 15 de Febrero, a las 19:00.

En la cafetería "De boca en boca", en el Centro Comercial Neptuno.

Pásate sin dudarlo.

Si alguien hace un grupo de facebook para la kedada o algo de eso, lo avisaré por aquí.
Actualización: Aquí está el prometido grupo de facebook.

Borrando mis redes sociales

He decidido abandonar algunas redes sociales, en particular Twitter y Facebook (aunque la verdad es que ya las tenía bastante abandonadas).

Como no tengo muy claro si es definitivo o si querré regresar a ellas en un futuro, ni tampoco estoy seguro de si quiero darles algún otro uso ahora (por ejemplo, creo que voy a utilizarlas para anunciar las actualizaciones del blog), no quería eliminar esas cuentas, pero sí que tenía claro que quería eliminar los contenidos que, durante estos años, he creado para ellas.

Como era de esperar, ni Twitter ni Facebook lo ponen fácil. Aunque ambas permiten borrar entradas una a una, ninguna de las dos plataformas tiene una herramienta propia que permita borrar bloques completos de entradas y, por supuesto, ninguna que permita eliminar todas ellas de una vez.

A pesar de todo, existen herramientas de terceros (la mayoría online) que permiten, más o menos, hacer este trabajo.

Facebook

Para borrar entradas de Facebook existe un plugin que se instala en el navegador Chrome (o Chromium, en mi caso) llamada Social Book Post Manager, que automatiza el proceso que el usuario debería hacer manualmente recorriendo una a una las entradas en el log de actividades de Facebook, haciendo click en ellas y seleccionando "borrar".

Este plugin comete muchos errores, se deja entradas sin eliminar, y hay que usarlo varias veces antes de conseguir borrarlas todas, pero cumple con su trabajo.

Twitter

Para Twitter la cosa está más complicada. No porque haya menos oferta de aplicaciones (que las hay, y muchas) sino porque todas estas aplicaciones (servicios web, fundamentalmente) usan la API de Twitter para obtener los tweets que se borrarán, y eso tiene un par de problemas:

El primero es que debes autorizar a esas aplicaciones (aplicaciones web, recordemos) a acceder a tu cuenta de Twitter, con los problemas de seguridad que eso pueda tener.

El segundo es que la API de Twitter está deliberadamente limitada y sólo retorna los últimos 3000 tweets. Si has publicado menos de 3000 tweets no hay problema, puedes borrarlos todos. pero si tienes más de esos 3000 tweets no podrás borrar el resto (los más antiguos).

Para borrar un tweet mediante la API de Twitter necesitas conocer su ID, que es un identificador único consistente en un número de dieciocho dígitos. Pero para obtener los IDs de los tweets que deseas borrar necesitas solicitar una lista a la API, que sólo te retornará los últimos 3000 tweets publicados. Además, no sirve de nada borrarlos y volver a pedir los siguientes 3000, porque no te los va a dar.

Como yo tenía unos 19000 tweets publicados, esta solución no me servía.

deleteallmytweets

Sin embargo, hay una forma de obtener las IDs de todos tus tweets sin tener que pedirlas a través de la API.

A través de su página, Twitter te da la opción de descargarte un archivo zip con todos tus tweets. y, dentro de ese zip. hay un archivo llamado "tweets.csv" que contiene una lista de todos tus tweets con toda su información, incluído el ID.

Así que he escrito un pequeño programa en python con el incómodo nombre de "deleteallmytweets" que usa la información de ese archivo para borrar todos los tweets de una cuenta.

Está disponible en dos versiones, para python 3 y para python 2, es libre (con licencia GPL) y puedes ver los detalles en su repositorio en Github.

Posts Posteriores (1/43) Posts Anteriores
PCMS 2004