twtxt



Twitter me gusta cada vez menos. No es sólo por el aumento a 280 caracteres que, en mi opinión destruye la esencia del microblogging, sino por motivos más trascendentes como el hecho de que @realDonaldTrump se pase por el forro todo el código de conducta de Twitter y no sea baneado mientras que se silencia a @rosemcgowan por denunciar ser víctima del acoso; por no hablar de la escoria humana del supremacismo blanco que divulga su pensamiento racista desde sus cuentas verificadas mientras twitter mira hacia otro lado. 

La dirección de Twitter es como poco cuestionable y solo parece servir para disculparse y prometer que van a trabajar para solucionar los problemas que ellos mismos han causado por desidia y negligencia.

Como no sé cuánto tiempo voy a aguantar las tonterías de una red social con más publicidad indiscriminada que Times Square, he pensado que sería buena idea hacer una copia de seguridad de mis tweets por lo que pueda pasar... Mientras me documentaba sobre el formato que le podía dar a este backup encontré por causalidad un proyecto muy interesante llamado twtxt. Se trata de una red social distribuida basada en archivos de texto plano con un formato muy sencillo. Este proyecto me recordaba a Nutshell, una red social federada basada en BusyBox, con autentificación por SSH que programé hace un par de años pero que mantengo inédita porque el resultado no acabó de convencerme. Sin embargo, twtxt simplifica al máximo el concepto hasta conseguir una red social que sigue la filosofía UNIX y es perfectamente funcional. Esta sencillez es la característica que más valoro, en contraposición con otras redes de microblogging distribuidas como Mastodon, muy popular hace unos meses pero intimidantemente complicada. Ni siquiera me atreví a montar un nodo después de leer la documentación. A su lado, el instalador de Arch Linux es un juego de niños.

No voy a publicar todavía el script que he programado para convertir mi timeline de twitter a twtxt porque me parece un ejercicio de programación muy estimulante para principiantes. Cubre todos los temas que debería dominar un programador amateur: manejo de strings, manipulación de fechas, expresiones regulares, REST API, JSON, I/O, bibliotecas de terceros, etc. Es sencillo pero van surgiendo imprevistos por el camino,  que no voy a comentar. 

Fundamentalmente, lo que he hecho es convertir la marca de tiempo de twitter de un formato RFC 822 a RFC 3339, insertar un tab y poner el texto completo del tweet o retweet, reemplazando los usuarios de su formato original @nick al formato que necesita twtxt por su naturaleza distribuida, que incluye el nombre de usuario y la dirección del nodo.

No planeo usar twtxt como red social, pero su formato me ha gustado y voy a dejar mi copia de seguridad compatible en https://cv.lunaticgeek.com/twtxt.txt así que si alguien se anima, puede seguirme ejecutando 
twtxt follow edkalrio cv.lunaticgeek.com/twtxt.txt