La personalización del blog

Esta semana he estado personalizando el blog (este diario en el que escribo) y la web de Clave 53 con el fin de homogeneizar las 3 webs que van a estar relacionadas, que son la web de Clave 53, la web de Giusseppe.net, que a su vez es trina, así que incluye las páginas HTML hechas por mí, el wordpress en el que estoy escribiendo ahora mismo y la aplicación Piwigo que sirve como soporte a los álbumes de fotografías que utilizo en la web, y por último la aún no realizada web de la «Editorial» que está a medio camino entre la de Clave 53 y la de Giusseppe, lo que me ha condicionado a elegir una tríada de colores «armónicos» así que será con fondos verdes donde la de Clave 53 es morada y la de Giusseppe es naranja y algún juego similar con los tres colores básicos que he decidido que sean:

Giusseppe.net: Color protagonista naranja (#ff9900)
Clave 53: Color protagonista morado (#800080)
Editorial: Color protagonista verde (#008000)

Para personalizar el blog, que está realizado usando una plantilla denominada Tulsi he utilizado el siguiente código extra (extraído y adaptado desde la web de giusseppe.net):


/* Cabeceras */
.entry-header {
  padding: 30px;
  background-color: #333;
  -webkit-animation: slide-in-left 3s both;
  animation: slide-in-left 3s both;}
h1.entry-title {font-size: 2em}
h2.entry-title a {color:#ff9900;}
h2.entry-title a:hover {color:#FFF;}
a, a:visited {
  color: #ffffff;
  font-weight: bold;
}
a:hover {color:#ff9900}
/* Marco Redondeado */
/* Marcos redondeados */
main {
  padding: 10px; 
  box-shadow: 0 0 30px rgba(255,159,0,0.7);
}
/* Quotes */
blockquote {
  font-size:1em;
  color: grey
}
/* Widgets */
.widget-title {
  background-color: #333;
  font-size: 16px;
  -webkit-animation: slide-in-right 3s both;
  animation: slide-in-right 3s both;
}
.sidebar .widget {
  font-size: 12px;
  background-color: #ff9900;
  color: black;
}
.sidebar .widget a, .sidebar .widget a:visited {
  color: black;
  font-weight: bold;
}
/**
 * ----------------------------------------
 * animation slide-in-left
 * ----------------------------------------
 */
@-webkit-keyframes slide-in-left {
  0% {
    -webkit-transform: translateX(-1000px);
    transform: translateX(-1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slide-in-left {
  0% {
    -webkit-transform: translateX(-1000px);
    transform: translateX(-1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}
/**
 * ----------------------------------------
 * animation slide-in-right
 * ----------------------------------------
 */
@-webkit-keyframes slide-in-right {
  0% {
    -webkit-transform: translateX(1000px);
            transform: translateX(1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slide-in-right {
  0% {
    -webkit-transform: translateX(1000px);
            transform: translateX(1000px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
}

 

Vídeo de Poseía Poesía

Vídeo en formato palimpsesto audiovisual utilizado para la introducción de la presentación del libro Poseía Poesía de Giusseppe Domínguez.

El audio de fondo es una lectura de 999 palabras (pudiendo ser poseía o poesía) generadas aleatoriamente. La lectura la realizó un sintetizador de voz de linux personalizado.

Incluye vídeos de tiradas de dados, de vídeos que dejan ver lo que ocurrió en otro momento del tiempo, como por ejemplo, vídeos de Contar 88 garbanzos secos manualmente (una vídeo-acción englobada en el proyecto La Consulta Caso 30), o la escritura sobre 36 dados de madera de 2x2cm de las palabras poesía y poseía (30 y 6 veces respectivamente).

El vídeo ha sido editado utilizando kdenlive 22.04.3 sobre Linux Mint 20.3 (una)

Presentación de Poseía Poesía

Hoy presento el libro-proyecto Poseía Poesía que he estado postergando (la presentación) desde una pandemia y cuarto.

La semana pasada estuve editando un vídeo para ayudarme en la presentación y no sentirme tan solo, con un proyecto-libro difícil de presentar: No se puede leer como si fuese un poemario convencional y no es puramente un libro de artista. ¿Qué es este libro? He preparado un texto de más de 8 páginas que seguramente leeré (parcialmente) para contextualizar una rareza de estas de la Poesía Programable que, quizá, no está encontrando el nicho de personas potencialmente interesadas.

Editando vídeo Poseía Poesía

Este es uno de los fotogramas palimpsésticos del vídeo que he preparado para la Presentación de Poseía Poesía.

Lo he estado editando con Kdenlive, que es, con suma diferencia, muchísimo mejor que Openshot con el que hasta ahora había editado vídeo sobre Linux, lo que no deja de ser una locura antisistema mayor que la de pegarse con adhesivo a una obra de arte mercadeada.

2022

Hasta el año 2200 no vuelve a haber un año compuesto únicamente con doses y ceros. Al menos en este arbitrario calendario.

He realizado un pequeño script que escribe los años que vamos a pasar en sequía de una condición tan arbitraria como cualquier otra:

#!/bin/bash

for ((i=2022; i<=2200; i+=2)); do
echo $(printf "%03d " "$i")
done

y el resultado, después de sustituir los finales de línea por barras, para unirlos en una sola línea es:

2022/ 2024/ 2026/ 2028/ 2030/ 2032/ 2034/ 2036/ 2038/ 2040/ 2042/ 2044/ 2046/ 2048/ 2050/ 2052/ 2054/ 2056/ 2058/ 2060/ 2062/ 2064/ 2066/ 2068/ 2070/ 2072/ 2074/ 2076/ 2078/ 2080/ 2082/ 2084/ 2086/ 2088/ 2090/ 2092/ 2094/ 2096/ 2098/ 2100/ 2102/ 2104/ 2106/ 2108/ 2110/ 2112/ 2114/ 2116/ 2118/ 2120/ 2122/ 2124/ 2126/ 2128/ 2130/ 2132/ 2134/ 2136/ 2138/ 2140/ 2142/ 2144/ 2146/ 2148/ 2150/ 2152/ 2154/ 2156/ 2158/ 2160/ 2162/ 2164/ 2166/ 2168/ 2170/ 2172/ 2174/ 2176/ 2178/ 2180/ 2182/ 2184/ 2186/ 2188/ 2190/ 2192/ 2194/ 2196/ 2198/ 2200/

Como puede verse, me ahorré los impares, pues obviamente no están formados únicamente por dígitos ceros y doses. Era por ahorrar… 😉

uno imagina irracionales…

Uno imagina cuando encuentra por primera vez números a los que llama irracionales que no lo son en el sentido que ha imaginado, sino en el hecho de que no son razones, razones entre números enteros, pero tampoco uno cae en la cuenta de que a las divisiones les llamamos razones, así, sin ton ni son o todo lo contrario, quizá no hay nada más razonable que dividir las cosas, repartirlas, incluso los números enteros para que dejen de ser tan pretenciosamente enteros y cuando uno se encuentra números que no son el fruto de una repartición siente cierta aversión hacia ellos, los repudia, los niega, los ningunea, uno intenta convencerse de que son aproximaciones de algo más «razonable», aunque uno llegue a saber que no es así por reducción al absurdo, que parece una reducción al Pedro Ximénez, pero no tiene nada que ver con ella, por muy sabrosa que pueda resultar en ocasiones.

Uno imagina cuando encuentra por primera vez números a los que llama irracionales que no son todos iguales y que el loco paralelismo prestado por el léxico filosófico sirve para clasificarlos en trascendentes, construibles, algebraicos, normales… Sí, también uno descubre que hay números normales y lo que a uno le vuelve aún más loco (que no irracional) es que todo número normal debe ser necesariamente irracional, así, como si nada, como si eso de repente explicase tantas cosas que uno nunca ha comprendido en la vida que parece una epifanía.

Uno imagina cuando encuentra por primera vez números a los que llama irracionales que no son el final de todos los números posibles y que ha de haber algo más allá, así que se emociona incluso cuando a uno le hablan de los números imaginarios que hacen realidad el hecho de que los números reales no sean tan completos como creían ser, mientras sí lo serán los números complejos, así: completos sin complejos.

Uno imagina (pues no puede parar de imaginar) cuando encuentra por primera vez números a los que llama irracionales que no son más que la puerta de entrada a la matemática de la poesía, la que descubrirá un número poético que incluirá sus números imaginarios, sus irracionales, sus enteros y sus fracciones, sus negatividades, sus nulidades, la nada, nada infinita, nada lemniscática, nada redonda y pueril, nada feliz en la que uno se pierde sin dilación en una ecuación diferencial diferente a lo esperable, una nada inestimable, incalculable, una nada que forma operaciones como versos sueltos en un cosmos ingrávido.

Uno imagina cuando encuentra por primera vez números a los que llama irracionales que el amor debe de estar escondido en el número π o que la i no es la e, pero ambas comparten la letra como signo último al que referirse, en el que habitar, en el que albergarse hasta que paren de llover decimales si es que alguna vez escampa; uno va más allá del signo reconocible objetivamente para abrazar el grafo, el signo asémico, la línea más o menos continua que un material traza sobre otro rompiendo y rompiéndose a nivel atómico, destrozándose para dar vida a la imagen: imagen que imagina uno cuando encuentra por primera vez números a los que llama irracionales que no lo son en el sentido que ha imaginado.

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;
}

qrqrqrqr de Carmen de la Rosa

Carmen de la Rosa

Entre los zapatos de cristal,
rosas de hielo
se me ha congelado el alma, cristalina
de azul fuego

Llegó anunciada de antaño y estaño vs. deambulando
por cúmulos de arena y brisa de seda
recia
crujiendo cobarde, de la rectitud al desplome y entre versos de longevas dinastías se alzó, como una sirena que atisba un barco desde su océano infinito.

Cuan si fuese poetisa, diosa del infinito
emergió

Y mientras la tinta,
negra,
de punta a punta
y gota a gota, se clavaba en edificios de mármol,
las palabras se deshacían.
La sal en el agua
y en la tierra sucumbieron.
La luz de la manta que me cobijaba se llenó de langostas
SÍ!
SÍ!
SÍ!

Y dándome cuenta las notas, la música, las campanas y el latido se hicieron una en el silencio.

Recibido desde su página personal el día 15 de enero de 2020, tras terminar la edición online del libro qrqrqrqr. Quizá aún dé tiempo de incluirla en la versión en papel.

qrqrqrqr

Libro de códigos QR y poemas escritos y enviados desde una dirección URL generada para la ocasión por 33 diferentes poetas.

En las ocasiones donde el o la poeta no hicieron llegar sus textos, se ha optado por dejar la referencia a la página web en cuestión por si alguien quiere tomar el relevo y enviar algún poema en su nombre de cara al futuro.

Como todo proyecto de arte postal, es una botella lanzada al océano que, en más ocasiones de las esperadas, regresa con provisiones para aguantar la vida.

Giusseppe Domínguez les propuso a 33 personas participar en este libro enviándoles por correo postal un código QR impreso sobre hojas de una edición de Las Flores del Mal, de Baudelaire, que redireccionaba a una página que contenía un formulario personalizado así como un código QR con el nombre de la persona invitada a formar parte del proyecto.

El libro contiene los QR personalizados para cada poeta, así como los poemas de aquellas personas que cumplimentaron sus formularios poéticos con un poema.

Esto no es una broma