miércoles, 20 de junio de 2012

Reloj Android para la mesita de luz.



 Bueno esto es así, en las noche de invierno, donde hace mucho frio, siempre he querido tener un reloj en mi mesa de luz, que con un simple vistazo, vea la hora en la que estoy. Hasta ahora los relojes que funcionan en Android, la mayoría al bloquearse el celular estos no se ven, entonces por mas que ponga el reloj en la noche tengo que estirar la mano y tocar la pantalla, y esto no es lo que quiero.
Buscando un poco en Internet encontré que hay algunos pagos, y encontré uno gratis que funciona bien, gasta batería (no excesivamente pero mas de lo que debería a mi entender) esta es la contra que quizás se le puede atribuir, y realmente hace lo que yo necesito, mostrar la hora toda la noche.


Les dejo el link al google play para que lo miren.

jueves, 10 de mayo de 2012

Administrar mi android desde el PC

Hay muchas aplicaciones que dejan acceder a algunas cosas del celular desde el pc, por ejemplo AirDoid es una de estas, que deja escribir un sms desde el pc y muchas cosas mas. Pero yo necesitaba algo mas, por ejemplo utilizo bastante WhatsApp, y no he encontrado ninguna aplicacion que desde el PC se pueda escribir. Como tengo un celular de 3 pulgadas (chico) escribir es a veces un poco complicado y como estoy todo el dia con la computadora, necesitaba algo al estilo VNC o similar que me conectar al escritorio android.
Una aplicacion Java realiza esto, y es fantástico, la idea es conectar el celular por el cable usb, luego ejecutar esta aplicacion, y en el escritorio se nos abre una pantalla la cual es exactamente lo que estas viendo en el celular, es mas si tu presionas un icono de una aplicacion, en el celular vas a ver que se realiza lo mismo.

Entonces con esto podemos hacer casi todo lo mismo que si tuviéramos el celular en la mano, pero desde una pantalla en windows (supongo que como es java también funciona en linux, pero no lo he probado). No tengo que comentarle que escribir un mensaje es WhatsApp desde el teclado de mi PC es muy muy facil comparado con escribir en la pantalla del celular.
Ojo, que no es todo tan lindo como parece, por ejemplo lo que me pasa a mi (no se si es porque tengo Cyanogen Mod 7 instalado o porque es) es que cada tanto, se reinicia el celular solo.
Ademas hay cosas que no se como hacerlas, por ejemplo el desbloqueo del celular lo tengo que hacer directamente en el celular, despues is me puedo manejar con el mouse y el teclado del pc.

Bueno explicare que es lo que hay que hacer para usar la aplicacion.
Primero descargar androidscreencast.jnlp, esta en muchos lugares para hacerlo.
Después tener un celular con Android, en mi caso lo probe con 2.2 y 2.3.7, no lo he probado con la versión 4, pero me han comentado que no funciona.
Tener instalado el sdk de Android (los desarrolladores este paso lo saltamos porque si o si lo tenemos que tener instalado)
Enchufar el celular al pc
Y por ultimo ejecutar el programa java que descargamos, a los pocos segundos vas a ver la ventana con el escritorio de tu android.
A mi me pasa que la primera vez que lo ejecuto tengo que escanear los dispositivos conectados a mi pc, para esto desde una pantalla dos, me voy hasta la carpeta donde instalamos el SDK, en la carpeta plataform-tools, ejecutamos adb devices, esto me tiene que tirar por pantalla por lo menos 1 registro en el que muestra el nombre de nuestro celular.



jueves, 3 de mayo de 2012

Select en Mysql sin commitear

Cuando tenemos proceso que realizan muchos insert en la base de datos, cuando digo muchos estoy diciendo cientos de miles o millones, es mas rápido para motor de base de datos que se vuelquen muchos juntos, para eso realizamos un commit cada una cierta cantidad de ciclos, depende de muchas cosas si el "muchos" es de a 10, 100, o 100000, eso lo tienen que analizar en cada caso.

Pero cuando estamos probando, queremos en seguida (no esperar los 100mil registros) saber si esta funcionando o no, entonces lo que tenemos que hacer realizar un select en la base de datos pero necesito ver los datos que no se impactaron, es decir los que no se commitearon todavía.

Para esto basta con el browser mysql o mismo por consola ejecutar lo siguiente:
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
 
Luego de ejecutar esto cada consulta que realicemos se van a mostrar todos los registros los commiteados y los no commiteados.
Si queremos volver a solo ver los commiteados cambiamos
READ UNCOMMITTED
por
READ COMMITTED
 
La definición del comando es la siguiente
 
SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL
{ READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE } 
 
 

lunes, 9 de abril de 2012

Utilizar tarjeta externa particionada en Android

Hace unos días reinstale nuevamente mi sistema operativo Android, en particular CyanogenMod7. Y viendo algunas cosas antes de darlo por terminado vi un post que enseñaba como particionar la tarjeta de memoria externa para agrandar la memora que tenemos para instalar las aplicacion y la memoria ram. Esto para lo que somos linuxeros lo de agrandar la memora ram a lo conocemos, se llama partición Swap, y es la misma idea, para lo de agregar espacio para nuestras aplicaciones es la misma idea.
Ahora para que esto funcione, y se mas fácil (supongo que a bajo nivel se pude hacer montando o de alguna manera las particiones) tenemos que instalar un pequeño programa A2SDGUI.

Luego de instalar el programa y hacer lo que dice en el post que copio abajo, tengo mucha memoria para instalar las aplicaciones para quiera si preocuparme tanto como antes y estar a cada rato sacando algo para poner otro. Y la Swap hasta ahora no he visto que se utilice pero nunca esta de mas Ram extra.

En resumen pego abajo el siguiente post

http://www.androiduniverse.net/2012/01/13/instalar-a2sdgui-y-script-darktremor9/



Primero que nada, A2SDGUI es una aplicación que nos permite usar la particion ext3 o ext4 de nuestra SD para ampliar la memoria interna del móvil, el script Darktremor va en conjunto con la aplicación A2SDGUI para que esta funcione, es como un parche para la rom.
La ventaja de utilizar esta aplicación es que, como se menciono antes, te permite expandir la memoria interna del teléfono utilizando la SD, lo cual conlleva beneficios como:
  • Instalación de mas app
  • Instalación de Rom’s pesadas (Hay algunas que actualizan el teléfono de versión, pero necesitan mas memoria interna)
Pero como es común, también hay desventaja:
  • Acorta la vida de la SD
  • El funcionamiento de una aplicacion y/o juego en la SD sera lento (No lento lento, si no que no sera comparable su rendimiento como si estuviese en la memoria interna normal)
  • No poder retirar la SD (Para pasar datos deberán hacerlo con su cable USB o una aplicación como AirDroid)
Para poder instalar A2SDGUI Y Script Darktremor es necesario tener una ROM modificada que tenga el soporte para particiones, aunque en realidad todas las ROM cocinadas lo soportan.para una rom original el proceso es distinto y no e provado, primero que nada debemos particionar la SD, si no sabes como entra aquí
Necesitaremos estos dos componentes:
Ya descargado el archivo con el script lo guardamos en la SD del móvil (NO LO DESCOMPRIMAN)
Ahora reiniciar el movil en modo recovery (presiona y mantén presionado POWER + HOME [MENU])
Cuando estemos en recovery vamos a:
  • mounts and storage
  • Después “mount /system”
  • Y ahora a “mount /data
  • Ahora regresamos al menu principal de recovery y vamos a  ”install zip from sdcard
  • Luego “chose zip from sdcard”
  • Ahora busca e instala el zip descargado (dtapps2sd-2.7.5.3-beta04-signed)
  • Ya cuando finalice le das en “reboot system now”
Esperemos reinicie el movil y encienda normal, una vez iniciado (IMPORTANTE NO MOVER NI ABRIR NADA), pasados unos segundos o 1 min max. el movil se reiniciara solo (NO ASUSTEIS ES NORMAL.)
Terminado el ultimo reinicio van a la app de a2sdgui previamente instalada y configuran la app En el menú que sale en pantalla lo de APPS are on SD debería de estar activado y lo de SWAP puede que también, en caso de que no lo este no hay más que darle encima y se activa. Al final del menú se ve lo de SET VALUE 0-100, yo puse 100 y le di al lado.

Ahora directamente pasamos a LowMen y yo he elegido esta, a mi es la que mejor me va, cuanto mas abajo elijais la opción más memoria libre dejará.

Ahora vamos a Dalvik-Cache y elegimos esto y pulsamos Move & Rebuild y el telefono se reiniciará.

Al final lo que obtendremos es MUCHA MEMORIA INTERNA LIBRE Y MAS MEMORIA RAM
NOTA: En caso de que en algun momento reinicien el movil y no aparezcan las apps no te asustes, eso tiene solución:
Solo vaya a la app Terminal (En la mayoría de la rom modificadas viene instalada, si no es así descargarla de market) y ingresen los siguientes comandos:
  • su (pedira permisos root > permitir)
  • a2sd repair (esperan a que termine)
  • a2sd reinstall (aqui tardara algo de tiempo dependiendo del numero de apps que tengan instaladas y reiniciara el movil, terminado el reinicio todo volvera a la normalidad)


viernes, 6 de abril de 2012

Instalacion de subversion en eclipse (subclipse)

Continuando con el tema de subversion, copio abajo el post que mire cuando empece a utilizar subversion desde eclipse.
Es básico, pero es lo que da el punto de partida par poder empezar a usarse.

http://mundogeek.net/archivos/2009/02/22/subclipse-plugin-de-subversion-para-eclipse/

Subclipse: plugin de Subversion para Eclipse


Probablemente Subclipse sea el plugin para integrar Subversion con Eclipse más utilizado del mercado, por encima del plugin “oficial”, Subversive, aunque son muy parecidos. Sin embargo ambos están lejos de la popularidad de otras alternativas independientes como TortoiseSVN, por razones evidentes.
Subclipse: plugin de Subversion para Eclipse

Para instalar Subclipse podemos usar el sistema de actualizaciones de software de Eclipse: abrimos el diálogo Help -> Software updates -> Available Software -> Add Site e introducimos la URL desde la que instalar el plugin, en este caso, para la última versión al escribir estas líneas, “http://subclipse.tigris.org/update_1.4.x”. Marcamos nuestra nueva fuente y seleccionamos Install. Tendremos que aceptar la licencia del plugin, que se descargará desde la web correspondiente y se instalará automáticamente.
Una vez instalado Subclipse lo primero que tenemos que hacer para comenzar a trabajar con Subversion es abrir la perspectiva SVN Repository Exploring desde Window -> Open perspective -> Other -> SVN Repository Exploring, o bien mostrar la vista de repositorios de SVN haciendo clic sobre Window -> Show View -> Other -> SVN -> SVN Repositories. Para añadir un nuevo repositorio haremos clic con el botón derecho sobre SVN Repositories y seleccionaremos New -> Repository Location, donde introduciremos la URL del repositorio.
Por supuesto si vamos a utilizar nuestro propio repositorio en local tendremos que descargar e instalar el servidor de Subversion primero. Si no tienes experiencia te recomiendo la distribución VisualSVN (Windows) que incluye una herramienta de gestión gráfica que lo hace todo muy sencillo.
Una vez añadido nuestro repositorio podemos hacer un checkout del código almacenado en él haciendo clic con el botón derecho sobre él y seleccionando Checkout, añadir un proyecto ya existente a un repositorio haciendo clic con el botón derecho sobre el proyecto y seleccionando Team -> Share Project, hacer un commit haciendo clic con el botón derecho sobre el proyecto y seleccionando Team -> Commit, … Como vemos, todo muy rápido y sencillo, y sin tener que abandonar por un momento nuestro IDE.

Cyanogenmod 7.2 Android 2.3.7


Bueno, luego de pasar un día probando roms y viendo en algunos momentos (quizás por ansioso) que el celular no funcionaba mas, les cuento que me he quedado con Cyanogen Mod7, he probado Mad 2.5 Final, La rom original 2.2, y alguna que otra prueba y les digo que Cyanogen es lejos la mejor. Además tiene Android 2.3.7 que ninguna de las que pude probar lo tenían. Me he quedado con la ultima que tenían ha la fecha que es 17/03/2012, es RC2, por eso me he tirado al agua, si fuera beta no creo que me animara.

Les cuento todo el proceso para que ustedes lo puedan hacer.
Primero, antes de romper todo me hago un respaldo con Titanium Backup, la versión Free, esto respalda de algunas aplicaciones no todas las apk y los datos. Que luego se pueden levantar luego de instalar, lo que tiene malo a mi entender, es que las aplicaciones que levante con esto, no se actualizan mas con el market (o google play), digamos que quedan congeladas (quizás hay alguna forma de hacerlo pero por ahora no la se), si vamos al market a nuestras aplicaciones no vemos como que están instaladas, pero bueno es un punto que quizás hay que pensarlo antes de flashear el cel.
Suponiendo que leyeron el punto anterior, van los pasos que yo seguí.

Paso 1 – Respaldo ton titanium
Paso 2 – formatear la SD (yo con RomManager, la particione esto voy a ver si en un futuro me sirve para algo, creo que se pueden poner las aplicaciones en la parte particionada y de alguna forma también se puede utilizar una parte de swap, para los linuxeros)
Paso 3 – copiar los 3 archivos a la raíz de la SD :
update-cm-7-20120317-MADTEAM-galaxy5-signed.zip o el ultimo que este de la direcicion http://goo-inside.me/devs/psyke83/roms/galaxy5/update-cm-7-20120317-MADTEAM-galaxy5-signed.zip
Google Apps: 20110828, de la dirección http://wiki.cyanogenmod.com/index.php?title=Latest_Version/Google_Apps, aca van a descargar el de la versión 7 cd CM
galaxy5-v2.2-hotfix1.zip de la dirección http://goo.im/devs/psyke83/roms/galaxy5/hotfixes/

Con estos 3 archivos que van a ser usados luego para instalar bastaría
Paso 4: apagar el cel.
Paso 5: arrancar en dowloading, esto se hace apagado el cel, presionando los 3 botones de la imagen
Paso6: descargar los programas al pc que necesitamos, odin, Clockworkmod recovery, y EUROPA_v1.0.OPS.
Paso 7:enchugar el cel con el cable de datos, abrir Odín elegir la ruta donde esta EUROPA en el primer registro don de dice Select OPS y clockworkmod en el ultimo (para que se habilite deben de deshabilitar y habilitar el One Pakage) como se ven en la imagen

Y ejecutar Start, esto reinicia el cel y lo deja en donde vemos en la imagen.
Paso 8: seguir estos pasos desde el menú
Selecciona: “wipe/data factory reset” >> “Yes” “Paso importante si vienes de una Rom stock ”
Selecciona: “avanzado” >> “wipe dalvik cache” >> “Yes”
Selecciona: “Install ZIP from sdcard”
Selecciona: “Choose zip from sdcard”
Selecciona: update-cm-7.1……zip
Vuelve al menú principal de CloclWorkMod (botón para atrás)
Selecciona: “Install ZIP from sdcard”
Selecciona: “Choose ZIP from sdcard”
Selecciona: vX.X-hotfixX.zip (Si no hay hotfix, saltar paso)
Selecciona: gapps-gb-DATE-signed.zip “Importante para que se instalen las app de google”
Vuelve al menú principal de ClockWorkMod
Selecciona: “Reboot System Now”
Listo con esto ya debe de arrancar con el Android, ahora solo basta levantar las apk respaldadas con titanium.

martes, 20 de marzo de 2012

CVS Subversion

Hoy para un proyecto que estamos trabajando con Diego tuve que instalar un CVS, y con el post que copio abajo me fue muy fácil, así que lo copio acá para no perderle.


http://ubuntulife.wordpress.com/2007/05/29/instalar-un-servidor-de-subversion-en-ubuntu/



Instalacion y configuracion de Subversion
Me embarco en la aventura de instalar subversion al servidor… ¿Qué es subversion?
Subversion es un servidor de control de versiones. Si estas trabajando en un proyecto grande, es lógico que con el paso del tiempo vayas haciendo cambios mas o menos importantes. Puede que en un momento dado quieras volver a una versión previa de un archivo, o de todo el proyecto, que desees ver quién hizo un cambio y porqué… para eso está subversion.
Se supone que tenemos configurado un servidor bajo Apache en una distribución Debian.
Primer paso: Instalación de las herramientas necesarias
Instalamos los paquetes que nos hacen falta para crear repositorios:
sudo aptitude install subversion subversion-tools
Necesitamos dos módulos de apache instalados en nuestro servidor, si haremos uso de svn a través de internet… (obvio, al menos para mí)
Los modulos son dav y dav_svn. Para comprobar que los tenemos:
a2enmod dav
a2enmod dav_svn

Si no estaban instalados, los instalamos:
sudo aptitude install libapache2-svn
Segundo paso: Creación de grupos y usuarios permitidos
Creamos un grupo subversion para manejar fácilmente los permisos
groupadd subversion
Añadimos a dicho grupo los usuarios que queremos que usen de algún modo nuestro servidor
usermod -a -Gsubversion user1
usermod -a -Gsubversion user2
usermod -a -Gsubversion user3

Ahora pasamos a crear los ficheros de acceso, que guardan los nombres y contraseñas de esos usuarios que harán uso del repositorio:
htpasswd2 -c /etc/apache2/dav_svn.passwd user1
htpasswd2 /etc/apache2/dav_svn.passwd user2
htpasswd2 /etc/apache2/dav_svn.passwd user3

El primero lleva -c por la simple razón de que crea el fichero. Los demás se añaden a él.
Cada vez que introduzcamos un usuario, se nos pedirá su nueva contraseña.
Tercer paso: Creación de un repositorio
Ahora creamos la carpeta donde ubicaremos el repositorio:
sudo mkdir /home/SVN
sudo svnadmin create /home/SVN

Y le damos los correspondientes permisos
chown -R www-data:subversion /home/svn/
chmod -R 770 /home/svn/

Cuarto paso: Configurando Apache para los repositorios
Pasamos a configurar el fichero que gestiona el módulo de apache para el svn:
sudo gedit /etc/apache2/mods-available/dav_svn.conf
Dentro ponemos esta configuración:
##
# SVN
#

DAV svn
SVNPath /home/svn
AuthType Basic
AuthName "Repositorio Subversion del proyecto"
AuthUserFile /etc/apache2/dav_svn.passwd

Require valid-user



Si queremos quitar el modo lectura a cualquiera, porque nuestro proyecto sea confidencial o no queramos que sea visto desde fuera, basta reemplazar la sección:

Require valid-user

por
Require valid-user
Reiniciamos el servicio de apache para que nos rearranque con los cambios introducidos.
sudo /etc/init.d/apache2 restart
Notas finales
Si queremos añadir usuarios a nuestros repositorios:
htpasswd2 /etc/apache2/dav_svn.passwd otro_usuario
Si queremos crear nuevos repositorios repetiremos todo desde el tercer paso, creando fichero de contraseñas con otro nombre (seguridad), añadiendo al final del fichero /etc/apache2/mods-available/dav_svn.conf la configuracion del nuevo servidor (seguramente cambia el path al fichero de contraseñas y el path al propio repositorio.
Eso es todo. Disfrutad.