lunes, 29 de noviembre de 2010

Selección de noticias de la semana - 29/11/2010

Como cada semana, aquí está la selección de noticias, agrupadas por tema:

eAdministración:
Ciencia:

Tecnología:

Programación:

Matemáticas:

Humor y Curiosidades:

miércoles, 24 de noviembre de 2010

Uso de Apache Maven para gestión del ciclo de vida de aplicaciones Java

Hace tiempo que tenía ganas de escribir sobre las virtudes de Apache Maven. Para los que no la conozcáis, se trata de una potentísima herramienta para la gestión del ciclo de vida y dependencias de proyectos escritos en Java. Si conocéis ant, maven es una evolución que permite gestionar todas las fases de un proyecto java (compilación, ejecución de pruebas, despliegue en distintos servidores de aplicaciones, etc.) configurando todo esto en un fichero xml.
En ICM (Comunidad de Madrid) hemos creado un nuevo framework para el desarrollo de aplicaciones Java/J2EE (framework ATLAS), y maven es la herramienta sobre la que se sustentan todos los procesos del framework. Os comento algunas de las características de maven que me parecen interesantes, y cómo hacemos uso de ellas en ATLAS:
  • Gestión de dependencias:
    • Un proyecto gestionado con Maven no necesita incluir las librerías (jar's) dentro del proyecto, es decir, no necesitamos bajarnos todos los jar's de un proyecto y situarlos en el directorio de librerías. Para utilizar una librería desde nuestro proyecto, sólo hay que indicar la versión de la librería que deseamos utilizar en el fichero de configuración de maven (pom.xml), y maven se encarga de descargarla desde repositorios públicos existentes.
    • Además, si una determinada librería a su vez tiene dependencias con otras, maven accede de forma recursiva a estas otras hasta descargar todo lo necesario para que nuestro proyecto funcione (dependencias transitivas). Esta gestión de dependencias de los jars es muy potente, y nos permite resolver los típicos conflictos de versiones y duplicidad de librerías en aplicaciones Java.
    • En ATLAS todas las librerías que pueden ser incluídas en cualquier proyecto Java se publican en un repositorio propio al que los proveedores (los que desarrollan las aplicaciones) tienen acceso. Cuando un proveedor hace entrega de una aplicación, sólo entrega el código fuente y el fichero de configuración de maven (no entrega jars), y es durante la instalación de la aplicación en los distintos entornos de ICM cuando se descargan las librerías necesarias para compilar ese proyecto. Con esto nos aseguramos que ningún proveedor incluye en su aplicación una librería que no esté autorizada.
  • Control de Versiones:
    • En maven todo está versionado. Cualquier proyecto realizado con maven necesita tener una versión. Lo mismo sucede con todas las librerías de las que depende el proyecto.
    • Al estar gestionado por maven, todo en ATLAS también está versionado. Así, actualmente, cada mes publicamos una nueva versión/revisión del framework. Cada versión del framework puede utilizar distintas versiones de librerías, sin que ello suponga ningún dolor de cabeza (proyectos con versiones distintas del framework conviven sin problemas en el mismo servidor de aplicaciones). Cuando arranca un nuevo desarrollo, éste lo hace con la última versión de atlas disponible en ese momento. Las versiones liberadas de ATLAS no se modifican, por lo que el framework puede evolucionar sin el riesgo de afectar a los proyectos en curso.
  • Generación de Aplicaciones a partir de Arquetipos:
    • Maven permite la creación de plantillas de partida para aplicaciones, llamadas arquetipos. Con esto, cuando deseamos empezar un nuevo proyecto, en lugar de empezar desde cero podemos utilizar una de estas plantillas como punto de partida.
    • En ATLAS hemos creado varios arquetipos como punto de partida para las aplicaciones que deseen desarrollar los proveedores. Así, tenemos arquetipos para aplicaciones web, aplicaciones batch, librerías, servicios web, etc. Esto ahorra semanas de trabajo al proveedor, ya que al generar una aplicación desde un arquetipo ésta es totalmente operativa y contiene ejemplos de uso de todos los componentes de ATLAS.
  • Gestión de la configuración dependiendo del entorno:
    • Maven permite la creación de perfiles, que son distintas configuraciones del ciclo de vida de la aplicación. Al compilar y desplegar una aplicación podemos decidir activar uno de estos perfiles, y así se utilizará una configuración específica para realizar esta compilación/despliegue.
    • En ATLAS utilizamos los perfiles de Maven para configurar el despliegue de una aplicación en los distintos entornos (entorno de desarrollo, validación, preproducción, producción, etc.). El proveedor define todas las variables de configuración de la aplicación en un fichero llamado "environment.properties", que es distinto para cada entorno. Así, cuando el personal de ICM necesita desplegar una aplicación en un entorno determinado, sólo es necesario ejecutar maven activando el perfíl correspondiente a dicho entorno. Maven se encarga de desplegar automáticamente la aplicación en el servidor Weblogic del entorno especificado. Esto simplifica enormemente los procesos internos de despliegue de aplicaciones (incluidos los pasos a producción)
  • Desarrollo ágil con servidor de aplicaciones local:
    • Puede configurarse Maven para que automáticamente ejecute un servidor de aplicaciones y arranque la aplicación en la que estamos trabajando sobre dicho servidor (jetty, tomcat, etc.).
    • En ATLAS, aunque el servidor final en el que se despliegan las aplicaciones es Oracle Weblogic, se puede ejecutar maven de manera que levante automáticamente un servidor jetty para probar nuestra aplicación durante la fase de desarrollo. Esto acorta los tiempos de desarrollo, ya que para probar una aplicación web no es necesario generar el fichero ".war" y desplegarlo en un servidor, maven hace todo esto automáticamente.
  • Generación automática de un site en HTML con información del proyecto:
    • Con maven puede ejecutarse una tarea que genera automáticamente un site en HTML con toda la información relativa al proyecto (incluyendo JavaDoc, dependencias, y un montón de cosas más).
    • El framework ATLAS se acompaña de una normativa en la que se indica a los proveedores una serie de reglas a seguir para el desarrollo de aplicaciones. Además de utilizar la generación automática del site para todas las aplicaciones, hemos desarrollado un plugin propio que es capaz de publicar en este site un informe sobre el grado del cumplimiento de la normativa de una determinada aplicación. Esto supone un importantísimo avance y ahorre de tiempo respecto al procedimiento anterior (el proveedor no sabía si estaba cumpliendo bien o mal la normativa hasta que no entregaba la aplicación finalizada). Ahora, el proveedor puede ejecutar esta herramienta en cualquier momento, y corregir los incumplimientos de la normativa durante el desarrollo. Además, con esta herramienta se ha automatizado gran parte del procedimiento de comprobación de la calidad de un proyecto (realizado por un departamento interno de ICM), que anteriormente se realizaba de manera manual.
Estas son algunas de las virtudes de Maven, y me dejo muchas en el tintero. Al comenzar el desarrollo de ATLAS, maven era una simple herramienta de compilación, pero gracias a su potencia se ha convertido en la piedra angular sobre la que gira todo el ciclo de vida de las aplicaciones desarrolladas con este framework, ahorrando mucho tiempo y quebraderos de cabeza tanto a desarrolladores como al personal de ICM que se encarga de instalar y mantener las aplicaciones en los distintos entornos.

lunes, 22 de noviembre de 2010

Selección de noticias de la semana 21/11/2010

Como cada semana, aquí está la selección de noticias y posts interesantes:

eAdministración:
Ciencia:
Tecnología e Internet:
Programación:
Humor y Curiosidades:

Video: Chess Terminator ganando al campeón del mundo de ajedrez

Video de una interesante partida a 15 minutos finish entre Vladimir Kramnik (actual campeón del mundo en ajedrez), y Chess Terminator, un robot capaz de mover las fichas y dar al reloj él solito.

Visto en Gizmodo.

domingo, 21 de noviembre de 2010

Video: Steve Ballmer anunciando Microsoft Windows 1.0 en 1986

Quiero celebrar los 25 añitos que acaba de cumplir Microsoft Windows con este vídeo de Steve Ballmer allá por 1986 anunciando su software. El tipo está completamente pirado... como mucha de la gente de la que triunfa.

Y hablando de pirados, viendo este vídeo me he acordado del impresionante discurso de Steve Jobs que publiqué hace tiempo y que es uno de los mejores que he visto. Aquí os lo dejo, para los que no lo disfrutasteis entonces:

lunes, 15 de noviembre de 2010

Humor: Me he enterado de que han robado en el apartamento contigüo...

... ¿CONMIGÜO????

Selección de noticias de la semana - 15/11/2010

Como cada semana, aquí está la selección de noticias y posts interesantes:

eAdministración:
Tecnología e Internet:
Ciencia:
Programación:
Humor y curiosidades:

jueves, 11 de noviembre de 2010

Video: Una vida en facebook

Me ha gustado mucho este vídeo que he visto en Fayerwayer. Merece la pena verlo hasta el final, muestra toda una vida resumida en la red social, tiene toques muy originales.

martes, 9 de noviembre de 2010

Nueva web de Apertura de Datos de la Generalitat

Los rumores eran ciertos. La Generalitat acaba de hacer pública su nueva web de Datos Abiertos, en la que se incluye un amplio catálogo de datos. Puedes acceder a la web en Castellano o Catalán. La web incluye, entre otras funcionalidades, un canal RSS con novedades sobre el catálogo de datos. Los datos están clasificados en las siguientes categorías:
En la web también existe una zona de acceso a aplicaciones que explotan los datos, actualmente se ofrecen las siguientes:
No puedo evitar sentir cierta envidia sana al ver que otras comunidades autónomas se toman en serio el tema del Gobierno Abierto y la Apertura de Datos, mientras en la Comunidad de Madrid nos quedamos rezagados (si no parados) en este sentido. Mi enhorabuena a todos los que han participado directa o indirectamente en el proyecto, me llevo una muy buena primera impresión de esta web. Por mi parte haré todo lo que esté en mi mano para que algún día la historia de Benito sea una realidad.

Video: Fábrica hecha de lego... que puede crear figuras de lego!

Visto en Gizmodo, impresionante el vídeo de la fábrica que puede construir figuras de lego... y que está hecha de Lego!. Esta fábrica, hecha con 25.000 piezas de lego, permite crear modelos de 16 x 22 x 11 piezas y su almacén tiene 95 tipos de piezas distintos.

Resumen del Manifiesto: Los límites del 2.0 en los procesos políticos

A través de K-Government he llegado a este estupendo manifiesto sobre los límites del dospuntocerismo en los procesos actuales, y cómo las esperanzas de muchos sobre la apertura de la política impulsada por la red se han visto mermadas por la cruda realidad de la política actual. El manifiesto, coordinado por Edgar Rovira, se acompaña de 8 artículos que ilustran perfectamente estos límites. Como bien se menciona en la introducción, "La serie de artículos que acompañan a este manifiesto acude a los extremos en los que los logros se han estrellado contra las paredes y se han visto colapsados en esos estrechos pasillos. Su objetivo es profundizar en los límites del activismo político y social 2.0, de las transformaciones anunciadas y de las expectativas generadas.".
Para aquellos que no tengáis tiempo de leerlos en profundidad (cosa que aconsejo), aquí os dejo un resumen de los artículos:
  • No preguntes. No digas. (Albert Medrán): Habla sobre la opacidad inherente a los partidos políticos, y la resistencia innata a la transparencia (si el pueblo no sabe lo que hago... entonces tampoco sabe lo que hago mal). La necesidad de vencer esa opacidad, apoyados por las nuevas herramientas que aporta la red, es la que acabará por transformar realmente en 2.0 la política (transparente, colaborativa y conversacional).
  • La espiral del silencio, los movimientos sociales y la web 2.0 (Guillem López-Bonafont): Habla sobre los cambios que ha sufrido el antiguo monopolio de la información, impulsados por eso que llamamos el 2.0 (apoyados por la tecnología, que distribuye las fuentes de información y hace que cualquiera pueda ser escuchado). Estos cambios que propician la información descentralizada y anárquica están cambiando las reglas del juego definidas por la teoría de la Espiral del Silencio creada por Elisabeth Noelle-Neumann hace 20 años. Pero no todo es así de bonito, los partidos políticos, empresas y ONGs están utilizando la red social para popularizarse y así utilizar el propio medio para ponerle puertas al campo ("profesionalizar la red social" creando grupos de iguales en la red, y frenando con esto su libertad y apertura). De esta forma, la espiral del silencio no desaparece, sino que se adapta al nuevo medio tecnológico en el que ahora nos comunicamos.
  • Las relaciones políticas online y el ruido en campaña (Xavier Peytibi): Habla sobre la forma de hacer política en la web, que no se debe basar en "tener presencia en la web", tratando de reproducir en el mundo online lo que ya se hace en el offline: hacer marketing sin escuchar ni promover el diálogo. La política en la web se debe basar en crear tejido colaborativo, establecer conversación con los ciudadanos y hacerles partícipes de las decisiones que se tomen. Los políticos deben participar activamente en diálogos y conversaciones online y offline, acercándose al ciudadano. Me quedo con la frase: "La ciudadanía quiere cada vez menos ruido y menos propaganda. Quiere comunicación directa y soluciones, relaciones personales (online, pero sobre todo en persona), e incluso poder dar sus ideas y que sean escuchadas. Y quiere que la comunicación sea rápida, pero también sencilla, de tú a tú, amable, que responda a sus dudas a través de sus preguntas o proactivamente, pero que no se base en informaciones generales o solo en críticas al contrario."
  • Las campañas son otro 2.0 (Edgar Rovira): Trata sobre la utilización de las redes en las campañas electorales, y cómo este uso no se enmarca en el concepto de "2.0" que conocemos. Las aportaciones de las redes sociales a las campañas electorales pueden agruparse en dos grandes bloques: 1) La difusión de nuevos materiales (videos, etc.) especialmente preparados para las redes sociales y orientados a colectivos concretos, y 2) la coordinación de activistas para que lleven a cabo acciones de campaña. 
  • Administración 2.0, ¿tecnología o actitud? (Carlos Guadián): En este artículo se habla de las características que debería tener una Administración 2.0, y cómo se han ido definiendo las líneas en las que se debe basar esta Administración a lo largo del tiempo (desde el punto de vista tecnológico, y desde el punto de vista filosófico-social). Insta a las administraciones a dejar de ser meros actores reactivos en la red, cambiar de actitud y fomentar la "escucha activa". Algunas frases "Una Administración 2.0 no puede darse sin que se produzca un cambio de actitud en quienes gestionan los servicios, en quienes los ejecutan y sobre todo en quienes los reciben. La tecnología es importante, pero lo es más la actitud.". "No es suficiente ... usar determinadas herramientas o tecnologías sin realizar un uso adecuado. El cambio de actitud de la Administración, como del personal que la compone ha de ir hacia la colaboración, la escucha activa, la generación de conocimiento compartido.".
  • Internet crea nuevos límites (Jorge Galindo): El artículo tira por tierra algunos mitos sobre el uso de Internet por parte de los partidos políticos para lanzar campañas. El mito de "Hacerlo por internet sale más barato" cae por su propio peso cuando se plantean cuestiones como la dificultad de seleccionar los canales de difusión idóneos, personalizar el mensaje o luchar contra la cantidad de ruido que reciben los internautas para llegarles con un mensaje concreto. Asimismo, aunque es más fácil que el usuario se "haga fan" de una causa con un sólo click, es más difícil fidelizar su compromiso real. Por todo esto, hacer campaña en la red plantea nuevos retos distintos a los "offline" y hace que no sea tan fácil ni salga barato (si se quiere hacer bien).
  • El límite del 2.0 en la acción y el activismo social y político (José Rodríguez): Profundo análisis sociológico sobre las repercusiones de la red en las relaciones sociales y el activismo (tanto sus ventajas como sus límites). El principal límite es que el compromiso adquirido con un click es muy efímero, y "como viene se va", no tiene perdurabilidad en el tiempo. Sin embargo, este activismo apoyado por una movilización "analógica" y con liderazgo (no tan descentralizado) consigue mejores resultados. A largo plazo, el activismo online también puede generar discurso y "condicionar los valores y pensamientos mayoritarios de la sociedad".
  • Redes paralelas: internet como agente de separación (Roger Senserrich): El artículo, al igual que el de Guillem López-Bonafont, aborda los límites a la libertad de la red que se imponen con la creación de grupos de opinión que suelen centrarse en su discurso (por tanto, a muchos consumidores de información les llega sesgada, al igual que en los medios habituales cuando uno decide leer un periódico y no otro). También aborda las tácticas utilizadas por partidos políticos americanos, creando mensajes muy personalizados dirigidos a públicos específicos que consiguen movilizar estos colectivos muy eficientemente.

lunes, 8 de noviembre de 2010

Formulario para pedir a los diputados que rechacen la ley Sinde

Rellena el siguiente formulario
Rellenando el siguiente formulario puedes enviar un mensaje a los diputados/as del congreso español en relación a la aprobación de la Ley Sinde. Escríbeles lo que consideres oportuno pero sé respetuoso, solo de esta manera nuestras peticiones serán escuchadas.

Nombre:
E-mail:
Asunto:
Mensaje:
Más información: Activando esto expresas que deseas recibir información sobre futuras acciones.
Política de Privacidad
xMailer copyleft Isaac Hacksimov 2009-2010, licencia GPLv3, powered by Hacktivistas.net
Visto en el Blog de Enrique Dans. Si eres blogger o webmaster puedes integrar este formulario en tu página.

Delphi elegido mejor lenguaje de programación del 2010 en "The Code Project"

Gracias a mi compañero Javier he descubierto que Embarcadero Delphi fue el ganador del premio para el mejor lenguaje de programación en los premios anuales de The Code Project. The Code Project es una de las mayores comunidades de desarrolladores del mundo, con más de 7 millones de usuarios registrados.
Sólo llevo dos años trabajando para la Administración Pública, pero han sido suficientes para darme cuenta de la gran inercia que existe a todos los niveles (al menos en ICM). Me refiero a que la resistencia al cambio es mucho mayor de la que se podía esperar en la empresa privada, en la que se premiaban (al menos según mi experiencia anterior) las ideas innovadoras. Frecuentemente escucho de mis compañeros de trabajo alagos a lenguajes de programación cada vez más en desuso aquí (como Oracle Forms o Delphi). Frases como "Con Delphi no pasaba esto" o "Esto con Forms lo hacía yo en dos patadas" son típicas de la gente que se sigue agarrando con fuerza al pasado (a veces con razón y otras no)... pero los tiempos cambian y en el mundo de la tecnología mucho más rápidamente. En la Comunidad de Madrid el lenguaje Java es desde hace tiempo el elegido para el desarrollo de aplicaciones, y los nostálgicos poco a poco se ven obligados a adaptarse a los nuevos tiempos. Soy consciente de las virtudes de Forms y Delphi, pero me parecen mucho mayores las de Java (multiplataforma, gestión automática de memoria, etc.), y soy un firme defensor de este lenguaje de programación. Supongo que algún día me daré cuenta de que me estoy haciendo mayor, cuando me escuche a mi mismo diciendo "con Java no pasaba esto" :-)
Y tú, ¿Has programado tú en Delphi? ¿Qué opinas de este lenguaje?

domingo, 7 de noviembre de 2010

Selección de noticias de la semana 06/11/2010

Como cada semana, aquí está la selección de noticias y posts interesantes:

eAdministración:
Ciencia:
Programación:
Tecnología e Internet:
Humor y curiosidades:

jueves, 4 de noviembre de 2010

Humor: Extintor de fácil acceso

Me ha hecho mucha gracia este extintor que he visto en Gizmodo, muy útil ahí metidito dentro de su jaula con un candado... como para un apuro.