viernes, 24 de julio de 2009

Ideas para cambiar el mundo: proyecto 10 al 100

Leyendo el blog microsiervos me he enterado del proyecto que Google ha lanzado con la intención de cambiar el mundo. "Menuda misión", pensará más de uno, pero es que me resulta ENORMEMENTE interesante la idea.

La cuestión es que, para celebrar el décimo aniversario de la creación de la empresa, Google lanza el concurso Proyecto 10 al 100 que consiste en una lluvia de ideas que puedan cambiar el mundo a nivel global. Se valorarán las ideas según el alcance, el impacto, la posibilidad de realización, la eficacia y el efecto que causaría y se destinará una suma de diez millones de dólares a las cinco mejores ideas enviadas.

Todos pueden participar en el concurso, aunque la convocatoria ya ha sido cerrada. Se han enviado un total de 150.000 ideas, lo cual indica que la selección será muy compleja.

Se ha habilitado la posibilidad de votar las ideas, aunque todavía no ha comenzado el periodo de votación. Podéis acceder a un formulario para que se os envíe una notificación de que ya podéis votar las mejores ideas a través de este enlace.

Me parece increíble la cantidad de gente con ganas de cambiar las cosas y seguro que habrá miles de ideas geniales.

Desde aquí aplaudo personalmente la iniciativa de Google y espero impaciente la publicación de las ideas para votar las mejores

Os dejo el video del concurso:



Un saludo
Juan Fernández

viernes, 5 de junio de 2009

Debugeo remoto con Eclipse y Tomcat

Para poder debugar en el Eclipse una aplicación alojada en un servidor remoto que contenga EXACTAMENTE tu mismo código, es necesario configurar
de la siguiente manera el Tomcat y el Eclipse.

Los pasos a dar son los siguientes:

0.- Antes de nada, parar el servidor

1.- En catalina.sh, escribir:
JPDA_TRANSPORT=dt_socket
JPDA_ADDRESS=8081 (un puerto de escucha)

2.- En Eclipse:
Run -> debug configurations -> Remote Java Application -> New Configuration:
Nombre del proyecto (tu código)
Ip del servidor que quieres debugear
Puerto de escucha (8081)

3.- Arrancar el servidor con la opción "jpda start"
./startup.sh jpda start

4.- Poner los breakpoints que quieras en el código

5.- ¡Listo!

Espero que sea útil.
Un saludo

[pd: gracias a Nacho por la explicación]

domingo, 31 de mayo de 2009

Ingeniería del Software... ¿utopía?

En estos últimos días he estado dándole vueltas a una idea, que la verdad no me deja vivir demasiado tranquilo.

En las consultoras de software como en la que trabajo, es tristemente habitual el trabajo improvisado, mal planificado, con muy escasa generación de documentación que pueda ser útil a los equipos de desarrollo... en fin, el día a día de muchos consultores: ¿qué os voy a contar?.

La cosa es que este desorden, este caos viene provocado por desórdenes anteriores, caos de base: malas ventas, ignorancia a todos los niveles de la jerarquía, falta de interés en la metodología, falta de formación y conocimientos básicos... y aquí viene el problema: "no hacemos las cosas bien porque no tenemos tiempo ni recursos, y no tenemos tiempo ni recursos porque no hacemos las cosas bien". Es decir, nos acostumbramos a "torear" los problemas en nuestro día a día y consideramos que esto es "lo normal de la consultoría", cuando realmente tenemos una serie de herramientas, legadas por nuestros "hermanos mayores del software", agrupadas bajo el nombre de metodologías de software que están precisamente pensadas para ayudarnos a evitar la cantidad de "marrones" que nos llueven a diario.

Tenemos unas valiosísimas recomendaciones extraídas de la vida real, surgidas de fracasos previos a los nuestros y aún así seguimos dándole la espalda.

Recientemente asistí a un curso para analistas software y en ella se dió una idea muy interesante, y esta es: "a pesar de que en tu empresa no se favorezca este tipo de "buenas prácticas", y aunque sea imposible introducir de forma rápida este cambio en la mentalidad de los equipos de desarrollo y en las consultoras en general, debemos luchar por el cambio desde la base.

Este cambio (que redundará sin duda en nuestro beneficio personal tanto como en el de la empresa) debe ser primero un cambio personal, en tu día a día, apostando por la ejecución de las buenas prácticas de la ingeniería del software a nivel personal, para luego extender esta filosofía a tu equipo de trabajo."

Evidentemente no estoy hablando de un cambio instantáneo, pero sí debe un objetivo a medio plazo, que no debe estar eclipsado por la histeria del día a día.

Escribiendo esto último se me viene a la cabeza la frase: "Que lo urgente no te impida ver lo importante", interesante máxima a aplicar en nuestra trabajo.

Espero vuestras opiniones al respecto. Yo por mi parte iré escribiendo los resultados de este "paradigm shift", este cambio de mentalidad.

Un saludo
Juan Fernández

viernes, 13 de marzo de 2009

Cómo reducir el consumo de memoria de Firefox

Se puede configurar el navegador para reducir los (escandalosamente) altos niveles de consumo de memoria ram que tiene si realizamos los siguientes pasos:

1.- Escribe en el navegador about:config

2.- Comprueba que la variable browser.cache.memory.enable vale "true"

3.- Pulsa el botón secundario y crea una nueva variable "Entero" que se llame "browser.cache.memory.capacity".

4.- Dale como valor dieciséis veces el valor de tu memoria RAM (por ejemplo, para 2GB de RAM el valor sería 32768 (1024*2*16= 32768))

5.- En Herramientas, Opciones, Privacidad:
5.1.- Guardar mi historial por al menos 10 días (o los que quieras, ¡pero más pequeño!)
5.2.- NO recordar las descargas

6.- Reiniciar el navegador

Espero que sea útil
Un saludo
Juan Fernández

martes, 17 de febrero de 2009

Cómo crear un archivo .WAR

Para crear un archivo web desplegable como aplicación web en un servidor, debes, utilizando la terminal de Windows (Inicio + Ejecutar + cmd) navegar hasta donde esté la carpeta raiz de tu aplicación (por ejemplo C:\servers\tomcat\webapps) y luego lanzar el siguiente comando:

jar cvf mifichero.war nombre_carpeta_aplicacion


en mi caso, por ejemplo la instrucción queda de la siguiente manera:

jar cvf liferay-portal.war ROOT

El archivo .war generado en la misma carpeta ya está disponible para desplegar en el servidor (pegándolo en la carpeta webapps del Tomcat y reiniciando, si usas Tomcat)

Un saludo
Juan Fernández