.

Veo el siguiente código en el blog de Robert Elder:

cat /dev/urandom | hexdump -v -e '/1 "%u\n"' | awk '{ split("0,2,4,5,7,9,11,12",a,","); for (i = 0; i < 1; i+= 0.0001) printf("%08X\n", 100*sin(1382*exp((a[$1 % 8]/12)*log(2))*i)) }' | xxd -r -p | aplay -c 2 -f S32_LE -r 16000

Introducido en una terminal de un sistema Linux con los programas necesarios, genera una melodía aleatoria. En el primer enlace hay una explicación detallada de lo que hace exactamente, aunque se resumir con cada orden entubada:

  1. cat /dev/urandom

    Vuelca los contenidos de /dev/urandom a stdout.

  2. hexdump -v -e '/1 "%u\n"'

    Convierte bytes binarios en enteros (opción -e '/1 "%u\n"') incluyendo las repeticiones (opción -v).

  3. awk '{ split("0,2,4,5,7,9,11,12",a,","); for (i = 0; i < 1; i+= 0.0001) printf("%08X\n", 100*sin(1382*exp((a[$1 % 8]/12)*log(2))*i)) }'

    Procesa la información con AWK de modo que:

    1. split("0,2,4,5,7,9,11,12",a,",");

      Crea un array a con los número de semitonos relativos a la nota base en una escala mayor. Este array se usa para calcular la frecuencia en hercios de una nota de temperamento igual con esta fórmula: 440 × 2^(número de semitonos / 12) 440Hz representa la frecuencia de un La 440.

    2. for (i = 0; i < 1; i+= 0.0001)

      Un contador para generar los tonos. Variar el incremento de cada iteración altera el tempo y la frecuencia percibida de la melodía.

    3. printf("%08X\n", 100*sin(1382*exp((a[$1 % 8]/12)*log(2))*i))

      Imprime números hexadecimales de 4 octetos representando la amplitud de la onda sonora en un momento determinado. La fórmula 100*sin(1382*exp((a[$1 % 8]/12)*log(2))*i)) se puede descomponer en varias partes:

      1. a[$1 % 8] / 12

        A partir del valor aleatorio de la entrada ($1) elige el semitono de la escala y lo divide por doce.

      2. exp(… * log(2))

        AWK no tiene una función para calcular potencias de una base cualquiera pero sí calcula potencias del número e y logaritmos naturales, así que para obtener 2x hay que calcular e(x × ln(2)).

      3. 1382

        Es un valor aproximado de 440 × π.

      4. 100

        Un factor de escala para la amplitud de la onda y, por consiguiente, el volumen.

  4. xxd -r -p

    Convierte los 8 bytes de valores hexadecimales en binario.

  5. aplay -c 2 -f S32_LE -r 16000

    Reproduce el sonido equivalente.

.
Zakk Wylde - Autumn Changes []

.

Estaba volviendo a ver el otro día un capítulo de la primera temporada de Roma, serie de la HBO de 2005, cuando reconocí a Simon Callow haciendo de Publio Servilio. Me vino a la cabeza su papel de Profesor Haddo/Alesteir Crowley en Chemical Wedding, película anunciada en 2007 y que llegué a ver en 2009. No recuerdo mucho de la película aunque sí recuerdo a una de las actrices: Esmé Bianco.

Esta chica, fotografiada hace un mes llevando una camiseta con el arte gráfico de Cirice de Ghost para recibir su primera clase de batería, tiene un breve pero «revelador» papel en la película, y no estoy seguro si es la que perfila el poster de la película. No pasó desapercibida en el photocall de la presentación de la película en Cannes (acompañada del señor Dickinson) y mucho menos unos años después como Ros en Juego de Tronos, otra serie de la HBO:

El personaje participa en más de una de las escenas que inspiró el neologismo sexposition, lo que refuerza la impresión que no tiene muchos complejos (ni hay razón para que los tuviera) a la hora de mostrar su cuerpo.

Donde me es imposible reconocerla es en el vídeo de «Beauty Through Order» de Slayer que, según decía la actriz en twitter en 2013, ha sido el mejor vídeo musical en el que había participado.

.
Slayer - You Against You []

.
Gadget - Enemies of Reason []