El asunto con /usr/lib/jvm/default-jvm

Probando Intellij IDEA tuve un problema ejecutando una app Maven, al parecer mi maven seguía tratando de ejecutarse usando el viejo JDK 1.6 y no el 1.7 configurado con sudo updade-alternatives –config java sucede que maven usa la variable JAVA_HOME y ésta se encuentra configurada para apuntar a /usr/lib/jvm/default-jvm que es un enlace al jdk por defecto del sistema. Solución, cambiar el destino del enlace (reemplazar jdk_name con el nombre de un jdk listado con el primer comando).

sudo update-java-alternatives -l
sudo update-java-alternatives -s jdk_name
sudo unlink /usr/lib/jvm/default-java
sudo ln -s /usr/lib/jvm/jdk_name /usr/lib/jvm/default-java
Anuncios

#lxde: configuración de distribución de teclado

Siguiendo con la actual tendencia de reemplazar aplicaciones que consumen muchos recursos de hardware por versiones más ligeras pero con funcionalidad equivalente -netbeans, gnote, etc- dejé de usar unity 2d -es una interfaz excelente…- para reemplazarla por lxde -si, se ve como win9x pero…- y para configurar las distribuciones de teclado tuve que acudir a la sabiduría de German Franco -tengo un teclado Latam y el de la laptop es US-, solo es necesario modificar el archivo ~/.config/lxsession/Lubuntu/autostart agregando el modelo, las distribuciones (entre comillas y separados por coma) y las variantes de teclado (una por cada distribución, también entre comillas y separados por comas):

@gnote
@setxkbmap -model pc105 -layout "us,latam" -variant "altgr-intl,"

Bonus: Podemos hacer la llamada a aplicaciones al inicio de sesión usando @ y la aplicación, en el ejemplo @gnote.

Más información sobre configuración de distribuciones de teclado en Linux aquí.

Infraestructura desarrollo gratis (I)

Una buena infraestructura ayuda a los equipos a sentirse a gusto y mejora la comunicación lo que hace mas fácil seguir una metodología de desarrollo ordenada y coherente, para ello existen actualmente muchas herramientas gratuitas. Estas son algunas alternativas:

Infraestructura gratis

Infraestructura gratis

  • Linux / freeBSD: Siempre un sistema operativo libre nos permite utilizar mejor los recursos físicos locales con los que contemos (y reutilizar hardware que no es de última generación).
  • Eclipse / Netbeans / Geany : Un entorno de desarrollo acorde con la tecnología que usemos para el proyecto ahorra tiempo en tareas comunes.
  • Google mail + docs + calendar / Zoho: Cuentas de correo con amplio espacio, cliente de mensajería instantánea e integración con documentos compartidos y organizados además de un calendario común mejoran la comunicación interna del equipo.
  • Wikidot / Google sites: Usar la documentación del proyecto como herramienta de conocimiento explícito y memoria del proyecto además de documentar desde el principio permite que la renovación y crecimiento del equipo humano sea más sencillo.
  • Bitbucket / Github / Xp-dev: El control de versiones de los productos / subproductos del proyecto junto con el manejo de incidencias permite que se mida el avance del proyecto.
  • AWS free: Un servidor común de administración propia con suficiente capacidad como para instalar un servidor de integración continua sin muchas complicaciones.
  • Maven / Ivy: La gestión de artefactos, dependencias, informes acerca del proyecto (pruebas unitarias, pruebas de integración, cobertura de las pruebas, etc) de forma común y centralizada permite hacer un seguimiento de la calidad de los productos / subproductos desde el principio.
  • Jenkins / Continuum: Un servidor de integración continua permite detectar fallos, centralizar pruebas, generar releases de forma automatizada.
  • Twitter: Comunicarse de forma rápida y sucinta con el equipo desde cualquier dispositivo móvil en cualquier momento.
  • Ifttt: If This Then That, permite integrar múltiples servicios web de forma ultra fácil.

En próximos post espero describir la forma de integrar varias de estas herramientas.