Tag Archives: PFC

Instalar ESbox 2 en Ubuntu 9.10

Al comenzar con mi PFC preparar el IDE para programar para Maemo era un poco lioso, pero desde que ha salido la versión 2.0 del ESbox (que “no es más” que un eclipse con todo lo necesario instalado de serie), la verdad es que no tiene ningún mérito.

  • Paso 1: Echar un ojo en la web de ESbox 2nd Edition para enterarnos de las novedades.
  • Paso 2: Descargar el ESbos para nuestro SO favorito
  • Paso 3: Descomprimir
  • Paso 4: Ejecutar vía esbox.sh (en distribuciones modernas hay fallo, pero mejor leerlos en la web de ESbox, al fin y al cabo, el Paso 1 era echar un ojo).

Listo. Si ya tenemos instalado el SDK, el Scratchbox y Xephyr, ya podemos ponernos a trabajar.

La versión 2.0 de ESbox sólo sirve para Maemo 4 y para Maemo 5.

2010 intenciones

Hace ya unos cuantos días que Rober hacía una llamada general para que contásemos lo que esperamos del 2010, me he retrasado un poco, espero que me sepa perdonar.

No son muchas, pero son las que se me ocurren ahora mismo. Es posible que me falten cosas relacionadas con la música o con la política, pero con este frío (tengo los pies helados) es difícil pensar.

Creo que si cumplo más de la mitad estaré contento, pero vamos a por todas.

  • Terminar la carrera.
  • Intentaré trabajar en algo que me apasione y sea un reto.
  • Crearé mi primera aplicación para Android (más detalles a partir de Marzo).
  • OGT Inc. dejará de ser un proyecto simplemente (copiado de Rober).
  • Enamorarme al menos una vez cada fin de semana (no pasa nada si es de la misma persona/bar).
  • Correr una media maratón y una maratón completa.
  • Sacar más fotos.
  • Irme muy lejos o quedarme dónde estoy.
  • Hackear algunas cosas, preferiblemente relacionadas con GNOME.
  • Mantener el contacto con la gente “que me da la vida”.
  • Conocer más gente de las que me la quitan.
  • Placar a Chemi y dejarlo sin aire (desde el cariño).
  • Sobrevivir al día siguiente de la superbowl en el curro.
  • Organizar un cumple conjunto con Aida.
  • Montar un miniservidor casero con OpenSolaris y ZFS.
  • Ver a Pearl Jam en el BBK (y a Rammstein).

Guardando valores con Gconfd

Esta entrada no es exclusiva de Maemo, ya que podemos programar utilizando Gconf también desde otros entornos, normalmente un GNU/Linux con GNOME.

Aunque en principio la existencia de un registro nos puede recordar al registro de Windows, sobretodo si comparamos sus editores regedit y gconf-editor, hay una diferencia clara entre ambas opciones. El registro de la empresa de Redmond, almacena valores tanto para configuraciones de usuario como para configuraciones de sistema. Por otra parte, el registro de los sistemas con el pingüino, sólo almacena configuraciones pertenecientes a un usuario concreto. La principal ventaja, en caso de que estropees algo jugando con el registro, sólo corre riesgos tu usuario.

La funcionalidad que nos ofrece el uso de un registro es poder acceder de forma centralizada a valores de variables “públicas”. Digo públicas porque quiero recalcar que los datos del registro son accesibles a todas las aplicaciones que esté ejecutando el usuario. Esto nos provee de otra forma más de intercomunicar aplicaciones.

Por poner un ejemplo: tenemos un programa que detecta nuestra posición y queremos que cuando estemos en nuestro lugar de trabajo, utilice el proxy de la empresa. Pues modificamos la clave reglamentaria y listo. Gconf nos proporciona, además, notificaciones, para que si estamos vigilando un valor y una tercera parte hace un cambio podamos reaccionar. En nuestro ejemplo, el navegador sería avisado de que se ha cambiado el valor del proxy y haría las peticiones a través de el.

A la hora de trabajar con el registro es importante recordar algo que al menos a mi se me olvida a veces: los valores por defecto. ¿Qué pasa si la clave no existe? ¿Qué pasa si la clave tiene un valor que no nos interesa?

Conectando el Nokia 810 por USB en Ubuntu

USB

Todo lo que voy a contar ahora lo he probado en mi Ubuntu Karmic, que en estos momentos se encuentra en fase alpha (concretamente alpha 6) así que no es seguro que los pasos funcionen en próximas o pasadas versiones, ya que se está cambiando la forma de funcionar de algunos servicios en Ubuntu. Aún así y por lo que recuerdo, los pasos son similares a los de Ubuntu Jaunty.

Empezamos por el principio:

Lo primero es instalar en nuestro Nokia 810 unas cuantas utilidades básicas: xterm, ssh-server y maemo-pc-connectivity, con ellas podremos acceder por ssh, tener una consola y conectar el trasto al PC. Cosas básicas para cualquiera que tenga un 810 y quiera cacharrear (no recomiendo para nada este dispositivo para usarlo en la vida real, no he probado el n900, estoy muy contento con mi HTC Magic).

Configurando el Nokia 810:

Antes de conectar el cable USB, accedemos a: Aplicaciones – Ajustes – Panel de Control. En el apartado Extras encontramos la herramienta USB networking. Hacemos clic en el botón “Setup USB networking” y si no obtenemos ningún mensaje de error, ya hemos hecho todo el trabajo necesario en el “móvil”.

Por desgracia esta aplicación te permite volver a hacer clic aunque ya esté configurado, lanzando un bonito mensaje de error diciendo que el módulo no se ha podido cargar. En realidad el módulo ya está cargado así que no hay problema. Pero estas son cosas mías que tampoco afectan demasiado.

Configuramos nuestro equipo:

Ahora toca la parte que puede cambiar con distintas versiones de Ubuntu, pero que si no recuerdo mal, lleva al menos dos versiones estables funcionando.

Una vez enchufado el cable, en nuestro gestor de conexiones (network-manager) añadimos los siguientes datos a nuestra conexión que por defecto se llamara Auto usb0:

Dirección: 192.168.2.14
Máscara: 255.255.255.0

Acto seguido podemos hacer un script para configurar las reglas de iptables para que nuestro Nokia acceda a internet usando nuestro PC.

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -P FORWARD ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE -o eth0

Siendo eth0 la interfaz por la que nuestro PC acceded a internet. El script habrá que ejecutarlo con permisos de administrador.

Para dejar las reglas como estaban:

echo 0 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -F POSTROUTING

En su mayor parte la información la he sacado del manual de maemo de Interconexión por USB. Pero modificadas algunas cosas para mi gusto.

Preparando el entorno para programar en el N810

Ha salido una versión más reciente del IDE así que lo que cuento está desactualizado, en breve haré un artículo nuevo.

Supongo que éste debería haber sido mi primera entrada sobre el PFC, pero la he ido posponiendo hasta encontrar el que para mi es el método ideal.

Lo voy a explicar para Ubuntu 9.04, que aunque está en beta aún, sólo le queda un mes. Podría utilizar cualquier otra distribución y versión, pero no resultaría tan divertido.

Lo primero es instalar Java, al menos en la beta no encuentra ningún jre, así que me decanto por el de Sun. $ sudo apt-get install sun-java6-jdk y listo.

Lo más sensato es seguir estas instrucciones, ya que yo he probado con la última versión de eclipse (con mi guía para instalar Eclipse 3.4 y Subversion en Ubuntu) pero no ha funcionado.

Una vez instalado Eclipse, hay que configurarlo, aunque lo único que hay que tocar es por si vas a programar con Python, que no es mi caso. De momento.

Ahora vamos a instalar la el Scratchbox y la versión 4.1.2 del SDK , así como el plugin de ScratchBox para eclipse, y ya poder ‘emular’ el Nokia N810. Atención: al finalizar la instalación es muy posible que nos acerquemos a los 2GB de espacio usado, con lo que hay que tener espacio suficiente en las particiones. Se instala por defecto en /scratchbox, así que en mi caso tocó redimensionar la partición raíz del sistema.

Por último, tenemos que instalar Xephyr, un simple sudo apt-get install xserver-xephyr debería valer.

Si queremos cacharrear con el GPS y algunas otras cosas, habrá que instalar los paquetes privativos de Nokia, aunque viendo como está evolucionando, no me extrañaría que en una nueva versión del SO, sean sustituidos por alternativas libres.

La instalación es lenta, al fin y al cabo, estamos instalando todo un sistema operativo. Se nos añadirán algunas lineas en nuestro /etc/sources.list que conseguirán que siempre tengamos nuestro N810 ficticio igual de actualizado que el real.

Si queremos tener el los repositorios estos paquetes privativos a los que hacía referencia antes, tendremos que hacer caso a un mensaje que nos lo dice al terminar la instalación. Existe un par de detalles con los que hay que pelearse durante la instalación, problemas con el kernel de Ubuntu, pero no es grave y si falla, el propio script de instalación nos da la solución.

En resumen, muy fácil, pero un poco lento, ya que es necesario descargar e instalar una cantidad importante de programas.

Nokia 810, GPS e histerias varias

Pese a lo que puse en el artículo anterior, el GPS del Nokia 810 parece funcionar. Ayer estuve probando otro en el patio de la uc3m en Leganés y después de un ‘buen rato’, terminó por saber ‘dónde estaba’, las primeras comillas son porque con compañía el tiempo no se puede medir y las segundas porque como no tenía el mapa del Reino de España, la marca de posición se quedaba en mitad de una pantalla blanca.

Lo anterior hace que esté contento por un lado, el PFC quedará mucho mejor siendo ‘fiel’ a la idea original, pero por otro lado me fastidia haber perdido la mañana del Domingo pasado sin conseguir que funcionara. En fin, cosas más raras han pasado (que es el título de la entrada anterior, aunque ponga la canción en éste).

El martes aproveché para seguir probando cosas, concretamente la cámara. Lo bueno: cuando estás emulando (y supongo que en el nokia hará lo mismo, Debian inside!), busca la webcam en /dev/video0 con lo que es posible simular la cámara del cacharrín. Lo malo, mi webcam es de las que no le gustan y no funciona. Siempre me ha dado problemas… investigaré a ver si puedo lograr que se vea, pero en la práctica me da un poco igual, porque viendo que el programa compila/ejecuta… con un poco de cabeza debería poder ejecutarlo en el 810 sin problemas.

Una de las cosas que peor veo después de unos cuantos días programando es que no tengo mucha idea de C, no me da miedo, me gusta aprender, pero… a la hora de hacer alguna cosa avanzada, me va a dar algún dolor de cabeza. No soy capaz de pensar en un problema y ver la estructura del código antes de escribirlo. Es cuestión de práctica, seguro.

La otra cosa que me hace perder el tiempo es que no veo claro que librerías hay que pasarle al compilador en cada caso, en las páginas de ejemplos suele venir el código, pero no las opciones de compilación y hasta que descubro que librería es la que hace falta, me vuelvo un poco loco. De todas maneras, eso un número limitado, gstreamer, webcam…

En resumen, avanzo despacito, pero avanzo.

Cosas más raras han pasado

‘Cause we hunt you down without mercy

Hunt you down all nightmare long

Feel us breathe upon your face

Termina un fin de semana extraño. Han pasado cosas regulares, cosas buenas y cosas malas. Si no hace mucho me temía un palazo en la cara, creo que el primero ha llegado. No ha sido demasiado fuerte, simplemente un aviso para navegantes.

Pensaba que el viernes iba a ser un día grande, al fin y al cabo, el plan era conocido, todos en la Taberna de Quique y luego corriendo a Madrid. Celebrábamos el cumple de Chemi y lo pasamos bien. Pero por la noche… me rallé (por razones que nadie se imagina, dicho sea de paso) y me fui prontito. Tuve un flash al llegar a casa (me di cuenta de que el mundo me daba un palazo de aviso y no uno a traición) y me di cuenta de que tengo tres o cuatro objetivos en mente y eso requiere más concentración de la que le estoy poniendo.

El sábado amanecí de mala leche, pero un paseo por el Retiro para leer y un mojito con la amiga adecuada puede hacer cambiar cualquier cosa. Una noche muy muy tranquila, pero muy agradable. Es bueno oírse contando tus ‘problemas’, te ayuda a ponerlos en su sitio. Jejeje, ¡parezco un teenager!

Total, que el domingo me he levantado de muy buen humor, he bajado al Retiro de nuevo a probar el GPS del cacharrín, que no ha funcionado, he buscado un plan para la tarde, que no ha funcionado, he intentado encontrar un correo explicándome porqué suspendí un trabajo que tampoco he encontrado. ¿Resultado? Buscar alternativas para lo del GPS, buscar planes mejores y echarle más horas a la uc3m. Lo que suele llamarse tirar pa’lante. Todas estas buenas vibraciones se han confirmado haciendo 10km en unos 54 minutos. En realidad he corrido 12, pero calculando la media me sale eso, así que… seguramente pueda bajarlo un minutillo más si me esfuerzo :)

La verdad es que nunca pensé que fuera a poner una canción de Metallica y menos del disco nuevo, pero… me ha levantado el humor este fin de semana.

Por cierto tengo muchísima sed :(

Hola Mundo Maemo

Ya voy teniendo algo que enseñar, por supuesto es poca cosa. El hola mundo es el principio, pero te dice que todo se ha instalado correctamente, y ese es un primer paso, pero importante.

Otra cosa que he hecho es instalar git para mi pfc. La idea no es solo usarlo para el pfc, sino que me gustaría hacer público todo mi código personal por si a alguien le resulta útil, quiere reírse un rato o echarme una mano.

Cuando tenga más datos de mi git o algún progreso más con maemo, seguiré informando.

Comienzo el PFC

Nokia 810 Supongo que ya era hora de ir haciendo algo ‘de provecho’, después de tanto tiempo programando cosas por afición, por fin me llega la hora de programar para un fin concreto. De acuerdo, en las prácticas de clase también se programa… pero menos de lo que nos parece durante las clases.

Empiezo mi PFC, que si Android y Vodafone no lo remedian, tratará de hacer una aplicación para el Nokia 810. ¿No es gran cosa? Pues sí, porque el Nokia 810 funciona sobre Debian y eso significa GNU/Linux y disfrutar de las frikezas de la vida.

Poco a poco, en esta categoría iré escribiendo todo lo que sea menester, tanto para que mi tutora siga el ritmo de mis avances (con el rss del PFC) como para dar un poco más de información, dentro de lo poco que pueda aportar, sobre como programar en este dispositivo.

De momento estoy a la espera de que se descarguen los 300 y pico megas del SDK, que pasarán a ser 900 y pico tras la instalación. Es curioso, lo primero que he leído es que el kernel de Ubuntu es ‘incompatible’ con el SDK, esto promete ser divertido, pero cada cosa a su tiempo.

Espero que esta sea la primera de muchas, divertidas y nocturnas entradas.