aptitude
, HAL logró presentarnos una serie de candidatos posibles de entre la descomunal lista de paquetes disponibles. Podríamos haber tratado de refinar aún más la búsqueda con nuevos patrones de búsqueda u otras palabras clave. Sin embargo, como la lista no es demasiado larga, quizá sea hora de que asumamos nuestra responsabilidad, pongamos paz en la inquietud de los aspirantes y, como directores del cotarro, seleccionemos al protagonista de esta escena bilingüe en el gran drama haliano.Todo este proceso de selección, que vamos a desgranar en un instante, puede efectuarse sin recurrir a los encadenamientos de órdenes que van a aparecer hoy. Estos encadenamientos se pueden considerar moderadamente avanzados. Es probable, pues, que el principiante se acobarde ante ellos o que caiga víctima de un vértigo y una angustia irrefrenables.
No hay que temer estas sensaciones. Son naturales y sólo se desvanecen cuando el trato con HAL se transforma de superficial y ocasional contacto en relación profunda. El lector de estas conversaciones llegará en poco tiempo a esa intensidad comunicativa, si tal es su deseo. Sólo que ahora es pronto para plantar cara a los aspectos a primera vista más intrincados de la lengua de HAL.
¿Por qué, entonces, hacerlos entrar ya en escena? ¿No habría sido mejor esperar?
La razón es didáctica. Hasta ahora casi todo recurso de la lengua de HAL se ha explicado justo en el momento de su aparición. Sin embargo, el aprendizaje de cualquier lengua extraña sigue derroteros por completo diferentes. El aprendiz está expuesto desde el principio a la totalidad de la lengua, que se le manifiesta como un enigma inabordable sobre el que sólo poco a poco van surgiendo zonas de luz e inteligibilidad. Sin querer llegar a tales extremos, me ha parecido conveniente procurar hoy un tipo de impregnación semejante a ésta bien conocida, precisamente en un asunto muy significativo de la lengua de HAL. El presupuesto es que el contacto semiconsciente con ciertas estructuras lingüísticas puede servir de preparación para un tratamiento sistemático posterior.
A pesar de lo dicho, el lector que encuentre en la experiencia motivo más de repugnancia que de expectación, puede perfectamente dejar de leer en el momento que lo desee y continuar con los artículos siguientes. Nada esencial se pierde por hacerlo.
Hecha la advertencia, volvamos por donde lo dejamos: al proceso de selección del paquete para diccionarios.
El día pasado presenté la lista inicial que nos dio HAL. La voy a mostrar de nuevo. Pero para que los candidatos a protagonistas de nuestra próxima escena no se quejen, eliminaré de ella los paquetes ya instalados e incluiré también las descripciones breves de todos los demás. Tengo que formatear la lista de un modo distinto de como por defecto nos la da
aptitude
, si quiero que quepa en la pantalla. Pero no lo haré a mano ---líbreme el cielo de esa carga inútil. HAL, que es un maestro en la manipulación de texto, lo hace por mí, aunque a veces resulte extraña la forma de pedírselo:aptitude --disable-columns -F "%c:%p:%d" search '~Gdictionary ~Gcommandline' \
| grep -v ^i | awk -F: '{printf "%s:\n%s\n\n", $2, $3}' | tee candidatos
Esta larga retahíla produce otra vez el casting de aspirantes, pero con un nuevo formato:
aiksaurus:
an English-language thesaurus (utility)
anthy:
Método de introducción de japonés
anthy-el:
input method for Japanese - elisp frontend
brazilian-conjugate:
Brazilian Portuguese verb conjugator
chasen:
a Japanese Morphological Analysis System
chasen-dictutils:
a Japanese Morphological Analysis System - utilities for dictionary
crack:
Programa para adivinar contraseñas
crack-md5:
Programa para adivinar contraseñas
cracklib-runtime:
runtime support for password checker library cracklib2
dict:
Cliente de diccionario
dictem:
Dict client for emacs
dictfmt:
Utilidad para dar formato a un archivo para que el servidor de dictd pueda usarlo
dictzip:
Compression utility for dictionary databases
duali:
The Arabic Spell Checker
eblook:
electronic dictionary search command using EB Library
epwutil:
Varias utilidades para EB(Libro Eléctrico)/EPWING
glosstex:
prepare glossaries and lists of acronyms
gnuvd:
Query the online Dutch Van Dale dictionary
gramadoir:
Irish language grammar checker (integration scripts)
hspell:
corrector ortográfico y analizador morfológico de hebreo
i2e:
English-Spanish translation dictionary
link-grammar:
Intérprete de la gramática de enlace de la Universidad Carnegie Mellon para Inglés
lookup:
interactive utility to search text files quickly
makedic:
A dictionary compiler for KDrill
mecab-utils:
Support programs of Mecab
rmligs-german:
Elimina ligaduras usadas incorrectamente en documentos LaTeX
sary:
Una biblioteca de vector de sufijos (programa)
sdcv:
StarDict Console Version
skktools:
Herramientas de mantenimiento para diccionarios de SKK
spell:
GNU Spell, a clone of Unix `spell'
spellutils:
Utilidades para la corrección ortográfica
sufary:
Herramientas de búsqueda de texto completo usando un vector de sufijos
thescoder:
compiler for OpenOffice 1.x thesaurus files
translate:
traduce palabras de inglés a alemán o viceversa
xjdic:
Japanese-English dictionary search program
Un repaso rápido por las cartas de presentación de los candidatos (las descripciones breves de los paquetes), nos permite descartar unas cuantas entradas (las relativas a otras lenguas, los analizadores gramaticales u ortográficos, los programas de descubrimiento de contraseñas, etc.), y concentrarnos en unas pocas, incluidas las que ni siquiera entendemos de qué van.
O sea, que tendríamos que editar la lista anterior y suprimir todas las entradas referentes a los excluidos en esta primera criba. Pero no apetece hacerlo a mano. Es una deshonor para HAL que insistamos en los trabajos manuales estando él ahí. Dejémosle que lo haga él por nosotros [He adaptado ligeramente la orden respecto de lo que sería en realidad para que quepa aquí]:
grep -E -v \
-e 'aiksaurus|anthy|anthy-el|brazilian-conjugate|chasen|chasen-dictutils' \
-e 'crack|crack-md5|cracklib-runtime|dictzip|duali|glosstex|gnuvd|gramadoir' \
-e 'hspell|link-grammar|lookup|rmligs-german|sary|spell' \
-e 'spellutils|sufary|thescoder|translate|xjdic' \
candidatos \
| grep :$ -A1 | tee candidatos_firmes
Y HAL nos da la siguiente lista remozada:
dict:
Cliente de diccionario
dictem:
Dict client for emacs
dictfmt:
Utilidad para dar formato a un archivo para que el servidor de dictd pueda usarlo
eblook:
electronic dictionary search command using EB Library
epwutil:
Varias utilidades para EB(Libro Eléctrico)/EPWING
i2e:
English-Spanish translation dictionary
makedic:
A dictionary compiler for KDrill
mecab-utils:
Support programs of Mecab
sdcv:
StarDict Console Version
skktools:
Herramientas de mantenimiento para diccionarios de SKK
La lista es cada vez más corta, pero necesitaremos una información más detallada sobre cada paquete para poder tomar una determinación fiable. Ya sabemos cómo pedir esa información, con
aptitude show
.aptitude show $( grep :$ candidatos_firmes | sed 's/://' | tr '\n' ' ' ) | more
Y HAL nos presenta los correspondientes informes, que omito, dada la longitud del resultado.
Después de revisarlos, procedemos a un nuevo descarte. [Los procedimientos para la obtención de la lista definitiva son semejantes a los anteriormente especificados.] El resultado final de esta selección definitiva es el siguiente:
dict:
Cliente de diccionario
i2e:
English-Spanish translation dictionary
El papel protagonista se lo llevará, en nuestro caso, dict, porque también se le debe permitir al director dar rienda suelta a su subjetividad, si no, no sería el dire. Ya veremos el día que viene que pueda aportar dict a nuestra consola.
Fin del casting y meditaciones del realizador:
Nos ha llevado un buen trecho adoptar una decisión final. Es posible que, por el camino, hayamos dejado algún paquete sin revisar, ya fuera porque nuestras búsquedas fallaron en algún punto ---ningún tiro a la diana acierta siempre y por completo--- o ya porque los desarrolladores de los paquetes no caracterizaron con suficiente minuciosidad sus productos o nosotros no entendimos bien sus caracterizaciones. Por supuesto, siempre queda el camino del "listillo", la recomendación de un poderoso. En el mundo del software libre, por suerte, no suele darse fenómenos de arribismo descarado, son muchos ojos los que ven y las componendas prácticamente no existen, por eso la recomendación suele ser también un buen punto de partida. No obstante, nunca está de más proceder con nuestras propias herramientas ---las de HAL--- para descubrir los paquetes que nos interesen. Esta sesión y la anterior han tratado de mostrar un ejemplo práctico de cómo hacerlo.
No hay comentarios:
Publicar un comentario