If you’re wondering, like me, why Firefox is reloading all of your App Tabs (even when you have explicitly selected the option “Don’t load tabs until selected”)? Well, the reason is a design/usability choice made by the developers. You can find the full discussion in this bug comments.

Luckily, they will add another option to change this behavior. This has been suggested on this bug report. Feel free to subscribe there to be notified when this has been solved. In the meantime, be patient while all of your apps load (evernote, facebook, grooveshark, feedly).

Para poder sincronizar mi iPhone o actualizarlo, necesito hacerlo en una máquina virtual.

Creo que desde que actualice a la versión 11.10 de Ubuntu no había necesitado conectar mi iPhone a iTunes en Windows pero el día llegó y, al conectarlo, Virtulabox no me mostró el iPhone en la lista de dispositivos USB. Fui a la configuración de los dispositivos USB e inmediatamente me mostró el siguiente error:

entonces era claro que lo que necesitaba hacer era agregar mi usuario al grupo “vboxusers”, fácil, no? pues no, resulta que no lo podemos hacer en la configuración de usuarios en Ubuntu 11.10, tenemos que hacerlo desde la consola :-)

Primero necesitamos ver si el grupo “vboxusers” existe, para ello ejecuta el comando “groupmod <TAB><TAB>” y te mostrará la lista de grupos que existen en tu sistema. Si no existe lo creamos mediante “groupadd vboxusers”.
Ahora hay que agregar tu usuario al grupo. Ejecuta el comando “sudo usermod -a -G vboxusers cirovladimir”, poniendo tu usuario obviamente :P

Reinicia tu sesión y vuelve a intentar entrar en la configuración de los dispositivos USB. Ya no debería mostrarte el error y al ejectuar la máquina debería mostrarte los dispositivos USB.

Fuentes:
http://www.liberiangeek.net/2011/10/add-users-to-existing-groups-in-ubuntu-11-10-oneiric-ocelot-2/

GWT – Depuración remota

diciembre 6, 2011

Si usas Linux, para ver como funciona tu aplicación en Internet Explorer, tendrás que hacerlo desde una computadora con Windows (sea virtual o no).
Yo intenté hacerlo desde una máquina virtual (virtualbox) pero no me mostraba la página.

Para poder depurar tu aplicación GWT desde una computadora remota debes agregar el siguiente parámetro a la configuración de depuración
-bindAddress 172.180.0.146
obviamente poniendo la ip de tu máquina :P

Con ello ya podrás depurar de forma remota.

Fuentes:
http://stackoverflow.com/questions/3944164/debug-gwt-application-in-a-remote-browser

Para crear un nuevo proyecto puedes utilizar un arquetipo (que es como una plantilla). Yo quería crear un proyecto de servicios web, y pues, ya existe un arquetipo que utiliza el Apache CXF Framework, se llama “cxf-jaxws-javafirst”. Puedes encontrarlo en el repositorio central aquí (versión 2.5.0).

Pues para mi sorpresa no se mostraba en el asistente de nuevos proyectos de maven, al parecer existe un problema con m2eclipse. Así que tendrás que crear el proyecto desde la línea de comandos de la siguiente forma:

mvn archetype:create -DarchetypeGroupId=org.apache.cxf.archetype -DarchetypeArtifactId=cxf-jaxws-javafirst -DarchetypeVersion=2.5.0 -DgroupId=com.acme -DartifactId=cxf-sample -Dversion=0.0.1-SNAPSHOT

Asegurate de modificar las coordenadas de acuerdo a tu proyecto :-)

Ahora que regresé a Ubuntu 10.10 tuve que instalar nuevamente algunas aplicaciones, entre ellas digikam. Al navegar en un albúm que contenía vídeos me di cuenta que no me mostraba las miniaturas (thumbnails) y al dar doble clic tampoco reproducía el vídeo, solo el audio.

En el foro de ubuntu te dicen cómo resolver este problema. Simplemente tienes que instalar los siguientes paquetes:

  • mplayerthumbs
  • phonon-backend-xine
  • libxine1-plugins
  • libxine1-ffmpeg

El primero para que digikam pueda crear las miniaturas y los demás para poder reproducir los vídeos. Se supondría que con esto ye debería funcionar.

Yo instalé todo el KDE y aún así no me funcionó :S

sudo apt-get install kubuntu-desktop

Esto te cambia la imagen de Ubuntu al cargar el sistema por la de Kubuntu, para solucionarlo ejecuta

sudo update-alternatives –config default.plymouth && sudo dpkg-reconfigure linux-image-`uname -r`

cuando te pregunte, selecciona ubuntu-logo.plymouth

Además de esto, también instale los paquetes ubuntu-restricted-extras y kubuntu-restricted-extras sin ningún resultado.

Hace poco instale la última versión de Ubuntu, la 11.10. Pues después de usarla por casi un mes ya no pude aguantar más, es demasiado lenta como para trabajar sin molestarme. Entonces decidí regresar a la versión 10.10 que recordaba tenía un rendimiento fabuloso. Después de volver a instalar la versión “vieja” fue sorprendente, me cambio la cara al ver que volvía a iniciar rapidísimo mi laptop y se apagaba en no más de 5 segundos, volví a utilizar una máquina virtual al mismo tiempo que compilaba algún proyecto, en fin, una maravilla.

Pero hay ciertas cosas que debes tomar en cuenta al regresar a una versión anterior de Ubuntu, la primera que noté es que después de haber instalado todas las actualizaciones que me notificaba, seguía con la versión 3.6.23 de Firefox. No lo podía creer, actualmente están por liberar la versión 8 de este excelente navegador. La última versión de Digikam no estaba disponible y supongo que muchas otras tampoco.

Desafortunadamente tendrás que buscar formas alternativas de instalar las últimas versiones del software que te interese (y yo que ya me había acostumbrado a obtener el software desde el Ubuntu Software Center con tan solo seleccionarlo).

Para instalar las últimas versiones de Firefox agrega el repositorio del mozilla-team mediante el siguiente comando

sudo add-apt-repository ppa:mozillateam/firefox-stable && sudo apt-get update

luego abre el Update Manager y te notificará que hay una actualización disponible para firefox

Otro repositorio PPA que contiene software muy interesante es el de Philip Johnsson.

Pues creo que tendré que volver a instalar el software de la forma antigua: configure, make, make install :-(

Fuentes:

http://ubuntuperonista.blogspot.com/2011/09/como-actualizo-firefox-602-en-ubuntu.html
https://launchpad.net/~philip5/+archive/extra

Tengo un proyecto en el que utilizo Jackson para serializar objetos al formato JSON. Esta aplicación la instalé en Jboss AS7 -generando un archivo war mediante Maven- pero al ejecutar la aplicación en el navegador me arrojaba el siguiente error:

java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.jackson.map.ObjectMapper

ó

java.lang.NoSuchMethodError: org.codehaus.jackson.type.JavaType.<init>(Ljava/lang/Class;I)V

El problema es que existe un conflicto entre las librerías de Jackson que utiliza Jboss para la implementación de JAX-RS y las dependencias de mi proyecto. La solución es configurar Jboss para que no cargué el módulo JAX-RS. Ve al archivo <jboss_home>/standalone/configuration/standalone.xml y elimina las siguientes 2 líneas

<extension module=”org.jboss.as.jaxrs”/>
<subsystem xmlns=”urn:jboss:domain:jaxrs:1.0″/>

Fuentes:

http://community.jboss.org/message/622012
http://forum.springsource.org/

Recientemente he comenzado a utilizar Maven.

En un proyecto en el que utilizo GWT, ejecutaba el comando “mvn clean package” para generar un archivo war que pudiera instalar en Jboss, pero cada vez que ingresaba en mi navegador a la aplicación me aparecía el siguiente error:

GWT module ‘averiguaciones_standalone’ may need to be (re)compiled

Pues hice lo que me pedía, presioné el botón GWT Compile para recompilar el proyecto

Volví a generar el war pero seguía sucediendo lo mismo.

Se supone que el plugin maven-gwt-plugin compila los módulos según se requiera o lo podemos obligar a realizar la compilación de la siguiente manera

mvn clean package -Dgwt.compiler.force=true

Esto tampoco funcionó. Intente  ejecutar “mvn clean compile” varias veces e incluso “mvn clean”, “mvn clean install”, etc. Pero no tuve éxito.

Finalmente me di cuenta que si borraba la carpeta src/main/webapp/<module> y volvía a ejecutar “mvn clean package” ya funcionaba correctamente.

El problema es que el plugin maven-resources-plugin copiaba los archivos compilados por GWT Compile (src/main/webapp/<module>) sustituyendo los archivos compilados por el maven-gwt-plugin y cómo la firma de los archivos no coincidía, pues me pedía recompilar.

Fuentes:

http://mojo.codehaus.org/gwt-maven-plugin/
http://groups.google.com/group/codehaus-mojo-gwt-maven-plugin-users/
http://code.google.com/webtoolkit/doc/1.6/FAQ_DebuggingAndCompiling.html

Pues ya hace algún tiempo que utilizo la tarjeta SAMS Style. Cuando la adquirí, uno de los atractivos era que te reembolsan el 2% de todas tus compras, a la fecha no he recibido ningún reembolso.
Está es la información que presentan en su sitio

Beneficios

2% de reembolso de todas tus compras en una tarjeta de regalo semestralmente

Para aprovechar este beneficio sólo tienes que:
    Comprar al menos una vez cada mes, durante seis meses
    Realizar tus pagos puntualmente antes o en tu fecha límite de pago
    En los 6 meses deberás acumular como mínimo compras por $6,000 pesos con tu Tarjeta Sam’s Club Style

No tienes limite, aplican todos tus consumos dentro y fuera de Sam’s Club ¡incluyendo compras a Meses sin Intereses!.
Sujeto a cambio sin previo aviso. Reembolso semestral válido a partir de septiembre del 2010. Consulta términos y condiciones en el Centro de Atención telefónica para Tarjetahabientes Sam’s. No aplican para disposiciones en efectivo.

Bueno, pues hablé al Centro de Atención para ver cómo me iban a hacer mi reembolso y lo que me dijeron fue que después de un año de tener la tarjeta cada seis meses se va a hacer el reembolso -siempre y cuando haya hecho compras por al menos seis mil pesos y no tenga retrasos en los pagos-. Esto no lo mencionan en su página.
Supuestamente en Enero me harán el reembolso enviando una tarjeta a mi domicilio o como una bonificación en mi estado de cuenta. La señorita con la que hablé no me dijo concretamente como llegaría el reembolso.

Al parecer tendré que esperar hasta Enero para saber si me hacen mi reembolso o no, pero estos comentarios no me dan muchas esperanzas. Veremos que pasa, ó me regresan el 2% ó cancelo la tarjeta y los mando a chingar a su madre!

Sin duda puedes utilizar Maven sin un administrador de repositorios. Pero esto sólo lo recomiendo si eres un programador solitario, no cuando formas parte de un equipo de desarrollo. Pero esta pregunta ya fue respondida en el sitio de Maven, así que sólo pondré aquí la traducción.

¿Porqué necesito un administrador de repositorios?

Los administradores de repositorios de Maven cumplen 2 propósitos: actúan como intermediarios altamente configurables entre tu organización y los repositorios públicos de Maven y también proveen a una organización con un contenedor para sus propios artefactos generados.

Usar un intermediario a un repositorio de Maven tiene ciertos beneficios. Intermediar acelera la compilación a lo largo de tu organización al instalar una copia local de todos los artefactos del repositorio central de Maven. Si un desarrollador en tu organización necesita descargar la versión 2.5 del Spring Framework y utilizas un administrador de repositorios; las dependencias (y las dependencias de las dependencias) necesitan ser descargadas del repositorio remoto sólo una vez. Con una conexión a Internet de alta velocidad esto no es una preocupación, pero si constantemente le pides a tus desarrolladores que descarguen cientos de megabytes de dependencias de terceros, los ahorros reales serán el tiempo que le toma a Maven buscar nuevas versiones de las dependencias y el tiempo para descargarlas. Proveer las dependencias de Maven desde un repositorio local puede ahorrarte cientos de solicitudes a través de HTTP, y, en la compilación de proyectos muy grandes y complejos, puede ahorrarte minutos.

Si tu proyecto confía en cierto número de dependencias de tipo SNAPSHOT, Maven necesita verificar si hay actualizaciones de estas dependencias. Dependiendo de la configuración de tus repositorios remotos, Maven buscará actualizaciones de estos SNAPSHOTS periodicamente, o incluso pudiera estar buscando actualizaciones cada que compilas. Cuando Maven busca actualizaciones necesita interrogar al repositorio remoto acerca de la última versión del SNAPSHOT. Dependiendo de tu conexión a Internet y la carga en el repositorio central de Maven, este proceso de actualización puede agregar segundos al tiempo de compilación por cada SNAPSHOT. Cuando tienes un administrador de repositorios local actuando como intermediario, tu administrador de repoistorios va a buscar actualizaciones de los SNAPSHOTS de forma regular y programada, y tu aplicación será capaz de interactuar con el repositorio local. Si desarrollas software que depende de varios SNAPSHOTS, utilizar un administrador de repositorios localmente muchas veces puede reducir minutos al tiempo de compilación de un proyecto grande y complejo, la búsqueda de actualizaciones en el repositorio central que toma entre 5 y 10 segundos se va a ejecutar en milisegundos.

Además de los simples ahorros en tiempo y ancho de banda, un administrador de repositorios provee a una organización con el control sobre lo que es descargado por Maven. Puedes incluir o excluir artefactos específicos del repositorio público, y el tener este nivel de control sobre lo que es descargado desde el repositorio central de Maven es un prerequisito para las organizaciones que necesitan un estricto control sobre las dependencias que son usadas a lo largo y ancho de la organización. Una organización que quiere establecer un estándar sobre una versión específica de una dependencia como Hibernate o Spring puede asegurarse de que se cumpla este estándar al sólo proveer acceso a una versión específica de un artefacto en el administrador de repositorios. Otras organizaciones pudieran estar preocupadas de asegurarse que todas las dependencias externas tengan una licencia compatible con las normas legales de esa organización. Si una corporación produce una aplicación que será distribuida, tal vez quiera asegurarse de no agregar desapercibidamente una dependencia a una librería de terceros que este cubierta por una licencia de tipo copy-left como GPL. Los administradores de repositorios proveen el nivel de control que una ogranización necesita para asegurarse que la arquitectura y políticas sean seguidas.

Ademas de los beneficios de mediar el acceso a los repositorios remotos, un administrador de repositorios ha probado ser escencial para la completa adopción de Maven. A menos que esperes que cada miembro de tu organización descargue y compile todos y cada uno de los proyectos internos, querrás proveer a los desarrolladores y departamentos de un mecanismo para compartir los artefactos de proyectos internos tanto SNAPSHOTS como versiones finales. Un administrador de repositorios de Maven provee a tu organización de dicho mecanismo. Una vez que instalas un administrador de repositorios de Maven, puedes comenzar a utilizar Maven para colocar tus snapshots y releases en un repositorio personalizado manejado por el administrador de repositorios. Con el tiempo, este contenedor central de proyectos internos se convierte en la estructura para la colaboración entre diferentes equipos de desarrollo.

También vale la pena mencionar el siguiente párrafo que encontré en uno de los libros de Sonatype, en la sección de agregar un repositorio a un grupo:

… te has encontrado con una situación en la que necesitas agregar dos repositorios a un proyecto para que se descarguen dos librerías (Google Caja and Google OAuth) que no están disponibles en el repositorio central de Maven. Si no utilizaras un administrador de repositorios, tendrías que agregar estos repositorios en la sección correspondiente del archivo POM del proyecto, ó tendrías que pedirle a todos tus desarrolladores que modificaran su archivo ~/.m2/settings.xml para hacer referencia a los dos nuevos repositorios. En lugar de eso, utilizaste el administrador de repositorios Nexus para agregar los dos repositorios al grupo público. Si todos los desarrolladores tienen la configuración para usar el grupo público de Nexus, puedes modificar o agregar nuevos repositorios sin tener que pedirle a tus desarrolladores que modifiquen su configuración, y además has obtenido cierto control sobre los repositorios que pudieran ser utilizados por tu equipo de desarrollo.

Fuentes:
http://maven.apache.org/repository-management.html
http://www.sonatype.com/books/nexus-book/reference/maven-sect-adding-to-group.html

Seguir

Get every new post delivered to your Inbox.

Únete a otros 40 seguidores