Sobre la caída de las redes sociales

Lunes y martes estuvieron caídas todas las redes sociales y aplicaciones dependientes de Facebook Inc.

A estas alturas no es noticia.

Lleva tiempo inquietándome el poder que tienen las grandes (4 o 5) empresas que hay en internet, hasta el punto de convertir la red en un oligopolio, más o menos monopolístico, muy parecido a un nuevo tipo de feudalismo o ultranacionalismo mercantilista.

Me sorprende que pueda ser noticia que una mujer (extrabajadora de Facebook) salga a afirmar que la empresa (oh, my god!) sólo busca el interés económico por encima de los derechos sociales. ¿De verdad una afirmación así puede ser noticia y no una mera obviedad en tiempos de capitalismo ultraliberal?

Hay algo que me llama la atención y es el hecho de que hemos ido dejando que pasara paulatinamente, pues cada vez que se ha intentado sobrevivir en una de estas empresas con financiación independiente (véase cuando Skype quería ser de pago, o cuando Whatsapp quiso cobrar 0.99€ anuales) nos resistimos a ello y dejamos que siguieran creciendo hasta ser deseables por gigantes del sector que, así, se ahorraban competencia al tiempo que inversión, con la mera adquisición (y posterior fusión) de la empresa emprendedora por la matriz engullidora.

Ahí hay unos pocos casos para el recuerdo:

  • Hotmail.com, una vez fue algo independiente de Microsoft
  • Skype, una vez fue algo independiente de Microsoft
  • RedHat, una vez fue algo independiente de IBM
  • Java, una vez fue algo independiente de Oracle
  • Whatsapp, una vez fue algo independiente de Facebook
  • Youtube, una vez fue algo independiente de Google (Alphabet Inc.)
  • Instagram, una vez fue algo independiente de Facebook
  • Picasa, una vez fue algo independiente de Google (Alphabet Inc.)
  • IMDB, una vez fue algo independiente de Amazon

Ahora se les exige algo que no tienen intención de cumplir y es que sean «sociales», que protejan «la libertad de expresión», que protejan «la privacidad ciudadana», que inviertan parte de sus beneficios en la sociedad (eso sí, con exenciones fiscales inverosímiles). Y no se cuestiona que el problema no son las empresas en sí, sino el depositar en ellas la labor que tendrían que llevar a cabo los gobiernos respectivos.

En un mundo desnacionalizándose, lo que queda no es libertad, sino el libertinaje de la ley del más fuerte (económicamente hablando). Vamos, lo que queda es ese vocablo gastado que tanto le gusta a la actual presidenta de la comunidad autónoma en la que resido.

Pero lo enfrentaremos haciendo unos cuantos «memes» que publicaremos en alguna red social y a otra cosa… que hay que trabajar.

De lo más divertido (no sé si ha sido un «meme» del redactor del artículo de El País donde he leído esta mañana la noticia) ha resultado ser este texto que aparece al final del mismo y que muestra que el rigor es lo que está cayendo a toda velocidad en el vacío del ostracismo:

Estos incidentes ?como la caída de los servicios de Google el pasado diciembre? han puesto en evidencia la vulnerabilidad de las conexiones digitales y la debilidad del sistema sobre el que se asienta el funcionamiento de la red en un momento en el que empresas y usuarios dependen más que nunca de ellas por el teletrabajo.

amientFacebook, Instagram y WhatsApp se recuperan lentamente de la peor caída total de su historia reciente, que afectó este lunes a s de forma global durante más de seis horashorasorasrasass seis horans seis horasseis horaseis horasis horass horas horashorasamient

Jordi Pérez Colomé
Es reportero de Tecnología, preocupado por las consecuencias sociales que provoca internet. Escribe cada semana una newsletter sobre los jaleos que provocan estos cambios. Fue premio José Manuel Porquet 2012 e iRedes Letras Enredadas 2014. Ha dado y da clases en cinco universidades españolas. Entre otros estudios, es filólogo italiano.

¡Genial experimento de poesía azarosa, dadá, fonética!

10Gb de conexión de fibra

Sí, se venden cosas y la gente las compra.
Sí, 10Gb más o menos reales que la gente compra.
Sí, para disfrutar las cuales es preciso adquirir routers especiales que la gente compra.
Sí, para conectarse a los cuales se necesitan cables ethernet que la gente compra.
Sí, que han de «enchufarse» a tarjetas de red de alta gama que la gente compra.
Sí, que poco sentido tendrían si no es en ordenadores de procesadores potentes que la gente compra.
Sí, con los que obtener una velocidad de escritura (y lectura) de datos sobre discos que han de ser más rápidos y que la gente compra.

Obvio: «la gente» es «alguna gente», o quizá «bastante gente».

Gente, mucha de la cual, lo que va a hacer gracias a esa conexión de fibra óptica
es
descargar morralla
conectarse al internet de las cosas absurdas
ver vídeos porno
o sencillamente, leer el periódico, que viene a ser lo mismo.

Pero más rápido.
Pero más caro.
Pero más mejor.
Claro que sí.

Y así seguimos…

Wallapop

Estoy vendiendo lo poco que tengo que no uso, a través de la cuenta de Carmen en esa plataforma para venta de objetos de segunda mano para pagar alguna cosa de primera mano que me he visto forzado a comprar para los talleres online.

Es curioso pero hay personas que compran cosas que no se me ocurriría nunca.

El sábado pasado nos quitaron de las manos, como quien dice, un móvil de 2015 que casi no funcionaba, pero sí, arranca y puedes instalar aplicaciones menores y por supuesto el teléfono es operativo para llamar.

Tras varios años de uso con las aplicaciones de aquella época lejana, me vi usándolo como servidor ftp en casa y, más recientemente, usado por Carmen como router o «punto de acceso wifi» con una tarjeta adicional para conectar su teléfono móvil o su tablet en Ciudad Real.

Pero ya no creía que nadie iba a dar nada por él, así que pedí 40€ pero estaba dispuesto a dejarlo en 25€ o casi lo que fuera. Lo único que hacía de un tiempo a esta parte era acumular polvo. Tristeza de 110€ que se devaluó el aparatejo en sus 6 años de vida.

Y así, sin más dilación, subí el anuncio a ese servicio, con unas pocas fotos y en menos de 1 hora lo había vendido tras demostrar que se podía instalar aplicaciones en el mismo.

No me había dado tiempo ni a cargarlo completamente.

Espero que la persona que lo adquirió le encuentre utilidad y me hace sentir mejor que haberlo llevado a un punto limpio de la ciudad, de esos que no solo no abundan sino que ni siquiera quieren aceptar dispositivos, pues imponen unos límites absurdos a su entrega, como no poder aceptar más de un número determinado de ellos por entrega o cosas por el estilo.

Ahora a ver si vendo los siguientes items que tengo para recuperar lo gastado en una tablet que no tiene otra utilidad que hacer viables las clases mixtas (online + presenciales) de los Talleres de Poesía de este curso. Pasado ese periodo, será algo que acabe por intentar vender en Wallapop. Y el ciclo continúa.

Ser autónomo en el mundo linux

Vivir a la contra ya sabemos que tiene sus consecuencias, pero no por ello abandonaré mi aldea gala desde la que resistir una invasión que me ignora sin el más mínimo reparo. Soy la hormiga delante del elefante en la sala de cine. Y aun así sostengo que instalar (y sostener) linux es un acto político.

Pero cuando llega el momento de tener que instalar un certificado digital, un lector de DNI electrónico, un software de firma electrónica, etc, acaba todo por ser casi imposible.

Y por supuesto la administración ni se molesta en desarrollar para todo tipo de usuario de estas tecnologías cada día más necesarias.

No obstante, he logrado (tras dos días de investigación) en un ubuntu (studio) 20.04 firmar documentos en la web de la Comunidad de Madrid por los que solicitamos (Carmen y yo) una ayuda en la cuota de autónomos de este año.

Para ello he seguido los pasos recomendados en la web de autofirma:

# En realidad, estas 2 primeras operaciones las realicé con Synaptic instalando la openjdk-11 (por defecto)
sudo apt install openjdk-8-jre
sudo apt install libnss3-tools

mkdir temporal_autofirma
cd temporal_autofirma
wget http://estaticos.redsara.es/comunes/autofirma/currentversion/AutoFirma_Linux.zip
unzip AutoFirma_Linux.zip
sudo dpkg -i *.deb

cd ..
rm -rf temporal_autofirma

Y con esto estaría instalado el software de autofirma, pero era necesario tener un certificado digital (PKCS#12) que yo no tenía (Carmen sí), así que intenté todo lo posible por descargar el certificado u obtenerlo desde el DNIe-3.0 mediante NFC con el móvil de Android. No ha podido ser hasta ahora, así que tendré que obtener el mismo mediante solicitud y «personación» en una de las oficinas correspondientes.

Termino algún proyecto

o un fragmento de algún proyecto
o un fragm
y abro una terminal
para tener acceso a la línea de comandos
de linux

dirijo la ubicación
a la ruta sobre la que está montado
el disco de backup
y ejecuto el script
que lleva a cabo la sincronización
de las carpetas que incluyen aquella
sobre la que haya estado trabajando

dirijo la ubicación
a la ruta sobre la que está montado
un pendrive
con ciento veintiocho gigabytes
de capacidad
y ejecuto el script
que lleva a cabo un fragmento de la sincronización
de las carpetas que incluyen aquella
sobre la que haya estado trabajando

cierro
tecleando un comando de salida
la terminal abierta

siento cierta satisfacción
creyendo que controlo algo de la incertidumbre
que acarrea el futuro
creyendo que lo que guardo
es digno de guardarse
para una posteridad sorda

siento cierto poder
cierta sensación de dominio
cierto orgullo rayano en la pedantería
por el conocimiento de un lenguaje
con el que hacerme entender por una máquina
olvidando
que no domino el lenguaje
con el que hacerme entender por un humano

tras la pequeña excursión
pienso en comenzar otro proyecto
o un fragmento de algún proyecto
que esté fraguando

y así
día tras
día.

Los virus aprenden a escribir

Lo más preocupante de que un virus aprenda a escribir es que ya no puedes fiarte de ese instinto que te dice que si un correo electrónico viene con muchas y extrañas faltas ortográficas muy probablemente se trate de un correo peligroso, SPAM o troyano.

Hoy he recibido un par de emails con un asunto sorprendentemente bien escrito:

Espero que estés pasando un día fantástico

y un contenido también bien redactado, incluso haciendo uso de negritas en los lugares adecuados:

¡Es una oportunidad que no debes desaprovechar!

Indicaban que te convenía pinchar en un enlace de bit.ly (esto ya es sospechoso de por sí, pero hay gente que usa acortadores de URL algo inapropiados)

https://XXXbit.ly/3XXXX526XXXXWVh

Si quitas las X aún puedes ir a ver lo que aparece ahí, bajo tu responsabilidad o irresponsabilidad.

Yo, curioso con estas cosas, por viejos hábitos que no hacen al monje, quise ver qué había en ese enlace con la mayor de las seguridades posibles, así que en una máquina virtual Linux (que no tiene acceso a ninguna de las carpetas del anfitrión) dentro de mi sistema principal Linux habilité la compartición del portapapeles bidireccionalmente (lo que ya me pareció un riesgo alto, pero me dio pereza teclear la dirección manualmente), en esa máquina abrí un firefox y lancé a copiar la URL en cuestión, encontrándome que me dirigía a una web que no tiene una pinta muy maliciosa:

salvo para personas incautas que crean que si no pagan en esa pantalla van a tener algún problema. Navegué por otras páginas y cerré esa pestaña sin el más mínimo problema… aunque no probé con otros navegadores quizá más expuestos, móviles incluidos, pues mi curiosidad tiene un límite.

Cuando el diablo no sabe qué hacer con el rabo mata moscas

Dice el dicho.

Y yo me dedico a ver las tripas de una web como si no hubiese nada importante que hacer.
Quizá porque nada de lo que últimamente hago me parece importante.
Quizá porque nada me parece importante.
Quizá.

Hoy mi alumna Kay Woo, de quien tanto aprendo, nos ha presentado su preciosa web nueva https://www.kaywooart.com/ y me he puesto a curiosear sus entresijos, que lo ha hecho más difícil de lo normal con la típica obstrucción a la utilización del botón derecho del ratón, posiblemente con intención de que no se pueda descargar imágenes o similar, pero ya sabemos que eso siempre me resulta un reto, así que he descargado algunas de sus páginas para ver de qué manera lo impedían, esperando encontrar en el código algunas pistas de cómo estaba hecha.

Curiosamente, no era otra plantilla de wordpress, de las que tanto abundan, casi hasta en más de un tercio de mi propia web, sino que no podía identificar claramente cómo estaba hecha (salvo que usaba mucho javascript paquetizado) y lo único que he visto para saber de dónde provenía era un dominio al que se hacía referencia de cuando en cuando llamado cloudfront.net, que parece ser que tiene algo que ver con AWS CloudFront, pero puede que no sea propiedad de Amazon, sino tan solo algún tipo de herramienta compartida por ambos.

Pues según Kay estaba hecha en una plataforma denominada Portfoliobox que he de reconocer que tiene una pinta estupenda para plantillas sofisticadas y sencillas al mismo tiempo.

Lo que está claro es que los tiempos de programar webs (si es que alguna vez se llamó así) han muerto completamente en aras de plantillas más o menos personalizables que permiten hacer verdaderas virguerías como la elegantísima web de Kay Woo sin las complejidades innecesarias de bregar con programadores, codificaciones, etc… que dan más problemas que ventajas, por mucho que yo siga siendo un dinosaurio de la vieja guardia y renuncie a hacerlas si no es vía VI sobre Linux…

¡Ay, cuánta torpeza hay en la nostalgia o la cabezonería!

Llegará el día en que añore las clases online

El otro día veíamos en un grupo una clase dedicada a Emmy Hennings, una de las fundadoras (olvidada, por motivos obvios) del Cabaret Voltaire, que dio origen a Dadá.

Me alegró la tarde (que no iba mal) que las dos personas que estaban asistiendo, en cuanto se mencionó la palabra «Cabaret», sacaron sendas boas cabareteras de colores vibrantes y no supe ni reaccionar. Me habría partido de risa, pero yo estaba «en modo serio» y me pilló con el pie cambiado. Ahora bien, no perdí la oportunidad de hacer una captura de pantalla que recogiera ese momento.

Poco a poco las clases de los Talleres de Poesía y Escritura Creativa de la Asociación Cultural Clave 53 vuelven a ser presenciales; así, por ejemplo, ya van a serlo los dos grupos de los jueves (a las 8 y a las 9), salvo excepciones y, por supuesto, manteniendo todas las medidas recomendables para garantizar la seguridad, dentro de lo posible, además de ofrecer la posibilidad de conectarse online a quienes por la razón que sea no puedan o quieran venir presencialmente (lo que va a quedarse al menos durante un curso más, pues pronto volverá a haber nuevos oleajes que nos tendrán en vilo).

Esta opción es algo incómoda porque hay muchas dificultades tecnológicas que afrontar, como el hecho de tener que usar 2 dispositivos de cámara, uno para que se oriente hacia mí y otro hacia la gente que haya venido a la clase a seguirla de manera presencial. Pero al mismo tiempo evitando que los dispositivos de audio de ambos dispositivos se acoplen produciendo sonidos muy molestos que nos recuerdan que hay un medio, y no un fin.

He probado algunas configuraciones de equipos y seguro que podría ser mejor, si hiciese un desembolso de dinero irrazonable para el uso que le voy a dar… espero.

De momento, el portátil de backup de Carmen de la Rosa es el que utilizo para seguir la clase (es un equipo que ya no está en su punto álgido de rendimiento, pero que ha sido preparado para aguantar un poco más), mientras mi móvil (un Xiaomi de gama baja) es utilizado para que quienes no están puedan ver a quienes están presentes, montándolo sobre un trípode para que esté a una altura conveniente.

El problema es que necesitaría un micrófono con altavoz inalámbrico para conectarlo al móvil que pudiese poner en el centro de la mesa y nos oyesen con claridad, pero quiero ahorrar ese consumo utilizando los recursos que ya tengo, así que he montado una especie de Frankenstein con unos micrófonos inalámbricos que tenía y un auricular también inalámbrico que me regalaron mis alumnos hace más de un lustro.

Probaré un par de clases a ver si tengo que terminar por adquirir un chisme más que seguro que me da algún problema de compatibilidad con mi Ubuntu Studio

CD o DVD

Hoy estoy perdiendo el tiempo en busca de fuentes para obtener el número de personas sobre la faz de la tierra y ver la manera de convertir esa cifra en un número de bits que almacenar en un soporte como puede ser un CD o un DVD.

El objetivo sería escribir tantos bits como personas hay en el planeta (puedo caer en el «binarismo» de asignar 0 a un sexo y 1 al otro, o ignorarlo) en un CD e ir generando CDs con las estimaciones de Personas Vivas sobre la Tierra cada cierto periodo de tiempo.

He encontrado una fuente importante de datos en la ONU, como si fuese un organismo útil, pero no encuentro la manera de acceder a esos datos desde línea de comandos, lo que me encantaría.

Tampoco sé la manera de escribir un archivo en linux directamente en código binario, escribiendo bits y no bytes. Tendré que repasar la rama dura de la programación en C o en ensamblador.

Creo que lo que intento es tan ridículo como habitualmente hago, pero no por ello quiero dejar de hacerlo.

Un número son palabras

Qué mejor demostración de que un número son palabras que un traductor de números a palabras, así, tan absurdo como este que intenta transformar los números (dígitos) en palabras, especialmente orientado a crear un libro con las palabras de unos cuantos (indeterminados) decimales de números irracionales, pues hay pocas cosas más irracionales que este proyecto absurdo.

/********************************************************
    Proyecto tres14 (escrito en C)
    realizado por Giusseppe Domínguez
    a partir del día 8 de diciembre de 2019
********************************************************/

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include <ctype.h>
#define OK 1
#define KO 0
#define MAX_LONG 10 // Longitud máxima de nombre de dígito

int firma();
int digitea(char caracter);
int nombranumero(int idioma, char caracter, char *nombre);
int instrucciones(char *comando);

int main(int argc, char *argv[])
{
  int i, idioma=0;
  char nombrenumero[MAX_LONG], caracter;
  FILE *fp;
 
  if ((argc < 2) || (argc > 3)) { instrucciones(argv[0]); } // Faltan argumentos
  else if (argc == 2) { // Número desde línea de comando
    for (i=0; i<strlen(argv[1]); i++) {
      caracter=argv[1][i];
      if(! nombranumero(idioma, caracter, nombrenumero)) { instrucciones(argv[0]); return KO; }
      puts(nombrenumero);
    }
  }
  else if (argc == 3) { // Número en fichero argv[2]
    if ( (! isdigit(argv[1][0])) || ((idioma = digitea(argv[1][0])) > 1) ) {
      printf("[ERROR] No conocemos el idioma: %s\n", argv[1]);
      instrucciones(argv[0]);
    } 
    else if ((fp = fopen(argv[2],"r")) == NULL) {
      printf("[ERROR] intentando abrir el archivo %s\n", argv[2]);
      instrucciones(argv[0]);
    }
    else {
      while ((caracter = fgetc(fp)) != EOF) {
        if (caracter != '\n') { // Ignoramos los saltos de línea
          if (! nombranumero(idioma, caracter, nombrenumero)) { instrucciones(argv[0]); return KO; }
          printf("%s ", nombrenumero);
        }
      }
    }
  }
  printf("\n");
  firma();
  return OK;
}


/******************************************
  La función instrucciones hace lo que su nombre
  indica: Imprime las instrucciones del programa.
******************************************/
int instrucciones(char *comando) {
    printf("\nUtilización: %s [número_positivo] [idioma fichero]\n\n", comando);
    puts("Si introducimos un nombre de fichero, el primer parámetro indica el idioma");
    puts("Idioma puede ser:");
    puts("\t0 - Español");
    puts("\t1 - Inglés");
}

/******************************************
  La función nombranumero nombra el número
  contenido en el caracter (si procede, claro)
  y devuelve error si no lo consigue.
  idioma = 0 (español)
           1 (inglés)
******************************************/
int nombranumero(int idioma, char caracter, char *nombre) {
  int digito;
  static int nomascomas=0; // Para no encontrar más de una coma en un argumento
  // char *numeros[] = { "cero", "uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve" };
  char *numeros[2][MAX_LONG] = {
    { "cero", "uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve" },
    { "zero", "one", "two", "three", "for", "five", "six", "seven", "eigth", "nine" }
  };
  char *coma[] = { "coma", "point" };

  if ((caracter == ',') || (caracter == '.')) {
    strcpy(nombre, coma[idioma]);
    if (++nomascomas > 1) {
      printf("Un número no puede tener más de una coma\n");
      return KO;
    }
    return OK;
  }
  else if (isdigit(caracter)) {
    digito = digitea(caracter);
    strcpy(nombre, numeros[idioma][digito]);
    return OK;
  }
  printf("[ERROR] |%c| No es un caracter válido en un número positivo\n", caracter);
  strcpy(nombre, "ERROR");
  return KO;
}
/******************************************
  La función digitea devuelve un número entero
  a partir del caracter (char) proporcionado
******************************************/
int digitea(char caracter)
{
  int digito;
  digito = (int) (caracter + '0');
  digito -= 96;
  return digito;
}


int firma()
{
  time_t tiempo = time(0);
  struct tm *tiempolocal = localtime(&tiempo);
  char txt_firma[128];
  strftime(txt_firma,128,"\nGiusseppe Domínguez, a las %H:%M. M-%Y%m%d\n",tiempolocal);
  printf("%s\n",txt_firma);
  return OK;
}
Esto no es una broma