
Donald Knuth. El chico genial que pasó del desafío de las golosinas a la biblia de la programación
Además, creó uno de los sistemas de composición tipográfica más refinados que existen, que todavía se usa en papers y otros escritos técnicos; querido y admirado, es un prócer de la computación
Ariel Torres
Donald Knuth dijo una vez que no hay que creer que porque algo es tendencia entonces es bueno. Más aún, agregó: “Si veo que mucha gente adopta una cierta idea, doy por sentado que esa idea es probablemente incorrecta”. En un mundo conectado, procesado y vigilado por algoritmos que se basan en estadísticas sobre lo más dicho y opinado, la idea no puede ser más provocativa. Ni más necesaria.
Sin embargo, Knuth es, de cierto modo, uno de los fundadores de eso que llamamos algoritmos y, sin sombra de duda, el autor de la poética (en el sentido aristotélico) de la programación, una obra monumental llamada El Arte de la Programación, que empezó en 1968 (es decir hace 56 años), tiene cinco tomos ya impresos y continúa inconclusa.
Donald Ervin Knuth nació en Milwaukee, Wisconsin, Estados Unidos, el 10 de enero de 1938. El número, como ocurre a menudo con las fechas sueltas, no dice mucho. Vamos a echarle un vistazo. El padre de Donald, Ervin Henry, de ascendencia alemana y fe luterana, fue el primero en su familia en ir a la universidad. Su mamá, Louise Marie Bohning, fue la única de sus ancestros en aprender a leer y escribir; la habían mandado un año a la escuela para que pudiera convertirse en mecanógrafa.
En 1938, el país de origen de los Knuth estaba a meses de iniciar una guerra mundial (sería declarada al año siguiente, tras la invasión a Polonia) que dejaría 60 millones de muertos, una Alemania devastada y escenas de un horror como la humanidad nunca había ni visto ni imaginado en los tiempos modernos.
Su primer contacto con lo que el alguna vez definió como “su capacidad de mantenerse concentrado mucho tiempo para encontrar una solución” es una anécdota digna de contarse. Cuando era chico, una compañía de golosinas llamada Zeigler’s Giant Bar lanzó un desafío a sus pequeños clientes, mediante un aviso de TV. Había que encontrar cuántas palabras del inglés podían formarse con las letras de la marca. El jurado había encontrado 2500. Don fingió un problema estomacal para poder faltar a la escuela y dedicarse al asunto. Encontró 4500 palabras.

Obviamente ganó el concurso, cuyo premio constaba de una tele nueva y suficientes golosinas como para él y todos sus compañeros. Al parecer, nadie conectó el supuesto dolor de panza con los dulces, pero ese es otro asunto.
Conoció las computadoras en la facultad. Asistió a la Universidad Case de la Reserva Occidental, una institución privada en Cleveland, Ohio, y su plan era estudiar física. La primera vez que vio una IBM 650, una máquina que ya era digital, pero todavía muy primitiva, fabricada a mediados de los ‘50 (la última salió en 1962), fue a través de un ventanal que daba a lo que hoy denominaríamos data center. Le impresionaron las dimensiones y lo ruidoso del equipo, que por supuesto no tenía pantalla y se programaba mediante tarjetas perforadas.

Como le pasaba a todos los que querían tomar contacto con esa nueva tecnología, el primer paso era leer el manual. La 650 se programaba todavía en decimal, no en Ensamblador (que había aparecido tímidamente en 1947) ni en unos y ceros, mucho menos en lenguajes de alto nivel (que nacerían con FORTRAN en 1957). Luego de escribir algunos programas (el primero que desarrolló factorizaba números) y de ponerse a analizar otro más complejo, que le había llegado de la Universidad de Carnegie, Donald decidió reescribir el compilador para esa computadora. Fueron sus pasos iniciales en una ciencia que, literalmente, estaba naciendo, y de la que sería un ideólogo esencial.
El código va al diván
Knuth pasó de la física a la matemática, luego de sus primeros contactos con las computadoras, y en 1960 se graduó en ambas disciplinas. Entre tanto, le había vendido a Burroughs (por 5500 dólares de la época; unos 60.000 de hoy) un compilador para ALGOL, uno de los primeros lenguajes de alto nivel, cuya versión original apareció en 1958.
Eso ocurrió entre su graduación en Case y su mudanza a Caltech. Lo de Burroughs prosperó tanto que Knuth seguiría siendo consultor de la compañía durante muchos años, incluso renunciando a varias propuestas más tentadoras, hasta que se convirtió en profesor emérito de Stanford. En 1962 (eso es 12 años antes de que le dieran el premio Turing, considerado el Nobel de la computación) le propusieron escribir un libro sobre compiladores. A propósito, un compilador es el software que convierte lo que escribe el programador (el código fuente) en el código que puede ejecutar la máquina (o binario, modernamente).
Donald lo pensó bien (es su estilo) y se dio cuenta de que tenía que en arrancar desde más abajo. Empezaba a formarse en su mente la idea de The Art of Computer Programming, la biblia de la computación y el análisis de los algoritmos.
Esto del análisis de los algoritmos ya suena demasiado lisérgico. Pero en realidad no es un concepto difícil de entender. Un algoritmo es una serie de pasos estructurada, ordenada y finita para resolver un problema. El análisis de un algoritmo sirve para determinar la cantidad de recursos que se requieren para ejecutar ese algoritmo.
En la práctica, es más técnico y complejo, pero cuando le pidieron a Knuth que escribiera un libro sobre el análisis de algo que a la larga terminaba en líneas de código, se dio cuenta de que no tenía sentido si no partía de la anatomía elemental de los algoritmos y de la programación. Así que limpió su escritorio y arrancó de cero. Esta obra maestra, que terminó teniendo nueve tomos, de los que cuatro todavía están inconclusos, va desde lo más elemental (estructuras de información y números aleatorios, por dar dos ejemplos) hasta lo más complejo (como la optimización y la recursión o el escaneo léxico y, claro, el análisis de los algoritmos, que era el objetivo original de la obra). La versión más cuidada, en tapa dura, se vende en Amazon de Estados Unidos por alrededor de 300 dólares.
Cierto y bello
El Arte de la Programación (creo que esa es la versión más linda del título en español, que transcripto de forma literal sonaría algo redundante) alcanza y sobra para colocar a Knuth en un lugar de privilegio en la historia de estas tecnologías, y definitivamente fue un pionero inesperado. Se proponía ser físico, pasó cerca de una 650, se enamoró de la idea del cómputo y hoy es el autor obligado para cualquiera que se dedique a la programación. Pero el Arte de la Programación (TAOCP, por sus siglas en inglés) lo llevaría a desarrollar otra genialidad, también primigenia y que, sin embargo, todavía hoy se usa en ciencias e ingeniería para producir papers y otros trabajos técnicos.

La historia es así: la primera edición de TAOCP fue producida con composición tipográfica tradicional. Apareció en 1968, y en esa época se fundía en el momento una aleación de plomo y estaño para crear cada carácter o cada palabra; en rigor, usaron monotipia, que era un avance respecto de la linotipia. El resultado era bellísimo, aunque costoso en varios sentidos; así que las computadoras muy pronto iban a destronar esta forma de hacer libros, diarios y otros impresos. Solo que los primeros sistemas de composición electrónicos dejaban bastante que desear, en términos visuales. Knuth, que también es músico, organista (incluso tiene un órgano de tubos en su casa; https://www-cs-faculty.stanford.edu/~knuth/organ.html) y ha escrito ficción, sintió que su sensibilidad estética aullaba de dolor cuando observó la diferencia entre la primera edición de TAOCP y la siguiente. Entonces, fiel a su estilo, decidió resolver este (nuevo) problema.
Textualmente
Nació así TeX, una tecnología de composición tipográfica que se propuso (y logró) resolver los problemas que Don había visto en la segunda edición de su libro. TeX es muchas cosas, y no entraremos en el detalle técnico. Los usuarios de Linux conocemos mejor su nombre y algunas de sus implementaciones, como LaTeX; en Windows y Mac estamos habituados a disponer de tipografías aceptables sin muchas complicaciones, pero también sin lujos. En Linux no solo podemos usar un procesador de texto visual, como en Mac y Windows, sino que además ya disponemos de TeX. ¿Por qué? Porque Word no alcanza para, por ejemplo, expresar ecuaciones complejas. Ahí, y con una fidelidad prácticamente perfecta entre lo que aparece en la pantalla y lo que se imprime, entra TeX, que aparte del método de composición tipográfica incluye un lenguaje de programación para crear macros; uno de ellos es el bien conocido LaTeX. La fidelidad visual no solo tiene que ver con la belleza, sino que una pequeña imperfección o un símbolo no del todo exacto en una ecuación puede originar una catástrofe. Linux es muy usado en el ambiente académico de las ciencias exactas, por lo que la presencia de TeX es obligada.
TeX salió en 1978, es decir, cuatro años antes de que Steve Jobs sacara la Macintosh, que llevó a los hogares una primera aproximación a tipografías cuidadas y razonablemente fidedignas. Knuth se había adelantado tanto, y de una forma tan minuciosa, que 46 años después TeX sigue usándose, y ha sido calificado como uno de los sistemas de composición tipográfica más refinados jamás creados.
TeX es gratis y puede bajarse de aquí, lo mismo que LaTeX. Dato: Knuth es otro de los pioneros de la computación que se opuso frontalmente a patentar soluciones de software que deberían ser evidentes. Los veteranos recordarán cuando, a fines del siglo pasado, los gigantes de la industria se propusieron (e hicieron un intenso lobby con el fin de lograrlo) para patentar incluso entidades matemáticas (Pi es una entidad matemática, de donde toma el nombre esta serie), lo que habría sido desastroso para el software libre y para la innovación en general. Todo bien con patentar un invento, ¿pero patentar el círculo? El ingreso de Google en el campo de batalla de Internet cambió todo eso; es lógico, no existiría Google sin el software libre.
Un poco de Bach
El nombre de Donald Knuth es casi desconocido fuera del ámbito tecno, pero es el responsable de algo equivalente al Clave Bien Temperado de Bach, y fue además un visionario de lo que luego el marketing etiquetaría como WYSIWYG. Es decir, What You See Is What You Get, en referencia a las tipografías que se imprimen como se ven en la pantalla. Solo que Donald fue más allá y, como con aquel desafío del fabricante de golosinas, creó una catedral llamada TeX. Y vieron cómo es. Las catedrales son para siempre.
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Google tiene una IA que reconoce emociones para mejorar los subtítulos automáticos en tu celular
Gemini, la IA de Google, ahora es capaz de sumar subtítulos automáticos a cualquier video en Android, identificando tonos de voz, suspiros, ruido ambiente y demás; por ahora sólo funciona en inglés

Google ha implementado nuevas funciones impulsadas por Inteligencia Artificial (IA) para dispositivos Android, entre las que permite crear subtítulos de audio y transferir archivos multimedia y documentos mediante códigos QR, además de otras novedades exclusivas para dispositivos Pixel.
Además de las extensiones para Gemini lanzadas recientemente, que conectan las aplicaciones y servicios del dispositivo con la IA de Gemini para llevar a cabo acciones como llamadas y el envío de mensajes a contactos, así como programar alarmas o controlar ajustes del dispositivo y la cámara, la tecnológica ha lanzado otras novedades de la mano de su última actualización de Android.
En concreto, continuando con Gemini, Google ha anunciado que los usuarios podrán disponer de subtítulos de audio capaces de “capturar la intensidad y la emoción”. Asimismo, también podrán utilizar la IA para generar descripciones de imágenes mejoradas.
Así son los nuevos subtítulos con emociones que detecta Gemini en Android

Esto último se debe a que, según ha explicado la tecnológica en un comunicado en su blog, la función Preguntas y Respuestas sobre Imágenes de Lookout, diseñada para personas ciegas o con baja visión, estará impulsada por el modelo Gemini 1.5 Pro, capaz de proporcionar descripciones de imágenes “aún más completas y útiles” en comparación con las versiones anteriores.
Así, basta con compartir una fotografía con la aplicación de Gemini para “escuchar la descripción en voz alta con un sonido natural”. Además, tras escuchar la descripción, los usuarios podrán hacer preguntas de seguimiento para comprender mejor la imagen en cuestión.
Por otra parte, Android también ha incluido una nueva función de fusión de ‘emojis’ en Gboard, lo que permite juntar dos ‘emojis’ para crear uno nuevo personalizado y mejorar la comunicación entre usuarios. Además, también en Gboard, los usuarios podrán probar las mejoras del teclado de escritura deslizando el dedo con Clearflow, que ahora ofrece una mayor velocidad y precisión.
Google también ha agregado una nueva opción para compartir documentos, fotografías y vídeos con otros usuarios. Tal y como ha detallado, mediante la aplicación Quick Share, los usuarios podrán transferir contenido mediante códigos QR.
Se trata de una función que trata de facilitar la forma de compartir archivos multimedia y documentos con más personas, ya que bastará con seleccionar el archivo en cuestión y, al pulsar la opción de compartir, escoger el icono de transferir con código QR, para que otros usuarios puedan escanearlo y descargar el contenido de forma segura. Además, no será necesario añadir a los usuarios como contacto ni verificar dispositivos.
Finalmente, Google también ha mejorado la opción de escanear documentos en la aplicación Google Drive, que ahora mostrará los archivos escaneados de forma más nítida y con más calidad. Tal y como ha señalado, se optimizará el escaneo para mejorar el contraste y el balance de blancos, así como para eliminar sombras y desenfoques, sin necesidad de editarlos manualmente.
Así, las últimas novedades para dispositivos Android, junto con las extensiones de Gemini, ya están disponibles para todos los usuarios a nivel global.
Novedades para los Pixel
Google también ha lanzado su última actualización Pixel Drop, que incluye varias novedades exclusivas para los smartphones, tabletas y smartwatches Pixel, además de las novedades ya mencionadas de Android.
En concreto, con los smartphones Pixel, los usuarios podrán compartir contenido en redes sociales de forma más sencilla. Según ha compartido la tecnológica en un comunicado en su blog, ya se pueden compartir fotos Ultra HDR desde la galería con “toda su intensidad, un mayor contraste y más detalles”, directamente en el ‘feed’ de Instagram.
Asimismo, a la hora de compartir fotos y vídeos en Snapchat, los usuarios podrán acceder a los archivos multimedia de forma más directa, ya que se mostrarán todas las carpetas, el contenido favorito y las fotos almacenadas en la nube, desde el selector de fotos.
Tal y como se pudo conocer recientemente, Google también ha lanzado la función de Voz nítida en la aplicación de Grabadora, que reduce el ruido de fondo y las distracciones de forma automática para obtener un sonido de mayor calidad.
Los smartphones Pixel también se han actualizado para ofrecer una experiencia simplificada a la hora de utilizar el dispositivo, gracias a la función de Vista simple. En concreto, esta opción aumenta el tamaño de la fuente y la sensibilidad al tacto del teléfono, lo que permite ver y utilizar los servicios del smartphone de forma más sencilla.
Igualmente, también se ha implementado una nueva función de seguridad denominada Verificación de la Identidad. Con ella, cuando el dispositivo Pixel registre que se encuentra en una nueva ubicación desconocida, solicitará una autenticación con identificación facial o huella digital, antes de permitir hacer cambios en cualquier ajuste sensible del smartphone.
Esta función ha sido ideada para reforzar la protección del dispositivo en situaciones de intento de robo, para evitar que se pueda acceder a las contraseñas, cambiar el PIN o desactivar las protecciones antirrobo.
En cuanto a las tabletas Pixel, la compañía ha señalado que los usuarios ya pueden utilizar la VPN integrada y gratuita de Google, que antes solo estaba disponible en los teléfonos Pixel.
Entre las novedades para los Pixel Watch, Google ha anunciado que los usuarios podrán recibir notificaciones de dispositivos Nest Cam o Nest Doorbell para ver quién está llamando a la puerta desde el reloj, así como hablar con la persona en cuestión desde la muñeca. Esta función está disponible desde el modelo Pixel Watch 2.
No hay comentarios.:
Publicar un comentario
Nota: sólo los miembros de este blog pueden publicar comentarios.