martes, 30 de octubre de 2018
Programando
A mí me pasó algo parecido. Hace ya tiempo encontré el gusto por la programación a través de dos vías. Por un lado, cuando comencé a estudiar y usar el sistema de composición tipográfica TeX. TeX es programación pura y dura, y si quieres trabajar con TeX no te queda otra que aprender a programar en TeX, de igual forma que si quieres hablar japonés debes aprender japonés. Pero es un trabajo (evocando a JRJ) siempre gustoso, y los esfuerzos nunca se quedan sin recompensa. La otra vía llegó cuando me enamoré del editor de texto Emacs, con el que mantengo un idilio casi ininterrumpido desde el 2007, año en que empecé a usar GNU / Linux. Emacs, como dije antes, es extensible y programable ad infinitum mediante un lenguaje llamado Elisp, que es un dialecto de Lisp, probablemente de los lenguajes de programación más elegantes y divertidos que haya. Y de los más antiguos: se remonta a la década de los 50, nada menos. Gracias a eso, podemos hacer en Emacs casi lo que nos venga en gana. Y si algo en concreto nos desborda, siempre habrá en otro punto del mundo alguien que sepa más que tú y que comparta contigo y con el resto de la comunidad su código. Y es que, a estas alturas, ya soy incapaz de usar cualquier programa que no me deje editar aunque sea un mínimo archivo de configuración. Y que se quede sólo en unos cuantos botones que deba pulsar dócilmente, sin saber muy bien el por qué. Para mí eso no es informática amigable.
Un ejemplillo menor de lo dicho, sacado de mi trabajo cotidiano. En mi traducción de la Odisea, sin ir más lejos, cada canto es un árbol de un documento escrito en el Org Mode de Emacs, que contiene no sólo mi traducción propiamente dicha, sino más árboles donde incluyo comentarios y notas no exportables. ¿Cómo separo un árbol determinado del resto, y me aíslo con él para escribir o revisar su contenido? Lo cuento (por si interesase a alguien que quier enamorarse también de Emacs) en mi humilde Cuaderno de GNUtas o Noches Áticas de desvelos informáticos.
sábado, 27 de octubre de 2018
Nogal y perspectiva
sábado, 20 de octubre de 2018
Cuaderno Ático marcha hacia el número 10
Hasta la salida del nuevo número, los 9.5 números anteriores pueden consultarse, como siempre, en la web de la revista:
Desde allí también se pueden adquirir las versiones impresas, a partir del número 6.
Portada del número 9.5 de Cuaderno Ático |
viernes, 19 de octubre de 2018
Prodigios
domingo, 14 de octubre de 2018
La Odisea y Git
git add .
git commit -m "Odiseo sigue con su parlamento y corrección de xx versos en Canto xx"
git push origin master
El primer comando añade los cambios a la cabeza de la línea temporal. El segundo crea el «commit» con el nombre que se nos antoje (también podemos añadir comentarios y demás en cada «commit» o asignar etiquetas para «commits» especialmente memorables). El último comando envía el «commit» también al repositorio remoto («origin»), que está sincronizado en la rama principal o «master». Y así de sencillo y así sucesivamente siempre.
Bien. ¿Y por qué cuento todo esto? Pues porque necesitaba explicarlo antes para decir que hoy he revisado mi repositorio de la Odisea y resulta que ya he sobrepasado la homérica cifra de 3000 «commits». Nada despreciable, aunque muy lejos de los 783542 «commits» que tiene a fecha de hoy el núcleo Linux en sus sucesivas contribuciones y versiones. En cualquier caso, Homero no creo que precisara de Git. Él mismo era Git, cuyo símbolo es un gato.
Guirnalda en Vakxikon
(El poema original se puede leer aquí).
jueves, 11 de octubre de 2018
De Liddell-Scott y diccionarios digitales
Hay muchas formas de consultar la versión on line del venerable diccionario de griego Liddell-Scott, pero ninguna de ellas tiene la gracia y el encanto que nos proporciona acudir al volumen original. Bajarlo de la estantería, depositarlo en la mesa y abrir sus páginas de papel biblia se parece a un rito añejo, como cuando se sacaba la vajilla de los domingos o se vestía uno para tomar el vermut. Y recorrer sus entradas en esa hermosa tipografía Porson tiene mucho de viaje, de aventura siempre generosa en asombosos hallazgos. Pero también —y aceptémoslo— es un dolor. El endemoniado libro parece concebido como un monumento a la incomodidad. Y pesa que es un espanto. Llevarlo a cuestas es como llevar al caballito a un obeso y ceñudo clérigo ensotanado. Y cuando lo sacas de la estantería siempre acabas tirando algo o se te cae encima de la cabeza otro libro. Y no hablemos de las titánicas nubes de polvo que aventas al abrirlo, llenas de incontables universos y microscópicos seres vivos de todo género, siempre en diáspora por tu estudio o deseosos de quedarse a vivir en tus pulmones. Y luego te tocará hacer sitio en la mesa, porque ya no te cabe un trasto más. Tendrás suerte si, llegados a este punto, aún recuerdas qué consulta querías hacerle al mamotreto oxoniense. Pero si no te acuerdas, tanto da: siempre podrás pasearte por sus bellos tipos Porson, e iniciar algún breve idilio con cualquiera otra voz griega que encuentres por allí, siquiera algún adverbio, una partícula. Estas cosas, claro, forman parte del contrato que incluye el Liddell-Scott, y hay que aceptarlas, como aceptamos mancharnos y lastimarnos al emprender una aventura. Pero me temo que mi trato físico con el enlutado diccionario se ha ido escorando cada vez más al terreno de lo platónico. Fuera de allí, prefiero acudir a su alter ego digital. En esta entrada de mi cuaderno de notas informáticas apunto algunos consejos y truquillos para ello. Por supuesto, siempre dentro del software libre: https://maciaschain.gitlab.io/gnutas/goldendict.html
martes, 9 de octubre de 2018
La Odisea y Org Mode
Mi traducción en curso de la Odisea de Homero (el primer hacker de la historia) no la realizo en Word ni en nada parecido (hace siglos que no uso un procesador de texto para escribir), sino en algo llamado Org Mode, que es un formato textual de etiquetado ligero, parecido a Markdown pero más potente y versátil. Fue creado en origen por el astrónomo holandés Carsten Dominik, y actualmente está mantenido por el proyecto GNU para el editor de texto Emacs. Dicho todo así, puede sonar a abstruso y demasiado técnico. Igual me sonaba a mí también hace no tanto tiempo, pero la verdad es que no creo que haya otra forma de decirlo. Si se explican los términos, de todas formas, encontraremos que son bastante consecuentes y nada peligrosos.
Veamos. Un formato de etiquetado no es más que una serie convencional de etiquetas o marcas que han de escribirse en distintas partes de un bloque de texto plano a fin de que una computadora las interprete y nos devuelva dicho texto con un determinado formato. Viene a ser como un código «pactado» entre el ser humano y la máquina. ¿Y lo de llamar ligero a ese etiquetado? Pues porque las etiquetas son extremadamente simples e inteligibles, y no contaminan el texto con código esotérico hasta el punto de que intentar leerlo pueda acarrearnos una embolia. Por supuesto, también hay etiquetados complejos y (siguiendo la jerga) «pesados», donde es indispensable un ojo entrenado que pueda discernir el código del propio contenido textual. Un ejemplo de estos etiquetados puede ser el lenguaje HTML de la web (quien haya visto el código fuente de una página web ya sabe a lo que me refiero), o el lenguaje TeX del sistema tipográfico del mismo nombre. No están pensados para leer plácidamente en una hamaca, sino para trabajar cual hormigas sobre un texto dado. Se comprenden en el sentido en que un músico comprende un pentagrama o un médico el resultado de una analítica, pero al común de los mortales le puede en justicia resultar chino.
Por contra, los etiquetados ligeros se mueven cerca del nivel más alto de la comprensión humana (en programación, cuanto más se baja de nivel, más nativo se hace el lenguaje a la máquina y más ajeno a nosotros), y su conjunto de etiquetas bien puede aprenderse en una tarde libre. De hecho, no hace falta ni ser un ingeniero informático ni nada parecido para escribir en Markdown o en Org Mode, ya que éstos han venido para hacerles (hacernos) la vida más fácil a todos aquellos que tengan que poner algo, lo que sea, por escrito1. ¿Por qué? Porque su sistema de marcas o etiquetas es esencialmente semántico; es decir, se dirige a la estructura lógica del contenido textual más que a la estructura física o (en último extremo) tipográfica. La separación necesaria de estás dos estructuras ha sido siempre lo más natural a la hora de escribir, hasta que un día llegaron el Word y los procesadores de texto y las mezclaron, imponiendo un sistema aberrante y, claro, antinatural. Quien se haya visto en ocasiones frustrado usando un Word, que sepa que los tiros casi siempre van por ahí. Muchos creen que Word es la evolución de la máquina de escribir, cuando lo que supone en el fondo es su negación absoluta. Pondré un ejemplo muy sencillo. En tipografía, una cursiva representa un énfasis. Pero si el énfasis ha de señalarse dentro de un texto que ya está en cursiva, entonces se opta por ponerlo en letra redonda. Como el Word obliga al usuario a ser escritor y tipógrafo al mismo tiempo, entonces el camarote de los Marx está servido. Para Markdown y Org Mode un énfasis siempre es un énfasis. ¿Cursivas, redondas, versalitas…? Ellos siempre nos contestarán, para nuestro alivio, «Mí no entender».
Cuando trabajamos de esta forma, en suma, contamos con un único texto estructurado para entregarlo en un montón de formatos físicos2. Sin ir más lejos, en mi traducción en curso de la Odisea necesito de vez en cuando contar con una salida «tipográfica» en un PDF de alta calidad donde los versos de cada canto estén numerados al margen en secuencia de cinco. El proceso se puede automatizar con un simple atajo de teclado de mi editor de texto favorito, que es Emacs. Por si a alguien le puede resultar útil, explico cómo hacerlo en este pequeño sitio web que tengo para almacenar y compartir (e incluso intentar comprender) mis notas sobre temas informáticos: https://maciaschain.gitlab.io/gnutas/orglatex.html
Notas:
En este texto intento explicar por qué prefiero Org Mode a Markdown.
Esta entrada del blog, por ejemplo, está escrita en origen mediante Org Mode. Para publicarla aquí, la he exportado a HTML.
jueves, 4 de octubre de 2018
Software libre
Cuando se habla de software libre les puede resultar a muchos un discurso, tal vez, demasiado abstracto. Frente al cual hay un aparente sentido común que insiste en que «son sólo programas, herramientas, y lo importante es usar las que me vengan bien y me funcionen (así sea Microsoft, Apple, Adobe, Google, etc)». Y se puede vivir feliz y despreocupado de esa forma durante mucho tiempo. Hasta que un día (y siempre llega ese día, tarde o temprano), las injusticias del software propietario llaman a tu puerta: Microsoft, Apple, Adobe o Google. Cuando te des cuenta de que no puedes adaptar tu herramienta a tus necesidades, sino que eres tú y tus necesidades los que os tenéis que adaptar a la herramienta.
Imaginemos que me compro una estantería para mi estudio. Pero necesito hacerle unas mínimas modificaciones para que encaje bien donde quiero ponerla. Un capricho, vaya, pero es que quiero ponerla en ese sitio en concreto porque es MI estantería y porque la he pagado. Pero resulta que no puedo modificarla ni retocarla, pues una licencia que la acompaña me lo impide. Y aunque me quiera saltar esa licencia arbitraria, tampoco cuento con los planos o la información necesaria para entender cómo desmontar la estantería. En términos informáticos, sólo tengo los binarios, lo que la computadora comprende (la estantería), pero no cuento con el código fuente con que se han programado esos binarios y que puede comprender un ser humano (las instrucciones y los planos de la estantería).
Así nació, de hecho, el movimiento por el software libre en los años 80, cuando un investigador del laboratorio de inteligencia artificial del MIT, llamado Richard Stallman, encontró que no podía modificar los controladores de una simple impresora porque éstos eran propietarios y bajo licencia propietaria. Hasta entonces el software solía ser libre de facto, como el teorema de Pitágoras y la ley de la gravedad: conocimiento científico para compartir. ¿A quién se le iba a ocurrir poner una licencia o una patente a cosas así? Y tampoco existía lo que hoy conocemos por «ordenador personal». Pero Stallman ya se empezaba a oler lo que se venía encima, así que mandó a paseo una prometedora carrera en el MIT y comenzó a desarrollar, junto a otros hackers, el sistema operativo libre GNU, a la par que la Licencia Pública General (GPL), unida ésta al concepto de copyleft, que podría traducirse por «izquierdos de autor» y que garantiza que la redistribución de un programa libre mantenga las mismas cualidades de libertad y derechos de uso que el programa original. En los años 90, un joven estudiante finlandés, Linus Torvalds, desarrolló el núcleo Linux, que no tardó en incorporarse al sistema GNU. Por eso, la forma correcta de nombrar al sistema operativo libre es GNU / Linux. Todo lo que lleve el núcleo Linux, pero que carezca de GNU, no es ciento por ciento libre, como sucede con el sistema Android de Google.
Sin embargo, ese aparente sentido común, abanderado del conformismo, insistirá: «Pero si estamos hablando de ordenadores, de simples máquinas. ¿A qué tanto follón con eso?». Las computadoras, aunque les pese a muchos, son una parte esencial de nuestra cultura. Para bien y para mal han venido a quedarse, no sabemos hasta cuándo, pero probablemente se extinguirá antes el ser humano que ellas. Y esto (conviene insistir) no es tecnofilia. De hecho, deploro absolutamente la tecnofilia, que es el hechizo con que los Morlock hacen creer a los Eloi que viven una era digital. Stallman no impulsó el movimiento por el software libre a mero capricho, como quien piensa en la libertad de las cometas, sino porque él era ingeniero informático y vio de una forma palmaria sus derechos individuales totalmente cercenados. Es más, intuyó que todo esa injusticia se extendería a los miles de usuarios de computadoras (tú y yo) que estarían por venir, cuando las grandes corporaciones tomasen el poder de lo que hasta entonces apenas estaba en manos de unos cuantos hackers de la vieja escuela, las universidades y los teóricos de la computación. Y he aquí que gobiernos, instituciones, bancos, empresas públicas o privadas y usuarios comunes dejan su informática en manos de una multinacional. Porque lo que tú, querido «usuario final», tienes instalado en tu ordenador, ni es tuyo ni sabes lo que realmente está haciendo, ni lo que te está haciendo, ni tienes forma de averiguarlo. Y da igual que lo hayas instalado de forma pirata. Bien, te has ahorrado el dineral de la licencia, pero el programa sigue sin ser tuyo, y sabe muy bien quién es su dueño.
Ahora que se habla tanto de Humanidades, todo esto se tendría que inculcar ya desde el colegio. Educar en Humanidades es también educar en software y conocimiento libre.
martes, 2 de octubre de 2018
Ida y regreso
Traducir la Odisea es un viaje tan audaz, tan extremado y peligroso como el de su protagonista. Sólo que el ingenioso hijo de Laertes y yo llevamos caminos opuestos. Él vuelve a Ítaca, que es de donde yo parto, para volver también allí a la postre. En su curso va despidiéndose de Circe, de Escila y Caribdis, de las sirenas, del cíclope, de Calipso. Yo me regreso a ellos y los encuentro allá donde los dejé. Y así pasaran mil años y apenas habrán cambiado. Como Nausícaa, anclada en su adolescencia, lo mismo que un viejo primer amor. Pero en mi marcha también tendré que despedirme de ellos: y cómo duele volverlo a hacer y tejer de nuevo las remendadas velas, con una pericia sombría y salobre que sólo se adquiere luego de muchas despedidas. A menudo en la tarde, cuando el sol tinta de antiguo el mar y las cavilaciones, nos saludamos Odiseo y yo. E insistimos en preguntarnos quién se marcha o quién es el que vuelve. Cada cual con sus sucesivos encuentros y desencuentros, los que van trenzando la rara melancolía que es, en el fondo, cualquier viaje. Memoria y olvido, ida y regreso tal vez sean (¿verdad, don Constantino?) la misma cosa.