Hola amiguitos,

para evitar que a la sección de “La misma canción” le pase como a la de “Las aventuras de un beclario en Boston“, aquí va la segunda entrega. Trata sobre Always on my mind, una canción que ha tenido múltiples reencarnaciones a lo largo de los años y que es esencialmente una canción de arrepentimiento en primera persona. La historia que cuenta la canción es la siguiente: la persona que canta no ha prestado atención a su amante y quizás (no queda claro) le ha sido infiel, ahora lamenta su error, dice que, aunque no lo demostrase, siempre pensó en él (o en ella), y pide una nueva oportunidad.

Brenda LeeLa primera versión de Always on my mind fue grabada por Brenda Lee, quien, según cuenta la wikipedia, fue una niña prodigio que en los 60 copó las listas de éxitos de EEUU. Para entendernos: una Marisol a la americana. Cuando grabó la canción en 1972, Brenda Lee tenía veintisiete años e intentaba repetir el éxito que tuvo a los quince años (¡quince!) con su canción más famosa: I’m sorry. Las dos canciones lo dejan claro: la chica sabía pedir perdón de forma sincera y dulce, pero su voz cristalina y su pinta de niña buena algo panoli, hacen dudar de que hubiese llegado a romper algún plato en su vida.

Elvis Presley

En 1972 el matrimonio de Elvis Aaron Presley hacía aguas. Sus continuas infidelidades acabaron por hartar a su mujer que decidió separárse de él. No importaba que, según decían sus amantes, el Rey no estuviera interesado en el sexo, sino en darles conversación (ya se sabe que Dios da pan a quien no tiene hambre), su mujer quería que hablase con ella y con ninguna más. En esa época, Elvis también  estaba dejando  atrás los mejores años de su carrera. El joven y delgado Elvis de la cadera eléctrica daba paso al Elvis gordinflas, decadente y alejado de la realidad que moriría cinco años más tarde intoxicado por un cóctel de drogas. Quiero creer que en aquel duro año el Rey escuchó la canción de Brenda Lee y se propuso grabar su propia versión para matar dos pájaros de un tiro: salvar su matrimonio y relanzar su carrera. Lamentablemente, no conseguiría ni lo uno, ni lo otro, pero en el intento dejó una canción sentida y honesta. Uno escucha a Elvis y sabe que se arrepiente, no pondría la mano en el fuego asegurando que no lo volverá a hacer, pero sabe que, si está mintiendo, lo hace diciendo la verdad.

En los ochenta, los Pet Shop Boys grabaron su propia versión de Always on my mind para un programa especial sobre Elvis. Los chicos de la tienda de animales estaban en su mejor Chris Lowe y Neil Tennat con sueñomomento y llevaron la canción a su terreno con insultante facilidad. Fuera arreglos de cuerda, orquesta y piano. Dentro sintetizadores ochenteros, caja de ritmos y teclados grandilocuentes. La canción original melosa y almibarada quedaba travestida en un hit listo para arrasar en las pistas de baile. Sin embargo, no sólo habian cambiado la canción por fuera, sino también por dentro. Es acojonante asombroso comprobar cómo, sin tocar una sola coma de la letra, la canción ya no expresa arrepentimiento, lamento ni nada por el estilo, sino que es un desafío en toda regla del que el autor se sabe de antemano vecedor. Uno puede imaginarse al novio de Neil Tennant (sí, el cantante de los Pet Shop Boys es gay) corriendo a buscarle a la discoteca para, entre lágrimas, pedirle explicaciones. Neil sin dejar de bailar le dice:

“Me he portado como un cabrón contigo, lo sé, pero pensaba mucho en ti, ¿me vas a dar otra oportunidad o me vas a dejar escapar?”.

Ante lo que el pobre novio baja las orejas y contesta:

“Ok, Neil, te doy otra oportunidad, pero ¿te importaría dejar de menear el culo mientras me dices que te acordabas de mí cuando estabas con otros?”.

Querido Ndugu,

Cuando en 1931 Gödel publicó el artículo en el que exponía su teorema (el ahora conocido como “teorema de incompletitud de Gödel“), los matemáticos se revolucionaron, porque “atacaba” los verdaderos cimientos sobre los que se monta la matemática: los axiomas.

Rápidamente explicado, los axiomas son aquellas afirmaciones que se cumplen sin necesidad de demostración. En cada área concreta de las matemáticas existe un conjunto de axiomas que se dan por válidos y unas reglas de transformación de los mismos de tal forma que las “fórmulas” derivadas de esos axiomas siguiendo las reglas de transformación siguen cumpliéndose en el dominio.

Básicamente, la pregunta que se hacían los matemáticos a principio de siglo era si en todas las áreas de la matemática, los axiomas que se daban como válidos eran “consistentes” y “completos”. En cuanto a consistentes se refiere a que mediante dos cadenas de transformaciones distintas a partir de los axiomas no se puede llegar a afirmaciones contradictorias. El sistema es completo si a partir de los axiomas se pueden derivar/demostrar todas las proposiciones verdaderas en el dominio. De hecho, lo que pretendían era demostrar que se podían derivar todas los teoremas en un número finito de pasos. Sólo así podríamos dormir tranquilos, sabiendo que los cimientos sobre los que se asientan todos los teoremas no escoden trampas. Es más, solo así los matemáticos pueden garantizar que la demostración que buscan de una conjetura (como la famosa conjetura de Goldbach) realmente existe.

En esas estaban cuando llegó Gödel y demostró que en realidad se pueden encontrar afirmaciones verdaderas pero que no pueden demostrarse. Entonces, pensaréis, ¡añadamos más axiomas para poder hacerlo! Pues no, porque nuestro querido Gödel también demostró que si extendemos los axiomas de la aritmética para conseguir demostrar esa afirmación, aún así, siempre podremos construir otra fórmula distinta que no podremos demostrar. Es decir, por muchos axiomas que añadamos a la aritmética, siempre podremos encontrar fórmulas verdaderas no demostrables (en realidad el teorema tiene que ser enunciado con mucho más cuidado de lo que yo lo he hecho aquí para no malinterpretarlo).

Una de las cosas que más me llamaba la atención del teorema es cómo alguien puede demostrar tal cosa. Mis conocimientos matemáticos y de sus demostraciones se limitan a la reducción al absurdo, al principio de inducción y a poco más. No veía cómo con esas herramientas podría nadie demostrar algo como “La afirmación S no es demostrable”.

Pues bien, si tú estás en la misma situación, el libro de Ernst Nagel y James R. Newman, escrito allá por 1979, es para tí. En poco más de 100 páginas que se leen casi de un tirón (un vuelo transoceánico es más que suficiente), descubres el proceso que siguió Gödel para demostrar su teorema. Los autores explican con claridad el proceso y, aunque omiten algunos detalles para no sobrecargar a los no matemáticos como yo, se llega a comprender al menos lo fundamental. Desgraciadamente, hay una parte de la argumentación en la que me perdí, no sé si fue debido a mi incapacidad, o porque los autores ignoraron un punto importante para evitar liarnos más; supongo que será culpa mía. Una pena.

No obstante, con este libro al menos he descubierto que el modo de hacer demostraciones que aprendí en las clases de secundaria y los primeros cursos de ingeniería están muy lejos de las técnicas utilizadas por los matemáticos en ciertas áreas. Y ya sólo por eso, merece la pena.

Hoy más que nunca, sólo sé que no se nada.

Nota: recomendable.

P.D.: Quiero seguir intentando entender ese punto oscuro… En mi librería ya me está esperando “The proof and paradox of Kurt Gödel” de Rebecca Goldstein. Ya os contaré si me sirve para algo o no.

Querido Ndugu,

Imagina que te digo que en italiano “¡Hola mundo!” se dice “Ciao mondo!”. O que en latín es “Ave mvnde!”. O que en turco es “Merhaba Dünya!”. O que en bosnio es “Zdravo Svijete!”. ¿Dirías entonces que ya sabes italiano, latín, turco o bosnio?.

Bueno, pues resulta que en el mundo de la programación, un poco sí pasa eso. Cuando uno empieza a aprender un lenguaje de programación nuevo, casi invariablemente, su primer programa es uno que simplemente muestra por pantalla la famosa frase “¡Hola mundo!”. Y con eso, hasta el infinito y más allá.

¿Se puede ser más optimista? Por un lado, tenemos una aplicación con un estado de ánimo envidiable que nada más nacer, feliz, saluda al mundo. Por otro lado, tenemos al programador que, al ver ese ataque de felicidad, llega a pensar que lo difícil ya está hecho, que si es capaz de tener un programa funcionando, puede hacer cualquier cosa.

Hay incluso recopilaciones del famoso programita en un montón de lenguajes distintos (por ejemplo aquí o aquí, este último incluso con la frase traducida a 63 lenguajes “humanos”). A modo de “piedra Rosseta”, estas recopilaciones parecen querer conservar para la posteridad todos esos lenguajes para que, en el hipotético caso de nuestra completa destrucción, alguien pueda ser capaz de averiguar, gracias a las equivalencias, lo que hace todo nuestro software.

¡Pues no! ¡Todo eso no es cierto! ¡Dejémonos de optimismos!

Si sabes decir “hola”, no significa que sepas decir “adiós” o “hasta luego”, y mucho menos “pienso luego existo” o “el hombre está condenado a ser libre”. No.

Si eres capaz de decir “hola”, tienes la demostración del caso base. Pero aquí no hay paso inductivo. No hay “siguiente programa”. Ni siguiente del siguiente. No puedes demostrar que eres capaz de pasar de un programa N dado al siguiente. No. Nunca llegarás al infinito por esa vía.

Ya sufrieron de ese mismo optimismo intentado demostrar el teorema de Fermat. Si resulta que la ecuación cn = an + bn no tiene soluciones no triviales para n > 2, basta con demostrarlo para n = 3, y luego ser capaz de ir de n a n+1. No funcionó. Así no era. Nunca llegarías al infinito de esa forma.

Por eso, desde aquí, grito al viento. ¡Estudiantes, si habéis entendido el if, aún no sabéis programar!. ¡Programadores, si habéis conseguido crear una tabla en una base de datos SQL Server, no significa que sepáis bases de datos! ¡Jefes, si vuestros empleados han creado un módulo en Dot Net Nuke, no significa que sean capaces de hacer un portal a tu gusto!

Saber echar cosas en una sartén no significa que sepas hacer paella.

Querido Ndugu,

Una profesora que tuve durante mis años de universidad dijo una vez algo como:

Yo lo siento, chicos, pero a programar se aprende programando.

Tengo que admitir que la frase me gustó tanto que la he utilizado alguna que otra vez en las clases de presentación de asignaturas de laboratorio.

Sin embargo, también creo que hay otro aspecto importante para aprender a programar: ver código de otros. De esta forma, puedes salir de tus vicios y defectos viendo como otra gente resuelve distintos problemas, qué estilo utilizan, etc. Es como jugar al squash con alguien distinto a los cinco con los que siempre juegas. Ves cosas nuevas, golpes nuevos, distintas formas de moverse en la pista, que te sirven para refinar tu propio estilo.

El libro que hoy comento fue escrito nada menos que por Brian W. Kernighan y Rob Pike. Portada del libro “The practice of programming” Lo que hace es plantearse ciertos problemas y resolverlos en distintos lenguajes, explicando qué cosas están mal hechas (y por qué), y cómo pueden mejorarse. Muchos de los problemas planteados son experiencias vividas por los propios autores en su trabajo diario, por lo que se incrementa la credibilidad de los mismos y su relevancia, de tal forma que el lector toma plena conciencia de por qué una determinada solución es mejor o peor que otra.

Uno ya tiene demasiados años de programación a sus espaldas como para descubrir/aprender cosas nuevas, pero el texto es recomendable para estudiantes de programación que quieren cubrir la parte de “ver código de otros” sin tener que recurrir a bucear en el código de algún proyecto de código abierto.

Bueno, sí, he aprendido una cosa que me gustó. En uno de los ejemplos que desarrollan tienen una lista enlazada de elementos, y necesitan implementar una función que elija aleatoriamente uno de ellos. La función recibe la lista, pero no conoce, a priori, el número de elementos que contiene… ¿cuántos recorridos sobre la lista son necesarios? La respuesta obvia es uno para contar los elementos, y otra para encontrar el elemento i elegido con un random. En el libro implementan un método que requiere un único recorrido. ¿Se os ocurre como?

Como nota negativa, tengo que decir que el libro es un poco antiguo. Los ejemplos están en C (no podría ser de otra manera, estando Kernighan entre los autores…), aunque también han añadido código en Java e incluso Awk (tampoco era difícil… la K de AWK es de Kernighan…). No obstante, los distintos lenguajes no ayudan a olvidar esa “antigüedad” que se respira durante todo el libro, debido a que muchos de los ejemplos y experiencias datan de los años en los que el PC era una cosa rara. Además casi todos ellos están relacionados con Unix, algo que los estudiantes de hoy en día a los que aconsejo el libro puede pillarles un poco lejos.

Nota: recomendable

Querido Ndugu,

Borges dice que la matemática, al igual que la música, puede prescindir del universo. Quiero agradecerte que hoy hayas prescindido del universo para estar ahí, leyendo estas líneas.

Así, con un párrafo muy parecido a éste comienza el libro “Borges y la matemática” de Guillermo Martínez, el autor del famoso “Los crímenes de Oxford” y del ya comentado “La muerte lenta de Luciana B.”.

En realidad, en vez de decir lo de “leyendo estas líneas”, dice “escuchar esta charla”. Y eso es debido a que, en realidad, este libro es una recopilación de charlas/clases que el autor dio en alguna universidad de Argentina. Las charlas, como era de esperar, tratan sobre la relación entre la obra de Borges y la matemática.

No soy lo que podemos llamar un experto en Borges (mi único contacto con él fue El Alpeh que un amigo teclario me prestó, y un par de otros relatos más), pero a poco que se haya leído de él, queda patente su transfondo matemático. Es especialmente notable su relación en La Lotería de Babilonia y en La Biblioteca de Babel, aunque en casi todos sus relatos se puede encontrar alguna “perlita” o referencia a las matemáticas (como en El Inmortal, cuando dice “Homero compuso la Odisea; postulado un plazo infinito, con infinitas circunstancias y cambios, lo imposible es no componer, siquiera una vez, la Odisea.”).

Guillermo analiza muchas de esas conexiones, y las explica con un lenguaje claro para que cualquier mortal sea capaz de entenderlo. Sin embargo, en algunos momentos, leyendo el libro me he sentido como cuando tienes entre tus manos un programa de un concierto de música clásica. Me explico.

Los críticos de música, historiadores y autores de programas de conciertos sienten el irrefrenable deseo de ir más allá de la música y, a modo de Fantasía, darle una explicación que transciende más allá de lo que allí suena (en algunos casos está justificado, es cierto, pero la mayoría de las veces considero que es una simple necesidad de rellenar un par de columnas de texto).

Pues bien, en algunos momentos, a Guillermo Martínez le llega a ocurrir algo parecido, intentando “sacar demasiada punta” a algunos de los escritos de Borges. Él mismo reconoce al principio del libro que en la interpretación de los escritos de Borges (o en mi caso, en la interpretación de una obra musical), se puede errar por exceso o por defecto:

… si nos aproximamos a los textos de Borges con un enfoque puramente matemático [...] podemos quedar por encima del texto. Aquí “encima” es en realidad afuera: podríamos encontrar o forzar al texto a decir cosas que el texto no dice, ni tiene ninguna intención de decir. Un error de erudición. Por otro lado, si desconocemos en absoluto los elementos de matemática [...] de Borges, podemos quedar debajo del texto.

Resulta curioso que el mismo Borges en El Alpeh haga una meditación parecida sobre el poeta que hace las veces de crítico de su obra (esto no aparece en el libro de Guillermo Martínez; es una frase que apunté yo en su día cuando me leí el de Borges, pero que viene que ni pintada…):

Comprendí que el trabajo del poeta no estaba en la poesía; estaba en la invención de razones para que la poesía fuera admirable; naturalmente, ese ulterior trabajo modificaba la obra para él, pero no para otros.

Que nadie me interprete mal. Las “invenciones” que Guillermo Martínez hace sobre las matemáticas que hay en la obra de Borges merecen la pena. Salvo en algún momento donde tiene algún “error de erudición” y (bajo mi punto de vista) ve donde no hay, el resto del tiempo explica alguna idea de Borges y la extiende para hacer entender, por ejemplo, los distintos infinitos o la paradoja de Russell.

A mitad del libro, sin embargo, el libro da un giro completo. De repente, se acabó Borges, y el lector se encuentra leyendo charlas que no tienen nada que ver con el genio Argentino. Aparecen otras conferencias, interesantes eso sí, que Guilermo Martínez ha impartido.

Y eso me decepcionó. No por la calidad de las charlas, que tocan temas variopintos de matemáticas, sino porque me sentí estafado teniendo en las manos un libro titulado “Borges y la matemática”, pero que tiene una mitad del libro en donde no se habla nada de él. Guillermo, eso no se hace. Si decides publicar un libro que recopile tus charlas, me parece bien. Pero no nos mientas en el título.

Nota: decepcionante (por el título)

© 2011 Teclarios Suffusion theme by Sayontan Sinha