lunes, 9 de junio de 2008

Puntero alternativo para la PDA

Desde que tengo la PDA hay dos cosas que me hacen sufrir por ella: Una es que se me caiga al suelo y se le destroce la pantalla. Para evitarlo al poco de tenerla me hice con una funda de aluminio bastante robusta.

La otra cosa que me hace andar con mil ojos es el puntero o lapiz con el que se maneja la PDA mediante toques en su pantalla táctil. Siempre tengo mucho cuidado para que no se me pierda o peor todavía, se me rompa por sentarme encima de él.

Bien, para los que seais tan paranoicos como yo con este tema tengo buenas noticias. Hay una alternativa sencilla y barata que, si bien no sustituye al puntero original cuando nos llevamos la PDA por ahí, sí que puede servir para cuando la utilizamos en casa y no queremos estar pendientes de dónde dejamos cada vez el dichoso adminículo: Se trata de los lápices de IKEA que se pueden coger al entrar a cualquiera de sus centros comerciales para apuntar las medidas y códigos de los muebles que se van a comprar.

Aquí podéis ver en detalle a lo que me refiero:


Se puede manejar de la misma forma que el puntero original, apenas hay diferencia y si la punta no está afilada (que no suele estarlo) no hay peligro de dañar la pantalla. Además, se pueden tener varios lápices distribuidos por la casa o la mesa y en cada momento utilizar el que esté más a mano. Aquí un par de fotos del invento en acción:

Consultando la versión móvil de la Wikipedia.


Manteniendo apretado el lápiz aparece el menú contextual


Foto de conjunto. Anotada con el lápiz la velocidad de transferencia por Bluetooth de las fotos entre el móvil y el ordenador, unos 55 KBytes/s

miércoles, 28 de mayo de 2008

En momentos de tormenta...

... como el que está siendo ahora mismo, cuando estoy trabajando con el ordenador me entra el acojone de que haya un corte eléctrico y se me pierdan datos. Se supone que en los sistemas de ficheros modernos, como ext3 o reiserfs, gracias al journaling el disco no quedaría en un estado inconsistente, pero no se asegura que los datos escritos sean los más recientes.

Yo, por si acaso, en momentos de tormenta como el de ahora me convierto en root y ejecuto.

mount / -o remount,sync

que lo que hace es volver a montar la partición raiz con la opción sync, que sirve para que los datos se escriban siempre en el disco sin pasar por la caché del sistema. Esto afecta al rendimiento, pero es temporal ya que la siguiente vez que arranca el ordenador se vuelve a montar con las opciones habituales, entre las que no está la de sync.

No estoy seguro de que sirviera de mucho en caso de catástrofe eléctrica, pero me quedo más tranquilo...

jueves, 1 de mayo de 2008

Papelera autoborrante en KDE

He leido en OSNews una entrada sobre lo malo y lo bueno de la papelera de los entornos de escritorio actuales. Me ha sorprendido un poco porque el autor parece hacer una montaña de un grano de arena. La cosa se resume en que no le gusta tener que estar pendiente de la papelera: Si tira algo a ella tiene la manía de vaciarla inmediatamente porque le molesta ver el icono de que está llena, y si hace el esfuerzo de olvidarse de que está ahí, se le llena de información vieja y que ocupa mucho espacio.

La solución que propone es que se autogestione y se limpie automáticamente, poniéndole un límite de tamaño o de antigüedad de los ficheros borrados. Lo primero puede hacerse en Windows y no estoy seguro ahora de si se puede también en Gnome. Por lo visto en el sistema que usa el autor del post (MacOS-X) no se puede configurar eso y ni siquiera se puede usar tampoco ninguna combinación de teclas que permita borrar un fichero directamente sin tirarlo a la papelera.

Mi manía al respecto es la siguiente: Hasta hace poco no usaba la papelera, siempre borraba todo directamente y si no estaba seguro lo hacía de todas formas :-) Hasta que un día me arrepentí de ello cuando me hubiera gustado recuperar algo que había eliminado días antes. Como no me gusta tampoco la idea de dedicar espacio de disco a ficheros que seguramente no necesitaré más, se me ocurrio la (¡oh! gran idea) solución de hacer que se borrase automáticamente pasados N días. Como en KDE (el escritorio que uso) no está tampoco esa opción me hice un script que se ejecuta en en el cron todos los días sobre la hora a la que escribo este post. Hace estas 3 cosas:

find $HOME/.local/share/Trash/files -mtime +15 -exec rm -rf {} \;
find $HOME/.local/share/Trash/info -mtime +15 -exec rm -rf {} \;
find $HOME/.thumbnails -type f -mtime +15 -exec rm -f {} \;

Las dos primeras líneas borran los ficheros de más de 15 días que hay en la papelera, que resulta que se encuentra en el $HOME del usuario, dentro de .local/share/Trash/files y .local/share/Trash/info.
La tercera línea borrar las imágenes miniatura que se crean cuando entramos por ejemplo a una carpeta llena de fotos. La primera vez que lo hacemos se crean y se guardan en este directorio para que las siguientes veces se muestren directamente de manera más rápida. Como todo, esto también ocupa espacio, así que ya de paso las borro también.

Y ya está, no tiene más misterio :-)

martes, 29 de abril de 2008

Mando de la Wii en Linux

Cierto ser humano se enteró hace poco de que uno de los mandos de la Wii (el conocido como Wiimote) se puede utilizar en el PC como si de un ratón o joystick se tratara, ya que se comunica mediante la norma Bluetooth, estándar a más no poder. Al susodicho ser humano le faltó tiempo para entrar en eBay y adquirir uno de ellos por 46$, que al cambio actual son unos 30€.


Esta mañana lo ha recibido y por la tarde he estado trasteando un poco con él y con mi Linux.

Lo primero que he hecho ha sido comprobar que se veía a través del bluetooth. Después de mirar por Internet he averiguado que presionando a la vez los botones '1' y '2' el cacharrito se vuelve visible durante unos segundos, durante los cuales parpadean los cuatro LEDs azules que tiene en la parte de abajo. Se puede ver con el comando:

$ hcitool scan
Scanning...
     00:1E:35:E3:62:B5        Nintendo RVL-CNT-01

Lo siguiente es hacer "algo" con él. Busco y encuentro la página del proyecto WiiLi, en la que hay mucha información útil. Me descargo CWiid, que es una librería para Linux que permite hacer programas que usen el mando. Hay que compilarla, y como es habitual los pasos a dar son:

./configure
make
sudo make install

El primero lo tengo que ejecutar varias veces y tras cada una de ellas instalar alguna otra librería necesaria para que se pueda compilar esta (por ejemplo, las de bluetooth o las del interfaz gráfico GTK). Cuando están todas, el ./configure termina bien y el resto de pasos se ejecutan correctamente. Las librerias se instalan en /usr/local/lib y los programas de ejemplo en /usr/local/bin. Entre ellos están:

  • wmdemo, que muestra en un menú en modo texto varias opciones que permiten encender y apagar los LEDs del mando, el vibrador, mostrar los botones pulsados, y por supuesto los valores de aceleración en los 3 ejes que hacen tan especial a este mando.
  • Otro programa de prueba es wmgui, que hace lo mismo que el anterior, pero en modo gráfico, mostrando toda la información anterior en una ventana más amigable, y utilizando barras para los datos del acelerómetro.
  • Por último, con wminput podemos utilizar el mando para controlar nuestro PC. Antes de ello hay que cargar un módulo para que funcione algo llamado uinput simplemente ejecutando el comando modprobe uinput, ya que si no aparece un error nada más ejecutar el programita. Después de esto, se puede mover el puntero del ratón moviendo el mando hacia los lados o arriba/abajo, y apretar los botones izquierdo/derecho con los del mando ('A' y 'B'). Cuesta un poco hacerse con el control, pero el resultado es muy curioso.


Todos estos programas nada más lanzarlos lo primero que hacen es mostrar un mensaje en el que indica que hay que mantener apretados los botones 1 y 2 del mando para que lo descubra. Tras unos segundos comienzan a funcionar sin que haya que hacer nada más para que lo detecte.

La última prueba que he hecho ha sido bajarme el Tetriis. Las piezas se mueven con los cursores que tiene el mando, y para rotarlas hay que girarlo tanto como queramos que se mueva la pieza. Es decir, si queremos que gire 90 grados a la izquierda deberemos hacer eso mismo con el mando. Un poco raro de jugar, ya que al sacudir el mando lo que se espera que pase es que se muevan las piezas en lugar de girarse.


En fin, un cacharro curioso. No se me ocurren aplicaciones prácticas salvo usarlo para jugar (que al fin y al cabo es para lo que está pensado) o como mando a distancia, aunque para esto hay otras alternativas más convencionales (y menos geeks claro :-)

lunes, 21 de abril de 2008

Disquetera USB

Por una razón que ahora no viene al caso (bueno, en realidad sí que podría venir pero ya lo contaré otro día) he tenido que generar un disquete de arranque a partir de un fichero imagen. Como mi portátil no trae disquetera, he tomado prestada una del trabajo para poder hacerlo.

En Linux hay muchos y variados comandos para manejar disquetes de 3,5'' pero tienen un problema: Están pensados para unidades fijas (p.e. dispositivo /dev/fd0) y no funcionan bien (o no lo hacen en absoluto) con unidades USB. La razón es la forma en que tiene de trabajar con las unidades de disquete: Como todos los dispositivos, tiene asociado un fichero en el directorio /dev, siendo el que más frecuentemente se usa el famoso /dev/fd0 para referirse a la "unidad A:". Pero además existen otros llamados /dev/fd0H1440, /dev/fdH02880, etc. para especificar que el disquete tiene capacidad de 1,44 o 2,88 MB.

Las disqueteras USB se detectan como dispositivos SCSI (en mi caso /dev/sdb) y las utilidades típicas (como fdformat) necesitan tener acceso a esos otros ficheros con las capacidades posibles del soporte para saber cómo ha de tratarlo al formatearlo.

La única solución que he encontrado ha sido utilizar un programa especialmente preparado para manejar unidades USB, que increiblemente no viene en los repositorios oficiales de las distribuciones habituales. Se llama ufiformat y de su página se pueden descargar tanto los fuentes como binarios y paquetes RPMs.

Una vez instalado su uso es muy simple. Basta con ejecutar:

ufiformat

así sin parámetros, y él solito encontrará la disquetera que tengamos conectada y dará formato al disco según su capacidad máxima. Si somos poco atrevidos con eso de la detección automática podemos especificar el dispositivo si nos quedamos más tranquilos con ello:

ufiformat /dev/sdb