Homenaje a Mandelbrot. Los fractales de la Suite No.3 para cello, BWV 1009, de Bach

En música, por lo menos dos.

Javier Herguera, un excelente profesor de piano que tuve, solía argumentar que la música se puede estudiar desde la relación entre dos únicas notas. Una nota es sólo sonido, pero dos establecen una relación, son la raíz de un discurso. Aplicado al análisis musical, esta sencilla idea tiene múltiples significados: por un lado, a pequeña escala, muchas de las composiciones musicales que conocemos parten de motivos de 2 ó 3 notas como mucho. Estos motivos se repiten o se transforman dando lugar a motivos más grandes que se articulan en frases y estas en temas. A gran escala, sin embargo, esas mismas composiciones pueden simplificarse y reducirse a la mínima expresión, como la relación entre sus partes integrantes: de nuevo una tensión entre temas, entre secciones o entre grados de una tonalidad: como mucho, dos o tres notas. De alguna forma, el análisis musical es el estudio de microestructuras que se van coordinando en estructuras cada vez mayores hasta formar un todo coherente. Según la «distancia» a la que nos situemos, podremos centrarnos en unas relaciones u otras, tendremos acceso a un mayor o menor nivel de detalle, hasta llegar a la distancia mínima, el átomo de la música: por lo menos, dos notas.

Curva de Koch. Según la "distancia" a la que nos situemos, podremos centrarnos en unas relaciones u otras, tendremos acceso a un mayor o menor nivel de detalle.

He hablado antes del todo «coherente». Bien, la forma que tienen los músicos de dar coherencia a un conjunto es relacionando sus partes mediante la similitud o el contraste. Por eso mismo, existen composiciones enteras generadas a partir de un solo motivo de dos o tres notas. En pro de la coherencia, los músicos (sobre todo los más formales como Bach o Beethoven) derivan nuevo material musical a partir de partículas mínimas (motivos) que dan unidad al conjunto. Estas partículas se repiten a distintos niveles y se derivan de la original a partir de las transformaciones de simetría: un motivo puede ser invertido (reflexión vertical), retrogradado (reflexión horizontal), transpuesto o transportado (traslación), aumentado tanto en el tiempo como en su interválica (dilatación u homotecia) o incluso rotado (una melodía que se convierte en acorde y viceversa). En esencia la función de este tipo de juegos es generar autosemejanza a distintos niveles y, por tanto unidad. Pero incluso cuando dos motivos contrastan entre sí, su función es reforzar la unidad de cada uno de ellos (el blanco es más blanco sobre un fondo negro).

Bien, la mayoría os habréis dado cuenta ya de por qué Mandelbrot aparece en el título de la entrada y es que a estas alturas hemos mencionado la propiedad fundamental de los fractales: autosemejanza a distintas escalas. Con ello no quiero decir que toda la música sea perfectamente fractal, ni que los compositores, desde hace siglos, tuviesen en mente este tipo de estructuras matemáticas, descritas en la modernidad. Mi argumento es que, sobre todo en el caso de ciertos compositores, la forma de generar orden en música, derivando unos motivos a partir de otros y agrupándolos en estructuras cada vez mayores, recuerda o es comparable a la de un fractal.

Inicio de la Bourrée I de la Suite No.3 de Bach

Algunas composiciones son paradigmáticos en este sentido e, investigando sobre el tema, me he encontrado con este análisis de la Bourée I de la Suite para cello No.3 de Bach. En ella, se puede encontrar un patrón fractal formado por las duraciones (el ritmo) de los elementos. El motivo inicial consta de dos corcheas y una negra (sus duraciones serían 1,1,2). En la primera semifrase, este motivo se repite dos veces (AA) y varía en una tercera parte (B) que, nuevamente, dura el doble. A esta semifrase, le contesta otra de igual duración (s1, s1), y ambas concluyen con una especie de coda (s2) que, sí, lo habéis adivinado, dura exactamente el doble que las semifrases. El patrón se vuelve a repetir en la «macroestructura», aunque, esta vez, varía ligeramente. Toda la sección descrita, con una duración de 8 compases, se interpreta dos veces seguidas sin variación (AA) y da paso a la segunda sección de la Bourré I (B): solo que esta no dura 16 compases como cabría esperar, sino 20. Curiosamente, aunque Bach indicó que esta segunda sección también se debía repetir, muchos cellistas optan por no hacerlo dando lugar a un fractal casi perfecto.

Esquema de la Bourrée I. Pinchar para ampliar.

Atención al cliente

El soporte ofrecido y la atención al cliente son dos de los valores más grandes de una empresa; más todavía hoy en día con las posibilidades infinitas que brindan las nuevas tecnologías y los nuevos servicios. Os cuento esto porque me ha sorprendido mucho el buen uso de Twitter que hace una gran empresa de hosting como Liquid Web. Enchufa2 se encuentra en sus servidores, allá al otro lado del charco, y sin embargo no soy su cliente. En realidad, Liquid Web es el proveedor de la empresa de hosting a la que he contratado los servicios: Minerva Hosting —de la cual, tras casi 3 años, no tengo más que palabras positivas, por cierto—.

El caso es que ayer llegué a casa de la universidad y Enchufa2 no cargaba. El dominio se resolvía sin problemas, pero no había respuesta a las peticiones a su IP. Supuse que habría sufrido una caída y así lo manifesté en Twitter a las 20:33 h:

Liquid Web está caído. Y por consiguiente, Enchufa2 también… :-(

Poco más tarde, desapareció el problema y Enchufa2 volvía a ser accesible. Efectivamente, esta misma mañana recibía un email de Minerva Hosting que me informaba de que había existido esa incidencia el día anterior y que no era culpa de los servidores, sino de una red intermedia entre la península y el emplazamiento de los mismos en Estados Unidos. Otra muestra más del soporte impecable que me ha brindado siempre esta empresa.

Pero es que 10 horas antes del email de mi proveedor de hosting, recibía dos mensajes de Liquid Web a través de Twitter:

@Enchufa2 I am sorry you were seeing problems earlier. It should be fixed now. The problem was with an internet service provider in Spain and Portugal. Novis was able to get it repaired, though. Let me know if I can help with anything. ^bc

Es decir: se molestan en buscar los mensajes que hablan de Liquid Web (fijaos en que no pongo la @ en mi mensaje y no aparece como una mención), encontraron el mío y se disculparon ofreciéndome una explicación; y ni siquiera soy su cliente. Me quito el sombrero.

Orgullo patrio

Me cuesta (soy incapaz de) sentirme orgullosa de los logros de mis compatriotas, sencillamente porque, al igual que la Doctora Hofstadter, soy muy consciente de que sus éxitos no son míos. Por eso, que Nadal triunfase en el US Open o que un puñado de millonarios ganase un Mundial de Fútbol, más bien me la trae floja. Quiero decir, me alegro por ellos y por sus madres, puede que incluso me entretenga un rato viéndolos si se cruzan en mi televisor, pero de ahí a sentirme orgullosa… es algo que realmente no me cabe en la cabeza.

Sin embargo, la gente asume alegremente esa identidad colectiva tan arbitraria, basada en la creencia de que nacer a un lado u otro de una raya imaginaria llamada frontera, les hace portadores de no sé qué cultura y no sé qué características especiales. Obviemos el hecho de que vivimos en un mundo globalizado y las diferencias culturales entre los países occidentales son cada vez más anecdóticas. Obviemos el hecho de que las migraciones son diarias, de que el que no es apátrida es hijo de extranjeros; obviemos que Internet ha conquistado el mundo. Obviemos lo obvio y digamos que también yo pertenezco a ese colectivo imaginario llamado «España», donde la gente grita en los bares y los toros pueblan los prados.

Pero esta vez, en lugar de asumir como propios los éxitos de unos cuantos deportistas, valoremos los méritos realmente colectivos, intentemos buscar las cualidades observables de «Nuestra Nación»:

  • España es ese país donde Belén Esteban podría llegar al poder político con tantas dificultades como Jesús Gil, o como el marido de la Pantoja.
  • España es ese país donde se alternan en el poder nuestro querido PSOE y nuestro querido PP.
  • España es ese país donde Telecinco tiene 7 veces más audiencia que la 2.
  • España es ese país del que los investigadores tienen que emigrar.
  • España es ese país al que todo futbolista quiere inmigrar.
  • España es ese país donde la mejor universidad ocupa el puesto 201 del ranking mundial.

Ahora bien que, como sus fracasos tampoco son míos, soy igualmente incapaz de sentir vergüenza… pero ¿orgullo?, ¿orgullo de qué?

Cómo conectarnos con seguridad a una red WiFi abierta

En ocasiones, podemos querer conectarnos a una red WiFi abierta; existen dos escenarios, a saber: (1) estamos en la universidad/cafetería/… de turno o (2) somos muy majos y queremos dejar nuestra red abierta para el disfrute de los demás. Obviamente, hacerlo sin seguridad es un suicidio porque cualquiera puede estar monitorizando nuestro tráfico y, quién sabe, intentando robar contraseñas, etc. Por ello, a continuación voy a pasar a explicar cómo añadir nosotros mismos una capa de seguridad para utilizar redes WiFi abiertas con tranquilidad (aunque este método tampoco es 100 % seguro, digamos que sí en un 99 %, a no ser que nos encontremos en una DEFCON o similar…).

Ambos escenarios descritos requieren un servidor SSH que puede estar disponible en nuestro router WiFi, o bien podemos poner nosotros mismos una máquina vieja con Linux en nuestra red (existen excelentes tutoriales para todo tipo de servidores). En el escenario (2) no se necesita nada más porque el servidor se encontrará en la misma red desde la que nos conectamos (la de casa). En el (1) accederemos a ese servidor a través de Internet, así que se hace difícil de localizar debido a que los ISP proporcionan direcciones IP dinámicas; luego necesitaremos un servicio como DynDNS (que puede configurarse en la mayoría de los routers, por no decir en todos) para disponer de un nombre de host fijo con el que «llamar a casa».

El método que utilizaremos se denomina Dynamic Port Forwarding y nos sirve para enviar todas nuestras conexiones a través de un túnel SSH cifrado que actúa como proxy SOCKS local. Esto, que probablemente sonará a chino, es algo así:

Las conexiones que antes se realizaban en claro y que podían ser interceptadas durante su periplo aéreo, ahora viajan a través de un túnel cifrado hasta un servidor SSH desde el que se redirigen a su destino final. Este esquema es para el escenario (1); en el escenario (2), el router y el servidor SSH son el mismo equipo. Ahora bien, ¿qué aplicaciones y configuraciones necesitamos?

En Windows

Existen aplicaciones que ya implementan la posibilidad de utilizar un proxy SOCKS, como Firefox o Skype. Otras en cambio no: Tweetdeck, etc. En cualquier caso, aunque todas las aplicaciones lo soportasen, habría que ir una por una configurándolas a tal efecto. En su lugar, vamos a ver cómo utilizar una herramienta llamada proxyficador que se encarga de monitorizar las actividades de red de todos los programas y redirigir ese tráfico a un servidor proxy. En concreto, el software necesario es el siguiente:

  • PuTTY: necesario para abrir el túnel SSH.
  • Proxyfier: la misma palabra lo dice. No es freeware, pero no he encontrado nada mejor. En otros programas, como FreeCap, es necesario hacer un perfil para cada aplicación. Proxyfier, en cambio, redirige automáticamente todo el tráfico de cualquier aplicación si así se lo indicamos.

El primer paso consiste en abrir la conexión SSH indicando que se desea reenviar a través de dicha conexión todo el tráfico destinado a un puerto (para nuestros ejemplos utilizaremos el puerto 8080). Para ello, abrimos PuTTY y ponemos la ruta al servidor SSH en el campo Host Name (ejemplos: servidorssh.dyndns-home.com desde fuera de la red, 192.168.1.1 desde dentro de la red).

A continuación, en la columna de la izquierda desplegamos Connection > SSH y pinchamos en Tunnels. Una vez allí, (1) indicamos el puerto, (2) marcamos la opción Dynamic, (3) añadimos la opción y (4) abrimos la conexión. Se nos pedirá que aceptemos el certificado (¡hay que revisar bien que es el auténtico!) junto con el nombre de usuario y la contraseña (previamente configuradas en el servidor SSH).

El siguiente paso es instalar y configurar Proxyfier. En primer lugar configuramos las reglas de proxyficación.

En el cuadro de diálogo que se abre, marcamos Process All except the following + manually proxyfied, lo que significa que proxyficará todo el tráfico salvo la lista de exclusiones siguiente. Aquí tenemos que añadir, aparte del loopback que ya viene por defecto, la propia aplicación PuTTY para no crear un bucle sin sentido, así que presionamos Add.

En el siguiente diálogo, (1) ponemos un nombre representativo, (2) añadimos el ejecutable de PuTTY y (3) presionamos OK.

Ahora le toca el turno a las opciones del proxy.

Para añadir el proxy que vemos en la siguiente imagen, presionamos Add.

En el diálogo emergente, (1) indicamos la dirección local como dirección del proxy, (2) el puerto, (3) el protocolo y (4) OK.

Para lograr mayor privacidad, si queremos que las peticiones DNS también viajen por el túnel y que nadie sea capaz de ver qué sitios visitamos, acudiremos a la pestaña de resolución de nombres.

Allí tenemos que marcar la opción Remotely para lograr lo descrito antes.

¡Y listo! Al cerrar el programa se minimiza a la barra de tareas y hace su trabajo en silencio. Ya podemos navegar tranquilamente.

En Linux

Para establecer la conexión SSH, basta con abrir una terminal y escribir el siguiente comando:

[code light=»true»]ssh -D 8080 <nombre_de_usuario>@<servidor_SSH>[/code]

No he encontrado ningún programa de Linux que redirija el tráfico de cualquier programa automáticamente hacia el proxy SOCKS. Lo más parecido a Proxyfier es el proyecto Kernel Socks Bouncer, pero es un módulo del kernel y no lo he probado. Sin embargo, tenemos otras soluciones menos versátiles pero fáciles de utilizar como ProxyChains y tsocks. Para utilizarlos, hay que editar el archivo de configuración correspondiente (/etc/proxychains.conf y /etc/tsocks.conf respectivamente) e incluir el servidor (127.0.0.1) y el puerto (8080). Después, para que una aplicación utilice el túnel cifrado basta con llamarla por línea de comandos de la siguiente manera:

[code light=»true»]tsocks <aplicación> [argumentos][/code]