Beagle

Estan buscando algo. Saben que en algún lugar lo vieron: en la mesa, en la compu, en un libro, en el diario, en la agenda… en algún lugar está, pero ¿dónde? Luego de un tiempo encontrando cosas (menos la buscada) uno se da por vencido: “Vaya uno a saber dónde está…”. En este preciso momento se acaba de cumplir una ley de Murphy:

Usted siempre encontrará aquello que no está buscando.

Y es verdad, y esta científicamente comprobado.

Ahora, llevemos el problema a encontrar algo en la computadora: lo leímos en un mail específico, una conversación en nuestro mensajero instantáneo o un post en algún blog, pero no sabemos dónde buscar. Una posibilidad es ejecutar esto en la consola:

~$ grep -R cosaBuscada *

… y algún día lo vamos a encontrar, entre toda la basura que ese comando arroje, garantizado. Otra posibilidad es utilizar Beagle.

Beagle es una utilidad para buscar cosas. Uno puede buscar en distintos dominios:

  • Obviamente, el sistema de archivos.
  • En los mails de Evolution y KMail.
  • En las conversaciones de Gaim y Kopete. También en sus logs
  • En la caché de Firefox, Epiphany y Konqueror.
  • En los feeds RSS de Liferea, Blam o Akregator
  • En las notas de Tomboy.
  • En los archivos de las suites de oficina: OpenOffice.org (tanto los formatos viejos como OpenDocumment), Microsoft Office, Abiword, archivos RTF, PDF
  • Archivos de ayuda, como los Manual Pages, Monodoc, TextInfo, Windows Help (chm)
  • En las imágenes (jpg, png, bmp, tiff, gif).
  • En los archivos de audio: mp3, ogg, flac.
  • Archivos de video.
  • En los launchers de sus aplicaciones.

La lista no termina ahí, pero no voy a nombrar a todos, veanlo ustedes. Hasta pueden crear sus propios filtros.

Beagle corre un demonio (beagled), que es el encargado de indexar nuestros datos. Por defecto, indexa nuestro home, pero uno puede especificar otras rutas (por ejemplo, si tenemos nuestra música en otro lugar), así como también impedir que beagled indexe ciertos directorios. Y a todo esto lo hace de tal manera que no afecte la actividad del usuario en la computadora, aunque podemos especificarle que indexe lo más rapidamente posible (por ejemplo, cuando no vamos a usar la PC).

También tenemos la posibilidad de crear índices estáticos. Por ejemplo, podemos crear un índice estático del contenido de un directorio remoto en nuestra red local, o algún lugar que no cambie muy seguido, y por lo tanto no necesite ser re indexado. Éste índice estático (el resultado es un directorio) puede ser compartido con otros usuarios.

Para buscar tenemos dos alternativas:

  • La primera es la interfaz gráfica: beagle-search
  • beagle-search

  • El comando de consola beagle-query

Esta gran utilidad corre en Mono. Es impresionante la cantidad de software que se esta empezando a desarrollar bajo esta plataforma: F-Spot, Banshee, Tomboy, MonoDevelop, NAnt, iFolder… por sólo nombrar algunos.