Archive for 22 enero 2009

Registrado el dominio libgann.org

enero 22, 2009

Recientemente he adquirido el dominio libgann.org para el proyecto. Ya podéis acceder a la página del proyecto a través de http://libgann.org o http://www.libgann.org.

Un saludo.

Copiar, borrar, renombrar, … a través de SCP

enero 13, 2009

Después de usar durante cierto tiempo scp para enviar mi pagina web a la forja de RedIris, me encontré con el problema de no poder borrar los ficheros que ya había subido. Supuse que esto se debía a una limitación propia del comando scp y no del protocolo que usa. Por ello decidí probar la aplicación winSCP que nombran en la página de la forja (a veces para vencer al enemigo hay que estudiar las tácticas que este usa). Cual fue mi sorpresa cuando vi que desde dicha aplicación podía borrar, copiar, …

El siguiente paso fue indagar en la página de winSCP (http://winscp.net/eng/docs/requirements), en ella descubrí que para que el programa pudiera realizar todas estas operaciones, era necesario que el usuario tuviera una cuenta ssh en el sistema remoto y que además éste pudiera ejecutar los comandos: cd, chgrp, chmod, chown, echo, groups, ls, mkdir, mv, pwd, scp, rm y ln.

Dado que el protocolo scp (no el programa (el nombre de los dos coincide) ) funciona sobre ssh, pensé que quizás pudiera ejecutar los comandos anteriormente mencionados a través de ssh. Para probar esto ejecuté el siguiente comando:

$> ssh cusl3-libgann@forja.rediris.es "ls"

Después de introducir la clave, el programa devolvió:

bin
dev
etc
home
htdocs
lib
lib64
root
tmp
usr
var

Os invito a ejecutar el siguiente comando:

$> ssh cusl3-libgann@forja.rediris.es "ls bin"

¿Qué significa el resultado devuelto?

Pues bien si queremos borrar un fichero de nuestra carpeta web, bastaría usar el comando:

$> ssh cusl3-libgann@forja.rediris.es "rm htdocs/<ruta del fichero>"

Si quisiéramos mover un fichero:

$> ssh cusl3-libgann@forja.rediris.es "mv <origen> <destino>"

Recomendaría solo modificar en contenido de la carpeta htdocs, ya que si eliminamos o modificamos algún otro fichero, quizás tengamos que ponernos en contacto con el administrador de la forja.

Un saludo y espero que os haya ayudado en algo. Por cierto, cundo tenga tiempo quiero hacer un script que facilite esta tarea.

Logo para Libgann

enero 6, 2009

Por fin he creado un logo para Libgann, es sencillo pero espero que os guste. A continuación os incluyo una exportación desde un SVG a PNG.

Logo

Un saludo y por favor comprender mi falta de creatividad. Por cierto, os propongo un juego, ¿qué representa el dibujo?.

¿Por qué usar XML como formato de nuestros ficheros?

enero 1, 2009

XML es algo más que un lenguaje, de hecho es un metalenguaje, ya que a través de él podemos describir otros lenguajes. En libgann, guardamos las redes neuronales entrenadas haciendo uso de XML, de forma que cada modelo de red neuronal tendrá un DTD (por ahora pronto serán XSD) asociado que define el lenguaje para guardar éste. La ventaja de este esquema, es que no tenemos que construir nosotros un parser para validar los ficheros guardados, ya que con XML los parser son genéricos, siendo los DTD’s (o XSD’s) los que especializan el parser a cada lenguaje.

Para explotar el uso de XML en Libgann, los fichero XML generados especifican un DTD público, estos DTD’s se encuentran en la dirección:

http://cusl3-libgann.forja.rediris.es/dtd/

De forma que cualquier usuario podrá validar sus archivos ya sea en un validador de internet o en uno local.

Cuando Libgann lee los fichero XML para cargar los distintos modelos de redes neuronales, ignora la especificación del DTD de dicho fichero, utilizando directamente el DTD asociado a ese modelo de red. De no ser así, cualquiera podría cambiar el DTD del fichero, engañando a la biblioteca, de forma que dicho archivo sería valido para ese DTD, pero el DTD no correspondería con ese modelo de red.

Espero no haberos aburrido mucho. Un saludo.

Separación de los ejemplos de la biblioteca

enero 1, 2009

En el directorio principal del proyecto existía una carpeta “examples” donde se implementaban un conjunto de ejemplos del uso de la biblioteca. Hemos movido dicha carpeta fuera del proyecto, de tal forma que los ejemplos serán desarrollados independientemente de la biblioteca. Esto tiene varias ventajas:

  • Los ejemplos son desarrollados usando las autotool, esto permitirá a los usuarios ver como se integrán con estas geniales herramientas.
  • Simplificará los ficheros “configure.ac”, ya que antes teníamos que tener en cuenta las dependencias necesarias de los programas de ejemplo dentro del “configure.ac” de la biblioteca, esto suponía algunos problemillas.

Espero que con este cambio les sea más fácil a los usuarios poder comprobar el funcionameinto de Libgann.

Pd: Si queréis ver mejor de que hablo echarle un vistazo a repositorio SVN:

https://forja.rediris.es/plugins/scmsvn/viewcvs.php/?root=cusl3-libgann

Un saludo.