Delirios de un Informático

Delirando sobre informática, fotografía, programación, móviles y mucho más desde 2003

Veo en el blog de mi complañero Raúl el Making Off de Avatar (subtitulado) y me ha encantado. Es impresionante ver el despliegue técnico y la evolución que han sufrido los efectos especiales en esta película.

25/Ene/2010 | 0 comentarios | En Bitacoras.com

Cómo decodificar correos en formato maildir

votar
Archivado en Software con fecha 14/Ene/2010 - 0 comentarios
Ver en Bitacoras.com - Etiquetado con: , , ,

Me acabo de encontrar con la necesidad de recuperar un adjunto de un correo enviado con una cuenta que utiliza Maildir como formato de almacenamiento de los correos. Es un archivo de texto plano con las cabeceras y demás pero que tiene el adjunto codificado en base64. Tras curiosear un poco dí con el programa munpack, que permite decodificar los archivos binarios en mensajes MIME, así como el antiguo formato uuencoded.

Para realizar la decodificación:

sudo apt-get install mpack
cat mensaje | munpack

En el directorio donde estemos aparecerá un archivo con extensión .desc que contiene el texto del mensaje y todos los adjuntos con su correspondiente nombre :)

“Macros” en GNU Screen

votar
Archivado en Linux con fecha 18/Dic/2009 - 0 comentarios

Ya he hablado de GNU Screen y de su potencia. Las posibilidades que brinda son enormes, sobre todo para los que tenemos que monitorizar servidores. Gran parte de la potencia de GNU Screen reside en el enorme número de opciones de personalizacion, desde los títulos hasta los accesos directos, funcionalidad que he usado para crear macros de comandos.

En GNU Screen podemos ejecutar comandos al estilo vim, pulsando C^a :. Tecleando help saldrá la ayuda para los comandos más usados, comandos que he usado para realizar personalizar una pantalla dividida en 4 (ejemplos) que me permitan monitorizar 4 servidores simultáneamente (con una pantalla grande, lógicamente).

En el archivo .screenrc he definido un bind con el comando eval, que permite evaluar una serie de comandos para ejecutarlos al pulsar una tecla:

bind 4 eval "split" "split -v" "focus" "screen" "exec htop" "focus" "split -v"
            "screen" "exec htop" "focus" "screen" "exec htop" "focus" "screen" "exec htop"

Con este macro, al pulsar C^a 4 la pantalla se dividirá automáticamente en 4, abriendo en cada una un terminal con un htop. El comando focus permite cambiar entre las diferentes pantallas y el comando screen.

Como se ve, es fácil personalizarlo añadiendo tras exec el comando que se quiera…

PD: gracias a r0sk por la ayudita ;)

Problemas de conectividad de Java en Debian

votar
Archivado en Debian con fecha 15/Dic/2009 - 0 comentarios
Ver en Bitacoras.com - Etiquetado con: , , ,

Desde hace unos días las aplicaciones Java fallaban al conectarse a internet, mostrando un Network is unreachable al intentar obtener cualquier dato de internet. Tras pelearme con Java y sus preferencias una y otra vez, acabé encontrando este comentario que indica que se trata de la configuración del sistema. Si un cat /proc/sys/net/ipv6/bindv6only devuelve 1 ahí está el problema: las conexiones Java con IPV4 no funcionarán. Para solucionarlo, basta ejecutar este comando:

sudo sysctl net.ipv6.bindv6only=0

Con este ajuste, Java podrá volver a conectarse a internet.

La PS3 no soporta ciertos formatos bastane utilizados como ciertas versiones de XviD o MKV, por lo que tras descargarse una película en esos formatos es necesaria una conversión a algún formato soportada por la consola. Tras varios intentos fallidos o demasiado complejos con Avidemux, ffmpeg y mencoder, di con Handbrake, que realiza la conversión a M4V con un par de clicks y aprovechando la potencia de los procesadores multinúcleo…

2/Dic/2009 | 0 comentarios | En Bitacoras.com

Solución a los problemas con SQLite en OpenWRT

votar
Archivado en Linux con fecha 30/Nov/2009 - 2 comentarios

Uno de los motivos para instalar Lighttpd en OpenWRT era poder utilizar aplicaciones con base de datos, como gestores de tareas o documentación y tener siempre disponible esos datos independientemente de desde donde uno se conecte (equipo de trabajo, portátil via wifi, móvil via 3G…). Pero la Ley de Murphy siempre tiene que aparecer para que no funcione justo lo que necesitas. Por lo visto, existe un bug que provoca que SQLite no funcione correctamente con varias versiones de Kamikaze (en mi caso la 8.09.1) que provoca el siguiente error con bases de datos SQLite 2.x:

sqliteBtreeOpen: Assertion `sizeof(ptr)==sizeof(char*)' failed.

En el caso de SQLite 3.x el error es un desagradable Segmentation fault y tras mucho curiosear por foros e intentar compilar sin éxito con estas instrucciones me puse a probar con todos los paquetes que encontré hasta dar con este backport de los propios servidores de OpenWRT y que curiosamente funciona aunque no lo haga ninguno de los otros paquetes de otras RC.

Sencillo editor de paquetes Debian

votar
Archivado en Debian con fecha 24/Nov/2009 - 0 comentarios

Más de una vez he necesitado modificar un paquete .deb debido a que las dependencias no son las correctas o la versión se detecta mal y se fuerza su actualización. Es el caso de mail-notification-evolution, paquete al que hay que modificarle la dependencia con libcamel para poder hacerlo funcionar con Evolution 2.28. Como los paquetes son simplemente archivos con una cierta informacion y comprimidos, es posible modificarlos utilizando File Roller o similares, pero es una tarea más incómoda.

El script simplemente descomprime el paquete y permite editar el archivo de texto que define la versión y las dependencias. Tras salir del editor actualiza el archivo guardado y borra los archivos temporales:

#!/bin/bash
dpkg -e "$1"
cd DEBIAN/
vim control
tar czvf control.tar.gz *
mv control.tar.gz ../
cd ..
ar r "$1" control.tar.gz
rm -rf DEBIAN
rm control.tar.gz

Mientras se edita el archivo, es posible acceder a la carpeta DEBIAN creada en el directorio de trabajo y modificar los archivos del paquete data.tar.gz, que es donde está todos los archivos que se instalarán con el paquete.

Mozila Firefox y aplicaciones Adobe 32bits en 64bits

votar
Archivado en Debian con fecha 23/Nov/2009 - 2 comentarios

Los chicos de Adobe no acostumbran a hacer versiones decentes de sus productos para Linux y menos aún para plataformas de 64bits, por lo que a veces es engorroso hacerlas funcionar.

Tras hartarme de Iceweasel para 64bits y los permanentes errores que daba al funcionar con Adobe Flash Player para 64bits, decidí instalarme Mozilla Firefox para 32bits (ya que Mozilla no proporciona versiones para Linux 64bits) en un directorio aparte y hacer lo mismo con el resto de aplicaciones de Adobe.

Lo primero es instalar las librerías que dan soporte para aplicaciones de 32bits:

sudo apt-get install ia32-libs ia32-libs-gtk

Con esto podremos ejecutar Mozilla Firefox, Adobe Acrobat Reader y Adobe Air sin mayores problemas, exceptuando los estilos de GTK que no se cargarán dando este error:

libclearlooks.so: wrong ELF class: ELFCLASS64

Para solucionar ese detalle es necesario indicar la ruta de los motores de GTK 32bits del siguiente modo:

export GTK_PATH=/usr/lib32/gtk-2.0

Como eso afectará al resto de aplicaciones que se abran, habrá que crear un lanzador para estas aplicaciones con un script bash:

#!/bin/bash
export GTK_PATH=/usr/lib32/gtk-2.0
/home/david/Applications/acroread/Adobe/Reader8/bin/acroread "$@"

Deberá usarse el mismo script cambiando la ruta para lanzar Mozilla Firefox o las aplicaciones instaladas para Adobe Air. Para hacer funcionar los plugins Acrobat Reader y Flash Player con Firefox 32bits, bastará con copiar las librerías correspondientes al directorio plugins de Firefox (nppdf.so y libflashplayer.so). El problema está en que al usar esta configuración el plugin Flash Player 10 no detecta correctamente la librería cURL dando este error:

Adobe Flash Player error: could not load cURL library

Será necesario recurrir a la versión 9.0 de Adobe Flash Player para que funcione correctamente, ya que es más que suficiente para el 99% de los caso. Por último, para que el plugin Acrobat Reader se cargue adecuadamente, será necesario enlazar el script creado anteriormente a /usr/bin/acroread.

Por último, para pulir los ciertos detalles con Mozilla Firefox, será necesario enlazar o copiar a /usr/lib32 los archivos que los paquetes libcroco3, libgsf-1-114, librsvg2-2 y librsvg2-common instalan en /usr/lib. Basta con abrir el paquete con File Roller para extraer los archivos. Además, si se utilizan los drivers propietarios de NVIDIA o ATI será necesario instalar las librerías que dan compatibilidad con 32bits(nvidia-glx-ia32 y fglrx-glx-ia32 respectivamente).

“I Want To Be Freak”

votar
Archivado en Chorradas con fecha 5/Nov/2009 - 0 comentarios

Como fan de Queen (sí, que pasa) y friki que soy, y tras ver esta recopilación de camisetas (via meneame) no puedo resistirme a ponerlo aquí:

be-freak

Android funcional en VirtualBox

votar
Archivado en Móviles con fecha 5/Nov/2009 - 0 comentarios

He estado trasteando para intentar hacer funcionar Android en VirtualBox, ya que con tanta expectación por el dichoso sistema operativo me ha picado la curiosidad (ya iba siendo hora). Y tras ver que es posible hacerlo funcionar en plataformas x86 me he puesto a indagar. La mayoría de la información esta desperdigada en el wiki del proyecto Live Android entre documentación y comentarios, así que he querido recopilar aquí lo más importante.

Tras descargar una imagen ISO de Live Android habrá que crear una máquina virtual en VirtualBox con los siguientes parámetros, dejando el resto por defecto:

  • Memoria base: 256 MB
  • Disco duro: IDE primario maestro de 1 GB
  • Tarjeta de red: PCnet-FAST III (Adaptador puente)
  • Audio: deshabilitado
  • CD-Rom: imagen iso de Live Android

Una vez configurado todo, basta arrancar la máquina y tras un inicio típico de Linux y los logotipos de Android, aparecerá el escritorio. El uso del ratón simula las pulsaciones en la pantalla táctil (se puede ver un pequeño cursor) por lo que todos los gestos como doble pulsacion o arrastrar funcionan perfectamente (si se tiene una Wacom ya es la caña). Aparte de los cursores, las teclas y combinaciones principales son:

  • Intro: aceptar
  • Escape: retroceso
  • Menú contextual: menú
  • Windows: mostrar escritorio
  • Alt + derecha/izquierda: mostrar consola/escritorio
  • Control + derecha/izquierda: cambiar escritorio
  • Windows + derecha/izquierda: mostrar aplicaciones abiertas (Alt + Tab)

Por último, para tener acceso a internet, es necesario configurar la red desde la consola. Pulsando Alt + Derecha accedemos para ejecutar:

ifconfig eth0 10.0.0.100 netmask 255.255.255.0
route add default gw 10.0.0.1 dev eth0
setprop net.eth0.dns1 10.0.0.1

Al volver al escritorio veremos un pequeño mensaje gris y ya será posible acceder a internet con cualquiera de las aplicaciones: navegador, cliente de correo, tienda de aplicaciones…

Actualización: es posible instalar aplicaciones, descargándolas desde el navegador, pero cualquier cosa que se descarge dará error hasta que se cree el directorio /sdcard/download/ y se le den permisos a todos los usuarios (chmod 777). Una vez hecho eso, se podrán descargar aplicaciones e instalarlas con una simple doble pulsación…

Delirios de un Informático :: Gestionado con WordPress :: Alojado en Bitacoras.com :: Licenciado bajo Creative Commons