Títulos (parte 2)

Estado

Ya dije hace un tiempo que era malo para darle títulos para las cosas que escribo. Supongo que es como saber darle asuntos al e-mail, que hay quien vale y hay quien no. El otro día mirando por Wayback Archive he recuperado más cosas mías publicadas hace tiempo por internet que me gustaría limpiar y clasificar en algún momento. Una de las primeras cosas que noto es que siempre he sido malo en esto de poner títulos a las cosas de escribo.

(También me pasa con los asuntos de los correos.)

Consideraciones sobre el volcado de posts

Minientrada

A raíz del volcado de posts que cargué el otro día estoy considerando próximos datasets a importar. Exports procedentes de la GDPR, viejas entradas de blog sacadas de Wayback Archive, incluso tal vez puede que crosspost de cosas cargadas a YouTube o Twitter (algo que llevo años persiguiendo).

Algunas consideraciones técnicas que he aprendido para la próxima:

  • Es mejor usar un entorno de staging mientras se hacen pruebas para no ensuciar el sitio web, porque lo más posible es que falle al principio.
  • Por lo tanto, es mejor ir de poco en poco, y no intentar importar un dataset muy grande hasta que no se ensaye con algo más pequeño que se pueda borrar fácilmente si se hace mal.
  • Por si hay que borrar, es mejor ponerles a los posts importados una etiqueta nueva para poder filtrar fácilmente posts con esa etiqueta y borrar todo. En mi caso, esa etiqueta ha sido hn-import.
  • Si el blog lo alojas por tu cuenta, no tienes que dar parte del API Rate Limit a nadie, pero corres el riesgo de causarte un ataque de denegación de servicio a ti mismo. Como casi hago, de hecho, porque mi código JavaScript intentó lanzar las 49 peticiones HTTP POST a la vez.
  • Por asociación de ideas, mejor apagar los hooks externos que se llaman al crear posts mientras se estén importando cosas. No pingbacks, no trackbacks, no webmentions, no ActivityPub. (Aparte que muchos de estos posts tienen unos cuantos años y no tiene mucho sentido generar notificaciones por esto.)
  • El feed RSS va a sufrir.

El problema, como ya he dicho alguna vez, son los títulos. Muchas redes sociales no usan títulos en sus publicaciones, pero algo hay que poner para que la sindicación por RSS o al usar temas y widgets de WordPress que traten de mostrar el título de un post, tenga o no, puedan mostrar algo distinto a (sin título).

WordPress vintage

Imagen

Aprovechando que WordPress cumplió 18 años la semana pasada, me he decidido a instalar el clásico tema Default, el que fue el tema por defecto hasta la llegada de los temas “Twenty”.

Por supuesto, Default no es un tema pensado para móviles. No tiene menús integrados (he tenido que traerme la navegación a la sección widgets). Sorprendentemente, se lleva bien con Gutenberg, aunque no tiene soporte para post formats por lo que no puedo marcar una entrada como “Minientrada”, ni como “Estado”, ni como ninguna de esas cosas que vinieron después, ya en la era Twenty, con temas compatibles con móvil, y con un diseño que roza lo brutalista, basado en colores fuertes, pocas decoraciones y tipografías grandes.

Pongo esta captura de pantalla como evidencia por si en algún momento decido regresar a algo un poco más moderno.

Notitas de seguridad para WordPress

Minientrada

La extensión Two Factor es un must. WordPress está detrás de ella y es open source, por lo que en principio debería estar libre de chantajes, modo PRO y demás cosas. Hace lo que tiene que hacer: te pide que introduzcas un código de 6 dígitos con una aplicación TOTP que estés utilizando.

Two Factor te desactiva, desafortunadamente, el acceso XML-RPC y el WP-JSON. Hay quien tiene sus concerns y ve bien apagar esas APIs, pero por otra parte yo sí las quiero para poder automatizar cosas con WordPress. Esto lo tengo solucionado con dos cosas:

  • Con la extensión Application Passwords (que deja de ser necesario en WordPress 5.6 porque ya viene preinstalada), se pueden crear passwords especiales para poder crear integraciones con contraseñas aleatorias sin tener que darles nuestra propia contraseña.
  • Este snippet PHP para inhibir el Two Factor cuando se usa una Application Password. (De otro modo, las Application Password también tratarían de pedir un token 2FA, lo cual no es posible al automatizar.)

Recomendaría también extensiones que prevengan ataques por fuerza bruta. La que yo uso inhibe el login si se introduce mal la contraseña varias veces, tanto por wp-login como por XML-RPC. Me quedaría conectarlo con el cortafuegos para bloquear directamente las IPs problemáticas, pero eso es un asunto para otro momento.

Probando a publicar desde la app de WordPress

Estado

Probando a publicar desde la app de WordPress. Yo es que tampoco pido tanto ya. Algo que me deje publicar sobre la marcha sin fricción. No quiero commits de Git, no quiero contraseñas en un navegador ni tokens 2FA a cada vez que abra el panel. Quiero un botón en la hoja para compartir y con suerte integración con atajos de iOS. 😫

Títulos

Estado

Mi problema no es escribir en un blog. Me gustaría contar cualquier chorrada que de otro modo tendría que contar en una red social; ocupe tres párrafos o tres líneas. El problema está en que lo primero que me va a pedir la interfaz de edición es el título que le quiero dar a mi publicación. Soy malísimo escogiendo títulos, y con razón: ¿cómo debo seleccionar un título para una reflexión de tres frases?

Y no, no es un problema de WordPress porque tus generadores de blog estáticos también están orientados a entradas de blog con título. Tenemos trampas: podemos esconderlos. Pero son solo eso: trampas.

Un año federando en Mastodon

Se cumple un año desde que configuré toot.danirod.es y lancé mi primer toot. ¿Alguna conclusión que sacar este año?

Evidentemente, cuando decidí probar Mastodon, quise configurar mi propio nodo. Podría haberme dado de alta en mastodon.social o en algún nodo popular, pero consideré que si el propósito de Mastodon era participar en una red federada, no tenía mucho sentido entonces unirse a un nodo centralizado y ya de por sí con un exceso de población.

¿Configuración técnica? Un dolor de muelas. Mastodon es un software que requiere correr varios microservicios. La aplicación web principal, el servicio de streaming, y el Redis que alimenta ese servicio de streaming. Por supuesto, la única opción oficial es Docker. Probar Mastodon prácticamente requirió cambiar la arquitectura de mi servidor web, un Debian en el que todo estaba instalado sobre la propia máquina raíz, para dockerizar toda la infraestructura. Tuvo sus cosas buenas, como que una vez dockerizado todo, la migración de Debian 8 a Debian 10 se hizo en un suspiro -a costa de un cierto overhead en el consumo de recursos de mi máquina que me sigue molestando a día de hoy, y algún contenedor reiniciándose o fallando cada poco tiempo.

Otro dolor, el almacenamiento. Si vas a participar en la red federada tienes que tener en cuenta que los toots que recibas de otras instancias se van a guardar en tu propio sistema de almacenamiento. Tu base de datos debe estar preparada para guardar toots, y en función de cómo de grande sea tu red, habrá más o menos toots. Y si esos toots tienen adjuntos, también se va a guardar una copia en tu sistema de almacenamiento, local o S3. Así que mejor contar con sitio.

¿Ha intentado mi máquina acceder a contenido ilegal? Por el momento, tampoco me consta; aunque tiene trampa porque no estoy participando en relés ni nada por el estilo. Para mi nodo de Mastodon, si no tootea una cuenta que siga, o no lo retootea una cuenta que siga, no existe. Considero que este punto es esencial, porque es uno de los puntos que más me preocupa, debido a que no siempre se puede controlar el origen de los toots, y debido al anonimato que a veces entregan las instancias, te pueden comprometer con contenido cuestionable o directamente ilegal.

Para que mi instancia descargue una copia de un toot, lo tiene que publicar una cuenta que siga. Las cuentas que sigo pueden hacer retoot y eso implica que también se descargan toots que compartan. El único riesgo está en las respuestas que reciban los toots de las personas que sigo (o yo mismo), ya que eso provoca que Mastodon se descargue información sobre esa cuenta, y si tiene toots fijados, también sus toots fijados.

Seguridad. ¿He sido hackeado? Hasta el momento no. Es un nodo pequeño con el registro desaprobado en el que sólo existe mi cuenta y las de algunos de mis proyectos. Me ocupo de tener mi docker-compose actualizado, así que no voy muchas versiones por detrás.

¿Estoy contento con Mastodon? Sí y no. Resulta curioso e innovador poder participar en una red descentralizada en la que sé que los datos están bajo mi control. Si acaso, mis únicos problemas en este año con Mastodon son:

  • El descubrimiento. Seguramente sea peor porque no participo en relés, pero es dificil descubrir cuentas nuevas. Alguna vez he cotilleado los feeds públicos de otros servidores como Fosstodon, BSD Network o Functional Café, en busca de contenido interesante, pero no siempre es fácil encontrarlo. Esto puede ser visto como una ventaja o una desventaja en una red federada.
  • La carga. Mastodon pone a mil mi pobre servidor. He tenido que alquilar más almacenamiento para no tener el disco siempre lleno. Y sin embargo el uso que hago de él es residual. Pleroma es una alternativa que consue muchísimos menos recursos, y aunque ambos proyectos hablan ActivityPub y hay sobre el papel un camino de transición para cambiar Mastodon por Pleroma sin que nadie note la diferencia ni pierda seguidores o seguidos, es complicado debido a que son esquemas de datos diferentes y hay que ir con cuidado.
  • La utilidad de los mensajes. Instancias como Mastodon.social son mucho más políticas, pero es un tipo de politiqueo que no encaja con mi manera de pensar ahora mismo. Como digo, las redes en las que más bicheo son Fosstodon, BSD Network y Functional Café. Se ha convertido en una red en la que enterarme de cosas y datos interesantes sobre computación y programación.

Contraseña olvidada

Estado

Alguien se olvidó de su contraseña para entrar al panel de control del blog. Como por supuesto no tengo configurado el e-mail en este sitio web, hasta hoy no he tenido tiempo o voluntad de entrar en la base de datos y seguir el procedimiento de emergencia para recuperar la contraseña.

Moraleja de la historia: si la contraseña no está en el KeePass (y sincronizada a al menos un dispositivo), la contraseña no existe.

Sindicando al fediverso

Estado

Este blog ahora sindica sus posts al fediverso mediante el protocolo ActivityPub gracias a este plugin. Si formas parte de Mastodon, Pleroma o algún otro sitio web que se pueda suscribir a la red ActivityPub, puedes seguir estas publicaciones siguiendo a @dani@danirod.es.

(Si soy capaz de escribir toots desde mi blog, no sé qué futuro le espera a mi instancia local de Mastodon…)