La red social de org-mode
Hace mucho tiempo que no escribo una entrada en este blog. Supongo que los pocos seguidores que queden por aquí despistados, se sorprenderán. No, no he abandonado, pero algunas circunstancias de la vida me dificultan la continuidad de la escritura. ¡Pero vamos al tema!
Hoy me decidí a probar org-social. Un paquete —aún no oficial— que
permite gestionar una red social a través de un sencillo archivo de
texto plano formateado mediante org-mode. Podéis encontrar más
información en https://github.com/tanrax/org-social. Y el código lo
podéis descargar de https://github.com/tanrax/org-social.el, Todo lo
que os cuento está sacado de ahí.
Instalación en Emacs
Si ya estás utilizando algún paquete experimental cargándolo desde
fuera de la lista de MELPA, simplemente tendrás que añadir la URL al
repositorio de código en el código de use-package. Si no lo estás
haciendo, antes debes descargar el paquete request para poder
hacerlo. El código, como se muestra en las instrucciones de
instalación quedaría así:
(use-package request) (use-package org-social :vc ( :url "https://github.com/tanrax/org-social.el" :rev :newest))
Si recibes algún error al abrir Emacs después de haber escrito esas
líneas, es posible que esté intentando cargar el paquete org-social
antes de que esté instalado request. Cierra Emacs y vuelve a abrirlo.
El código se actualizará automágicamente, pero comprobará en cada
arranque si está actualizado, lo que ralentizará un poco el inicio. Lo
podéis evitar prescindiendo de automatismos y descargando el código
por vuestra cuenta. Para configurarlo así tenéis que poner un enlace
al directorio donde lo hayáis descargado y llamarlo de forma directa
con la forma require habitual. Para ello utilizad el código:
(add-to-list 'load-path "/path/al/paquete/org-social.el") (require 'org-social)
Con esto, ya has terminado con lo mínimo imprescindible para tener el paquete instalado y funcionando. Sin embargo, aún no es de mucha utilidad y seguramente no podrás ver nada.
El uso
Configurarlo en Emacs, como habéis visto, es muy sencillo y lo haces en dos patadas, pero necesitas algunas condiciones previas:
- Crear un archivo
orgcon la información. - Subirlo a un servidor HTTP.
- Interactuar con alguien.
Ahora toca configurarlo para su funcionamiento.
Crear nuestro archivo
Toda la información referente a nuestra red social se encuentra
almacenada en un fichero org-mode. El mío lo podéis encontrar en la
dirección https://notxor.nueva-actitud.org/social.org. De momento, y
puesto que sólo cuento con las pruebas que he hecho para escribir este
artículo el contenido es muy sencillo, lo transcribo aquí:
#+TITLE: Notxor tiene un blog #+NICK: Notxor #+DESCRIPTION: Mi blog personal sobre muchos temas, especialmente sobre /Emacs/. #+AVATAR: https://notxor.nueva-actitud.org/medios/img/abatar.png #+LINK: https://notxor.nueva-actitud.org #+CONTACT: mailto:notxor@nueva-actitud.org #+CONTACT: xmpp:notxor@suchat.org #+CONTACT: https://tuiter.rocks/deck/@Notxor
Esa es la cabecera que he utilizado para empezar. Contiene los datos del blog, pues la red la utilizaría principalmente como feed para el mismo.
No creo que haga falta explicar las etiquetas de #+TITLE, #+NICK,
#+DESCRIPTION, etc. son todas información nuestra. Más adelante
completaremos esa cabecera.
Además hay que tener en cuenta que hay etiquetas que se pueden repetir
y contar con varias entradas, como el caso de #+CONTACT, de #+LINK o
de #+FOLLOW, pero otras que deben ser únicas, como #+TITLE, #+NICK o
#+DESCRIPTION. Si dudas de cuáles sí y cuáles no, es mejor consultarlo
directamente en el sitio de org-social, por si cambian las cosas.
Una vez creado el archivo, lo coloqué en el espejo local que tengo del blog para subirlo al sitio e informarle al paquete dónde lo he guardado para que acceda a él directamente:
;; Establece el path del archivo compartido (setq org-social-file "~/public_html/social.org")
También he preparado en la configuración de Emacs algunos atajos directos a las acciones del paquete más básicas:
;; Algunas teclas de acceso directo (global-set-key (kbd "C-c x m") 'org-social-mention-user) (global-set-key (kbd "C-c x n") 'org-social-new-post) (global-set-key (kbd "C-c x o") 'org-social-open-file) (global-set-key (kbd "C-c x t") 'org-social-timeline)
En el sitio del chismático se propone la combinación "C-c s", sin embargo,
esa combinación la tengo ocupada para otras tareas en mi
configuración, por lo que decidí cambiarla.
Con esta configuración, al pulsar C-c x t me aparecerá un buffer
marcado como *Org Social Timeline*, en el que de momento no hay nada.
Para eso, primero, necesitas seguir a alguien. Aquí es donde empieza
la interacción, por lo que debes añadir a tu cabecera líneas con la
etiqueta #+FOLLOW. De momento no conozco a mucha gente, pero en el
sitio del paquete encontré un archivo txt con los enlaces de la gente
del paquete y decidí seguirlos a todos para probar. Además, a Andros
Fenollosa, el principal desarrollador de esta red social ya lo
conozco, puedo interactuar con él por Mastodon y hemos coincidido en
algún encuentro de Hispa-Emacs. Resumiendo, he añadido al final de la
cabecera:
#+FOLLOW: https://andros.dev/static/social.org #+FOLLOW: https://rossabaker.com/social.org #+FOLLOW: https://omidmash.de/social.org #+FOLLOW: https://johnhame.link/social.org #+FOLLOW: https://eoin.site/social.org #+FOLLOW: https://adsan.dev/social.org #+FOLLOW: https://emillo.net/social.org #+FOLLOW: https://cmdln.org/social.org
Una vez escritas estas pocas líneas en el fichero social.org,
tendremos un lista de post más larga. Como se puede apreciar:
En ese buffer, tenemos varias teclas para facilitarnos la interacción:
| Tecla | Acción |
|---|---|
| g | org-social-timeline-refresh |
| n | org-social-next-post |
| p | org-social-previous-post |
| q | quit-window |
| r | org-social-reply-to-post |
Las teclas n y p nos permiten navegar el buffer hacia adelante y hacia
atrás, saltando de entrada a entrada. Para actualizar el buffer
debemos utilizar la tecla g. Para contestar a un post podemos pulsar
la tecla r estando situados en la entrada a la que queremos
contestar. Y para abandonar la red, sólo tenemos que pulsar q. Todo
muy básico y sencillo.
Crear posts
La función básica de una red social es la interacción con otros usuarios de la misma. Para ello necesitamos darnos a conocer a través de lo que escribimos, es decir, debemos escribir posts y esperar ser leídos, seguidos y contestados.
Para crear un nuevo post tecleé el comando C-c x n, pero recuerda que
debes utilizar la combinación de teclas que hayas configurado o llamar
directamente a M-x org-social-new-post. Esto abrirá un buffer con tu
archivo social.org local cargado e insertará una entrada parecida a:
** :PROPERTIES: :ID: 2025-08-31T09:25:18+0200 :LANG: :TAGS: :CLIENT: org-social.el :MOOD: :END:
Para mi primera entrada en esta red social, he escrito lo siguiente:
** :PROPERTIES: :ID: 2025-08-31T09:25:18+0200 :TITLE: Post inaugural :LANG: es :TAGS: org-social emacs :CLIENT: org-social.el :MOOD: 🙂 :END: Primer post de ~org-social~, para las pruebas de funcionamiento.
El ID y el cliente los proporciona la misma herramienta y no tenemos
que preocuparnos por ellos, pero también hay una serie de etiquetas
que podemos añadir, además de las que por defecto que te proporciona
el comando org-social-new-post. Por ejemplo, añadí un título al post
(porque se puede), utilizando la propiedad :TITLE:.
También podemos, si la entrada que hemos escrito es una encuesta,
establecer la finalización de la misma mediante la etiqueta
POLL_END o si estamos contestando a una encuesta formulada por otra
persona, utilizaremos la etiqueta POLL_OPTION. Y, por supuesto,
también podemos contestar a otro post utilizando la etiqueta
REPLY_TO1.
Encontrar gente con la que interactuar
Es complicado encontrar gente en esta red. Primero porque acaba de
nacer prácticamente y segundo, porque es una red descentralizada en la
que cada uno tiene su archivo y no hay más infraestructura que
facilite la interacción. Para minimizar un poco este hecho, en la web
de org-social hay un archivo txt con un listado con las URL de algunos
usuarios. He tomado esa lista de usuarios y he añadido a la cabecera de
mi archivo social.org los siguientes follows:
#+FOLLOW: https://andros.dev/static/social.org #+FOLLOW: https://rossabaker.com/social.org #+FOLLOW: https://omidmash.de/social.org #+FOLLOW: https://johnhame.link/social.org #+FOLLOW: https://eoin.site/social.org #+FOLLOW: https://adsan.dev/social.org #+FOLLOW: https://emillo.net/social.org #+FOLLOW: https://cmdln.org/social.org
De momento los sigo todos mientras voy descubriendo otros usuarios y amplío el espectro y temáticas. Si quieres seguirme a mí añade en tu cabecera el código:
#+FOLLOW: https://notxor.nueva-actitud.org/social.org
No voy a darme de alta en ese archivo, al menos todavía. Por varios motivos:
- Para añadirte tienes que hacer un pull request a dicho fichero en
Github. Creo que hace como 10 u 11 años que no uso dicha plataforma y prefiero seguir sin usarla.2 - Todos los posts, de la gente que está en la lista, están en inglés, lo mismo les mato alguna neurona posteando en español o les frío medio cerebro cuando lo haga en Esperanto.
- Aún no estoy seguro de cuánto usaré esta red social o si la terminaré abandonando, estoy de pruebas.
Mi punto de vista y conclusiones
Los seres humanos somos seres sociales que necesitamos interactuar en
comunidades para desarrollarnos plenamente. La expresión de nuestra
individualidad no es individual, sino que se manifiesta dentro de la
comunidad. En esta red social veo ambas vertientes complementándose:
puedes interactuar con la comunidad, pero mantienes tu individualista
archivo social.org bajo control.
Tus datos son tuyos y los tienes bajo control. Para establecer
contacto, o más bien, para permitir que establezcan contacto contigo,
debes situar dicho archivo org en un lugar accesible desde la web.
Una solución sencilla y práctica. Cualquier servidor HTTP te servirá.
En mi caso, puesto que tengo el blog, lo más rápido es ponerlo en el
directorio raíz del mismo.
Las opciones de momento son muy básicas, te permiten crear entradas,
responder las de otra gente y poco más. Sin embargo, al hacerlo sobre
un archivo org-mode te proporciona toda la potencia que tiene éste
para interactuar con la información. Por esto, si org-mode no tiene
límites, org-social tampoco los tendrá.
Como conclusión, y por lo que veo en las entradas de mi timeline, estamos en una red social un poco de nicho, especialmente de seguidores de Emacs y de Org. Tengo mucha curiosidad por ver cómo evoluciona.
Notas al pie de página:
Es aconsejable, que en lugar de escribir la etiqueta
directamente, se utilice el comando org-social-reply-to-post, para que
nos proporcione automáticamente la URL de la entrada que queremos
contestar y evitar errores.
Vale, tampoco me acuerdo cómo hacer un pull request allí, así que no lo haré —al menos de momento—.
Comentarios