viernes, 31 de diciembre de 2010

Ocultar archivos multimedia en Android

En un teléfono con Android, tanto la Galería de imágenes como el reproductor de música, buscan de forma automática imágenes y archivos de audio en la tarjeta SD del teléfono.

Esta característica, que en principio es una ventaja, no lo es tanto cuando se muestran archivos que no nos interesan. Por ejemplo los iconos de un programa de navegación o los efectos de sonido de un juego. Para evitar esto, basta con crear un archivo vacío llamado ".nomedia" en el directorio del que no queremos que se muestren sus archivos multimedia (imagen, sonido, vídeo). Una vez añadido el archivo ".nomedia" los archivos dentro de otro directorios a partir del que contiene este archivo, tampoco se añaden a la coleccion multimedia.

Una vez añadido este archivo ".nomedia" basta con reiniciar la galería o el reproductor para que se reindexe la tarjeta SD y se eliminen los archivos que no nos interesan.

miércoles, 8 de diciembre de 2010

Error de instalacion de Google Earth 6

Las ultimas actualizaciones de Google Earth (si bien son siempre bienvenidas), no dejan de dar algunos problemas. Y la ultima versión no ha sido diferente. Una vez descargada la versión 6 para GNU/Linux desde su web, en el momento de instalarla en Fedora Core 14 (versión de 64 bits), daba el siguiente error:

    "setup.data/setup.xml:1: parser error : Document is empty"

y abortaba la instalación.  Después de buscar un poco con Google, la solución es esta:

    $ ./GoogleEarthLinux.bin --target /tmp/ge
    $ cd /tmp/ge/setup.data/bin/Linux/x86/
    $ mv setup.gtk setup.gtk2
    $ cd /tmp/ge
    $ ./setup.sh

Finalmente, al intentar ejecutarlo daba un nuevo error al no encontrar una libreria.

    /usr/local/bin/googleearth: /opt/google-earth/googleearth-bin: /lib/ld-lsb.so.3:     bad ELF interpreter: No existe el fichero o el directorio
    /usr/local/bin/googleearth: línea 49: /opt/google-earth/googleearth-bin: Conseguido

Este error es debido a que Google Earth esta compilado para 32 bits y  el sistema operativo solo tenia instaladas las librerías de 64 bits. El problema se soluciona instalando las versiones de 32 y 64 bits de la libreria "redhat-lsb" mediante el comando:

    $ yum install redhat-lsb.i686 redhat-lsb-4.0-5.fc14.x86_64

Ahora si, funciona sin problemas.

martes, 30 de noviembre de 2010

Manifiesto por una Red Neutral

(Si te sientes cómodo y representado por este texto, dale toda la difusión que puedas y quieras: reprodúcelo, enlázalo, tradúcelo, compártelo, vótalo… todas esas cosas que puedes hacer con total tranquilidad y libertad gracias, precisamente, al hecho de que tenemos todavía una red neutral. Hagamos posible el seguir teniéndola)
 
Los ciudadanos y las empresas usuarias de Internet adheridas a este texto MANIFESTAMOS:
  1. Que Internet es una Red Neutral por diseño, desde su creación hasta su actual implementación, en la que la información fluye de manera libre, sin discriminación alguna en función de origen, destino, protocolo o contenido.
  2. Que las empresas, emprendedores y usuarios de Internet han podido crear servicios y productos en esa Red Neutral sin necesidad de autorizaciones ni acuerdos previos, dando lugar a una barrera de entrada prácticamente inexistente que ha permitido la explosión creativa, de innovación y de servicios que define el estado de la red actual.
  3. Que todos los usuarios, emprendedores y empresas de Internet han podido definir y ofrecer sus servicios en condiciones de igualdad llevando el concepto de la libre competencia hasta extremos nunca antes conocidos.
  4. Que Internet es el vehículo de libre expresión, libre información y desarrollo social más importante con el que cuentan ciudadanos y empresas. Su naturaleza no debe ser puesta en riesgo bajo ningún concepto.
  5. Que para posibilitar esa Red Neutral las operadoras deben transportar paquetes de datos de manera neutral sin erigirse en “aduaneros” del tráfico y sin favorecer o perjudicar a unos contenidos por encima de otros.
  6. Que la gestión del tráfico en situaciones puntuales y excepcionales de saturación de las redes debe acometerse de forma transparente, de acuerdo a criterios homogéneos de interés público y no discriminatorios ni comerciales.
  7. Que dicha restricción excepcional del tráfico por parte de las operadoras no puede convertirse en una alternativa sostenida a la inversión en redes.
  8. Que dicha Red Neutral se ve amenazada por operadoras interesadas en llegar a acuerdos comerciales por los que se privilegie o degrade el contenido según su relación comercial con la operadora.
  9. Que algunos operadores del mercado quieren “redefinir” la Red Neutral para manejarla de acuerdo con sus intereses, y esa pretensión debe ser evitada; la definición de las reglas fundamentales del funcionamiento de Internet debe basarse en el interés de quienes la usan, no de quienes la proveen.
  10. Que la respuesta ante esta amenaza para la red no puede ser la inacción: no hacer nada equivale a permitir que intereses privados puedan de facto llevar a cabo prácticas que afectan a las libertades fundamentales de los ciudadanos y la capacidad de las empresas para competir en igualdad de condiciones.
  11. Que es preciso y urgente instar al Gobierno a proteger de manera clara e inequívoca la Red Neutral, con el fin de proteger el valor de Internet de cara al desarrollo de una economía más productiva, moderna, eficiente y libre de injerencias e intromisiones indebidas. Para ello es preciso que cualquier moción que se apruebe vincule de manera indisoluble la definición de Red Neutral en el contenido de la futura ley que se promueve, y no condicione su aplicación a cuestiones que poco tienen que ver con ésta.
La Red Neutral es un concepto claro y definido en el ámbito académico, donde no suscita debate: los ciudadanos y las empresas tienen derecho a que el tráfico de datos recibido o generado no sea manipulado, tergiversado, impedido, desviado, priorizado o retrasado en función del tipo de contenido, del protocolo o aplicación utilizado, del origen o destino de la comunicación ni de cualquier otra consideración ajena a la de su propia voluntad. Ese tráfico se tratará como una comunicación privada y exclusivamente bajo mandato judicial podrá ser espiado, trazado, archivado o analizado en su contenido, como correspondencia privada que es en realidad.

Europa, y España en particular, se encuentran en medio de una crisis económica tan importante que obligará al cambio radical de su modelo productivo, y a un mejor aprovechamiento de la creatividad de sus ciudadanos. La Red Neutral es crucial a la hora de preservar un ecosistema que favorezca la competencia e innovación para la creación de los innumerables productos y servicios que quedan por inventar y descubrir. La capacidad de trabajar en red, de manera colaborativa, y en mercados conectados, afectará a todos los sectores y todas las empresas de nuestro país, lo que convierte a Internet en un factor clave actual y futuro en nuestro desarrollo económico y social, determinando en gran medida el nivel de competitividad del país. De ahí nuestra profunda preocupación por la preservación de la Red Neutral. Por eso instamos con urgencia al Gobierno español a ser proactivo en el contexto europeo y a legislar de manera clara e inequívoca en ese sentido.

jueves, 30 de septiembre de 2010

Error LocationMasfClient en Android

Cuando se usan coordenadas geográficas (para mapas, geocoding, etc ) en Android y aunque el emulador tenga soporte para GPS, es posible que en el registro LogCat aparezca el siguiente error:
LocationMasfClient  reverseGeo(): no feature in GLocation

y el programa no muestre ningún resultado. Aunque si se crea un archivo .apk y se instala en un teléfono real funciona correctamente.

Este error esta relacionado con el carácter usado para separar los decimales de las coordenadas enviadas al emulador. Para solucionarlo hay que establecer el idioma usado a ingles.
En Eclipse, basta con añadir ‘-Duser.language=en’ al archivo de configuración eclipse.ini y en DDMS estableciendo la variable de entorno: ‘java_debug=-Duser.language=en’.

domingo, 11 de julio de 2010

Localizando el emulador de Android

Cuando se programa para Android puede ser interesante localizar la aplicación para varios idiomas. Una forma rápida de cambiar el idioma usado por el emulador de Android, es abrir un terminal y usar los siguientes comandos:

$ adb shell 'setprop persist.sys.language en'
$ adb shell 'setprop persist.sys.country GB'
$ adb shell 'stop'
$ adb shell 'sleep 5'
$ adb shell 'start'

Con los comandos anteriores, se ha cambiado el idioma a Ingles de Gran Bretaña y a continuación se ha reiniciado el emulador.
Y para comprobar el idioma que esta usando:

$ adb shell 'getprop persist.sys.language'

sábado, 10 de julio de 2010

Programas para Android

Hace unas semanas, acabe el curso de programación con Android. Y como la mejor forma de asimilar nuevos conocimientos es ponerlos en practica, me puse a programar un par ideas que tenia pendientes. El resultado son dos nuevos programas para Android.

El primero sirve para convertir entre coordenadas geográficas y UTM. El segundo permite averiguar el significado de los pitidos que emite una BIOS cuando el ordenador tiene algún problema al arrancar.
CoordTransform

Bios Beep Codes
En ambos casos, el grupo de usuarios al que van dirigidos es bastante reducido, pero según las estadísticas de instalación ya hay gente que los tiene instalados en su móvil y los usan. 
Otra cosa que me ha sorprendido es que estén instalados por todo el mundo. Que haya gente de Europa o Estados Unidos que se descargue el programa y lo instale, es bastante normal, pero que alguien de los Emiratos Árabes o Kazakstán lo instale lo encuentro sorprendente. Es cierto que Internet elimina barreras y reduce las distancias, pero hasta que no lo ves en directo es difícil de apreciar.

lunes, 24 de mayo de 2010

Me encanta esta viñeta de XKCD sobre lo importante que es crear y usar estándares abiertos si no quieres tener sorpresas en el futuro.

martes, 18 de mayo de 2010

Me he apuntado a un curso online gratuito llamado "Developing Android Apps with Java". Es la segunda parte de un curso que hicieron a principios de año sobre programación con Android. Dura 5 semanas, dos horas a la semana entre el 18 de Mayo y el 22 de Junio. Y mirando el programa del curso parece que será muy interesante.
El curso consistirá en crear un cliente para Twitter con Android.
El inconveniente que tiene es que no te puedes perder ninguna clase. Porque aunque el curso en directo es gratuito, si quieres volver a ver alguna de las clases has de comprarla.

viernes, 23 de abril de 2010

Coordenadas erróneas en Google Earth 5.1

Una característica interesante de Google Earth es que permite cargar los archivos GPX grabados por dispositivos GPS y mostrarlos en el mapa.
En algunas versiones se produce un error de conversión de coordenadas. Si el lenguaje usado por el ordenador usa las comas como separador decimal, algunas versiones de las bibliotecas Qt4 truncan la parte decimal. Esto da errores de situación de varios cientos de kilómetros.

Para solucionarlo en Linux basta con modificar el script de inicio de Google Earth (por ejemplo, /opt/google-earth/googleearth ) y  exportar la variable LC_ALL despues de LD_LIBRATY_PATH de la siguiente forma:

export LD_LIBRARY_PATH
export LC_ALL=us_US.UTF-8

miércoles, 14 de abril de 2010

Error con GTK2-2.18 y Eclipse

Después de una actualización de GTK2-2.18, los botones de las ventanas de dialogo de Eclipse dejaron de funcionar correctamente. Respondían correctamente al teclado, pero ignoraban los eventos de ratón.

Para solucionar este error se abre un terminal y se exportar la variable GDK_NATIVE_WINDOWS.

    export GDK_NATIVE_WINDOWS=true

A continuación se ejecuta Eclipse desde esa misma terminal.
Para evitar tener que escribirlo cada vez que ejecutamos Eclipse, se puede editar el archivo .bashrc y añadir la siguiente linea:

    alias eclipse="GDK_NATIVE_WINDOWS=true eclipse"

Las ultimas actualizaciones de GTK2 ya han corregido este error.

lunes, 29 de marzo de 2010

Primera entrada

Hola, ahora que parece que todo el mundo tiene un blog, abro yo el mio para escribir sobre aquellas cosas que me interesan a mi y quizá a alguien mas, nunca se sabe.
De momento, solo una primera entrada sencilla para comprobar que todo funciona correctamente. 

Nos vemos.