Latest Entries

Trip to AAMAS 2008

Last week some of the KEMLg guys (Roberto, João, Javier, Guiem and I) spent some days in Estoril, attending the Autonomous Agents and Multi-Agent Systems (AAMAS) conference. It’s been the first time I go to such a big conference, with around ~450 participants.

One could think that an event of this sort can be quite boring. Well, at some specific sessions I got really bored, but attending the whole conference has really paid off. Many papers and specially the invited speakers have been quite interesting. In fact, the research field is very very broad at the moment and there are many topics that are worth checking. If I manage to get some time, I will try to post a review of the advances that seemed more interesting to me.

Concerning our participation, we all presented our papers on the Monday workshops (AHC and SOCASE). It was a funny experience, once we have gone through it. However, we have set ourselves the objective of getting papers accepted for the main conference ;)

The end of a (very) long day

Also, all the Contract presentations in the SOCASE workshop and the Industrial Track had a good attendance and a lot of feedback, and even opened the chance of collaborating with other business process and service contract related projects. It seems that the results of the project will have a fair amount of impact.

Anyway, the best part came after the conference finished, when I went to Porto and spent some days of relax thanks to the priceless hospitality of João. But that’s a different topic :) I have opened a Flickr set of the trip.

Un juguetito nuevo: el Lego Mindstorms

A principios de mes, Albert y yo nos agenciamos un juguete nuevo: el Lego NXT Mindstorms

La caja sin abrir del Lego MindstormsEl contenido de la caja del Lego MindstormsEl Tribot Lego Mindstorms

Habíamos estado mirando vídeos y alucinando con lo que se puede hacer con él, pero después de hacer un par de pruebas, parece incluso mejor de lo que parecía.

El Tribot, el ejemplo que viene en el manual y que se puede hacer en media hora, no está nada mal, pero está un poco limitado. Aquí tenéis un vídeo bastante cutre que muestra el Tribot moviéndose de manera aleatoria:

Ahora nos toca diseñar por nuestra cuenta una estructura suficientemente genérica como para implementar varias ideas que tenemos sin tener que tocarlo demasiado, y que además sea estable. Lo más probable es que acabemos haciendo algo parecido al Giant Wheel:

Está a años luz de hacer cosas espectaculares como el Rubik Cube Solver, pero ya llegaremos, pasito a pasito.

El Mindstorms viene con un firmware que admite programas hechos con un IDE hecho por Lego, pero ahora mismo estamos utilizando LeJOS que incluye un compilador de código en Java. Ya convenceré a Albert para probar la API para Ruby ;) Quién sabe, a lo mejor hasta le metemos un sistema de razonamiento de IA basado en BDI.

En fin, que después de haberlo probado, la compra no parece nada insatisfactoria. Si alguien se anima a sugerir alguna idea, o incluso se quiere apuntar a hacer algún día geek intensivo para probar locuras con el robotito, será bienvenido :D

¿Ruby o Python? Pues lo mismo da… mientras no sea Java

Durante las últimas semanas nos hemos cansado de patear Internet, intentando decidir un lenguaje de programación para un proyecto considerablemente grande. Conclusión: será Ruby o Python.

Hasta ahora había usado Java principalmente, tanto para cosas sencillas como para cosas complejas. De hecho, siempre había pensado que era un lenguaje bastante decente. Ja.

Puede que para proyectos pequeños sea un lenguaje incluso simpático, aunque obligue a escribir demasiado código comparado con otras opciones. Pero para proyectos grandes, donde debería ser el lenguaje dominante, es algo mastodóntico que no hay por dónde coger.

Es como cuando te tienes que enfrentar con la suegra. Sabes que la tienes que tratar bien, porque si no, te van a dar bien por el buffer. Pero lo mismo da, ya que por mucho que lo hayas intentado, las hostias te van a caer igualmente y probablemente tú no tengas la culpa.

Java es demasiado rígido.  Cada vez que hay que jugar con los tipos, como por ejemplo siempre que se utiliza una base de datos, la genericidad no es suficiente y hay que liarse a crear soluciones demasiado complejas y costosas de probar. Si hay que buscar maneras creativas de implementar algo, automáticamente el desarrollo se volverá ineficiente, y las horas delante del teclado acabarán por el desagüe casi sin darse cuenta.

Lo peor de todo es la gestión de las librerías. Es increíble que a estas alturas aún no haya un sistema mínimamente decente de versionado y compatibilidad de ficheros .jar. Me dijeron que probara Maven, pues tampoco. Al final acabas con toda una lista de posibles .jar, añadiéndolos uno a uno y probando la aplicación completa en busca de incompatibilidades. Y nunca estarás seguro del todo. Pues espérate, que cuando actualicen una de las librerías el lío aún va a ser más gordo, porque van a fallarte todas por efecto dominó.

Ni siquiera se puede defender ya que sea elegante. Cosas como las anotaciones lo sobredimensionan tanto que, por el camino que van, llegarán a traicionar la gran virtud que Java tenía en su nacimiento: esquivar los defectos del chapucero C++.

Por suerte siempre estará Eclipse para hacer la vida más fácil a uno. Pero sólo para J2SE, porque si hay que pelearse con J2EE sin NetBeans, prepárate para entrar en el Infierno. Aunque bueno, NetBeans es otro infierno en sí mismo, más pesado que una vaca en brazos y con tantos automatismos bastos que como necesites un mínimo grado de libertad vas arreglado.

Eso sí, comprendo que para según qué empresas, que puedan permitirse tiempos de desarrollo más amplios y no se salgan demasiado del ámbito de las aplicaciones de gestión, Java es bastante razonable.

Lo que nosotros buscamos es un lenguaje de desarrollo rápido pero escalable, que implemente la máxima del DRY, que permita soluciones creativas para algoritmos de IA y que además tenga un apoyo considerable de la comunidad.

Así que será cuestión de tirarse a la piscina. Ruby y Python parecen los lenguajes de moda y por algo será. Decidirse entre ambos ya sí que parece más complicado, ya que si eliminamos las opiniones de los fundamentalistas de cada uno, los que opinan de manera neutral no parecen decidirse por ninguno de los dos de manera clara.

De todos modos estoy ligeramente inclinado hacia Ruby. De eso tiene bastante culpa que tenga similaridades con LISP o Eiffel (el lenguaje de los que he tocado que más me ha gustado), o algunas features como los blocks o la metaprogramación.

Probando Twitter Updater…

Plugin obtenido de firesidemedia.net.

You’re pro or you’re a noob. That’s life.

Cuando tanta gente participa en una red virtual como World of Warcraft, leyendas como Leeroy Jenkins surgen siempre del modo más inesperado, y normalmente siguiendo un patrón viral.

Hace escasos días ha aparecido un nuevo caso. Se trata de Athene, un paladín del servidor europeo Emeriss con una posición privilegiada en los rankings de Arena PvP. Todo se originó con este post en los foros oficiales de WoW, en el que ofrece a la venta su equipo de Arena a cambio de dinero del juego y anuncia que acepta candidatos para su guild de PvE. Eso sí, todo en un tono de arrogancia, prepotencia y desprecio. Frases como “My guild will progress at 5 times the speed of any other guild, because I have the skill.” o “Dont reply if your a 1900 rated noob with epic gear from PvE, I only want the best PvPers. you must be almost as good as me to get in.” son toda una declaración de intenciones… y un flame que atrae a muchos trolls.

Sin embargo, después de las primeras dudas sobre la seriedad de Athene, el post fue aderezado con un vídeo en el que le podemos ver argumentando su postura. Es un vídeo que no tiene desperdicio y que a mí, personalmente, me ha hecho reír desde el primer minuto hasta el último segundo:

Hay muchísimo material de primera, pero para muestra, un botón:

(My Hearth Will Go On suena de fondo)
We play the music from Titanic because, when we play, people go down. Like in the Titanic.

Tanto en los posts de los foros de WoW como en la página del vídeo de YouTube, la respuesta, masiva, no se ha hecho esperar. La mayor parte de los comentarios intentan dejarle verde, insultarle o humillarle. Pero sólo unos pocos han reparado en lo que, a mi parecer, es lo más obvio: que todo esto no es más que una parodia, una auto-humillación, o simplemente un homenaje a otros vídeos, entre ellos los de PurePwnage. Y, si es así, han dado en el clavo porque, aunque no ofende quién quiere sino quien puede, hay demasiado viciado que no ha resistido la tentación de dejarse ofender y contestar.

De todos modos, también sospecho que algo hay detrás. Que bien podría ser todo una operación de marketing, ya que los que aparecen en el vídeo forman parte de movieLOL, un proyecto de cinematografía al que se puede llegar desde el pseudoblog de Athene. De hecho, en un making off de este proyecto, se les puede ver comentando la idea del vídeo WoWero:

Por cierto, la líder de movieLOL es Tania Derveaux, que hace unos meses se hizo notar tras prometer 400.000 puestos de trabajo y 40.000 felaciones como parte de su candidatura al Senado belga. De todos modos, lo de las felaciones tenía trampa: eran virtuales, a recibir en Second Life. Lo dicho, puro marketing.

Technorati Tags: , , , , ,

250 aplicaciones gratuitas para MacOS X

(vía Menéame)

Esta página recoge enlaces a unas 250 aplicaciones clasificadas en categorías, incluyendo productividad, juegos, desarrollo, gráficos, sonido, etc. Muchas de ellas ya las conocía, pero no deja de ser interesante tenerla en cuenta :)

Technorati Tags: , ,

La liebre y la tortuga… en redes de agentes

Hace unos meses, en un seminario del programa de máster y doctorado de Inteligencia Artificial de la UPC impartido por Julian Padget sobre comunidades de agentes, se nos encomendó un trabajo práctico consistente en analizar y presentar un paper de entre los escogidos por el ponente.

El que le tocó a mi grupo no era tan interesante, pero había uno particularmente curioso. Sofía y Carlos (Topopardo) presentaron el paper “The Parable of the Hare and the Tortoise: Small Worlds, Diversity and System Performance”, de David Lazer y Allan Friedman. La idea principal de este artículo es que, en contra de la creencia generalizada y el sentido común, las redes mejor conectadas o small-world no son siempre las más eficientes.

En el caso general, por supuesto, este tipo de redes funcionan muy bien y permiten acceder a información de manera rápida. Lo que Lazer y Friedman plantean es el caso en que los agentes no puedan permitirse un proceso de razonamiento temporalmente costoso y tiendan a escoger máximos relativos en vez de resultados perfectos o casi perfectos. En estos casos, según muestra el artículo, las redes mejor conectadas tienden a ser las menos eficientes en cuanto a la calidad de las soluciones locales. Esto sucede porque con una mayor cantidad de información disponible, se deja de lado la diversidad de las posibles soluciones en pos de la confianza en los vecinos. De hecho, apoyan estas conclusiones en simulaciones hechas con diferentes topologías, en las que las redes peor conectadas, las lineales, eran las más lentas pero con mejores resultados.

En el artículo se referencia un paralelismo entre estas conclusiones y la diferencia de velocidad de desarrollo entre Europa, Asia y América expuesto en “Guns, Germs and Steel” de Jared Diamond. La hipótesis en cuestión es que Europa consiguió dominar el mundo durante mucho tiempo gracias a que, aparte de tener un eje oeste-este con un clima adecuado, tiene una geografía peor que la de Asia, es decir, es una “low-interconnected network”. Las innovaciones agrícolas tardaron más en expandirse en Europa que en Asia, pero los avances tecnológicos a largo plazo fueron mucho mayores.

Si os interesa el tema podéis descargar aquí la presentación (PDF, 340kb).

Technorati Tags: , , , , ,

Lluvia de ceniza

He estado casi un mes de vacaciones en Grecia. A pesar de algunos detalles casi tercermundistas, como el sistema público de sanidad o el respeto por las normas viales, es un país imprescindible e ineludible, demasiado cerca como para perdérselo. Si uno huye de las rutas típicas, se puede encontrar con infinidad de pequeños lugares paradisíacos, lejos aún de la implacable marca del espécimen turista.

Athens on fireSin embargo, una de las experiencias más perturbadoras fue precisamente la última, la del día antes de marchar. Fue el 25 de agosto, el primero de varios días en que Grecia ocuparía los primeros minutos en los informativos de toda Europa, por lo menos. Decenas de incendios sembraron todo el país, de un lado a otro. Y uno de ellos fue en Atenas.

Fue el día más extraño de todos. Fuimos a ver la Acrópolis aquella tarde, en el centro de una ciudad vacía y de caras largas. Se hacía difícil respirar, y el pelo se llenaba de ceniza. El Sol se comenzó a poner a las 18h, por detrás de la densa cortina de humo.

Lo peor de todo,Weird sunset from Mount Acropolissegún oímos más tarde en las noticias, es que en cuanto el fuego se originó en Atenas, el gobierno decidió mover todos los recursos posibles de otros sitios que ya estaban en llamas. Era el peor escenario para que hubieran más incendios, un caos total del que todo el mundo maldecía. Y así fue, durante todo el día, la televisión no hizo más que anunciar más y más nuevos fuegos. Muchos de los sitios devastados fueron parte del road-trip que hicimos dos semanas antes, en el Peloponeso. Ni siquiera el bosque que rodea el antiguo estadio de Olimpia se salvó de quedar tocado.

Muchos dicen que el cúmulo de circunstancias ambientales ayudó a empeorar la situación. Pero no ha habido ninguna víctima política ni parece que vaya a haberla. Y aún así, en medio de los fuegos de la segunda semana del mes de agosto, el gobierno anunció elecciones anticipadas para el ¡15 de septiembre! Según las encuestas, revalidarán. Ver para creer…

Technorati Tags: , , , ,

Regular Expressions

Estos días estoy bastante ocupado con el Final Review de Provenance y me tengo que guardar muchas cosas para postear, como la llegada del iPhone. Pero os dejo una perla sacada de xkcd (click para ampliar):

Regular Expressions

Si no lo habéis entendido, tranquilos. Los enfermos somos los que pillamos chistes de este calibre xD

Technorati Tags:

Fare thee well my dear… hair

Después de 7 meses sin cortármelo. Echaré de menos mi indómito peinado, que algunos calificaban como setentero o Jackson Five.

Pse. Al menos no tendré que seguir aguantando las coacciones de mi madre :)

*snif*



Copyright © 2004–2009. All rights reserved.

RSS Feed. This blog is proudly powered by Wordpress and uses Modern Clix, a theme by Rodrigo Galindez.