Although SVN is getting dead due GIT expansion, there are a lot of projects that still use it, like the one I'm involved.
In order to make commits easier I've developed this perl script. You can get it from sourceforge:
http://sourceforge.net/projects/utils/
miércoles, noviembre 26, 2008
viernes, noviembre 07, 2008
Programming tip
Commonly, we have to compare constants with variables. Traditionally, it is achieved like that:
if (variable == CONSTANT)But this is a common source of errors. If we write '=' instead '==', compilation will be achieved correctly, but execution maybe crash.
{
...
}
In order to avoid this problem, the first member of the comparison must be the constant:
if (CONSTANT == variable)This way, if we forget one 'equal' a compilation error will arise.
{
...
}
domingo, noviembre 02, 2008
Coming back!
How a long from my last post!!
This time I've been working on HED (Home Entertainment Device), now renamed as Blu:Brain and finishing the Free Software Master.
Then I have to tell a lot of interesting things related these issues. Taking into account this is a personal blog, next posts will be related to the second one.
To start with this review, I show you the new appearance of GMyspace:

As you can see, it is too closed to an useful application :)
See you!
This time I've been working on HED (Home Entertainment Device), now renamed as Blu:Brain and finishing the Free Software Master.
Then I have to tell a lot of interesting things related these issues. Taking into account this is a personal blog, next posts will be related to the second one.
To start with this review, I show you the new appearance of GMyspace:

As you can see, it is too closed to an useful application :)
See you!
domingo, agosto 17, 2008
GMySpace source code committed
GMySpace has been accepted as project in SourceForge.net. Next step has been to upload source code to SVN repository.
Currently, project is in an ALPHA development stage, but next milestone is too near. Then, BETA version will be released.
You can browse source code:
http://gmyspace.svn.sourceforge.net/viewvc/gmyspace/trunk/
[1] http://sourceforge.net/projects/gmyspace/
Currently, project is in an ALPHA development stage, but next milestone is too near. Then, BETA version will be released.
You can browse source code:
http://gmyspace.svn.sourceforge.net/viewvc/gmyspace/trunk/
[1] http://sourceforge.net/projects/gmyspace/
sábado, agosto 09, 2008
GMySpace en Sourceforge
Como todo proyecto que se precie (de software libre of course) GMySpace estará disponible en breve en SourceForge. Lo he dado de alta y ahora está en estado "Pending" a la espera de ser aceptado por los administradores.
Por lo pronto, la página ya existe, aúnque vacía de contenidos. Es la siguiente:
http://sourceforge.net/projects/gmyspace/
Por lo pronto, la página ya existe, aúnque vacía de contenidos. Es la siguiente:
http://sourceforge.net/projects/gmyspace/
jueves, julio 17, 2008
Testear software y JUnit
Bueno... rompiendo un poco con la monotemática GNOME que llevaba últimamente, voy a hacer un pequeño inciso. Ayer, mientras paseaba por Santiago de Compostela (eso sí, después de varias horas peleádome con GLib) me fui a dar un paseíllo con mi compañero de piso. Teníamos varios puntos de paso obligados y uno de ellos era Follas Novas que, para quien no la conozca se trata de una librería enooooooooooorme de la cual, alguien del mundo de la cultura cuyo nombre no recuerdo dijo que se trataba de la otra obra de arte de Santiago (o algo así), al mismo nivel que la catedral.
El caso es que, como de costumbre en las librerías, me fui a la sección de informática y lo vi. Allí estaba esperándome. Entre una pared llena de libros de todo tipo encontré uno que hablaba de cómo probar software usando JUnit[6] como caso práctico. Me llamó la atención desde el principio ya que, como algunos sabéis, la ingeniería del software[5] es uno de los temas que más me gustan. Después de haber estudiado y probado diversos aspectos de esta rama, como las metodologías (eXtreme Programming[4] o Scrum[2, 3], con la que me peleo todos los días en el trabajo), patrones de diseño, paradigmas, etc., las metodologías de prueba era una de esas cosas que tenía pendientes.
El libro en cuestión es: "Pruebas de software y JUnit"[1] de Pearson-Education.
El caso es que, como de costumbre en las librerías, me fui a la sección de informática y lo vi. Allí estaba esperándome. Entre una pared llena de libros de todo tipo encontré uno que hablaba de cómo probar software usando JUnit[6] como caso práctico. Me llamó la atención desde el principio ya que, como algunos sabéis, la ingeniería del software[5] es uno de los temas que más me gustan. Después de haber estudiado y probado diversos aspectos de esta rama, como las metodologías (eXtreme Programming[4] o Scrum[2, 3], con la que me peleo todos los días en el trabajo), patrones de diseño, paradigmas, etc., las metodologías de prueba era una de esas cosas que tenía pendientes.
El libro en cuestión es: "Pruebas de software y JUnit"[1] de Pearson-Education.
[1]http://www.pearsoneducacion.com/resultado.asp?ean=9788483223543
[2][PDF]http://www.navegapolis.net/files/Flexibilidad_con_Scrum.pdf
[3]http://es.wikipedia.org/wiki/Scrum
[4]http://www.extremeprogramming.org/
[5]http://ultimastecnoloxias.blogspot.com/search/label/Ingenier%C3%ADa%20del%20Software
[6]http://www.junit.org/
domingo, julio 13, 2008
GMySpace. Arquitectura
El siguiente esquema muestra la arquitectura de la aplicación GMySpace


Como vemos existen dos zonas claramente diferencias: backend y frontend. El frontend se encarga de la presentación de los datos al usuario; dejando para el backend las tareas de obtención y almacenamiento de la información. Esta separación en capas tiene una serie de consecuencias:
- Permite la realización de distintas aplicaciones de frontend de manera sencilla, ya que no existe acoplamiento con el backend: se accede al mismo a través de una API.
- Se puede cambiar el mecanismo de descarga y/o parseo sin que ello suponga cambio alguno para las aplicaciones de frontend.
Por otra parte, cabe destacar la inclusión de una capa de abstracción sobre la base de datos. Esto se debe a un motivo principalmente: independizar la aplicación del motor de base de datos empleado.
En breve se liberará el código del backend, que está casi terminado y algún boceto inicial del frontend :)
En breve se liberará el código del backend, que está casi terminado y algún boceto inicial del frontend :)
GnomeVoiceControl. Primer contacto (y II)
En el último post[1] sobre GnomeVoiceControl comentaba que tuviera dos problemillas con la instalación:
- GnomeVoiceControl es un applet, con lo cual está controlado por Bonobo y éste debe saber donde encontrarlo.
- Como el objetivo de la aplicación es controlar el escritorio, se hacen continuamente llamadas de acceso al mismo. Para que esto funcione deben estar activadas las opciones de accesibilidad que, en mi caso, no lo estaban.
Básicamente se deben a mi ignorancia.
El problema número uno se puede solucionar de dos maneras básicamente:
El problema número uno se puede solucionar de dos maneras básicamente:
- Instalar la aplicación (applet) en un directorio conocido. Esto es, en un directorio en el cual Bonobo busque por defecto, por ejemplo: /usr/libexec/. Esto se consigue con el parámetro 'target' en el configure: ./configure --target=/usr/libexec
- Establecer la variable de entorno que usa Bonobo para buscar los applets. De esta manera dejamos que el instalador lo instale donde quiera (esto es, la configuración por defecto del configure) y con dicha variable actualizada correctamente Bonobo tiene acceso a la aplicación.
Para el segundo problema también existen dos soluciones:
- Desde el escritorio, activar las opciones de accesibilidad:
- System-> Preferences -> Assistive Technologies Preferences y una vez ahí activar el checkbox "Enable assistive technologies"
- Ejecutar /usr/lib/at-spi-registryd
[1]http://ultimastecnoloxias.blogspot.com/2008/06/gnomevoicecontrol-primer-contacto.html
[2]http://carlosgc.linups.org/
Suscribirse a:
Entradas (Atom)
