jueves, 16 de agosto de 2012

Romper y arreglar instalación de Elgg al cambiar el The site URL

Pues hoy he hecho una cosa de lo más inteligente, quería cambiar el puerto de Elgg para poder hacer visible el que tengo en casa de pruebas y he jodido la instalación. Para cambiar el puerto intenté cambiar en Administration-Configuration-Advanced Settings el valor de The site URL, añadiendo el número de puerto. Además añadí a ports.conf de /etc/apache2 el puerto por el que tenía que escuchar el Apache. Sin resultado ninguno, es más, al hacer esto jodes la instalación de Elgg y no puedes entrar ;-) Bien, como mola!
Menos mal que para eso están los colegas y tras un preguntado llegué a la tabla de MySQL donde poder cambiar "a pelo" lo que he cambiado. La tabla es elgg_sites_entity y cambiandola desde ahí se puede volver a acceder a Elgg. 
Gracias Andrés por la ayuda!


viernes, 10 de agosto de 2012

Como conectar un teléfono Android en Ubuntu a Eclipse: adb devices no permission

Cuando estamos programando en Eclipse y queremos probar las aplicaciones en nuestro teléfono Android, tenemos 2 opciones, enviarnos los .apk por email e ir probándolos, cosa que es un coñazo, o tenemos otra segunda opción que es conectar el teléfono mediante el cable. Esta opción es mucho más eficaz ya que nos permite "debuguear" incluso.

Cuando conectamos el teléfono al PC, lo primero que tenemos que hacer es activarlo en modo depuración desde Ajustes - Aplicaciones - Desarrollo - Permitir depuración de USB. 

Después desde nuestro directorio promt:/xxx/android-sdk-linux/platform-tools podemos usar el comando ./adb devices para ver que dispositvos tenemos conectados. Veremos algo como:
List of devices attached ?????????    no permissions
Por lo que seguimos sin tener acceso a nuestro teléfono. Para solucionar esto tenemos que irnos a  cd /etc/udev/rules.d/ y añadir en el fichero 51-android.rules el renglón:
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8",MODE="0666"

El idVendor cambia para cada uno de los distintos teléfonos, por lo que tendremos que buscar el que nos interese. Los que pongo son para Samsung Galaxy Ace. También he usado los del HTC Desiree, el idVendor es: 0bb4
Una vez hecho esto, volvemos  /platform-tools/ y reiniciamos el servicio con:
sudo ./adb kill-server
sudo ./adb start-server
Con esto, si ejecutamos de nuevo ./adb devices vermos algo como:
List of devices attached
S583058235733    device 
Y ya podemos probar nuestras aplicaciones directamente desde el Eclipse en el teléfono. Cuando pulsemos compilar veremos que tenemos el teléfono accesible para cargar en él.


Espero que os sirva ;-)

PD: se pueden hacer muchas cosas más con el comando adb. La información oficial en aquí

LIBRO RECOMENDADO PARA APRENDER ANDROID

Uno de los libros fundamientales y que recomiendo para aprender Android y llegar a hacer aplicaciones profesionales es: Android 2 Application Developement de Reto Meier




jueves, 9 de agosto de 2012

Como comenzar con Bitbucket usando Git

En otra entrada (aquí) hablé de usar Bitbucket con Git como control de versiones. Ahora vamos a comenzar un repositorio. Para ello supondremos que tenéis Git instalado en vuestro ordenandor, que habéis comenzado a programar algo y que estáis dados de alta en Bitbucket.
Pues una vez que ya hemos hecho esto, nos logueamos en la web de Bitbucket y veremos algo como os muestro a continuación. Haremos click en la pantalla de crear un nuevo proyecto para acceder a la pantalla de creación del mismo.

Bitbucket o GitHub?? Esa es la cuestión

Cuando tenemos un proyecto en el que trabajan varias personas se hace imprescindible usar un repositorio desde el que controlar el avance del proyecto. El repositorio se puede crear con muchas herramientas como Git o SVN. Estas dos son de las más empleadas y con versiones tanto para Win como Linux, además de existir plugin para Eclipse, etc. Yo uso siempre Git, no se si es mejor o peor que las otras aplicaciones pero es el que aprendí y el que uso actualmente. 
Pues bien, nuestro servidor de versiones de Git puede estar en una máquina local, en un servidor en nuestras instalaciones o en la nube. El usar un servidor local en la empresa para la que trabajo hizo que una rotura de un disco duro nos diera una verdadera batalla justo el día de una entrega. Basado en esta experiencia, y siempre que lo permita la política de seguridad de la empresa, es recomendable usar un servidor de versiones en la nube. 
Los dos servicios más conocidos de repositorios en la nube son Bitbucket y GitHub, aunque existen muchos otros. Yo me he decantado por Bitbucket ya que tiene un servicio que no ofrece GitHub. Este servicio es poder tener 5 proyectos privados de forma gratuita ilimitados proyectos de forma gratuita con un máximo de 5 usuarios (edito tras un comentario de Rafael que podéis ver abajo). Con GitHub te permite tener ilimitados proyectos de OpenSource pero si quieres tener un proyecto que no sea visible para la comunidad tienes que pasar por caja mientras que Bitbucket ofrece esa posibilidad. 
Probablemente haya muchas otras diferencias, pero para el uso que necesito, Bitbucket me cumple a la perfección y por ahora sin problemas. Os iré contando como empezar a ponerlo en marcha...