15 diciembre 2010

Uninstall Netbeans from Ubuntu

Desintalar Netbeans de Ubuntu
Lo único que necesitamos para desinstalar Netbeans de Ubuntu es buscar el script encargado de esto. Obviamente esto es para aquellos que como yo instalamos Netbeans descargandolo desde http://netbeans.org/ para Linux. El script para eliminar el netbeans se encuentra en la carpeta raíz del netbeans, que por lo general se encuentra en el home.

Al ejecutar el script aparecerá una pantalla similar a la siguiente la cual te pregunta si deseas conservar las instancias de servidor que tengas instaladas y la carpeta de configuración del netbeans.

Happy coding!

08 diciembre 2010

Digital trash

Siempre que se aproxima el fin de año no puedo evitar pensar que cada año la Web se llena de más basura y grandes compañias gastan millones para soportarla.
Antes la pubicación en la Web era un asunto serio y ahora no controlamos nuestra libertad, dicho esto no puedo dejar de pensar en que el caso Wikileaks podría darle a los gobiernos un pretexto para controlar los contenidos por cuidar la "seguridad nacional". La red debe ser neutral y nadie nos puede quitar la libertad de publicar lo que nosotros queramos, pero, ¿Por eso tenemos derecho a llenar la red de basura sin contexto, absurda y plagada de una falsa falta de conciencia sobre el recurso tan valioso que representa esta para nuestra vida presente y futura?
Al final del día la contaminación en la nube se perfila a transformarse en un problema de las mismas dimensiones que el calentamiento global del que tanto escuchamos.

Todo esto bien vale que escriba más al respecto ...

11 octubre 2010

Desplegar una aplicación de grails que usa el Jasig CAS support for the Spring Security plugin

A veces el uso de nuevas tecnologías implica una extensa investigación para la resolución de problemas, ejemplo el deploy de una aplicación Grail 1.3.x en Glassfish. Esta ocasión quiero escribir un consejo para aquellos que estén usando Jasig CAS support for the Spring Security plugin y deseen desplegar su app en un serverlet container o bien un servidor de aplicaciones como lo es GlassFish. ¿Por qué hay necesidad de hacer esto?, principalmente por un bug que existe al momento del despliegue y en el proceso de creación del bean "casServiceProperties". El mensaje de error que aparecerá es similar a este:

2010-07-23 16:00:22,061 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] ERROR StackTrace  - Sanitizing stacktrace: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'casServiceProperties': Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'groovy.util.ConfigObject' to required type 'java.lang.String' for property 'artifactParameter'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [groovy.util.ConfigObject] to required type [java.lang.String] for property 'artifactParameter': no matching editors or conversion strategy found at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527) 
at org.codehaus.groovy.grails.commons.spring.ReloadAwareAutowireCapableBeanFactory.doCreateBean(ReloadAwareAutowireCapableBeanFactory.java:135) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) 
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) 
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1317) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1076) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) 
at org.codehaus.groovy.grails.commons.spring.ReloadAwareAutowireCapableBeanFactory.doCreateBean(ReloadAwareAutowireCapableBeanFactory.java:135) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)

La forma más simple de solucionar esto (workaround) es declarar en el Config.groovy todas las posibles propiedades que necesita el plugin, esto quiere decir que debemos declarar todas las opciones que nos dice la documentación del plugin y el resultado será semejante a esto:

//Config for CAS server grails.plugins.springsecurity.cas.loginUri = '/login'
grails.plugins.springsecurity.cas.serverUrlPrefix = 'http://server:8080/casserver'
grails.plugins.springsecurity.cas.serviceUrl = 'http://localhost:8080/app/j_spring_cas_security_check' 
grails.plugins.springsecurity.cas.filterProcessesUrl = '/j_spring_cas_security_check' grails.plugins.springsecurity.cas.key = 'my_key' 
grails.plugins.springsecurity.cas.sendRenew = false 
grails.plugins.springsecurity.cas.artifactParameter = 'ticket' 
grails.plugins.springsecurity.cas.serviceParameter = 'service' 
grails.plugins.springsecurity.cas.useSingleSignout = true  
grails.plugins.springsecurity.cas.proxyCallbackUrl = null 
grails.plugins.springsecurity.cas.proxyReceptorUrl = null 
grails.plugins.springsecurity.logout.afterLogoutUrl = 'http://server:8080/casserver/logout?url=http://localhost:8080/app/'

Y con eso ya podremos desplegar nuestro WAR sin problemas en nuestro server.

07 octubre 2010

Root a tu Android a un click de distancia

Después de hacerle root a mi Xperia X10 en las pasadas semanas me animo a compartir el "como" pues hasta ahora no he tenido ningún problema.
  1. Esto ha sido probado en xPeria x10 y xPeria x10 mini
  2. Descargar el programa UniversalAndRoot (Ni tan universal, pero muy bueno)
  3. Una vez descargado lo pasamos a nuestra SD card
  4. Exploramos la SD Card (Recomiendo buscar en el market File Manager)
  5. Una vez localizado el archivo UniversalAndroot_1.6.1.apk lo ejecutamos
  6. Al terminar la instalación abrimos la aplicación Universal Androot, seleccionamos nuestra versión de android y damos en Root; enjoy!
  7. Además también se instalará una app para el control de los permisos de Superusuario en la cual podemos controlar a quien le damos permiso o a quien no, descuida entra también de forma automática cuando una app quiere permisos de root.
  8. Si ya no quieres ser root también está la opción de Unroot, bueno a estas alturas creo que ya lo has notado, pero más vale confirmar.
Compatible con:
  • Google Nexus One (2.2)
  • HTC Hero (2.1)
  • HTC Magic (1.5) (también 1.6)
  • Dell Streak (2.1)
  • Motorola Milestone (2.1)
  • Motorola XT701
  • Motorola XT800 (2.1)
  • Motorola ME511
  • Sony Ericsson X10 (1.6)
  • Sony Ericsson X10 Mini Pro (1.6)
  • Acer Liquid (2.1)
  • Vibo A688 (1.6)
  • Lenovo Lephone (1.6)
Disclaimer: Todo gran poder con lleva una gran resposabilidad, la cual yo no compartiré.

Update: Hacer root a un Android es útil para ciertos propósitos, pero no para todo mundo. Lo mejor para saber como hacer root ex buscar en los foros de XDA developers.

03 octubre 2010

Actualizar Ubuntu 10.04 a 10.10 de forma rápida


Por que una imagen vale más que mil palabras:
  1. Alt-F2
  2. update-manager -d
  3. Comprobar actualizaciones
  4. Actualizar el sistema
  5. Actualizar a 10.10
  6. Disfrutar

01 septiembre 2010

Apple cada año hace lo mismo, ¿De que me sorprendo?: Apple Evento Especial


¡Steve al escenario!
Pues hoy hubo evento de Apple y a está hora ya se habrán enterado de todo lo nuevo que trae apple para lo que resta del año. La mayoría de la gente paro por la mañana (hora México) para leer o ver la presentación de la mano de Tío Steve, en la cual, se mostraron las nuevas generaciones de iPod nano, iPod Shuffle y por supuesto iPod Touch. Además de nuevos iPods también se anunció una nueva versión de Hardware de la Apple TV, lo cual indica que nuevamente Apple va con todo del lado de entretenimiento. Otra cosa sobre saliente es Ping, una red social para música que llega de la mano de la nueva versión de iTunes, si otra versión (Hubo gente que se confundió por este nombre y publicaron cosas absurdas [El iPod más moderno se llama Bing]). Aprovechando el tiempo se anuncio la nueva versión de iOS (iOS 4.1) y se aviso que también se tendrá pronto una versión 4.2, y se presento una nueva plataforma para juegos multijugador llamada Game Center, usando esto como pretexto se presento Mike Capps de Epic Games para mostrarnos un nuevo juego de acción y rol el cual lleva por nombre Project Sword.
Todo lo anterior fue un resumen y si desean más detalles sobre el evento les dejo una liga donde podrán encontrar más detalles [Evento musical de apple]

Además les dejo la liga de los expresso que sacamos en itertulia referente a este evento
Descargar - Express @sauljetsmi [SG Virtual Conference y Evento musical Apple]
Descargar - Express @itcollaborative [El antipodcast hacia Apple]

Ligas de interés:
Portal de la revista SG
Agenda del Evento SG Virtual Conference
Evento musical de Apple Engadget

16 junio 2010

Deploy en GlassFish v3: Web Applications de Grails 1.1.1 y 1.3.1

GlassFish una excelente opción de código abierto: Deploy
Después de un rato de frustración por errores de configuración por fin logre desplegar más de 1 aplicación Web desarrolladas en Grails y con distintas versiones del framework (1.1.1 y 1.3.1). Para empezar hay dos forma de hacer un deploy en GlassFish, una en consola del SO y la otra con la consola de administración de GlassFish (Administration console). Yo uso la segunda opción por que es más fácil memorizar pantallas que comandos, pero no es bueno no tomar en cuenta lo poderosa que puede ser una consola en tareas administrativas con un grado mayor de complejidad.
Una vez que ya se haya instalado el GlassFish correctamente para hacer un deploy de forma rápida tenemos que ir a la sección de Applications en donde encontraremos un pequeño administrador para hacer deploy.
Pantalla 1 .- Consola de Administración de GlassFish en la sección de Applications

Al dar clic al botón deploy aparecerá un formulario donde tendremos que buscar en nuestro equipo el WAR que vamos a desplegar, el tipo de objeto que será desplegado, el nombre con que será llamado e identificado ,el servidor virtual donde se alojará, entre otras. Antes de querer desplegar una aplicación con Grails recomiendo descargar este HelloWorld y subirlo a GlassFish para estar seguros de que GlassFish está funcionando correctamente.
Pantalla 2.- Formulario para subir y desplegar un aplicación en GlassFish

 Al finalizar el deploy corremos la aplicación entrando a http://localhost/helloWorld o con la liga de Launch en la sección en donde empezamos (Applications).

Desplegar una aplicación Grails versión 1.1.1
Este escenario no necesita una configuración especial, sólo hay que seguir el proceso normal de deploy y no es obligatorio crear un WAR sin JARS (grails war --nojars). A diferencia de Tomcat, GlassFish si te permite montar varias Grails app con todos sus JARS pero el problema comienza cuando tienes aplicaciones con versión 1.2.2 a 1.3.1, hasta ahora con estás he tenido problemas; por lo general el mensaje de error es similar a esto: 
An error has occurred
There is no installed container capable of handling this application
com.sun.enterprise.deploy.shared.FileArchive@1e46947
Desplegar una aplicación Grails versión 1.3.1
El caso de aplicaciones de versión 1.3.1 es especial por que el archivo MANIFEST.MF que se genera en el WAR crea conflictos en el proceso de deploy que usa GlassFish. La solución o Workaround no está del lado de GlassFish sino en la cancha del core de Grails, por tanto tendremos que modificar un archivo de nombre _GrailsWar.groovy que se encuentra en /tu_grails_folder/scripts que es el script que se encarga de la construcción del WAR. Lo que hay que hacer es buscar las siguiente líneas y comentarlas:

 // OSGi bundle headers
attribute(name:"Bundle-ManifestVersion",value:"2") // <-- Está se comenta
attribute(name:"Bundle-Name",value:"${grailsAppName}") // <-- Está se comenta
attribute(name:"Bundle-SymbolicName",value:"${grailsAppName}") // <-- Está se comenta

 Entonces ahora cuando se construya un WAR con versión 1.3.1 el archivo MANIFEST.MF no tendrá los elementos que le crean conflictos al GlassFish. Ahora si, al hacer el WAR y desplegarlo en GlassFish no mostrará ningún mensaje de error y como dije esto es un WorkAround y es posible que pronto haya una mejor solución para esto.
Espero que esto le sea de utilidad y las fuentes del siguiente artículo son las siguientes:
Gails 1.2.2 and GlassFish

Update: La modificación del _GrailsWar.groovy funciona también para las versión 1.3.2 y 1.3.3 de Grails

08 junio 2010

Una semana con muchas manzanas : iTertulia Express 3 y 4

¿Por que además de publicar en iTertulia lo hago en mi blog personal?, buena pregunta ... y creo que lo hago para dar a conocer a la gente que lee mi blog que también hago un podcast y quizás a futuro haga otro por mi cuenta que hable de Anime e informática, y eso si será un reto.
Es raro cuando creamos una entrada de iTertulia con Express, pero está vez se juntaron lo que consideramos dos muy buenos express con el fin de la temporada 1 de iTertulia que da paso al primer aniversario y al inicio obviamente de una nueva temporada. Para no hacer tan largo el post y con el deseo que se descarguen los podcast para digerirlos lo más pronto posible les dejo a continuación las ligas esperando que sea de su agrado nuestro nuevo material:


Descarga Podcast Express 3 - Conferencia D8, Computex y las tablets

Descarga Podcast Express 4 - iPhone 4G ¿Lo quieres?

Si gustán pueden dejarnos comentario o bien seguirnos en Twitter a la cuenta de @itertulia o a las cuentas de los podcasters (que bonito se oye): @sauljetsmi y @itcollaborative

11 mayo 2010

Instalar XAMPP en Ubuntu: PHP + MySQL + Apache

Como desarrollador prefiero instalar para desarrollo un "bundle" con el entorno de trabajo necesario para desarrollar; es mucho mejor que con una única instalación tengas todo lo que necesitas. Los bundles más comunes son para programar con PHP y en está ocasión quiero hablar sobre XAMPP un instalador sencillo de Apache que contiene MySQL, PHP y Perl. Otra de las ventajas que podemos encontrar es que puede correr sobre Linux,Mac OS y Windows, aunque me concentraré en la forma de instalarlo en Ubuntu, pero para WIndows o Mac OS es praticamente lo mismo: Extraer y ejecutar.

  1. Lo primero es descargar el paquete de la Web Oficial, tu decides si bajas una Beta o versión estable: Descarga XAMPP para Linux.
  2. Una vez descargado, abres una terminal y te sitúas en la carpeta donde se allá descargado XAMPP, en mi caso esta en mi carpeta home.
  3. Ahora ejecutamos un simple comando para extraer el contenido del archivo empaquetado en la carpeta /opt del sistema, y debe ser en está pues hay varias referencias sobre esta carpeta en la configuración del XAMPP.


    sudo tar xvfz xampp-linux-1.7.3a.tar.gz -C /opt

    Tu deberás poner el nombre del archivo que hayas bajado, así que ojo con ese detalle.
  4. Una vez terminada la extracción intentaremos arrancar los servicios con el siguiente comando:


    sudo /opt/lampp/lampp start

    Este comando deberá arrojar la siguiente salida:

    Starting XAMPP 1.7.3a...
    LAMPP: Starting Apache...
    LAMPP: Starting MySQL...
    LAMPP started.
  5. Hasta ahora todo va bien y para asegurarnos que la instalación fue completa correctamente desde el navegador intentamos ingresar al localhot: http://localhost. La primera pantalla mostrará el logo y tendrá una lista de idiomas disponibles, seleccionamos el nuestro y la pantalla que veremos después será la administración.


  6.  Hasta este punto ya podemos decir que la instalación fue completada con éxito y lo que sigue es subir tus códigos para comenzar a desarrollar. Para facilitar el desarrollo cuentas con herramientas como PhpMyAdmin para administrar las BD, Webalizer para estadísticas de acceso, algunos demos y un área administrativa para XAMPP.
  7. Para apagar los servicios sólo ejecutamos sudo /opt/ lampp/lampp stop

Si tuviste algún problema visita el FAQ de XAMPP

10 mayo 2010

Instalar Subversion desde comandos o centro de software de Ubuntu

Linux tiene una gran ventaja a la hora de instalar software: repositorios para descarga de software. En los repositorios prácticamente puedes encontrar la mayoría de la utilidades que como usuario o desarrollador puedes necesitar y existen por lo menos 2 formas básicas de adquirir el software de los mismos. Esta entrada no profundizará en las formas de adquirir software de los repositorios, más bien, su objetivo es divulgar como puedes adquirir un cliente de Subversion que se pueda integrar con Netbeans 6.x desde Ubuntu.
La opción más rápida, para mi, es abrir una terminal y escribir lo siguiente:

sudo apt-get install subversion

Después de escribir esto pedirá la contraseña (siempre que no hayas usado SUDO en la misma ventana antes) y comenzará a descargar los paquetes necesarios, los instalará y será todo, listo para usarse con Netbeans u otro IDE que pueda utilizar este cliente. Para asegurar que la instalación fue correcta se puede invocar desde la misma terminal al cliente con el comando svn --version.

En el Centro de Sotware Subversion aparecerá como Sistema de control de versiones avanzado

Si lo tuyo es usar el Centro de Sotware de Ubuntu sólo debes buscar el cliente como Subversion, será el primero que aparecerá en la lista de posibles coincidencia del buscador. Después se da clic en instalar, esperamos a que se lleve acabo el mismo procesos que se da con el uso de apt-get y listo, el cliente de subversion está instalado; se puede probar también con svn --version para comprobar que la instalación se llevo acabo correctamente.

Pantalla del Centro de software mostrando que ya está instalado el Subversion

Esas son algunas formas rápidas de tener Subversion en tu Ubuntu 10.04, espero que les sea de utilidad.

25 marzo 2010

Captura tu pantalla con VLC en Ubuntu (screencast)

Hace mucho que no hacia una entrada que no fuera iTertulia y decidí hacer un screencast sobre como capturar el desktop desde VLC. ¿Pero que no VLC es un reproductor?, bueno, si lo es, pero además de eso es capaz de emitir, convertir o capturar vídeo desde diversos medios, entre ellos el escritorio. Este screencast fue hecho con la versión 1.0.2 de VLC sobre Ubuntu 9.04, pero como VLC es multiplataforma (Puede ser instalado en varios SO), podrán repetir estos pasos en Windows, Linux o Mac.

24 enero 2010

Ubunchu! 0.3 : Regresan los manga de Ubuntu


Hace meses deje de publicar entradas referentes al proyecto Ubunchu!, un manga de Linux Ubuntu y por eso hoy decidí retomar y buscar las versiones en español del capítulo 03. Esta vez el manga resulta más entretenido y tiene muchos guiños a situaciones que vivimos usando Ubuntu y un mensaje detrás sobre el uso de los foros oficiales para la resolución o planteamiento de dudas.

Para no hacer tan larga la entrada vamos al contenido principal que es el manga; les dejo la liga para la descarga de la versión en español en formato PDF, PNG y los archivos fuente, ya que el contenido está bajo Creative Commons.
La fuente original del material está [aquí] y el sitio en Ingles es [este], hasta pronto.

Ubuntu Tweak: Optimiza sin mucho esfuerzo Ubuntu

Desde hace ya una semana estoy probando una aplicación para mi Ubuntu 9.10 de nombre Ubuntu Tweak. La finalidad de la aplicación es que el usuario inexperto pueda darle cierto mantenimiento de forma fácil a su SO sin necesidad de ser experto, y para los que si lo son, resulto cómodo tener a la mano tareas de administración que normalmente toman algo de tiempo llevarlas a cabo o conocerlas.



Mi propósito con esta entrada no se centra en explicar el funcionamiento, más bien quiero comentar lo mucho que me gusto más allá de 140 caracteres y mencionar también lo bien que me ha funcionado.

23 enero 2010

Cosas que no sabía de blogger

Recuerdo que muchas veces me queje del editor de Google y lo mucho que me gustaba el de Wordpress y depués de casi medio año me entero que existe una nueva versión del editor, pero en ningún momento fui informado por parte de Google de dicha actualización o new setting. La ventaja de este nuevo editor radica en que es un editor WYSIWYG más potente de lo que era su antecesor y eso me llena de alegría.



05 enero 2010

Ctrl Alt Supr : Metal e Informática

Algunas vez escuche NERDCORE hip hop, y creí que sería bueno algo así pero para metal. Ahora me encuentro que alguien ya lo hizo.
Ahí les dejo la rola para que la disfruten y si conocen algún otro ejemplo, serán bien recibidas sus sugerencias. El nombre de la rola es CTRL-ALT-SUPR, y así es, habla de Windows y sus inumerables errores; espero encontrar algún día una rola metalera que se llame : The blue screen of death, sería un hit!.




Y claro, no podría faltar el vídeo ...