Estado del proyecto

febrero 19, 2009

Buenas a todos, a través de esta entrada quiero informar del estado actual del proyecto. Ahora mismo me estoy centrando en la creación de pruebas unitarias para la biblioteca, para ello estoy haciendo uso de la biblioteca CPPUnit. Desde un principio, debí dedicarle tiempo a esta tarea, ya que nos facilitará posteriormente mucho la comprobación de la corrección de nuestro código, sobre todo en momentos en los que estemos realizando cambios en nuestro proyecto. No obstante mas vale tarde que nunca.

Un saludo.

Anuncio publicitario

Documentación del proyecto

febrero 16, 2009

Recientemente he presentado Libgann como mi proyecto final de carrera. He pensado que sería interesante colgar la memoria. Aquí os paso los enlaces:

La memoria a sido creada bajo licencia FDL.

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.

Problema con la versión 4.3 de g++ [Solucionado]

diciembre 23, 2008

Debido a cambios realizados en la versión 4.3 de g++, es necesario compilar el proyecto usando la opción «-fpermissive», de modo que en vez del común «make» deberemos ejecutar:

make CXXFLAGS=-fpermissive

Pronto lo arreglaremos. Un saludo.

Manual de referencia

diciembre 21, 2008

Ya está disponible en la página web del proyecto el manual de referencia de Libgann.

http://cusl3-libgann.forja.rediris.es/manual/index.html

Para crear este manual hemos usado Doxygen.

Un saludo a todos y de nuevo espero que os guste.

Página web del Proyecto

diciembre 21, 2008

Libgann ya tiene página web:

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

Para crear esta página hemos usado Emacs con el modo org-mode.

Un saludo y espero que os guste.