lunes, octubre 27, 2008

Anunciando Jobsket

lunes, octubre 27, 2008 por Martín



Hoy es un día especial porque por fin puedo anunciar el proyecto en el que he estado trabajando con Dani, Jordi y Mamen.

Se trata de Jobsket y por ahora no puedo dar mucha información :) Simplemente os puedo decir que es una aplicación web orientada al mercado laboral y de búsqueda de empleo, y que pretende hacer que sea mucho más sencillo el hacer esto último, buscar trabajo.

Hasta el momento, el feedback que tenemos de amigos es bueno, y todos coinciden en lo mismo, el enfoque muy innovador que planteamos. Os puedo asegurar que la web es totalmente diferente a los que estáis acostumbrados en el mundillo. Así que no puedo recomendaros más que os paséis por la web y os registréis.

El siguiente reto para Jobsket será el lanzamiento de la beta privada. No me atrevo a daros ninguna fecha ahora mismo, pero somos optimistas ya que lo que nos queda realmente es trabajar en el diseño de la web e ir encajando todos los componentes. Una vez que esté todo listo iremos avisando, por orden de registro, a las personas que se hayan apuntado en la web. ¡¡Y estamos realmente ansiosos de que esto sea muy pronto!!

viernes, octubre 24, 2008

Sonar, gestión de calidad del código y Open Source

viernes, octubre 24, 2008 por Martín



Un compañero de trabajo me enseñaba hace unos días una herramienta Open Source que no conocía y que me ha parecido realmente muy buena. Se trata de Sonar, una herramienta de gestión de la calidad del código fuente para Java.

La idea es muy simple. Sonar consiste en un servidor web y una base de datos donde se van almacenando métricas sobre nuestro código. La parte cliente está basada en Maven, e integra una serie de productos de sobra conocidos, como son Cobertura, PMD o Checkstyle, de forma que cuando hacemos una build Sonar envía todos estos datos al servidor donde se almacenan y agregan para mostrar información útil sobre el proyecto.



La instalación es muy simple y en su web tienen un tutorial que te muestra como usar Sonar en 2 minutos. Ahora bien, doy fe que para proyectos grandes puede dar algunos problemas. Yo lo he probado en el trabajo y me he encontrado con algunas dificultades:

  • La base de datos por defecto (Derby) se queda pequeña fácilmente, así que tuve que utilizar un Oracle Express que tenía por ahí.

  • Si usas Maven 2.0.9 hay que eliminar toda extensión cargo-webdav que tengamos en los poms ya que si no se producirá un error.



El proyecto tiene un servidor de demo con estadísticas de proyectos conocidos, pero para demostrar que no es truco me decidí a probarlo con jLibrary, y a mostrar estadísticas para verguenza personal :)

Lo único que hay que hacer es arrancar el servidor de sonar, irse al directorio del proyecto y en vez del típico mvn clean install ejecutar mvn org.codehaus.sonar:sonar-maven-plugin:1.4.2:sonar. Muy sencillo.

Así que vamos allá, lo primero sería la compatibilidad con reglas, buenas prácticas y convenciones de código. Ahí no hemos acabado demasiado mal:



Que por cierto, si navegas por los paquetes te lleva a nivel de clases y si pinchas en una clase te muestra el código fuente coloreado y con tooltips mostrándote cuales son los problemas. Muy útil y muy sencillo.




Entrando ya en temas escabrosos, podemos irnos a la pestaña de métricas que es mucho más interesante. Argh! 10% de cobertura y 12% de test success. Shame on me! La verdad es que ahí se muestra uno de los problemas del proyecto y es que los tests están diseñados para ejecutarse desde una única suite y no individualmente, por lo que la mayoría fallan y por lo tanto hay muy poca cobertura. La excusa para esto siempre fue el tiempo de ejecución de los tests (para que crear un documento en 100 tests si ya lo hago en uno), y acelerar un poco las pruebas. Pero bueno, es una muy mala práctica y no es algo que le pueda recomendar a nadie.



Y en las estadísticas Sonar te muestra también la evolución temporal de todas las métricas. En mi caso como sólo ejecuté Sonar una vez, no hay nada que ver, pero la siguiente imagen muestra la evolución de Wicket:



Más métricas por aquí...




Bueno, y ya quedaría la compatibilidad con reglas:



Y la complejidad de las clases:


Como veis esta herramienta muestra mucha información, y super sencilla de utilizar. Definitivamente pasa a mi caja de herramientas.

lunes, octubre 20, 2008

Las 5 cosas que más me gustan de grails

lunes, octubre 20, 2008 por Martín



Que desastre, este post llevaba 10 días como draft, pero bueno, que al final he sacado un rato para que vea la luz.

Durante los últimos meses he estado trabajando con Grails para un proyecto personal con unos amigos. La tecnología la elegimos poco después de empezar este año con el principal objetivo de aprender sobre algo de lo que se estaba hablando mucho y bien.

Empezamos nuestra andadura con algo que no estaba todavía en la versión 1.0 y estamos casi terminando a alturas de 1.0.4 y cerca de la 1.1, por lo que bueno, a pesar de que no me considero un experto en el tema ni mucho menos sí que creo que puedo expresar mi opinión personal con autoridad. Así que este post se lo dedicaré a las cinco cosas que más me gustan de Grails y un post futuro estará dedicado, por supuesto, a las cinco que menos me gustan.


  • Es muy fácil crear aplicaciones: Yo creo que esto es probablemente lo más pragmático de grails y se gana el primer puesto por ello. El ponerte en la línea de comandos y ejecutar grails create-app MiApp y tener rápidamente una aplicación web completa funcionando. El ejecutar otro par de comandos y tener tu modelo, vistas, controladores y servicios listos para utilizar hacen de Grails una herramienta muy poderosa, quizás la más poderosa en Java en estos momentos para la creación de prototipos y pruebas de concepto rápidas ya que sin exagerar nada en 30 segundos tendrás tu aplicación ejecutándose en Jetty con Hibernate y Spring. QuickStart


  • Por fin crear tests de integración es sencillo: Esta es la funcionalidad que más me ha gustado, y es que con Grails ejecutar tests de integración es realmente sencillo. Tan sencillo como ejecutar grails create-integration-test y grails se encargará el solito de inyectar todos los servicios que utilicemos en el test así como la conexión a la base de datos. Por defecto grails utiliza una base de datos HSQLDB en memoria para ejecutar los tests y borra su contenido entre test. Más sobre testing aquí.


  • Integración con Spring: Para los que siempre hemos sido más javeros que otra cosa la integración con Spring es sin lugar a dudas el factor más decisivo a la hora de decantarse con grails. Grails permite acceso desde servicios y controladores a cualquier bean de Spring y lo contrario también se cumple, es decir, se puede acceder a cualquier servicio de grails desde Spring, aunque cierto es que es necesaria alguna triquiñuela como hacer que dichos servicios implementen una interfaz Java para salvar el gap entre el mundo estático y el dinámico. Aquí más sobre Spring y Grails.


  • La comunidad es muy activa:
  • Este Domingo por la mañana estaba echándole un vistazo al correo y me di cuenta que había bastantes correos sin leer en la carpeta de Grails. Le fui a echar un vistazo y me fijé que en la última hora habían llegado como unos 10 o 15 correos nuevos. No creo que exista esta métrica para medir lo activas que son las comunidades, pero desde luego que el número de mensajes un domingo por la mañana llegue a los treinta o bien indica que la comunidad es activa o que los usuarios están o bien borrachos o bien muy aburridos. En el caso de Grails creo que es lo primero. Hay montones de mensajes cada día y es fácil el ver tus dudas resueltas en unas horas. En este enlace están los enlaces a las listas de correo.

  • Vistas y controladores: Las vistas y controladores son probablemente la parte que más me gusta de Grails. Nada nuevo por aquí ya que todos los conceptos vienen de Rails que ya ha demostrado de sobra su éxito como framework para desarrollo web. Lo sencillo y rápido que es crear y mapear todos estos componentes junto con los diferentes constructores que están disponibles para gestionar la request, hacer binding de parámetros, controlar la response, etc. etc. hacen que sea muy sencillo el crear páginas web, que al final es lo que interesa. El enlace correspondiente

    Los que conozcáis Grails os habréis dado cuenta de que he excluido los servicios, y es que personalmente yo hubiera preferido aquí una estrategia mucho más a lo Appcelerator en la que simplemente se invocasen endpoints proporcionados por Spring. Personalmente, prefiero mis servicios echos en Java que en Spring, así que para mi hubiese tenido más sentido una aproximación más de ese estilo, y a parte creo que sería más útil para el framework que sus desarrolladores se concentrasen en la pare de vistas, controladores, javascript, etc. que es donde hace un poco más agua Java y dejasen de lado los servicios, que ahí hay material de sobra que reutilizar.



Pues nada, en breve (espero) una lista con las cinco cosas que menos me gustan de Grails. O quizás sean más, que yo soy muy protestón ;)

lunes, octubre 13, 2008

WebSphere: Para tiempos de crisis, informes afines.

lunes, octubre 13, 2008 por Martín

Yo ya no me sorprendo demasiado con este tipo de informes:



WebSphere v7 parece realmente potente. Tampoco me extrañaría que estuviese realmente en el primer lugar, a fin de cuentas es un buen software, aunque nunca haya conocido a nadie que hable bien de él salvo administradores de sistemas que estén ya acostumbrados al mismo y hayan hecho sus cursos y por lo tanto sean totalmente contrarios a un cambio.

Pero... ¿Geronimo en segundo lugar? No conozco a nadie ni he visto ningún proyecto en Internet que lo utilice. ¿Alguien lo usa realmente? ¿ColdFusion encima de JBoss, Glassfish, WebLogic? ¿WebLogic es el séptimo?....

Como han cambiado las cosas :-)

Visto en TheServerSide. A Rich Sharples de JBoss no le ha parecido bien. A mi me ha parecido gracioso. Pero bueno, ya se sabe que a nadie lo despiden por elegir IBM...

jueves, octubre 09, 2008

Knight News Challenge: 5 millones de dólares para proyectos sociales Open Source

jueves, octubre 09, 2008 por Martín


Estamos en época de crisis. La bolsa se hunde y los bancos apenas disponen de liquidez. Aún así, todo el mundo comenta que emprender en Europa es muy complicado, y los emprendedores sufren para encontrar capital de riesgo. Con este panorama iniciativas como el Knights News Challenge toman mucho atractivo.

Se trata de un concurso en el que se reparten 5 millones de dólares en premios para proyectos y aplicaciones basadas en Software Libre y centradas en el desarrollo comunitario. Redes sociales, blogs sobre temas que afecten a la sociedad, herramientas para acercar las tecnologías a comunidades de ciudadanos, etc. Cualquier proyecto es válido con tal que cumpla los siguientes tres requisitos:

  1. Ha de liberarse como software libre.

  2. Ha de servir al interés público.

  3. Ha de beneficiar a una o más comunidades geográficas.



Y para probar que la gente gana, se puede echar un vistazo a los ganadores del 2008 y 2007, que como veréis son proyectos normales y corrientes.

¿Alguien se anima? Se me ocurre que los chicos de Linking Paths podrían tener mucho que decir con su flamante Tog.

martes, octubre 07, 2008

Facebook viene a Dubiln

martes, octubre 07, 2008 por Martín


La comidilla de la semana pasada por aquí era que Facebook se viene a Dublín. Han decidido establecer sus cuarteles generales internacionales en Irlanda, como no debido a las ventajas fiscales que, a pesar de la recesión, la isla sigue ofreciendo.

La verdad es que todavía no se sabe nada sobre la localización de las oficinas, aunque como ya comentaba lo que se sabe es que estarán en Dublín. No me extrañaría que saliesen apuestas en Paddy Power, porque la verdad es que puede caer en cualquier parte. Tenemos a eBay, IBM y Amazon al norte, Oracle en el este, Intel en el oeste, Google en el centro y Microsoft al sur, entre muchas otras.

La compañía ya está anunciando unos 20 trabajos en su web con destino Dublín, todos relacionados con mantenimiento operativo y lenguajes, lo que incluye por supuesto roles de atención al cliente en español. Así que a más de uno quizás le interese si está pensando pasarse por Dublín. En teoría la idea es crear unos 70 trabajos. Por aquí con lo que les gusta Facebook creo que va a haber una marea de candidaturas, estoy seguro que los recruiters de la compañía van a estar muy ocupados, y es que parece que al final habrá en Dublín una compañía más cool para trabajar que Google :)

Os dejo algunos enlaces a notas de prensa:

http://www.rte.ie/news/2008/1002/facebook.html
http://www.entemp.ie/press/2008/20081002.htm
http://news.slashdot.org/article.pl?sid=08/10/03/149219&from=rss
http://www.insideview.ie/irisheyes/2008/10/three-reasons-f.html

miércoles, octubre 01, 2008

Transparencias de la JAOO 2008

miércoles, octubre 01, 2008 por Martín


Esta semana se celebra la JAOO 2008 y conforme han ido pasando los días han ido poniendo las diferentes transparencias en la web. Ahora mismo hay un buen montón sobre temas muy defentes, pero vaya que las hay que realmente prometen.

La verdad es que había empezado a hacer una lista con los títulos de todas las que me interesaban pero he parado porque la lista me estaba quedando enorme. Escalabilidad, Arquitectura, Metodologías Ágiles, Ruby, REST, Java, Cloud Computing, ...

En especial, la serie de charlas del Martes que parece que estaban dedicadas a Arquitectura parece super-super-super interesante. En fin, una envidia el no poder estar ahí pero habrá que aprovechar para empaparse del conocimiento que emanan estas jugosas transparencias :-)

miércoles, octubre 01, 2008 por Martín

Un clásico...



Via Oracle AppsLab blog.