Aumentar el tiempo de carga de la batería luego de instalar Cyanogenmod 6

Hace unas semanas instalé Cyanogenmod 6 en mi Motorola Milestone para tener las características de Android 2.2 en mi telefono, pues la versión oficial saldrá para el próximo año y no deseo esperar, además gracias a ese ROM se obtienen algunos hacks (como acceso a root, modificaciones en la GUI) que permiten aprovechar aún mas mi telefono. Sin embargo, una de las cosas que no me gusta es el hecho colocar por defecto el reloj del procesador a 900 mhz, aumenta la rapidez en todos lados, los juegos corren mas fluidos, entre otras cosas. Pero gasta mucha energía y reduce considerablemente el tiempo de la batería del teléfono.

La solución, es instalar la aplicación SetCPU, la misma permite asignar un rango de velocidad para el reloj del procesador y seleccionar un perfil de conservación de energía tal como cualquier sistema Linux. Una vez instalada, puede seleccionar un rango deseado, mientras mas alto el valor máximo el sistema será mas rápido, las animaciones serán mas fluídas, el teléfono se calienta mas, se consume mas batería. Si el máximo valor es muy bajo, algunas aplicaciones no podrían funcionar pero sucede lo contrario a todo lo comentado anteriormente. Ademas la aplicación permite asignar rangos personalizados y perfiles para diversas situaciones: el teléfono esta apagado, cargándose, conectado a la PC, entre otros.

Pantalla principal de SetCPU

Pantalla principal de SetCPU

En mi caso, seleccioné el rango de: 172mhz a 500mhz y perfil conservativo. Pues con esto hago que todo funcione bien (tal vez algún lag en una animación compleja), trata de usar el procesador a una baja velocidad y sube lo menos posible con tal de ahorrar bateria. El perfil OnDemand, aumenta de acuerdo a la potencia exigida por las aplicaciones abiertas y Perfomance trata de estar siempre al máximo para correr todo con velocidad.

Perfiles de SetCPU

Perfiles de SetCPU

Todo depende de sus gustos, pueden jugar los rangos y perfiles para tener un equilibrio de rendimiento/consumo de energía, además les recomiendo crear perfiles (en la segunda pestaña) para cuando el teléfono este apagado, con cargador, conectado a la PC, entre otros. Gracias a esta herramienta pude aumentar mas o menos 60% el tiempo de carga de la batería luego de instalar Cyanogenmod.

Espero que les sirva y les ayude, además, al rendir la batería contribuyen con la conservación del Planeta, aquí les dejo el código QR de la aplicación:Código QR de SetCpu

Hace 4 años en esa fecha: Beryl en ArchLinux

El soporte técnico perfecto

Hoy leí una de las mejores caricaturas de XKCD y me dio mucha risa porque lo he vivido cuando generalmente llamo a CANTV (Mi ISP) por fallas en el servicio de Internet. En toda llamada de soporte técnico te obligan a seguir unos pasos, los cuales, para nosotros los geek son torturantes porque antes de tomar la decisión de llamar, ya los hemos hecho junto a muchos pasos para eliminar otras posibilidades . Sin embargo, te obligan a volver realizar los pasos y realizan unas preguntas como que dice la pantalla al realizar un paso en específico (que muchas veces hacemos mentalmente para hacerles creer que si lo hacemos), cual fué el resultado de realizar ese comando u operación (como uso Linux a veces no recuerdo que sucede en Windows al hacer eso y miento, alli descubren que no estoy haciendo los pasos).

Y lo peor, es cuando sabes que el problema no es por tu parte sino de la compañía y no quieren aceptarlo, retrasando el proceso de solución del problema. Si han vivido este tipo de cosas, les recomiendo leer el siguiente comic:

Soporte técnico

El perfecto soporte técnico

La próxima vez que llamen por soporte técnico, les aseguro que se acordarán de este comic.

Actualizacion: Me entero por medio de Luis Chacón sobre el significado de Shibboleet, viene de la palabra shibboleth asi que no proviene del azar, para mas información lean (en inglés) este artículo.

Sincronizar proyectos con GIT en Netbeans

GIT es un sistema de control de versiones creado por Linus Torvald (el creador de Linux) y últimamente muy utilizado en los proyectos de Software Libre debido a su arquitectura distribuida y licencia de uso. Si usan Netbeans notarán que por defecto no trae soporte para usar GIT en nuestros proyectos, ya están trabajando en ello, pero mientras tanto podremos usar NBGit, un plugin para añadir soporte GIT a Netbeans.

Entramos a a la página de descargas del proyecto, descargamos el  archivo .nbm y una vez dentro de Netbeans, entramos al menú Herramientas->Plugins, seleccionamos la pestaña Descargados y añadimos este archivo. Reiniciamos Netbeans y listo, ya tendremos soporte GIT para nuestros proyectos y en menú de Equipo (Team) aparecerá Git con opciones para configurarlo.

Espero que les sirva de ayuda para cuando necesiten usar GIT en Netbeans.

Actualización al 20/08/2012:  Las últimas versiones de Netbeans ya incorporan esta característica por defecto.

Breve análisis de AppInventor

El viernes pasado recibi mi invitación para participar en la beta de AppInventor, un programa para crear aplicaciones para Android sin necesidad de escribir código, si nunca lo han escuchado o desean ver una introducción, pueden chequear el siguiente vídeo:

Para comenzar a usarlo, se debe iniciar sesión con la cuenta de google y descargar un instalador, revisándolo por encima, trae un emulador de un móvil con Android, un depurador de código y parte del SDK de Android. El instalador pesa casi 60MB y está disponible para Windows, GNU/Linux y MacOS.

Pantalla principal de AppInventor

Pantalla principal de AppInventor

Una vez instalado no pude encontrar el ejecutable para iniciar la aplicación, pero al buscar información en la página, me di cuenta que es una aplicación web hecha en HTML5/Javascript (estos de Google se estan tomando en serio la computación en la nube), la misma, contiene a la izquierda un menu con una serie de componentes para usar en la interfaz de la aplicación, en el medio la ventana de la pantalla telefóno y a la derecha las propiedades del componente y un navegador de componentes usados. Esta interfaz es sencilla, igual a los IDEs existentes por lo que para los desarrolladores no será problema el uso de AppInventor, los componentes simplemente se arrastran a la pantalla del teléfono y con doble click vamos editando las propiedades.

Esta parte es sólo la vista de la aplicación (como el modelo MVC) por lo que para agregar eventos y definir las acciones a ejecutar cuando el usuario interactúa con estos componentes, utilizamos la vista de bloques, accesible por un botón en la parte superior derecha. Al hacer click allí, se abre una aplicación Java Web Start (se vé el gran uso de Java en Android por parte de Google) donde pasarmos a la vista de asignación de eventos y acciones (como el controlador segun MVC), lo interesante, es que podemos asignar eventos y acciones a través de bloques parecidos a las piezas de un rompecabeza, uniendo los bloques podremos realizar el programa deseado sin escribir una línea de código. El famoso Hola Mundo, lo hice en menos de 5 minutos sin leer manuales, usando 3 bloques como se ve en la siguiente imagen:

Bloques de acciones en AppInventor

Bloques de acciones en AppInventor

Luego podemos ver los resultados en nuestro teléfono Android o usando el emulador, generar el paquete y distribuirlo. No he leído, pero creo que por ahora no hay mucha interacción con el Market y no se como es la licencia para el uso de esta aplicación.

Me gustó como se trabaja con esta herramienta y permite desarrollar cosas sencillas en pocos pasos (obviamente cosas complejas requiere escribir código), además permite a personas ajenas a la programación, realizar aplicaciones sencillas para si mismas. Google está haciendo un buen trabajo con esto y me llamó la atención que todo fuese bajo web, muchos no nos imaginaríamos hace unos años la posibilidad de crear aplicaciones desde el navegador.