Terminé Sunset Park de Paul Auster. Me gustó, fue una lectura rápida y al mismo tiempo con algo de profundidad. Empecé a leer Leviathan pero esta vez en inglés. Hasta ahora también me ha gustado.
También terminé Understanding Computation. Arreglé un bug que tenía en mi traducción a Scala de uno de los primeros capítulos. Había dejado la lectura en una parte en la que hablan de “Tag systems” (no sé cuál sea la traducción). Se trata de un modelo computacional muy simple que es Turing-completo. Esta parte en la que me quedé era básicamente una sucesión de ejemplos de modelos computacionales que a pesar de sus diferencias o aparentes fortalezas resultan tener el mismo poder que una maquina de Turing. Francamente esta parte fué aburrida.
Pero el siguiente capítulo fué mucho más interesante: habla sobre programas “imposibles”, explica el problema de la parada y menciona qué es un lenguaje de programación total entre otras cosas. También habla de un fenómeno bastante conocido y es el de que cuando un sistema es lo suficiente poderoso como para poder referenciarse y analizarse a sí mismo esto a su vez produce que el sistema tenga “agujeros”. Esto es similar a uno de los resultados de Gödel con respecto a sistemas formales en matemáticas: cualquier sistema formal consistente es incompleto, es decir existen afirmaciones que el sistema formal no va a poder demostrar o rechazar. En computación la cosa es similar. Por ejemplo con lenguajes de programación: cualquier lenguaje con la capacidad de ser autorreferencial no es capaz de responder todas las preguntas sobre sí mismo.
Ahora quiero retomar GEB.
También he estado haciendo maricadas intentando entender eso que llaman “type-level programming” en Scala. Quiero ver si puedo programar FizzBuzz en tipos. Hasta ahora logré escribir un type-class que sirve como evidencia de que un número divide a otro. Esto fue en parte gracias a que Travis Brown respondió una pregunta que hice en StackOverflow.
Salí ambos domingos a montar en cicla. Tengo la esperanza de algún día subir Patios en menos de 35 minutos, que creo que fué mi record el año pasado. Los últimos 5 meses del año pasado casi no monté bici y eso me bajó el “nivel”. Ahora estoy intentándo subir Patios pero sin dejar que los segmentos más difíciles me cuesten tanto y también intentado acelerar en los pocos segmentos semiplanos.