Archivo del Autor: Gustavo Moreno

owncloud logo

Cómo publicar calendarios Owncloud en WordPress sin plugin premium

En este artículo explico como me las he ingeniado para importar calendarios Owncloud, versión 9, hacia un WordPress 4.5 en un sistema GNU/Linux, aunque es probable que funcione en otros sistemas. Ningún pluguin gratuito de WordPress importa calendarios de Owncloud y los renderiza a día de hoy. Hasta hace poco lo hacía el pluguin All-in-one Event Calendar, pero una incompatibilidad con las últimas actualizaciones de WordPress han dejado tal característica fuera de combate. Sin embargo, este pluguin sí puede importar archivos ICS desde otro lugar de manera periódica y renderizarlos.

Para importar los calendarios al mismo servidor donde tengo el WordPress, y mantenerlos actualizados y accesibles, he creado un script el cual Cron debe ejecutar cada cierto periodo de tiempo.

En el script que publico, los calendarios importados estarán en la carpeta /uploads/calendarios de la instalación del WordPress, catalogados por usuario y el mismo nombre de calendario del Owncloud. En el plugin All-in-one Event Calendar, será necesario especificar la url de cada calendario importado, por ejemplo:

http://miservidorwordpress.com/wp-contents/uploads/calendarios/usuario/calendario.ics

Cada calendario es importado por el script al que llamo importICS.sh

#!/bin/bash
importICS () {
    URL="http://"$DOMAIN
    dest_dir_root="/var/www/wordpress/wp­-content/uploads/calendarios/"
    dir=$dest_dir_root$CALUSER
    [[ -d $dir ]] || mkdir $dir
    wget ­O $dir/$CALENDAR".ics" ­­auth­-no­-challenge ­­http­-user=$CALUSER ­­http­-password=$CALPASS $URL"/remote.php/dav/calendars/"$CALUSER"/"$CALENDAR"?export";
}
file=$1
while IFS=, read CALUSER CALPASS CALENDAR DOMAIN
do
    importICS
done < $file

El script lee un archivo CSV, delimtiado por comas, del que toma los datos del usuario y calendario a importar del owncloud. Tiene un formato como este:

usuario1,123456,cal1,urlowncloudmidominio.com
usuario1,123456,cal2,urlowncloudmidominio.com
usuario2,123456,tres,urlowncloudmidominio.com

El primer campo es el nombre del usuario del calendario, el segundo su password, el tercero el nombre del calendario y el cuarto el dominio del owncloud.

Este archivo puede editarse fácilmente con una hoja de cálculo y exportarse como CSV delimitado por comas.

Cron ejecuta el script periódicamente para mantener los calendarios actualizados y, en condiciones normales, sólo habrá que hacer cambios esporádicos en el archivo CSV, pero por si se quiere actualizar los calendarios a mano, el script se ha de lanzar con un sólo parámetro: el nombre del archivo CSV. Por ejemplo:

$ sudo bash /opt/ICS/importICS.sh calendarios.csv

Por último, tan sólo hay que añadir la tarea al Cron para que ejecute el script con la frecuencia deseada y con ello ya tenemos los calendarios accesibles para el pluguin All-in-one Event Calendar.

No es imprescindible que los calendarios exportados desde Owncloud tengan como destino la misma máquina donde está instalado Worpress, sino que con algunas modificaciones al script pueden almacenarse en cualquier directorio al que tenga acceso el pluguin. También sería muy deseable añadir certificado SSL, aunque no lo he hecho pues ambas máquinas en mi caso se encuentran en el mismo segmento de red y no viajarán esos datos por Internet. Ténganse en cuenta también que en muchos casos los archivos ICS importados serán de acceso publico, por lo que el servidor donde estén alojados podría requerir configuraciones adicionales para limitar el acceso.

Espero que este artículo sea de utilidad.

Cómo lanzar streaming Bittorrent desde Firefox

¿Queréis ver una película en streaming tan sólo pulsando un enlace del navegador? ¿Queréis que, además, sea un streaming P2P en la red bittorrent?

Muchas veces yo también he querido, por lo que he «inventado» una manera de hacerlo. Para ello utilizaremos la aplicación en javascript Peerflix, un binario que he hecho yo mismo con una explicación para su creación y el navegador Firefox.

Preparativos

La magia de todo la da Webtorrent, del que últimamente se está hablando mucho, sobretodo desde que comenzó a utilizarlo Netflix. Sin embargo, su primer commit fue a mediados del 2014 y hay algunas aplicaciones que lo utilizan como motor. Una de ellas es Peerflix, que permite hacer un streaming en línea de comandos pasándole algunos parámetros.

Para este «invento» utilizo Peerflix, aunque cuando veáis la lógica de cómo monto el tema para lanzar el vídeo desde el navegador, bien podríais utilizar Webtorrent-cli e incluso un lanzador gráfico hecho por vosotros mismos.

Otro de los artilugios que necesitaréis son los reproductores VLC o Mplayer, al menos uno de los dos.

Peerflix es una aplicación en NodeJS, es decir, aplicaciones Javascript que para ejecutarse no necesitan un navegador, con las posibilidades que ello ofrece. Para lanzarlas necesitamos NodeJS instalado en nuestra máquina. La manera más rápida, y es válida en muchos casos, es instalarla desde los repositorios de nuetra distribución. Sería raro, raro, que no estuviera.

sudo apt-get install nodejs

o el equivalente en vuestra distribución.

Ello también instalará la aplicación npm. Esta aplicación es un gestor de paquetes estilo apt, pero para aplicaciones en Nodejs. Esta será condicion si ne qua non para poder instalar Peerflix ya que ésta no existe, que yo sepa, en repositorios de distribución. Para instalarla:

sudo npm install peerflix -g

A partir de ahora, ya podríamos utilizarla en una línea de comandos. Yo lo he hecho mucho tiempo. Y seguiré haciéndolo cuando haga falta.

Pero este post va de lanzarla desde un navegador, ¿No?

Binarios para utilizarlos con Firefox

Firefox no lanza scripts bash. Partiendo de ahí, si queremos asociar un tipo de archivo o de enlace a una aplicación, necesitamos un binario.

Aquí he tenido que crear un script bash que cuando lo veáis al final de artículo, veréis que es muy poca cosa. Básicamente, lanza Peerflix con el magnet y abre VLC o Mplayer.

Necesitaréis, al menos, unos de los dos archivos binarios que contiene este archivo: torrentstream.tar.gz.

Una vez descomprimido, dispondréis de dos archivos:

  • torrentstream-vlc
  • torrentstream-mplayer

No hace falta ser un pensador muy penetrante para darse cuenta de qué reproductor de vídeo lanzará cada uno de ellos. Estos archivos también podéis usarlos en la línea de comandos y quedaros aquí, pero me haría ilusión que lo utilicéis en el Firefox para ver las películas.

Asociar tipo MIME en Firefox

Lo que significa decirle a Firefox: cuando te digan que abras este archivo o este tipo de enlace, lanza la aplicación que te hayan dicho.

Muchas de tales asociaciones ya vienen «de fábrica», pero lógicamente pueden cambiarse.

Para asociar el tipo magnet a uno de los lanzadores que, supongo, ya os habéis descargado o estáis pensando en hacerlo, es sencillo. Si no tenéis el tipo magnet asociado a ninguna aplicación, a la hora de pulsar un enlace magnet, Firefox os preguntará si queréis asociarlo a una aplicación, en un cuadro de diálogo como éste:

dialogo mime firefox

En la imagen, ya tengo la aplicación torrentstream-vlc, aunque es probable que vosotros no la tengáis aún. Sobre otros clientes de Bittorrent que salen en la lista como los de Transmission, bueno; pecadores, pecadores… 🙂

No olvidéis recordar decirle a Firefox que recuerde la elección, aunque puede cambiarse en la preferencias. Pues vale, pero ¿Cómo?

Pues hay que ir a Preferencias -> Aplicaciones, buscáis el tipo magnet y os saldrá algo como esto:

aplicaciones mime firefox

La aplicación sería torrentstream-vlc o torrentstream-mplayer, a elegir.

Y a partir de este momento, cuando hagáis un clic en un enlace magnet, se abrirá la aplicación de reproducción de vídeo de las dos que hayáis elegido. Recordad, también, que es streaming P2P, por lo que antes de empezar la reproducción habrá que esperar unos segundo hasta que tenga suficientes fuentes y llene un pequeño buffer.

Con esto, y un apéndice, ya está hecho. Para aquellos que no se fíen de cargar cualquier binario, y por si alguien quiere hacerlo por sí o mismo o lanzar Peerflix con más opciones, a continuación explico cómo los he creado.

Creación de binarios

Los script bash que hecho me extrañaría mucho que sean estudiados por generaciones futuras. El de Mplayer:

#!/bin/bash

/usr/local/bin/peerflix $1 -m

El de VLC:

#!/bin/bash

/usr/local/bin/peerflix $1 -v

¿Cómo convertirlos en binario?

Yo he utilizado la aplicacion shc y los siguientes comandos:

./shc -v -r -T -f torrentstream-mplayer
./shc -v -r -T -f torrentstream-vlc

Cada uno creará un archivo como torrentstream-mplayer.x que después puede ser renombrado y utilizado.

webtorrent logo

WebTorrent Desktop, una aplicación de streaming de vídeo y audio con Bittorrent

De la mano del ya conocido por estos lares Feross Aboukhadijeh, nos llega Webtorrent Desktop, una aplicación Bittorrent muy sencilla para ver vídeos y escuchar audio en streaming.

Aún está en fase beta y la interfaz es muy simple, aunque ligera y maja, en la que se deja sobre ella un archivo torrent o bien se copia un enlace magnet para comenzar la descarga.

No depende de ningún servidor de archivos y éstos están distribuidos en la red. Tan sólo hay que pegar el enlace o el torrent y empieza la descarga.

WebTorrent (BETA)_005

Hace uso del módulo Webtorrent para Javascript y está embebida en Electron. Webtorrent hace conexiones en un navegador sólo través del protocolo WebRTC. Esta aplicación de escritorio puede, además, realizar conexiones TCP,  por lo que también puede hacer el streaming desde cualquier tracker público bittorrent.

Webtorrent Desktop tiene incorporadas varias fuentes desde las que descargar películas o audio, según dice la web del proyecto:

Whether it’s video from the Internet Archive, music from Creative Commons, or audiobooks from Librivox, you can play it right away. You don’t have to wait for it to finish downloading.

Además de descargar a tu escritorio, también emite a través de Airplay, Chromecast y DLNA.

fotograma bib bunny

Para los que prefieran la línea de comandos, con Webtorrent puede utilizarse el comando webtorrent-cli o Peerflix como alternativa, para el que hice un script en Python.

Instalación Linux Mint (y Ubuntu 64 bits)

Una vez descargado el archivo de la aplicación, descomprimimos y lanzamos el binario Webtorrent. Y ya está.

Es un proyecto abierto y en constante desarrollo, por lo que si quieres colaborar puedes hacerlo en su git.

 

Creatividad y tiempo

No cabe negar que los directivos de hoy todavía se centran demasiado en los factores externos del trabajo, como el dónde y el cuándo, en lugar de incentivar la creatividad, de la cual, en la economía de la información, dependen el éxito y prosperidad de la empresa. La mayoría de los directivos no ha comprendido las profundas consecuencias de la pregunta siguiente: ¿Qué propósito tenemos al trabajar: cumplir una condena o hacer algo? A principios de la década de 1970, Les Earnest, del laboratorio de inteligencia artificial de la Universidad de Stanford, resumía bien la respuesta dada por los hackers a esta cuestión: «Intentamos considerar a las personas no por la cantidad de tiempo desperdiciado, sino por lo conseguido durante períodos de tiempo bastante largos, como medio año o un año». […] La mentalidad de la supervisión del horario laboral trata a las personas adultas como si fueran demasiado inmaduras para hacerse cargo de sus propias vidas. Supone que son sólo unas pocas personas en una empresa dada, o un organismo gubernamental, las que han alcanzado un grado de madurez suficiente para asumir la responsabilidad por sí mismas, y que la mayoría de los adultos son incapaces de hacerlo sin la guía continua de un reducido grupo con autoridad. […] Los hackers no suscriben el lema de que «el tiempo es dinero», sino más bien el adagio de que «mi vida es mi vida». Y ahora, sin lugar a dudas, se trata de vivir nuestra vida de forma plena y no como una depauperada visión de segunda categoría.

 
«La ética hacker y el espíritu de la era de la información», Pekka Himanen

archivos

Listar archivos de directorio remoto en WordPress con Linux

Cuando sea necesario listar contenidos de carpetas compartidas en una intranet con WordPress, hay algunas posibilidades. Una de ellas es cargar el recurso compartido con enlaces con un aspecto similar a éste -> file://FileServer/Public

El problema de cargar el directorio remoto con el protocolo file:// es que para muchos navegadores son necesarios instalar plugins en cada uno de ellos. Es una solución válida, pero requiere instalar los plugins en cada navegador de los ordenadores que utilicen la intranet, lo que podría ser un dolor en redes de gran tamaño.

Otra opción es montar el directorio remoto con cifs en un punto de montaje del host virtual dónde está la instalación del WordPress. De ese modo, WordPress podrá acceder a los archivos remotos a través de los enlaces en la máquina local como si estuvieran físicamente en ésta.

Para mostrar el contenido de un directorio local como contenido de un post o página existe el plugin m1DownloadList.

Preparativos

Si no tenemos cifs, lo instalamos:

$ sudo apt install cifs-utils

Tenemos en una máquina remota una carpeta compartida SMB con permisos de solo lectura llamada \\SRVFILE\Public con credenciales para el usuario gato con el password Pajaro

Vayamos primero a instalar los paquetes necesarios en el servidor Linux. Este post está escrito pensando en Debian y derivadas, pero en otras distribuciones será muy, muy parecido.

Supongamos que tenemos el host virtual en la ruta:

/srv/wordpress/intranet

Entonces, creamos un directorio dentro de esa ruta:

$ sudo mkdir /srv/wordpress/intranet/srvfile

Credenciales

Creamos en el servidor donde está alojado el WordPress un archivo con las credenciales cifs, llamado /etc/smbcredentials, con el suguiente contenido:

username=gato
password=Pajaro

Interesa que el contenido de este archivo sea leído por el mínimo número de usuarios posible, lo ideal sería que sólo lo lea root en los sitemas Debian o el usuario con permisos de administración de distribuciones Ubuntu. Como regla general, sería de ayuda establecer estos permisos:

$ sudo chmod 500 /etc/smbcredentials

Montaje automático al arranque

En el archivo /etc/fstab están definidas las particiones que se montarán en el sistema de archivos al inicio del sistema, además de comparticiones remotas.  Las particiones y las shares «se montan» (en el argot linuxero) en cualquier punto del árbol de directorios, lo que equivaldría a decir que las carpetas compartidas pueden mapearse hacia cualquier lugar. Es en la ruta /srv/wordpress/intranet/srvfile donde montaremos el recurso compartido.

Editamos el archivo /etc/fstab con permisos de escritura:

$ sudo vi /etc/fstab

Calma: si no te gusta Vi, puedes usar Emacs, Nano o aquel con el que te sientas mas cómodo 😉

y añadimos la siguiente línea:

//SRVFILE/Public     /srv/wordpress/intranet/srvfile     cifs     credentials=/etc/smbpasswords       0     0

Hay mas opciones, claro; para ello te dejo que consultes las páginas man y lo tunees al pelo según tus necesidades 🙂

Para comprobar que esté todo bien, no es imprescindible reiniciar. Podemos montar la carpeta compartida con el comando:

$ sudo mount -a

Lo que montará toda la tabla de sistemas de archivos del /etc/fstab

Si todo ha ido bien, veremos los archivos compartidos con el comando:

$ ls /srv/wordpress/intranet/srvfile

Plugin de WordPress M1 Download List

Se trata de un plugin para listar directorios locales sin subirlos con la interfaz de WordPress.

Su uso es muy sencillo; tras activar el plugin, basta crear una página o artículo con un shortcode definiendo en él la ruta local a partir del directorio raíz del host virtual.

Como indican las instrucciones del plugin, para visualizar el recurso compartido anteriormente es suficiente con introducir este shortcode:

[m1dll path="srvfile/"]

Y saldrá algo como esto:

m1downloadlist

Es posible que tengas que configurar el juego de caracteres para que se visualicen los acentos y eñes, pero eso vendrá más adelante.

 

Instalar navegador Iridium en Linux Mint

Si has intentado instalar el navegador web Iridium en Linux Mint como indican las instrucciones de instalación de su página, habrás tenido el problema de que el paquete no está en los repositorios para la distribución, a pesar de que sí está para la versión de base Ubuntu.

Para instalarlo desde repositorio, puede añadirse el siguiente repo al archivo /etc/apt/sources.list

deb https://downloads.iridiumbrowser.de/ubuntu utopic main

De momento, no hay soporte para versiones más actuales del sistema operativo, pero ya podemos instalar sin compilar de fuentes la versión libre de Chrome.

Smuxi: mensajería multiprotocolo con aire retro

Hubo un tiempo donde todo el que quería comunicarse por Internet en tiempo real tenía que conectarse al IRC. Fue antes de los blogs, del Messenger y mucho antes de Facebook y otros grandes recentralizadores.

El IRC no tenía avatares, ni gráficos molones. No tenía trending topic ni hypes. ¿Qué tenía, entonces?

Era comunicación en tiempo real basada en texto a finales de los 90. Simple, directo, rompedor. Nunca antes en la Historia se habían juntado personas localizadas en diferentes partes del mundo en una misma sala para charlas sin esperas. Ninguna teoría de la Historia lo predijo. Los BBS y las listas de correo eran asíncronas. Es decir, podían pasar meses hasta que los receptores de un mensaje decidieran responderlo. EL IRC era inmediato. Eramos un apodo en un mundo sin fronteras, cadenas de texto casi como telepatía. Era salir por primera vez del territorio en cual el determinismo nos había tenido confinados, el hub de la megápolis para cualquiera que tuviera un módem y un ordenador. Tenía un mundo de posibilidades ingobernables.

Smuxi es un cliente multiprotocolo con todo el aire retro de aquellos clientes de IRC. Puede conectarse a cualquier red de IRC (¡aún viven!) y también a Jabber,  Twitter y otras. Además, puede estar conectado a través de TOR. Si queréis consultar la lista de características, aquí.

irc smuxi

Para instalarlo en Linux Mint, hay que introducir los siguientes comandos:

sudo add-apt-repository ppa:meebey/smuxi-stable
sudo apt-get update
sudo apt-get install smuxi

Para conectar a un servidor como freenode hay que ir a Servidor → Conectar y elegir apodo. En Buscar chat grupal veremos las salas de charla.

Si queremos estar al mismo tiempo en un servidor Jabber y tener los datos de conexión guardados, deberíamos ir a Smuxi → Preferencias → Servidores y configurar los datos.

smuxi servidor
Aún le faltan características como OTR y envíos por DCC que tienen otras aplicaciones, pero para quien quiera un cliente de mensajería en tiempo real muy retro, con posibilidad de cifrado con TOR, esté cliente puede que le resulte interesante.

playa san lorenzo gijon

Resumen del 2015

Este 2015 ha sido un año intenso en mi vida, que empezó por rescatar a una amiga de un maltrato el 1 de enero entre amenazas, y en el que, gozosamente, también conocí a los amigos de la Matriz, a los Aesires, a los Indianos y a mucha gentuza maja 🙂

Todos los post la Enredadera que he publicado durante el 2015 tienen que ver de un modo u otro con ellos. He hecho una selección de los más significativos para mí. En algunos casos no son los que más visitas han tenido, ni los mejor elaborados, pero son los que mejor marcan épocas que este año me ha regalado, como aquellas canciones que evocarán recuerdos para siempre.

Redes de pares

La topología de diamante

El templo y las fuentes

Caos armónico

Instalar GnuSocial en una Raspberry Pi

Ofuscar el tráfico bittorrent: introducción breve

Testeo automático de conectividad en bash

Mi debut fue en el Somero 2015

Feliz 2016! 😉

sala de cine

Películas a la carta en línea de comandos

Peerfilm es un script para ver vídeos en streaming en la red bittorrent. El script necesita Python 2.7 y depende del programa Peerflix, escrito en Nodejs. Para instalarlo:

#npm install -g peerflix

Una vez instalado y resueltas otras posibles dependencias, Peerfilm estará listo para utilizarse. A continuación comparto el script:

"""
   Peerfilm

   Author: Gustavo Moreno
   Email: gustavo@laenreadera.net

   Streaming P2P via bittorrent

   Depends on:
       - Peerflix

   Install Peerflix:

       - npm install -g peerflix

   This script streams films from bittorrent network. Using it is easy. Just
   enter a magnet uri in prompt or load a CSV file that contains magnet uris.

   CSV file is delimited by ';' and fields are:
        Title;Year;magnetURI

"""

import subprocess

class Films:

       def __init__(self):
          self.magnetList = []
          self.inputIsMagnetURI = False


       def selectTorrentSource(self):
          # Choose between single magnet or csv file
          sourceInput = raw_input("Enter path of CSV file or enter magnetURI: ")

          if 'magnet:?' in sourceInput:
             self.inputIsMagnetURI == True
             self.loadMangetURI(self.inputIsMagnetURI)
          else:
             self.CSVFile = open(sourceInput,"r")
             self.loadMagnetURI(self.inputIsMagnetURI)


       def loadMagnetURI(self, singleMagnet):

          if singleMagnet == True:
             self.title = 'Streaming... '
             self.magnetURI = source
          else:
             self.buildListFromFile(self.CSVFile)


       def buildListFromFile(self, CSVFile):

          peli = []

          lineas = CSVFile.readlines()
          for linea in lineas:
              peli = linea.split(";")
              self.magnetList.append(peli)


       def userSelectFilmFromList(self):
          # Prompt user to choose a film from a given list of titles

          numerationOfAvailableFilms=0
          for row in self.magnetList:
             print numerationOfAvailableFilms+1, " ", row[1], " ", row[0]
             numerationOfAvailableFilms += 1

          num_peli = int(raw_input("What film do you want to watch? "))
          self.title = self.magnetList[num_peli-1][0]
          self.magnetURI = self.magnetList[num_peli-1][2]


       def streamFilm(self):
          # Launch peerflix to VLC
          # Type 'peerflix -h' in console to see available parameters

          print "\n\n\nStreaming... ", self.title, " \n\n\n"
          subprocess.call(['/usr/local/bin/peerflix', self.magnetURI, '-v', 'peliculas/%s'%self.title])


       def play(self):

          self.selectTorrentSource()

          if self.inputIsMagnetURI == True:
              self.streamFilm()
          else:
              self.userSelectFilmFromList()
              self.streamFilm()


film=Films()
film.play()

El archivo CSV está delimitado por ; y tiene los siguientes campos:

Título;Año;Magnet

Por ejemplo:

EL corredor del Laberinto: Las Pruebas;2015;magnet:?xt=urn:btih:2813c7e559a98b8e11fd360c1af3773839bcc6dc&dn=El+corredor+del+laberinto-Las+pruebas+%282015%29.HDrip&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80&tr=udp%3A%2F%2Fopen.demonii.com%3A1337&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Fexodus.desync.com%3A6969

Este script lanza el reproductor VLC. Peerflix, el proceso al que llama subprocess, tiene otros parámetros como lanzar el vídeo en los reproductores omx o MPlayer.

captura de peerflix y vlc¡Saludos!

Until it sleeps

La burbuja acabó, pero no su guerra espiritual

En el espectáculo de los años noventa y principios de siglo, antes de la crisis, occidente había dejado de tener los problemas que arrasaban en el resto del planeta. Las guerras civiles y las crisis eran cosas que les pasaban a los demás. Pero era una sociedad frustrada, apática e incapaz de anticiparse al futuro. Casi nadie se planteaba que una burbuja inmobiliaria como único sector económico en marcha quizá no era el mejor camino. Pero no importaba, ya que las cosas, se creía, irían cada vez mejor.

En un sistema en el que el éxito se media por la cantidad y precio de posesiones, la rebeldía consistía en rechazar consumir. Una respuesta propia de quién no ha tenido problemas en el consumo. En aquella época, en el cine hubo algunas joyitas como El club de la lucha y American beauty. En el sistema que describían en aquellas películas, habían sido resueltos todos los problemas materiales, pero el problema que achacaba a los miembros abúlicos y aburridos de aquella «clase media» con trabajos para nada interesantes era existencial.

eduard fight club

Cuando estalló la crisis, esto debería haber cambiado. Las crisis también pasan en Europa que, al fin y al cabo, no está fuera del planeta. Pero no cambió. Primero, no pasó nada. Pura inercia. Ya lo arreglará alguien. Volverán los buenos tiempos. Cuando la cosa cada vez estaba peor, había que forzar un poco que volviera el pasado y llegaron los movimientos «indignados». Sus aportes fueron escasos para la gravedad de la crisis. Bueno, tenían sentido del humor y la gente se empezó a interesar más por temas económicos y políticos que hasta entonces habían sido tabú y se empezaron a mover por algo. Rompieron un silencio, y eso está bien, pero sus críticas teóricas no fueron muy profundas y no terminaron con la mentalidad de la burbuja, sino que tomaron su testigo aunque sea para llevarlo por otros derroteros.

¿Cómo es qué no hubo una ruptura existencial con la mentalidad de la burbuja que fue la causante de la crisis de la deuda, sino que su filosofía parece alargarse en el tiempo? ¿Por qué el bofetón de realidad no fue efectivo? En lo profundo, hay añoranza por el pasado, cuando la vida era un espectáculo. Los movimientos sociales mainstream aún dan las respuestas de antes de la crisis. Anti-consumismo snob, ecología religiosa, una horizontalidad de identidad fofa, sectarismos donde el líder oculto marca las reglas y en el fondo sumamente desorganizados pero, sobre todo, más frustración. El 15M no fue rupturista. No terminó con la guerra espiritual que asolaba a las sociedades desarrolladas pre-crisis: la prorrogó, aún sacándola de su contexto histórico. Cabia esperar una crítica material sería y profunda, un cambio revolucionario al menos en lo filosófico, un interés en lo productivo, que con la exclusión social masiva, empezarían a ver lo que de conquista tiene el aburrimiento entre catálogos de objetos y que las respuestas quizá sean otras, pero no. Todo ello no ocurrió. En vez de aquello, soñaron que una vez fueron dioses y que a una vida mejor se llega evangelizando sobre aquello contra lo que supuestamente luchan: la pobreza. Porque «decrecer» no es otra cosa que ser cada día un poco más pobres, o mucho más, que el anterior.

A los que siempre han vivido en la exclusión, el 15M les dejó indiferentes. No se oponían: les daba igual. Conocían el frío en el cobijo ya de antes de que viniera un universitario con el descubrimiento del pan duro. Saben lo que es tener a la policía encima, sin haber hecho nada, y lo hipócrita que les parece oír decir que menos consumo es lo que les hace falta, cuando entrar a una tienda parece de marcianos por no tener dinero. Quizá también intuyan que, si la producción agrícola se traslada a la ciudad, puede que no haya comida suficiente.

La guerra espiritual, a la que hace referencia El club de la lucha, es para quien desde la infancia lo ha tenido todo hecho. Y que se dejen ya de tonterías.