Notxor tiene un blog

Defenestrando la vida

La red social de org-mode

Notxor
2025-08-31

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:

  1. Crear un archivo org con la información.
  2. Subirlo a un servidor HTTP.
  3. 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:

Captura_timeline.png

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:

  1. 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
  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.
  3. 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:

1

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.

2

Vale, tampoco me acuerdo cómo hacer un pull request allí, así que no lo haré —al menos de momento—.

Categoría: org emacs

Comentarios

Debido a algunos ataques mailintencionados a través de la herramienta de comentarios, he decidido no proporcionar dicha opción en el Blog. Si alguien quiere comentar algo, me puede encontrar en esta cuenta de Mastodon, también en esta otra cuenta de Mastodon y en Diaspora con el nick de Notxor.

Si usas habitualmente XMPP (si no, te recomiendo que lo hagas), puedes encontrar también un pequeño grupo en el siguiente enlace: notxor-tiene-un-blog@salas.suchat.org

Disculpen las molestias.

Escrito enteramente por mi Estulticia Natural sin intervención de ninguna IA.