{"id":40,"date":"2008-05-17T12:58:12","date_gmt":"2008-05-17T10:58:12","guid":{"rendered":"http:\/\/blog.rastersoft.com\/index.php\/2008\/05\/17\/valencia\/"},"modified":"2008-05-17T12:58:12","modified_gmt":"2008-05-17T10:58:12","slug":"valencia","status":"publish","type":"post","link":"https:\/\/blog.rastersoft.com\/?p=40","title":{"rendered":"Valencia"},"content":{"rendered":"<p>Hace unos d\u00edas estuve en la <a target=\"_blank\" href=\"http:\/\/www.guademy.org\">Guademy<\/a>. Necesitaba tomarme un par de d\u00edas de descanso para quitarme de la cabeza el trabajo y las molestias de cuello, y nada mejor que Valencia, a casi mil kil\u00f3metros de distancia y con un clima mucho m\u00e1s benigno que el de Vigo para mis cervicales. Un viajecito en avi\u00f3n con escala en los Madriles y directo para la Universidad Polit\u00e9cnica. La verdad es que se nota la diferencia con la de Vigo, aunque s\u00f3lo sea porque all\u00ed todo es llano \ud83d\ude42 A ver cuando pasamos el Bulldozer por aqu\u00ed&#8230;<\/p>\n<p>Hubo varias charlas, aunque las que m\u00e1s me interesaron fueron, sin duda, tres:<\/p>\n<ul>\n<li>La charla sobre GTK 3.0: en ella, Carlos Garnacho nos explic\u00f3 los grandes problemas que la compatibilidad binaria est\u00e1 suponiendo de cara a a\u00f1adir nuevas funcionalidades en la versi\u00f3n 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\u00f1o de \u00e9stas permanezca invariable. La soluci\u00f3n actual consiste en reservar varios punteros, que apuntar\u00e1n (valga la redundancia) a los nuevos datos que se necesiten en el futuro, con todos los problemas que \u00e9sto 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 \u00abdesde el exterior\u00bb sea a trav\u00e9s de m\u00e9todos. De esta manera los programas simplemente trabajar\u00e1n con un puntero a la estructura, sin importarles lo que haya dentro. Han elaborado adem\u00e1s un plan de transici\u00f3n que facilite la migraci\u00f3n de las aplicaciones.<\/li>\n<li>La charla sobre el futuro de QT y WebKit. Aunque adoro GTK, reconozco que el <a target=\"_blank\" href=\"http:\/\/en.wikipedia.org\/wiki\/Qt_(toolkit)#Meta_object_compiler\">metacompilador de objetos<\/a> de QT es impresionante. Holger Freyther nos hizo una demostraci\u00f3n de como usarlo para ampliar <a target=\"_blank\" href=\"http:\/\/en.wikipedia.org\/wiki\/Webkit\">WebKit<\/a>, permiti\u00e9ndole acceder a objetos QT desde JavaScript con unas pocas l\u00edneas de c\u00f3digo. Pero lo que m\u00e1s me gust\u00f3 y sorprendi\u00f3 fue, sin duda, las nuevas capacidades de concurrencia de QT4, por su elegancia y simplicidad. La idea es aprovechar m\u00e1s los m\u00faltiples n\u00facleos de los procesadores actuales, simplificando la creaci\u00f3n de procesos concurrentes en los casos m\u00e1s habituales. El sistema que mostr\u00f3 era muy sencillo, pues s\u00f3lo permit\u00eda 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\u00edas de una carpeta). Aunque es cierto que no permite hacer cosas complejas, como dependencias (el proceso C s\u00f3lo 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.<\/li>\n<li>Por \u00faltimo, me gust\u00f3 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\u00e1s, al ser procesos independientes, el consumo de memoria se dispara. La soluci\u00f3n propuesta es Akonade, un peque\u00f1o gestor de bases de datos que aglutina toda esa informaci\u00f3n en un \u00fanico servidor, y permite hacer b\u00fasquedas muy complejas. Lo interesante es que lo que ha \u00abestandarizado\u00bb es la interfaz DBUS en lugar del servidor en s\u00ed, de manera que \u00e9sta se podr\u00eda implementar en, por ejemplo, Evolution, y los programas de KDE podr\u00edan acceder a los datos de Gnome y viceversa de manera sencilla.<\/li>\n<\/ul>\n<p>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\u00e1bado y en la playa el domingo. \u00a1\u00a1\u00a1\u00a1Un saludo a todos!!!!<\/p>\n<p>El resultado es que vengo cargado de nuevas ideas y ganas de seguir programando. Ahora s\u00f3lo me falta encontrar tiempo material para ponerme \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hace unos d\u00edas estuve en la Guademy. Necesitaba tomarme un par de d\u00edas de descanso para quitarme de la cabeza el trabajo y las molestias de cuello, y nada mejor que Valencia, a casi mil kil\u00f3metros de distancia y con un clima mucho m\u00e1s benigno que el de Vigo para mis cervicales. Un viajecito en &hellip; <a href=\"https:\/\/blog.rastersoft.com\/?p=40\" class=\"more-link\">Seguir leyendo <span class=\"screen-reader-text\">Valencia<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-40","post","type-post","status-publish","format-standard","hentry","category-sin-categoria"],"_links":{"self":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts\/40","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=40"}],"version-history":[{"count":0,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=\/wp\/v2\/posts\/40\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=40"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=40"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.rastersoft.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=40"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}