Valencia

Hace unos días estuve en la Guademy. Necesitaba tomarme un par de días de descanso para quitarme de la cabeza el trabajo y las molestias de cuello, y nada mejor que Valencia, a casi mil kilómetros de distancia y con un clima mucho más benigno que el de Vigo para mis cervicales. Un viajecito en avión con escala en los Madriles y directo para la Universidad Politécnica. La verdad es que se nota la diferencia con la de Vigo, aunque sólo sea porque allí todo es llano 🙂 A ver cuando pasamos el Bulldozer por aquí…

Hubo varias charlas, aunque las que más me interesaron fueron, sin duda, tres:

  • La charla sobre GTK 3.0: en ella, Carlos Garnacho nos explicó los grandes problemas que la compatibilidad binaria está suponiendo de cara a añadir nuevas funcionalidades en la versión actual de GTK. El principal problema es que, en muchos casos, se accede directamente a los datos de las estructuras que definen un widget. Eso, unido al sistema que usa Gobject para implementar la herencia obliga a que el orden de los elementos y el tamaño de éstas permanezca invariable. La solución actual consiste en reservar varios punteros, que apuntarán (valga la redundancia) a los nuevos datos que se necesiten en el futuro, con todos los problemas que ésto acarrea. Para solucionarlo de manera definitiva han propuesto convertir en privadas absolutamente todas las propiedades de los objetos que forman los widgets, de manera que cualquier acceso que se quiera hacer «desde el exterior» sea a través de métodos. De esta manera los programas simplemente trabajarán con un puntero a la estructura, sin importarles lo que haya dentro. Han elaborado además un plan de transición que facilite la migración de las aplicaciones.
  • La charla sobre el futuro de QT y WebKit. Aunque adoro GTK, reconozco que el metacompilador de objetos de QT es impresionante. Holger Freyther nos hizo una demostración de como usarlo para ampliar WebKit, permitiéndole acceder a objetos QT desde JavaScript con unas pocas líneas de código. Pero lo que más me gustó y sorprendió fue, sin duda, las nuevas capacidades de concurrencia de QT4, por su elegancia y simplicidad. La idea es aprovechar más los múltiples núcleos de los procesadores actuales, simplificando la creación de procesos concurrentes en los casos más habituales. El sistema que mostró era muy sencillo, pues sólo permitía repetir una misma misma tarea X veces de manera concurrente, cada una con un conjunto de datos diferente (el ejemplo era redimensionar todas las fotografías de una carpeta). Aunque es cierto que no permite hacer cosas complejas, como dependencias (el proceso C sólo debe ponerse en marcha cuando el A y el B hayan terminado), es cierto que es un primer paso hacia el aprovechamiento de los nuevos procesadores en el escritorio.
  • Por último, me gustó mucho la charla de Will Stephenson sobre el Akonade PIM, un gestor de datos personales para KDE con una interfaz DBUS. El problema actual en KDE es que un componente gestiona las direcciones de correo, otro las citas, etc, con lo que el acceso a los datos puede volverse muy lento si lo que se pretende es cruzarlos entre ellos. Además, al ser procesos independientes, el consumo de memoria se dispara. La solución propuesta es Akonade, un pequeño gestor de bases de datos que aglutina toda esa información en un único servidor, y permite hacer búsquedas muy complejas. Lo interesante es que lo que ha «estandarizado» es la interfaz DBUS en lugar del servidor en sí, de manera que ésta se podría implementar en, por ejemplo, Evolution, y los programas de KDE podrían acceder a los datos de Gnome y viceversa de manera sencilla.

Por supuesto, la segunda parte buena fueron las estupendas charlas informales con el resto de la gente en los descansos, durante las comidas, en la cena del sábado y en la playa el domingo. ¡¡¡¡Un saludo a todos!!!!

El resultado es que vengo cargado de nuevas ideas y ganas de seguir programando. Ahora sólo me falta encontrar tiempo material para ponerme 🙂

Leave a Reply

Time limit is exhausted. Please reload CAPTCHA.


Utilizamos cookies para garantizar que tenga la mejor experiencia en nuestro sitio web.