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.

Marujo o Maruja

Sigo repasando los errores que cometí durante la transcripción de las palabras del diccionario, lo que ha de hacerse error a error a lo largo de las más de 1000 palabras que no fueron detectadas por el programa que hice para descargar de la web de la RAE las definiciones.

Muchas de ellas simplemente no es que sean errores, sino cambios en el criterio de archivo online, así, por ejemplo, «LOS» ahora es «LAS» y no la encuentra (mi programita), pero está en el diccionario y no es ningún error.

Tampoco lo era maruja que hasta la XXIII edición no contemplaba el masculino y que, sin embargo, en esta XXIV edición (que es contra la que estoy revisando esa lista de palabras que yo tecleé a partir del diccionario en papel conteniendo la vigésimo tercera) aparece bajo «marujo«, aunque la definición en poco o nada ha cambiado y sigue siendo una de esas palabras que demuestran que el machismo está impregnado en lo más hondo que tenemos, que es el lenguaje:

marujo, ja Hipocorístico del n. p. María.

1. f. despect. coloq. Esp. Mujer que se dedica solo a las tareas domésticas y a la que suele asociarse a ciertos tópicos como el chismorreo, la dependencia excesiva de la televisión, etc. U. t. c. adj.

2. m. irón. coloq. Esp. Hombre que actúa como una maruja (? mujer que se dedica solo a las tareas del hogar). U. t. c. adj.

3. m. y f. despect. coloq. Esp. Persona chismosa. U. m. c. adj.

4. adj. despect. coloq. Esp. Propio o característico de las marujas o de los marujos.

No hay por dónde arreglar esto en el diccionario y que hayan cambiado de «maruja» a «marujo» la entrada correspondiente no es algo que considere ni mínimamente inclusivo.

Otras palabras en esta pequeña aventura de definiciones poco simétricas desde el punto de vista del género son:

manijero. Tb. manigero.

Del fr. ant. maisnagier.

1. m. Capataz de una cuadrilla de trabajadores del campo.

2. m. Hombre encargado de contratar obreros para ciertas faenas del campo.

De esto, obviamente, no se encarga una mujer, así que no es necesaria manijera.

O la poco usada:

lembario. De lembo.

1. m. Soldado que combatía a bordo de los bajeles.

No existían ni podían existir lembarias, parece ser.

Dictionary of the Spanish language Text Analysis

El 20 de agosto de este «peculiar» 2020 recibí un simpático correo electrónico de un hombre llamado «Germán Andrés Segura Tinoco» que me decía:

Buscando en Internet, encontré en su website el diccionario de la RAE en modo texto plano, el cual me pareció genial y quisiera usarlo en un proyecto personal (sin fines de lucro) y publicar el resultado en mi GitHub, en donde tengo mis proyectos de informática públicos.

Por lo tanto, quería preguntarle, ¿cuál es la forma correcta de citarlo o de darle agradecimientos?

No es la primera vez que me pasa algo así desde que realicé el trabajo de recopilar todas las palabras (tecleándolas) del diccionario de la RAE para aquel, lejano ya, proyecto de Isidoro Valcárcel Medina. Sin ir más lejos, el año pasado una persona desde Chile me decía que lo estaba usando para «enseñar a hablar» a una máquina. Así como la gran colaboración que realicé dentro del interesantísimo proyecto de Marta PCampos 1914-2014 sobre las palabras que habían desaparecido del diccionario en esos 100 años. Su precioso trabajo que yo denomino «Palabras Muertas».

Yo le respondí cortésmente con un email ese mismo día diciéndole:

Por supuesto eres libre de usarlo en un proyecto personal sin ánimo de lucro o, incluso, remunerado. Son las palabras de la RAE… es decir, de todos, que yo tan sólo he tecleado (ante la imposibilidad de conseguir una versión digital).

Puedes citarme como te dé la gana, pero agradecería que citases mi nombre y website:
Giusseppe Domínguez https://www.giusseppe.net

Te envío, no obstante, una entrada del blog con una versión lo más actualizada posible (en Mega) y no me responsabilizo de posibles errores… que voy corrigiendo, pero que seguro que alguna quedará. Si necesitas algún tipo de «sección» del mismo o alguna cosa curiosa… puedes decírmelo y si tengo ocasión, cuenta conmigo.

Un cordial saludo y hasta pronto,
Giusseppe

Fue muy bonito e interesante encontrarse en dónde había utilizado esas palabras y para qué: un análisis estadístico de las palabras en español, además de su gentileza a la hora de citarme en varios lugares agradeciéndome mi contribución (que siempre tiendo a minimizar, pues las palabras son públicas).

Buenas tardes, estimado Giusseppe,

Muchas gracias por su respuesta.

Le comparto el link a la página principal del proyecto en el que estoy trabajando, en donde realizo el agradecimiento a usted (en la sección Acknowledgment), con link a su website.
https://ansegura7.github.io/DSL_Analysis/

También le comparto el resultado del análisis descriptivo en el que estoy trabajando. Agradecería sus comentarios al respecto.
https://ansegura7.github.io/DSL_Analysis/pages/dsl_text_analysis.html
Próximamente, estaré compartiendo los resultados por Twitter. Por lo tanto, agradecería si me indica el nombre de usuario de su cuenta Twitter, para poder mencionarlo.

Una vez más, muchas gracias por compartir y recopilar el dataset del DLE.

Saludos cordiales,
Andrés Segura Tinoco

Me resulta simpático que llamen «dataset» al conjunto o listado de las palabras que recoge la RAE en su DLE. Los enlaces del proyecto de Andrés son fantásticos y es un trabajo divertido que seguro que además alguien considera útil.

En su proyecto mezclaba dos de mis grandes pasiones: la programación y el lenguaje, cosa que suelo hacer con frecuencia y que, próximamente, haré aún más. Así que estuve cotilleando con suma atención hasta que creí que podía hacerle una sugerencia útil, además de agradecerle su agradecimiento (entrando en un curioso bucle)

Me alegra saber que te sirve el material recopilado.

He estado ojeando tu proyecto y tiene una pinta estupenda. Me encantan los análisis y tu codificación es muy limpia y bien comentada.

Como única sugerencia (no muy difícil de hacer) es la de escribir todas las frases del análisis en un array (o un archivo externo) que puede modificarse sencillamente para traducciones a otros idiomas. Me explico, por ejemplo, en la parte del código:

"source": [
  "# Show results\n",
  "n_words = len(word_dict)\n",
  "print('Total of different words: %d' % n_words)"
]

podrías sustituir el print por algo así como:

"print('%s: %d' % msg_total_words[i], n_words)"

y tener un array de cadenas msg_total_words[LANGUAGES] o algo similar… (disculpa mi escaso conocimiento de python)

Es sólo una insignificante sugerencia que, seguramente, se puede hacer mejor que como te sugiero. (Leyendo los textos/mensajes de un archivo idiomático, por ejemplo)

Quizá me ha llamado la atención especialmente por el hecho de que no esté en español el resultado, lo que comprendo desde el punto de vista de la divulgación, pero también me resulta paradójico siendo que se habla sobre el español… 😉

Muchísimas gracias por la atribución y espero que no te molesten mis sugerencias.

Un cordial saludo,
Giusseppe

PS: No uso Twitter. Tengo cuenta de Facebook e Instagram, just in case…
https://www.facebook.com/giusseppe.dominguez (perfil personal)
https://www.facebook.com/giusseppedelaaalaz (página «oficial»)
https://www.instagram.com/giusseppe.dominguez

Y en último agradecimiento, me escribió unos días después con los resultados que estaba obteniendo para hacerme partícipe de su publicación. (Lo que es de agradecer).

Estimado Giusseppe,

Muchas gracias por tu sugerencia. Me parece súper válida y útil para mayor y mejor divulgación del material publicado. La tendré en cuenta para este y futuros proyectos.

Aprovecho el correo y te comento 3 cosas brevemente:
1. Cree un hilo en Twitter publicando algunos de los resultados obtenidos en mi análisis y al final hay un tweet agradeciendo y reconociendo tu aporte con link directo a tu sitio web. Te comparto el enlace al hilo (son solo 8 tweets) por si los quieres revisar: https://twitter.com/seguraandres7/status/1298025632090259458?s=21

2. He hecho algunas correcciones sobre las palabras recopiladas. Encontré como 2 o 3 palabras en donde se acentuaban consonantes en vez de vocales y otros pequeños errores, en donde se invertían letras, sin embargo han sido menos de 10 correcciones hasta el momento. Una vez termine el proyecto, te envío de vuelta el diccionario de palabras, para que puedas actualizar el tuyo, de así considerarlo.

3. Para futuro networking o trabajos, te comparto mi sitio web y mi perfil de Twitter donde constantemente estoy publicando resultados de mis trabajos de investigación personales o académicos. Curiosamente, yo no tengo Facebook. Website: https://ansegura7.github.io/ y usuario de twitter: https://twitter.com/SeguraAndres7

Una vez mas, muchas gracias por recopilar y compartir este dataset tan valioso.

Saludos cordiales,
Andres Segura Tinoco
Telf: +57 3555590546

Actualicé mi diccionario con su revisión incorporada, para poder utilizarlo en nuevos proyectos, pero sé, soy consciente, que seguro que habrá más errores. Quizá por ello en el proyecto «Cocinillas» en el que estoy metido ahora mismo he querido incorporar un «testeador» o comprobador, para saber si la palabra que busco en el diccionario existe o no y, en caso contrario, hacer un listado con todas las palabras erróneas que tengo y poder mejorar mi diccionario en texto plano (aunque espero que la próxima vez que lo actualice pueda incorporar, incluso, todas las definiciones).

Esto no es una broma