Tengo ganas de escribir la tesis, pero me las aguanto

5:25 a.m.

Tengo ganas de escribir la tesis, pero me las aguanto. Pero bueno, al menos esta vez ya tengo ganas de escribir, no de leer. Quiero trabajar en lo que creo que será uno de los capítulos centrales, aquel que realiza las definiciones de agente, agencia y estas cosas. En la medida en que avanzo en la tesis, creo que el uso de agentes para el estudio de comunidades virtuales no es muy innovador. Ya otros autores se han aproximado a la resolución colectiva de problemas desde los agentes, al menos en lo que llaman sociedades simuladas. Esto me hace recordar lo que decía Murcia en algún evento de Linux, acerca inteligencia artificial y simulación de cosas junto con "vida artificial", cuando yo le hablaba de inteligencia artificial blanda y el insistía en un enfoque "ortodoxo". Incluso pensando ahora en sociedades de ese estilo que vivan en el computador, el asunto de la inteligencia artificial blanda, al tener en cuenta al ser humano en la interacción con el artificio, es algo así como el aporte que hace la física cuántica al establecer que el observador es inseparable del sistema. Lo mismo ocurre con la cognición y los artefactos que creamos. Nuestra interacción con ellos nos cambia y los cambia... es un continuo.

Por otro lado, he estado leyendo la novela negra gráfica de Frank Miller, Sin City, motivado por la excelente película del mismo nombre, codirigida por este mismo autor. Es uno de los mejores comics que he leído y mirado. Además de ser un placer estético me hizo pensar en lo que estaba leyendo sobre programación literata hace poco en el Free Software Magazine, con relación a esperar la siguiente versión de las gtk o el siguiente software de su programador favorito, por el gusto estético de leer el código. Con respecto a Miller, esto es lo que dicen el la revista:

Cuando en 1994 se anunció la salida de un crossover
intercompañías entre Spawn y Batman, escrito nada menos que
por Frank Miller, uno estaba a la espectativa del regreso de
Batman en manos de Miller"

Creo que, desafortunadamente, una experiencia estética como la de la leer y mirar el comic, algo en lo que uno se detenga para revisar la frase de nuevo o para deleitarse en el claroscuro logrado por los trazos, es algo que no tenemos en la lectura del código. El código está escrito como algo trístemente funcional y práctico y si bien muchos algoritmos contienen belleza, el problema es que la ocultan a los ojos de un no iniciado y no tienen historia, ni contexto.

Cuando hablo de no iniciado no me refiero a quien no sabe leer el formalismo, sino a quien no ha sido preparado para llegar hasta él. A ver si me explico mejor. Indudablemente la transformada de Laplace tiene belleza. Uno mira la ecuación y si uno sabe de números complejos empieza a ver la convergencia y lo ingenioso de ella en la fórmula de la integral. Yo recuerdo imaginar el -iwt como un "radio vector" que gira y se hace más pequeño en la medida en que el tiempo avanza, algo así como una bola de nieve filmada al contrario, que se empequeñece cuando da vueltas. La forma como la transformada de Laplace hace esto me pareció muy bonita y por un breve tiempo (antes de que el sistema educativo me hiciera pasar al siguiente tema) disfruté y vislumbré con claridad cómo las funciones mostradas en el tiempo se transformaban a sus equivalentes en el mundo de la frecuencia, entonces las fórmulas de las equivalencias entre tiempo y frecuencia llegaban sólas... pero como digo, eso fue hace mucho tiempo, antes de que tocara pasar al siguiente tema.

Sin embargo llegar a esa comprensión, ahora olvidada, implicó educar la mirada como lector. No llegué a la ecuación desnudo y fuí beneficiario de un acto de revelación. Use textos con símbolos que no eran sólo ecuaciones, sino representaciones de ideas dichas en mi lengua nativa. La palabra escrita fue la mediación para llegar a la ecuación y a su comprensión. Seguramente si los libros de matemáticas constarán de sólo ecuaciones que describieran axiomas, teoremas y corolarios, sin ninguna otra palabra, sin ninguna otra gráfica, las matemáticas serían mucho más incomprendidas y odiadas de lo que son ahora. Las ecuaciones con historia y contexto facilitan la comprensión, pero también educan la mirada para el disfrute estético. Creo que esto no pasa con los programas de software actualmente y no pasará hasta que no hagamos caso de la propuesta de programación literata planteada por Donald Knuth.

Si la programación literata fuera una práctica cotidiana, si se enseñara a escribir de modo literato desde los primeros años, efectivamente esperaríamos en siguiente "release" de un programa, pero no sólo para hacerle click "encima" o para operarlo desde la consola de comandos, sino para leerlo, repasarlo y remirarlo por el sólo placer estético de hacerlo. Las traducciones entonces no se realizarían sólamente a nivel de la interface, sino a nivel de código mismo, para aumentar así la cantidad de lectores del mismo en diferentes idiomas, tal como se traducen los comics o los libros de texto. Tendríamos también las personas que "literalizarian" código "tradicional", como hizo Knuth con el famoso juego de rol por computador de los 70's e incluso podríamos preferir la versión literalizada por un autor de nuestro agrado sobre otro. Por otro lado no sólo se volcaría en énfasis de la máquina al humano, como dice Knuth, sino también de la escritura a la lectura. Escribiríamos código no para ser interpretado o ejecutado por la máquina, sino para ser leido por otros seres humanos.

Recientemente tuve la experiencia de releer un código que había escrito hace un par de años. Recuerdo que me costó trabajo encontrar como lograr alguna funcionalidad del mismo en aquella época (en particular lo referente a conexiones por ssh sin contraseña), pero ahora ya todo ese tiempo y esfuerzo está implícito en el código que se ejecuta en unos pocos segundos. Por supuesto esto ocurre con casi todos los artefactos culturales, como por ejemplo citan en el libro Cogniciones Distribuidas con respecto a las tijeras, que implicitan todo el conocimiento encontrado para resolver el problema de cortar tela. Pero una cosa interesante de este código, que intenté escribir con estilo literato, es que mucho de lo implícito en el código se explicita y extiende en los comentarios, por ejemplo, colocando citas y enlaces Web acerca de dónde conseguir la información que inspiró dicho código. Hoy, si bien hubiera podido ejecutar el código e incluso recordar someramente cómo es hace lo que hace, seguramente no me hubiera acordado de las fuentes de información usadas en ese entonces. Pero lo más importante no es eso, lo importante es que se lo pude pasar a un amigo que no había participado en su escritura y me dijo que su lectura había sido bastante clara. La idea es que lo podamos usar para crear uno nuevo, que se adapte a una necesidad similar, pero esta vez vamos a usar el editor Leo para mejorar el estilo literato del mismo. Es decir, estamos usando un aprendizaje individual del pasado para construir objetos colectivos de conocimiento en el futuro.

Lo interesante es que el acto deconstruccionista que implica la lectura para entender las lógicas de escritura del código es fácilitado por la programación literata y que esto potencia el tránsito de conocimiento entre autor y lector y desde las lógicas comunitarias del software libre podría hacer difusa más pronto la barrera entre unos y otros, teniendo más prontamente una comunidad de "lectoautores", como ocurre con los Wikis.

Algunas personas pueden pensar que este escenario no es prático, pero el arte no tiene por qué serlo, al menos no siempre, si bien en ocasiones se conjugan la funcionalidad con la belleza, que es un equilibrio que actualmente no tenemos en la informática. Este sería el escenario del código como literatura y su lectura como experiencia estética.

Comentarios

Comments powered by Disqus