Una Alternativa a los Agregadores de Noticias


Lobsters y Hacker News son servicios cada vez más populares, que permiten centralizar todas las noticias sobre informática y descubrir nuevos temas y autores. Entiendo el atractivo de los agregadores de noticias y de alguna manera, utilizo mi cuenta de Twitter para difundir ciertos contenidos ajenos, de una forma muy similar a aquellos pero reconozco que no son la mejor solución desde la perspectiva de la filosofía UNIX. Estos servicios cuentan con interfaces web prescindibles y backends que sólo complican una tarea resuelta hace años con la llegada del RSS.

Para abordar el tema, voy a establecer una alternativa para PlanetaLibre, el agregador mantenido por el compañero victorhck, que tiene el tamaño y características perfectas para modificarlo sin demasiado esfuerzo por mi parte.

La gran carencia de este servicio es que sólo se actualiza dos veces al día porque tiene que ejecutarse un cronjob en un servidor Python que recopila las fuentes y actualiza la página. Esta arquitectura monolítica no permite una selección de las fuentes (a no ser que se apliquen filtros en el cliente RSS) e incluso modifica los posts originales, eliminando el contenido para conservar y difundir exclusivamente el título y la descripción.

Me parece mucho más interesante mantener una lista de blogs para que la gente pueda suscribirse en masa y esto es posible gracias a OPML, el formato que normalmente se utiliza para hacer copias de seguridad de los clientes RSS pero que ofrece funcionalidades más allá. De hecho, si publicamos el OPML en un servidor web podremos suscribirnos a la URL, directamente, sin necesidad de importarlo. Además, algunos clientes ofrecen la posibilidad de actualizar las suscripciones cuando se modifique el OPML de origen con lo que conseguimos un comportamiento dinámico de un archivo estático porque todo el trabajo lo hace el cliente RSS, que mantiene la conexión individualizada con cada dirección de la lista. Y esta dirección es la original, sin modificaciones introducidas por ningún intermediario.

Si quieres probar el concepto, tienes que suscribirte a la dirección https://lunaticgeek.com/planetalibre.xml. Por supuesto no tendría interfaz web, que en mi opinión es una solución inferior a RSS aunque podríamos darle formato al archivo OPML con una hoja de estilo XSL como ya comenté aquí. Después de todo, no deja de ser un subconjunto de XML.

Mi propósito con este post era hacer reflexionar a los programadores sobre la dirección de sus esfuerzos. Es posible que se sientan en la obligación de escribir programas complejos para defender su pericia, conocimientos y experiencia. Su trabajo puede depender de esas decisiones pero verdaderamente necesitamos tanto software? yo siempre sigo el mantra del programador taoísta: “the best code is no code”. En este ejemplo creo que queda bastante claro que el intermediario es totalmente prescindible, que únicamente aporta complejidad a una tarea que podemos resolver con un archivo estático, sin programación, simplemente apoyándonos en la potencia de RSS para crear una alternativa más robusta, flexible y simple, que va a quedarse alojada en el repositorio de GitHub del blog, así que si alguien quiere cambiar algo puede hacer un pull request.