Algunas de las presentaciones del congreso javaHispano se pueden descargar en la página del programa. La organización anuncia que irán añadiendo las que falten a medida que los autores las envíen.
—–
Algunas de las presentaciones del congreso javaHispano se pueden descargar en la página del programa. La organización anuncia que irán añadiendo las que falten a medida que los autores las envíen.
—–
Stuart Mudie dice que yo soy un tipo generoso.
En realidad, yo creo que el generoso es él. Cierto, le envié un ejemplar de mi novela (escrita en colaboración con MIquel Barceló) y él a cambio me ha enviado un libro de Terry Pratchett (The Wee Free Men, para los curiosos). Díganme, ¿quién ha salido ganando?
Gracias Stuart.
Y sí, yo también opino que estos intercambios entre bitacoreros tienen mucho potencial.
Aquí mismo, a la izquierda, la lista de los veinte últimos comentarios (bueno, las veinte últimas entradas con comentarios).
—–
A los ponentes nos regalaban una taza de SUN:
Lo que pone es eso: «Why not?». No me queda claro qué han querido decir: ¿por qué no usar Java?, ¿por qué no beber café?, ¿por qué no en el sentido de por qué existe algo en lugar de nada?… Sea como sea, la taza está chula.
Me encantó este primer congreso javaHispano y estoy deseando la llegada del segundo. Lo pasé muy bien y tuve oportunidad de charlar con muchísima gente interesantísima. La organización trabajo duramente en todo y los horarios casi se cumplieron. Me fastidió un poco no poder disponer de red inalámbrica, pero eso realmente no era labor de la organización (de todas formas, me arreglé con teléfono GPRS). Incluso, en el colmo de la amabilidad, a los ponentes nos dieron de comer.
Lo que más me gusta de una reunión así es poder entrar en contacto con otra gente del mismo campo. Vuelves con una sensación total de renovación y con ganas de hacer cosas. Además, las experiencias fueron muy variadas y diferentes y te ofrecían una sugestiva visión de la amplitud de Java como lenguaje y como plataforma. Eso sí, aún charlando con tanta gente, eché de menos más pasillo. Otra vez. Y espero mantener contactos por email y en algunos casos en persona.
Para terminar, algunas fotos sueltas que han quedado por ahí.
En primer lugar the gang of four: Fernando Bellas, Martín Pérez, Abraham Otero y Alberto Molpeceres.
Una imagen de la presentación de Fernando Bellas. En concreto, el modelo MVC:
Un momento de la presentación sobre refactoring. La pantalla era ciertamente grande y el escenario enorme (a mí que me gusta moverme me resultó genial):
Y por último, Mario Camou Fernando Chimeno de SUN, a cuya presentación sobre las novedades en J2SE 1.5 no pude asistir por problemas de tiempo. Me hubiese gustado mucho haber ido, porque algunos de los cambios introducidos en Java me interesan mucho.
Martín Pérez se explica de maravilla. No sólo eso, sino que además sabe de qué habla. Nos ofreció un gran repaso, «Arquitecturas para el desarrollo de aplicaciones en J2EE», de las nuevas arquitecturas de la plataforma J2EE. SUN, después de años de defender EJBs poco más o menos como la solución perfecta a todos los males del mundo, ha acabado admitiendo que los programadores están haciendo las cosas de otra forma (en lo que yo llamo «La rebelión de los POJOs») y adoptando distintas soluciones para problemas diferentes. En ese espíritu, Martín nos explicó nuevos patrones, nuevos diseños y nuevas formas de hacer las cosas.
A destacar su asombrosa capacidad de síntesis. En un simple cuadrito era capaz de dejar claro las similitudes y diferencias entre EJB, JDO y Mapeo O/R.
—–
La presentación de Miguel Ángel Abián, «El proyecto ECOS: papel de Java en la interoperabilidad del comercio electrónico entre empresas del sector del mueble», podría dividirse en dos partes clares pero interconectadas. Por una lado, una muy buen justificación del uso de Java en este tipo de proyectos -y también su ejecución en sí- y por otro una demostración del sistema desarrollado. La segunda parte puede tener más interés, evidentemente, para personas relacionadas con el mundo del mueble y la madera -del que curiosamente yo estoy cerca- pero la primera interesaría a cualquier programador Java que buscase defender esa plataforma en su empresa o ámbito de actuación. Explicar un poco el porqué de Java es de agradecer, porque en muchas ocasiones, y más en actos como un congreso, su uso se da por supuesto sin mayor justificación.
Miguel Ángel defendió el uso de Java al tratarse del primer lenguaje creado pensando en la red. Consideró en el mismo contexto el uso de patrones y XML, destacando como elemento importante de XML que es autocontenido. En su opinión, la industria del software europeo debe sustentarse sobre estándares abiertos, XML y Java. Vivimos en un buen momento, nos dijo, en una UE dispuesta a dar dinero ahora para el desarrollo de software en lugar de pagarlo mañana en forma de patentes extranjeras.
Con ECOS nos presentó un servicio orientado a nivelar el territorio de juego para todas las industrias del mueble, capaz de crear un bucle cerrado que cubra desde la petición hasta el servicio, creando un método común de trabajo. Lo describió orientado al mundo del mueble, aunque destacó que podría ser válido para cualquier industria.
—–
Javier Pedrero en «Plataforma para la separación dinámica de aspectos» nos mostró la que debe ser una de las mejores explicaciones de la programación orientada a aspectos que he visto nunca. Clara y precisa. Un trabajo brillante.
Luego, ya se lanzó a explicar la plataforma en concreto que han diseñado y confieso que me perdí por completo. Parecía interesantísima, permitiendo entre otras cosas cambios dinámicos de aspectos (en lugar de en tiempo de compilación como es habitual con herramientas como AspectJ). En algunos momentos la arquitectura parecía totalmente barroca.
Eso sí, no me quedó claro qué problema se suponía que resolvía. Eso fue un problema de falta de tiempo en la presentación. Aún así, el trabajo presentado era impresionante.
—–
«Agentes móviles par dispositivos de conexión Bluetooth» fue la aportación de J. A. Royo. En prime lugar nos ofreció una semblanza del mundo tal y como será cuando los agentes software anden corriendo por ahí pasando de un dispositivo a otro. Luego nos contó cómo se hace eso en el mundo real que no es tan fácil como decirlo.
A partir de Linux Familiar y Java 1.2 nos mostró un sistema de obtención de software por medio de agentes. En particular, un interesantísimo catálogo de software.
Durante el turno de preguntas un miembro del público manifestó su escepticismo. Es verdad que un mundo de agentes de software requeriría conexiones permanentes e inalámbricas a internet y que también o es solución para todas los problemas. Sin embargo, tal y como se mostró en la presentación, claramente resuelven algunos problemas y posiblemente otros muchos que no sabemos que tenemos y que por tanto los agentes están aquí para quedarse.
Aún así, veremos qué nos depara el futuro.
—–
El sábado por la tarde nos quedaba tiempo y quedamos con algunos ilustres bitacoreros. Fue una velada muy agradable, llena de risas y de charla interesante. Víctor Ruíz, y dios de Blogalia, sigue sin salir en las fotos, pero curiosamente sus manos sí que salen (aunque no las dos simultáneamente):
También vino Chus con su novio Canopus. Como sólo conocíamos a Canopus por su bitácora y el irc (canal #blogalia) nos esperábamos una especie de Fonz bajando de su moto. Qué sorpresa al encontrarnos con un hombre normal. Eso sí, de mirada interesante:
Y por allí también andaba el genial Webensis, autor de esa maravilla llamada Paleo-Freak, bitácora imprescindible para los amantes de la evolución, la genética y el pensamiento serio. Por desgracia, condicionantes ajenos a mi voluntad me impiden revelar detalles sobre el aspecto físico del homo webensis. Sólo puedo decir que se da un aire a un Prince jovencito. Como no hay foto suya, pongo la de un edificio alto que corría por allí:
Pasamos un rato muy divertido y puedo decir con toda seguridad que no muerden (sobre todo Víctor). Por tanto, si tienen la oportunidad de conocer a un bitacorero, no lo duden, son inofensivos y la experience es enriquecedora.
En Kabuki (avda. Presidente Carmona 2, 91417 64 15) todo está bueno. Delicioso añadiría yo. En un ambiente agradable y bonito te sirven una comida japonesa exquisita.
Tempura:
Sushi:
Sashimi:
Yakitori (un pollo muy rico):
Y Gyutataki, que es un sashimi de lomo de buey. Un sabor muy intenso:
Como me suele pasar, salí de allí muy triste. Me encanta comer y claro…
Aquí estamos, en el aeropuerto otra vez para regresar al sitio. Me quedan todavía algunas presentaciones de javaHispano de las que hablar y lo haré a lo largo de la tarde o mañana. Y por ahí tengo recomendar el restaurante oriental en el que comimos el viernes y hablar de nuestro encuentro bitacorero el sábado. Pero todo tendrá que esperar el regreso a casa.
—–
Madrid puede ser muchas cosas, pero también es una ciudad con cines en versión original. Por tanto, nos metimos a ver Crueldad intolerable, la más reciente comedia de los hermanos Coen. Y sí, efectivamente, se nota que es de ellos.
Para empezar, es muy inteligente y el personaje central, el abogado interpretado por George Clooney, es una delicia y uno se imagina a pocos actores capaces de sostenerlo. Los diálogos son agudos e ingeniosos. Catherine Zeta-Jones está divina y se lo pasa genial con su personaje antagonista. Geoffrey Rush y Billy Bob Thornton sale en dos papeles brevísimos pero tan dinámicos y arrolladores que es perfectamente comprensible que decidiesen aceptarlos.
Es decir, está llena de momentos brillantes y muchos elementos para disfrutar. Y sin embargo, por alguna razón, los elementos nos acaban de juntarse para formar una película del todo satisfactoria. No quiero decir con ello que sea mala, está muy bien y vale la pena verla, sino que se pierde la sensación de estar viendo una obra completa. Digamos que a pesar de contar una historia de principio a fin no acaba de parecer una unidad.
Aún así, los detalles compensan ampliamente el ir a verla. Y por otra parte, hay pocas cosas más hilarantes que ver a George Clooney haciendo muecas para comprobar el blanco de sus dientes.
Hace poco el suplemento cultural Babelia dedicaba un espacio a hablar de novelas con ciencia, es decir obras que usasen la ciencia para contar sus historias. Loable iniciativa, pero al final decepcionante: se limitaron poco más o menos a hablar del technothriller del futuro (que desde un punto de vista científico tiene poco interés) y de algunas obras de ciencia ficción (género que tiene convenciones propias que en muchas ocasiones lo aparta de la ciencia). Las novelas sobre la ciencia (como El dilema de Cantor, El universo de un joven científico o El quinteto de Cambridge) quedaban curiosamente olvidadas.
Por suerte, cuando la prensa nacional no da la talla a veces la extranjera compensa. Ayer en el IHT (el periódico que, curiosamente, leo cuando viajo aunque venga a Madrid) reproducía de The New York Times un interesantísimo artículo sobre ese tipo de novelas. «Art and science meet with novel results«, firmado por Emily Eakin, se llama el invento y la verdad es que la autora se lo ha currado. Aprovechando el lanzamiento de Radiant Cool de Dan Lloyd se lanza a explorar ese apasionante punto de convergencia de científicos que escriben novelas y novelistas que se acercan a la ciencia.
La descripción de Radiant Cool es ciertamente llamativa. Se trata de una novela negra, con sus personajes siniestros y su plan para controlar el mundo. Pero también es el vehículo elegido por el autor para difundir su hipótesis sobre la consciencia. Es más «readers soon find themselves enrolled in a heady tutorial on Husserl, phenomenology, neural networks and multidimensional scaling». De hecho, el autor afirma que empotrar su hipótesis en una novela era la única forma de exponerla correctamente. Y para aquellos que no consigan entenderla en la ficción, el libro incluye un apéndice explicativo de 100 páginas.
A partir de ese punto, detalla otras novelas de planteamientos absolutamente fascinantes. Faster Than the Speed of Light de Joao Magueijo (físico teórico) sobre la posible no constancia de la velocidad de la luz. Turing (A Novel about Computation) de Christos Papadimitriou (informático). The One True Platonic Heaven de John Casti (matemático) sobre lógica cuántica con apariciones estelares de Einstein, Godel, Oppenheimer y von Neumann. O Properties of Ligh un romance sobre mecánica cuántica scrito por Rebecca Goldstein (filósofa).
Eakin tiene incluso tiempo (sacándole un asombroso partido a sus cuatro medias columnas) de realizar una semblanza histórica y poner los dientes largos para terminar. Resulta que Papadimitriou está preparando su segunda obra. En palabras del propio autor:
It’s called Logicomix. It’s a graphic novel and mathematical biography. It traces the story of the development of logic throughout the 19th and 20th centuries and how it led to computers. It’s an incredibly sad human story because most of the people involved ended up insane.
Nada, que nos ha dejado unas ganas locas de comprarnos esos libros. Miraremos mañana por si hay suerte en la casa del libro. Si no, siempre nos quedará Amazon.
El muy buen traductor, y todavía mejor autor, Rafael Marín pasaba unos días en Madrid recluido en un convento (en uno de esos curso de adoctrinamiento para profesores, ya saben). Como el hombre tenía un par de horas libres nos lo llevamos a comer.
Hablamos de todo, como es natural siendo Rafa un conversador genial, especialmente de Buffy y Angel y de simbolismos y metáforas en esas dos series magníficas. También comentamos qué bien estaría una serie con Spike de protagonista.
Y ya que estamos, de Rafa recomiendo encarecidamente su Lágrimas de luz.
Me han dicho que él es el jefe. Habló sobre Liberty, pero yo no pude ir. Pero aquí está su foto:
—–
«Un enfoque basado en patrones para le enseñanza de J2EE» de Fernando Bellas fue una muy interesante charla sobre las dificultades (y cómo evitarlas) cuando uno se plantea enseñar la tecnología J2EE.
J2EE ofrece un gran número de tecnologías. ¿Cómo explicarlas a alguien que sólo conoce el lenguaje Java? En lugar de explicar «API tras API» propone explicar tecnología y diseño de manera integrada por medio de patrones. Su reflexión es que es difícil entender las abstracciones de una tecnología si no se conocen los patrones de diseño del dominio en el que se aplican y tampoco es posible aplicar la tecnología de manera eficaz si no se dispone de un método de ingeniería claro (esto copiado de las transparencias).
Planteó una serie de problemas: Muchas descripciones de patrones asumen EJB, faltan formatos estándares de documentación de patrones, los libros se limitan por lo general a explicar el código, es difícil explicar sin código (Pet Store no es práctico debido a su gran tamaño) y J2EE está en continuo crecimiento y modificación lo que dificulta estar al día.
La enseñanza se plantea bajo un enfoque Modelo, Controlador y Vista aplicando los patrones convenientes a cada caso. En particular, trató la creación de la capa de modelo comentando que la mejor forma de diseñar esa capa es en forma de una api sencilla que proporciones una operación por cada caso de uso. La forma de trabar es muy orientada a un buen diseño.
¿Cómo explicar EJB? Pues la conclusión es que es fácil si se conocen los principales patrones de la capa modelo en JDBC y si se conoce RMI. Al final el resultado es un método de ingeniería para el diseño e implementación de aplicaciones empresariales con J2EE con una filosofía de desarrollo incremental.
Posiblemente la charla con el título más largo «Fragile Methods: Métodos ágiles (y cómo evitarlos), Métodos prudentes (y cómo ponderarlos)» y ciertamente la más divertida. Ricard Devis cargó contra todo y no dejó títere con cabeza: XP, UML, XML, XSLT, etc. Era, en su propio definición, una e-arenga y además todo un ejemplo de domino del escenario. Mira que la zona de conferenciantes es enorme, pues al tío parecía que se le quedaba pequeña. Impresionante.
Por supuesto, eso no implica que uno esté de acuerdo con lo que dijo. Posiblemente él mismo tampoco. A posteriori, destilando su presentación, tanto lo que dijo como lo que podía leerse en las transparencias (densas y llenas de letras, como si nos desafiase a leerlas enteras antes de cambiarlas) parecía venir a decir que todo hay que tomárselo con mesura y no llevar las cosas al extremo. Si se coge una tecnología y se exagera usándola para todo, al final acabaremos con algo peor de lo que pretendíamos sustituir inicialmente.
«Refactorización». Una repaso a las técnicas de la refactorización y a las mejores prácticas. Destacaron como principal oposición a la refactorización el factor humano: «De este proyecto yo paso. No entiendo nada» añadiendo que es preciso refactorizar lo antes posible. Entre las mejores prácticas, distinguieron entre refactorizaciones grandes (1.- Define y aísla la refactorización, 2.- Vuelve atrás a la versión anterior estable si te pierdes y 3.- Usar las pruebas como guía) y trabajo en equipo (1.- Define y comunica cultura de diseño, 2.- Comunica la refactorización a priori, 3.- Reuniones de diseño).
—–
«Mecanismos de serialización en J2ME». Guillemo Diez-Andino nos habló de esa «carencia» de la plataforma J2ME y de los intentos de crear un mecanismo de serialización para J2ME. Entre los problemas que comentó estaba que J2ME no soporta el mecanismo de reflection muy ligado a la serialización, por tanto, cualquier implementación requiere la intervención del programador al no poder hacerse del todo transparente. De hecho, después de explicar cómo funciona el mecanismo de serialización que han implementado, propuso entre las líneas futuras el generar automáticamente algunos de los métodos necesarios.
—–