Anunciada la JavaCup 2008

La comunidad javaHispano, la revista Sólo Programadores y SUN Microsystems Ibérica son los organizadores, de la recién anunciada, JavaCup 2008.

Logo de la javacup

Para describirlo de forma rápida, la idea es parecida a esas competiciones entre equipos de robots-futbolistas que vemos de vez en cuando en algunas noticias. En este caso la forma de crear un equipo es con una clase Java que implementa una interfaz dada por el framework del juego, esta clase sólo se tiene que preocupar de la estrategia y el framework se encarga de toda la parte gráfica.

Los premios son 1500€, 1000€, 500€ y 250€ para los cuatro primeros además de una suscripción anual a Sólo Programadores; los ganadores se anunciarán en el OpenJavaDay a finales del mes de Junio en Madrid.

El año pasado estuve trasteando con el framework creando un equipo, me pareció bastante sencillo hacer algo, lo que no quiere decir que fuera competitivo y (como me pasa este año) por no tener tiempo no participé.

Google Summer of Code

Logo Summer of Code

Pues eso que me toca tener un verano de código. Me ha llegado la confirmación de que me han aceptado en el Google Summer of Code 2008, el programa de google para promover que estudiantes desarrollen código para proyectos open source durante el verano.

Como estudiante de la UOC (sé que debería dedicarle algo más de tiempo :P), tenía la opción de mandar mis propuestas a las organizaciones mentoras que google había aceptado, la cuestión es que depués de haber empezado a usar Grails y encontrarme con alguna necesidad o posibilidad de mejora, mandé un par de propuestas a codehaus (la organización bajo la que está Grails).

Finalmente me han aceptado el Include Plugin, aunque es muy probable que acabe colaborando de alguna forma también en el plugin de JCR, que era la otra propuesta que había enviado.

Vamos, una gran oportunidad para entrar a colaborar en un proyecto que, en mi opinión, tiene muchas posibilidades de conventirse en uno de los frameworks web java más utilizados. Además de tener como mentor a Graeme Rocher (líder de Grails) y tener contacto directo con Guillaume Laforge (líder de Groovy), de los que espero aprender mucho.

Por cierto, que no se me olvide felicitar a Alberto: Show file history as revision graph (Subclipse), a Juan Luis: Configurable PAM and NSS modules from the Debian Installer y a Néstor: Applying Gendarme to Mono (que aunque no lo conozca en persona me han comentado que también le han aceptado). Y también agradecer su "soporte" a Ignacio por resolverme las dudas respecto a la organización del GSoC y a Martín por hacerlo con varias sobre JCR.

Bueno, ahora sólo falta empezar a prepararse para el pistoletazo de salida del día 26 de Mayo, y por descontado que las cosas que vaya haciendo y que puedan resultar interesantes las iré contando por aquí.

Usando ExpandoMetaClass

Como ya comenté, una de las cosas interesantes que veía en groovy era ExpandoMetaClass.

Este sería un ejemplo de uso, añadiendo a la clase StringBuilder un método en tiempo de ejecución. Es un método para que se hiciera el append sólo si el parámetro pasado no es nulo, de esta forma nos podríamos ahorrar una buena cantidad de if si necesitaramos hacer esta comprobación antes de cada append.


StringBuilder.metaClass.appendNotNull={ str ->
if(str){
append(str)
}
}
//Lo usaríamos como cualquier otro método
StringBuilder builder = new StringBuilder()
builder.appendNotNull("hola")
builder.appendNotNull(null)
builder.appendNotNull("mundo")

Este ejemplo es un poco trivial, ya que se podría hacer esto simplemente creando una clase que extendiera de StringBuilder e implementando el método. Aunque por otro lado, si sólo necesitamos hacerlo en un punto de nuestro código, esta podría ser una solución.

Google App Engine

Ya se ha escrito mucho sobre Google App Engine, parece mentira que lo anunciaran ayer, pero la verdad que es realmente interesante el poder disponer de los mismos sistemas de google para escalar un proyecto web.

En español, unas revisiones que me han gustado mucho han sido las de Aitor García y de Ricardo Galli, por eso simplemente voy a dar algunas impresiones acerca de GAE.

Estoy convencido que supondrá un buen empujón a python como lenguaje, por ser hasta el momento el único lenguaje soportado. Imagino que no todos de esos 10000 desarrolladores que se han registrado a la preview release conocerían python, aparte de los que habrán empezado o empezarán en breve a estudiar la SDK.

La facilidad que les puede suponer para las startups contar con un sistema que saben que va a escalar perfectamente, empezando además con un hosting gratuito de 500MB de espacio en disco y poder servir 5 millones de páginas al mes.

Habrá que ver cómo responde Amazon, al ser GAE un servicio más orientado al desarrollador, teniendo "simplemente" que subir la aplicación, mientras que en Amazon parece que la combinación EC2+S3+SimpleDB no es tan sencilla. Y aunque ahora GAE sólo pueda usarse con aplicaciones en python, parece que google irá dando soporte a más lenguajes.

Por otro lado, también habrá que esperar a ver que movimientos hacen empresas como IBM, Microsoft, SUN o HP.

El mercado del cloud computing parece que se está poniendo competitivo y muy interesante.