viernes, julio 08, 2011

Un gran amigo que también es un grande

Me acaba de llegar este mail:

   Fecha: Tue, 28 Jun 2011 18:06:41 -0300
      De: Gustavo Rossi 
Asunto: Lifiano premiado
    Para: gustavo

La semana pasada, Sergio Firmenich obtuvo el best paper award en la 
International Conference on Web Engineering que se realizo en Chipre 
por el trabajo:
A framework for concern sensitive client side adaptation
(S. Firmenich, M . Winckler, G. Rossi y S. Gordillo)

Grande Sergio!!!!!

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.



----- Terminar mensaje reenviado -----



Sergio, o para los amigos Keco, fue un compañero de la UNPSJB, de trabajo y es un gran amigo, y hoy está haciendo su doctorado en La Plata.
Me pone muy contento su logro en el campo de la investigación.
Estoy leyendo el paper, que encontré publicado en: http://www.springerlink.com/content/n3167p807121r318/

¡¡¡Felicitaciones Keco!!!

miércoles, julio 06, 2011

Custom Delegates en Prymatex

MVC es un patrón de diseño muy conocido, que ha sufrido algunas bastardizaciones, como es el caso de MTV en Django y MVD en Qt.
Hoy quería comentarles como estamos usando esta última en Prymatex.
Como muchos de ustedes sabrán, Prymatex está escrito sobre PyQt4 y recientemente comenzamos a utilizar modelos para almacenar tanto la información de los Bundles, como los temas y variables de entorno (un elemento muy utilizado a la hora de ejecutar los diferentes Bundle Items). Estos modelos responden al concepto Modelo/Vista/Delegado de Qt.
Tods saben a que se refiere modelo y a que vista, pero que es un delegado? Un delegado sirve para permitir a la vista modificar el modelo y además permite hacer widgets especiales (un ejemplo popular para quienes utilcen KDE es el estrellómetro de Amarok).

Utilizamos delegates para hacer clonar la interfase de configuración de temas de TextMate:

Salvando las distancias, mediante delegates pudimos emular en cierta forma el listado:


El código utilizado está en github.