Vala, Gtk, Pino y Twitter

Últimamente en mis ratos de ocio he estado aprendiendo un lenguaje nuevo llamado Vala.

Mi desafío para aprender a hacer algo en vala + gtk fue agregar una funcionalidad al cliente de twitter Pino, que dicho sea de paso esta bastante bueno. La funcionalidad es bastante simple, agregar un nuevo proveedor para acortar URLs bit.ly

Complejidades, bondades y rarezas que me encontré:

  1. Facilidad para enganchar las señales.
  2. Lo parecido a Java del lenguaje, lo que me ayudo mucho, aquí una ayuda para los Java Developers
  3. Aún le falta mucho a los IDEs (valide esta muy verde).
  4. El compilador tiene poca ayuda, sólo dice que fallo pero no en donde ni por qué, rara vez te dice te falta un “;”
  5. Aun son enredado los script de compilación, al más puro estilo de macros m4, automake y vainas por el estilo, aquí hay mucho por mejorar.
  6. La API si bien es cierto esta bien documentada en valadoc aún prefiero la facilidad para encontrar las cosas del javadoc

Les dejo aquí mis mejoras de pino-twitter-2.0.5.tar y a ver si lo van mejorando un poco más, por lo pronto voy a subir los cambios al tracker para que los incluyan en la release.

Para compilar es simple, obviamente deben tener todas las herramientas para compilar:

1
2
3
4
$ ./waf configure --prefix=/home/tu_user/directorio_destino
$ ./waf clean buid install
$ cd /home/tu_user/directorio_destino/bin
$ ./pino &

Espero sus comentarios

Problema de los botones de Eclipse en Ubuntu 9.10 Karmic

Si te has vuelto mono haciendo clicks cuando trabajas con Eclipse en Ubuntu 9.10 Karmic Koala, aquí les dejo una solución que encontré por ahí:

Deben crear un pequeño script que configura una variable de entorno y luego llama al binario de eclipse, veamos el script eclipse.sh

1
2
3
4
#!/bin/sh
export GDK_NATIVE_WINDOWS=1
cd $HOME/Software/eclipse
./eclipse

El problema (bug) al parecer es en cómo Eclipse a través de SWT hace uso de las librerías de GTK dejando inhabilitado las acciones de los botones y otros componentes como por ejemplo los árboles desplegables con checkbox (ventana de los updates).