jueves, 20 de diciembre de 2012

Recien volví de la Antartida

Y si, por la suerte que tengo, pude viajar a trabajar un mes en la Base Marambio - Antartida Argentina, acá una foto con el sector Antartico nuestro:

Entonces, les voy a empezar a compartir las entradas del blog y lo que fue ese viaje. Que lo disfruten.


                                                                  Hello World!
Viernes 26 de Octubre, 11hs AM. Suena mi teléfono interno, y el de Natalia minutos después.
Nos activaron, teníamos que terminar de armar nuestras mochilas, saludar a familiares y amigos y tomarnos un colectivo con destino a Retiro.
Mariano Salvetti desde Globant Rosario, Natalia Imhoff desde Globant Córdoba.
Y sin darnos cuenta, ya era domingo a las 05AM, teníamos que encontrarnos a las 06 para ir con nuestras mochilas y elementos de oficina “al Palomar”, pero los choferes venían apurados y nos regalaron una hora en retiro para despertarnos con un cafecito, desayuno y presentación de por medio a las 6:30 estábamos tocando la puerta de un Ignacio recién despierto que nos entregaba una caja llena de cables, headsets y todo lo que necesitábamos para instalar nuestra oficinita en la Antártida.
Y llegamos a Palomar.
Ahí nos encontramos con el Mayor Walter Olmedo, quien muy amablemente nos presentó al Coordinador de la Dotación 44 a la cual nos sumariamos durante un mes entero en Base Marambio.
Luego de varios vuelos en el Hércules llegamos todos a Rio Gallegos, en donde nos alojamos en una base de las Fuerza Aérea (llamada “Gamela”), a la espera de que el clima nos permita, avión Hércules de por medio, cruzar el paralelo 60 y aterrizar en la Isla Marambio, la puerta de entrada al sector Antártico. El 29 de Octubre cruzó una buena parte de la dotación hacia Base Marambio, ya que se cumplían ese día los 43 años de la Fundación de Base Marambio, y se celebró el cambio de Dotación (la nro. 43 volvía a Rio Gallegos luego de un año en la Antártida, y la actual dotación nro. 44 tomaba poder de la base y los servicios dentro).
Luego de varias noches en la “Gamela”, el viernes 30 a las 10AM suena el teléfono, y un suboficial grita: “En 15minutos todos vestidos afuera con los bolsos, tenemos una ventana de cruce”, y en ese momento se revolucionó todo, salimos corriendo a cambiarnos con la ropa especial para el cruce, ponernos “las sordinas auditivas” para proteger los oídos del ensordecedor ruido
Del Hércules, avisar por teléfono a los familiares y prender las cámaras para registrar el cruce.
Subimos al Hércules, sube la dotación, suben los mecánicos, sube gente que solo viajaba por unas horas a Marambio y también subimos los Globers y hasta un cura que viajaba hacia Base Esperanza, escala de por medio en Marambio.
La ilusión empieza a tomar forma, pero inmediatamente la gente dentro del Hércules que ya tiene varias campañas, nos dice: “chicos, puede que el clima no deje aterrizar, el Hércules soporta hasta una hora sobrevolando Marambio hasta encontrar la pista, si los pilotos no la ven, nos volvemos a Rio Gallegos”. En ese momento, el cura hace otra bendición del vuelo.
Y 3hs después, nos empezamos a vestir con todo lo que teníamos preparado, antiparras con filtro solar, gorras y cuellos polares, guantes (enormes para las manos de Naty, pequeños para las manos mías) y solo restaba esperar el golpe del avión contra la pista.
Aplauden, algunos gritan y otros sacan fotos. Los que recién se despiertan, se abrigan como pueden, estamos a minutos de bajar y pisar suelo Antártico. Nos calzamos las mochilas, ayudamos al compañero a tener todo listo, y empezamos a bajar en fila.
Prendo la filmadora, con guante en la mano. Naty toma la cámara de fotos. La ansiedad nos toma por sorpresa, la miro y le digo: “Naty, llegamos!!!”. Vemos el rostro de los demás compañeros de la dotación, y atrás de las antiparras pude ver que se escaparon algunas lágrimas, ya no hay mucho más que mirar adentro. Delante de mí veo los 3 escalones que separan a Globant de la Antártida, y escucho a Naty que viene atrás tratando de no caerse porque el Hércules tiene fierros y cables por todos lados. Bajé, lo veo, todo blanco con muchas manchas naranja y negro. Taxis? No, el resto de la dotación que esta esperando subir al Hércules después de un año. También están los bomberos ayudando y al caminar vemos muchos desconocidos que nos saludan. Las caras no las distingo, son todos iguales, somos todos iguales. Miro para atrás, Naty pisó suelo Antártico sin caerse (perdí una apuesta) y juntos arrancamos a caminar hacia la terminal de pasajeros en donde nos dan las primeras indicaciones.
Right now, we are ready, at Marambio office!

lunes, 15 de octubre de 2012

Google Play Developer Console , con nueva interface visual


Los developer de Android usamos la consola de Google Play, para la gestión de las aplicaciones y como  a principios de este año se anunciaron una nueva versión, incluso hicieron una demostración, donde se veia la fluidez que tenía y su fácil manejo.
Desde AndroidDevelopers nos comunican que hoy puedes probar la nueva versión, con el nuevo rediseño, añadiendo algunas características nuevas, tales como gráficos (donde podemos anotar las calificaciones de los usuarios a través de una línea del tiempo), las traducciones automática de las aplicaciones que subamos.
Para probar la nueva interfaz, acceda desde la consola y haz clic en “Try the new version” (Prueba la nueva versión) situado en la cabecera, aunque nos indican que muchas cosas todavía no funcionan al 100%. Sino te gusta la nueva interfaz puedes volver volviendo hacer clic en la cabecera pero esta vez al texto “Switch back” (Cambiar de nuevo).



viernes, 12 de octubre de 2012

La calle està jodida...asegurà tu Droid !



Todos los que tengan un Android, saben que no solo deben cuidarlo de los golpes y demás daños físicos causados por alguno que otro descuido, sino también de los choros que, así como nosotros, buscan lo último en tecnología...

aplicaciones antirrobo existen varias dentro delAndroid Market, pero hoy les voy a hablar sobre una de las más completas y utilizadas por los dueños de un smartphone Android. Se trata de la aplicación Cerberus, que recientemente acaba de pasar las 100,000 descargas, por lo que los desarrolladores están celebrando con una promoción que no puedes perder: ¡Cerberus está ofreciendo licencias gratis por un tiempo limitado!
Pero antes de que vayas al Android Market a descargar Cerberus, es preciso que te enteres del servicio que te ofrece esta aplicación que lleva el nombre del perro de tres cabezas de la mitología griega.
Según lo que encontramos en la descripción del Android Market, “Cerberus es una aplicación completa antirrobo de tus dispositivos. Es la mejor protección para que puedas recuperar tus dispositivos Android extraviados, perdidos o robados”.
Cerberus consta de tres niveles de protección para tu Android:
  1. Puedes controlarlo remotamente desde un ordenador ingresando a www.ceberusapp.com
  2. Puedes controlarlo remotamente a través de mensajes de texto
  3. Puedes revisar la información en la SIM
Además, puedes configurar la aplicación para que funcione como tú quieras. Por ejemplo, puedes hacer que tuAndroid le tome una foto al individuo cada vez que la persona que lo tenga en su poder falle en el intento por desbloquearlo, o cuando el delincuente pare la alarma emitida por Cerberus desde el móvil.
En fin, puedes hacer muchas cosas para proteger de mejor manera tu Android luego de haberlo perdido o que te lo hayan robado. Incluso, gracias a su sistema de rastreo, puede ser que hasta encuentres al ladrón y recuperes así tu Android. ¿Qué te parece la aplicación? Aquí te dejo un video para que puedas apreciar mucho mejor su funcionamiento.

Video: Cerberus, más seguridad para tu Android

Fuente: Redmond Pie
También, existen otras aplicación para asegurar nuestro device, entre ellas vamos a nombrar:

tengo pendiente probarlo, pero lei buenas referencias.

Avast, tenga instalada este version



Escucho comentarios de ustedes, acerca de las distintas formas de asegurar su Droid (no vale decir: "lo dejo en casa")
saludos!

jueves, 11 de octubre de 2012

Google Cloud Messaging para Android (GCM) - Los Ejemplos


Lo que vamos a ver en este post es como hacer andar los ejemplos que nos facilita google de GCM para appengine (java) y android.
Empezamos:

Arquitectura de los ejemplos:

El servicio.

 Paso 1:

Este nuevo servicio se encuentra disponible en la consola de servicios de google, lo primero que tenemos que hacer es activar dicho servicio en:  Google APIs Console page.

Paso 2:

Si no tienen un proyecto activo, debes crear uno:
Si ya tienes un proyecto, puedes agregar (en: Dashboard Api Project ->Other projects -> Create) o usar uno existente, cuando estamos en el proyecto, vemos uno dirección como esta:
https://code.google.com/apis/console/#project:4815162342
El dato que nos interesa es el project Id: 4815162342

Paso 3:

Activamos el servicio:
  1. In the main Google APIs Console page, select Services.
  2. Turn the Google Cloud Messaging toggle to ON.
  3. In the Terms of Service page, accept the terms.

Paso 4:

 Obtenemos el Api key :

1. Vamos a API Access
2.  Create new Server key
3.  Click Create
Estas key se pueden cambiar en cualquier momento (tener en cuenta que la vieja key seguirá activa por 24hs), además luego podemos restringir los ip que pueden acceder al servicio! (IPs)

Bueno en este punto ya tenemos el servicio activo y listo para usar!

Vamos con los ejemplos

Servidor

1 – Instalamos los ejemplo y librerías de ayuda
En el SDK manager de android, instalamos: Extras > Google Cloud Messaging for Android Library, esto nos creará unas carpetas en:  YOUR_SDK_ROOT/extras/google/
Tener en cuenta que tenemos que tener el último sdk de android (_r20 al día de la fecha) porque sino nos nos va a aparecer el extra GCM
gcm-client, gcm-server, samples.
Lo que nos bajó aquí es: los helper necesarios para android (client) y java (servlets), ademas de unos ejemplos que utilizan estos helper en: android, appWeb Java y para una appWeb en appengine (java), lastima que nada para appEngine python… :( ese es mi próximo post! :)
2 – Descargamos google appEngine (java) y lo instalamos ver aqui
3 – Editamos la varible ATTRIBUTE_ACCESS_KEY del archivo: /extras/google/gcm/samples/gcm-demo-appengine/src/com/google/android/gcm/demo/server/ApiKeyInitializer.java
1/**
2 * Context initializer that loads the API key from the App Engine datastore.
3 */
4public class ApiKeyInitializer implements ServletContextListener {
5 
6static final String ATTRIBUTE_ACCESS_KEY = "API key"; //nuestra key api que generamos en la consola de api services de google
En este punto y aunque no este en la doc oficial, yo agregué el API Key en:
entity.setProperty(ACCESS_KEY_FIELD, ATTRIBUTE_ACCESS_KEY);
del mismo archivo: /extras/google/gcm/samples/gcm-demo-appengine/src/com/google/android/gcm/demo/server/ApiKeyInitializer.java

4 – nos vamos al directorio: cd /extras/google/gcm/samples/gcm-demo-appengine
Tenemos que armar el paquete de nuevo con el cambio:
01$ ant war
02 
03Buildfile:build.xml
04 
05init:
06   [mkdir] Created dir: build/classes
07   [mkdir] Created dir: dist
08 
09compile:
10   [javac] Compiling 6 source files to build/classes
11 
12war:
13     [war] Building war: <strong>dist/gcm-demo.war</strong>
14 
15BUILD SUCCESSFUL
16Total time: 0 seconds
5 – Ejecutamos el servidor de desarrollo de appengine con el comando ant y le indicamos donde esta el sdk appengine y cual es el ip host
si no tenemos ant, tienen que instalarlo, en linux el comando es:
$ sudo apt-get install ant
01$ ant -Dsdk.dir=/opt/google/appengine-java-sdk runserver -Dserver.host=192.168.1.10 Buildfile: gcm-demo-appengine/build.xml
02init:
03    [mkdir] Created dir: gcm-demo-appengine/dist
04 
05copyjars:
06 
07compile:
08 
09datanucleusenhance:
10  [enhance] DataNucleus Enhancer (version 1.1.4) : Enhancement of classes
11  [enhance] DataNucleus Enhancer completed with success for 0 classes. Timings : input=28 ms, enhance=0 ms, total=28 ms. Consult the log for full details
12  [enhance] DataNucleus Enhancer completed and no classes were enhanced. Consult the log for full details
13 
14runserver:
15     [java] Jun 15, 2012 8:46:06 PM com.google.apphosting.utils.jetty.JettyLogger info
16     [java] INFO: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger
17     [java] Jun 15, 2012 8:46:06 PM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml
18     [java] INFO: Successfully processed gcm-demo-appengine/WebContent/WEB-INF/appengine-web.xml
19     [java] Jun 15, 2012 8:46:06 PM com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
20     [java] INFO: Successfully processed gcm-demo-appengine/WebContent/WEB-INF/web.xml
21     [java] Jun 15, 2012 8:46:09 PM com.google.android.gcm.demo.server.ApiKeyInitializer contextInitialized
22     [java] SEVERE: Created fake key. Please go to App Engine admin console, change its value to your API Key (the entity type is 'Settings' and its field to be changed is 'ApiKey'), then restart the server!
23     [java] Jun 15, 2012 8:46:09 PM com.google.appengine.tools.development.DevAppServerImpl start
24     [java] INFO: The server is running at http://192.168.1.10:8080/
25     [java] Jun 15, 2012 8:46:09 PM com.google.appengine.tools.development.DevAppServerImpl start
26     [java] INFO: The admin console is running at http://192.168.1.10:8080/_ah/admin
6 – ver en un browser: http://192.168.1.10:8080/

Perfecto! ahora vamos con android…

En la documentación original, compila, instala y prueba desde la consola, nosotros lo vamos a hacer en eclipse para poder hacer debug, ver variables etc..
1 – Abrimos eclipse (supongamos que ya lo tienen configurado con el sdk y emulador), sino lo pueden hacer por consola como en la doc original, y ponemos:
file > new > project… > android > Android Project from existing code
Root Directory: AndroidSdk/extras/google/gcm/samples/gcm-demo-client
Seleccionamos el proyecto y finish
Ya tenemos el proyecto en eclipse, al cual podemos hacer click derecho > properties > android y le ponemos el target que necesitemos
recordar que esto funciona a partir de android 2.2 api 8 en adelante, y que si utilizamos una versión de android inferior a Android 4.04, tiene que tener si o si al menos una cuenta google asociada!
2 – Editamos el archivo: CommonUtilities.java
01public final class CommonUtilities {
02 
03/**
04 * Base URL of the Demo Server (such as http://my_host:8080/gcm-demo)
05 */
06 static final String SERVER_URL = "http://192.168.1.10:8080";     //local IP donde esta corriendo el servidor de desarrollo del appengine
07 
08/**
09 * Google API project id registered to use GCM.
10 */
11 static final String SENDER_ID = "4815162342";        //el ID del proyecto que vimos al principio
3 – En eclipse: run > Debug as > Android Aplication (tener ya configurado el emulador con android 2.2 o superior)
Deberíamos ver:
4 – Refresh en el browser:
5 – Presionamos en Send Message
Ya tenemos todo listo, el device registrado en el server y el device listo para recibir mensajes!! Espero les sirva!!