martes, 7 de diciembre de 2010

3 Shell Scripts para GNU/Linux

A veces hace falta un microprograma que haga algo, simple pero repetitivo, o no es posible encontrar un programa que cumpla un cometido muy específico. Para estos casos, un shell script en Gnu/Linux puede ser una buena opción. Yo tengo 3 pequeñísimos scripts que uso de tanto en cuanto, y que voy a explicaros por si a alguien le pueden ser útiles.

-Descarga masiva de ficheros consecutivos
Por ejemplo fotos de un sitio web. Un script muy simple que simplemente descarga las imágenes en el directorio desde el que se ejecuta. La principal utilidad es que automáticamente "sube" el contador.

#!/bin/sh
## inicializar una variable contador a 1
i=1
## bucle para los elementos 001 a 009
while [ $i -le 9 ]
do
## usamos wget para la descarga propiamente dicha
/usr/bin/wget http://www.ejemplo.com/directorio/fichero00"$i"
i=`expr $i + 1`
done

## bucle para los elementos 010 a 099
while [ $i -le 99 ]
do
/usr/bin/wget http://www.ejemplo.com/directorio/fichero0"$i"
i=`expr $i + 1`
done

## repetir si es necesario para los elementos 100 a 999

Cuidado con las descargas masivas de ficheros, hay sitios web que os cortarán la conexión si lo haceis.

- Descarga de imágenes de una webcam
Este script y el siguiente los utilicé para obtener las imágenes de la estación de espacio profundo de Cebreros. El primer script se conecta a la webcam cada 30 segundos y descarga una imágen estática (no todas las webcams permiten esto), guardándola con un nombre consecutivo. Para que el nombre sea único, utiliza el tiempo unix añadido al sufijo que le indiquemos. Esto causó un curioso problema que solucioné con el tercer script...

#!/bin/sh
## inicializar una variable contador a 1
i=1
## bucle principal, ajustar según sea necesario
while [ $i -le 3000 ]
do
## wget para la descarga de la imágen
wget http://www.ejemplo.com/imagen-webcam.jpg -O fichero`date +%s`.jpg
## temporizador, ajustar al gusto, 30 segundos
## está bien para un stop-motion de 24 horas
sleep 30
i=`expr $i + 1`
done
echo "FINALIZADO"


- Renombrado masivo de ficheros consecutivos
Una vez descargados las imágenes de la webcam me di cuenta de un curioso problema: la fecha unix tiene este formato: 1291756602. Así que me encontré con 3000 ficheros, perfectamente ordenados, pero con unos nombres raros raros. La solución fue el siguiente script, que mediante los comandos ls y head obtiene el primer fichero del total para que pueda ser renombrado de forma consecutiva. El nombre destino debe estar alfabéticamente detrás de los ficheros a renombrar, o no funcionará.

#!/bin/sh
## inicializar una variable contador a 1
i=1
## el contador debe coincidir con el total de ficheros
while [ $i -le 3000 ]
do
## con mv hacemos el renombrado, y anidamos ls y head
## para obtener el nombre limpio del fichero a renombrar
mv `ls |head -n1` fichero"$i"
i=`expr $i + 1`
done
echo "FINALIZADO"


Espero que pueda ser de utilidad :-)

viernes, 8 de octubre de 2010

Bricolaje veraniego: Noria de juguete

Hoy os voy a contar como construir una sencilla noria de juguete, con materiales naturales, herramientas sencillas, y resultados divertidos.

Esta noria de juguete es especialmente indicada para las vacaciones de verano con niños pequeños. De hecho es tan simple que incluso un niño puede construirla con algo de ayuda y supervisión de un adulto, con lo que se puede convertir en un buen pasatiempo para una sobremesa en el campo.

Herramientas: Se puede construir usando sólamente una navaja. Yo utilicé una multiusos con sierra, así que los acabados me quedaron más bonitos, pero salvo por estética no hace falta nada más que una navaja bien afilada.

Materiales:
-Dos palos de unos 10 milímetros de grosor y unos 2 palmos de largo. Muy importante que no estén resecos, porque es necesaria una cierta flexibilidad en la madera para poder construir la noria. No arranqueis ramas de un árbol vivo, sólamente las que ya se hayan caido solas.
-Dos palos en Y para el soporte del eje.
-Algo de corteza de árbol.
Yo hice esta noria en Pirineos, por lo que toda la madera que usé es de haya, pero sirve cualquier madera.
-Un arroyo para montar la noria :-)

Aquí hay dos fotos, una de los materiales que recogí en un principio, señalado lo que me fue útil, y otra de los que acabé utilizando, listos para montar.

Montaje

Primero. Pelamos los dos palos, los cortamos a la misma longitud, y cortamos por la mitad uno de ellos. Cuidado con los dedos en esta parte.

Segundo. Con la navaja, apoyandonos en algo sólido, y tal vez con la ayuda de una piedra, clavamos la navaja con mucho cuidado por la mitad del palo largo. Una vez que hayamos transpasado, giramos la hoja 90 grados para forzar que se abra la madera. Después hacemos lo mismo de forma perpendicular, y habremos conseguido 4 segmentos en mitad del palo largo. Este es el paso que requiere de forma imprescindible que la madera esté aún flexible, con madera muy seca se partirá.

Una vez hechas las dos hendiduras, y con ayuda de la navaja, insertamos los 2 palos cortos, uno por cada hendidura, de forma que queden equilibrados. El resultado se parecerá a esto:


Tercero: Cortamos la corteza para conseguir 4 segmentos similares. Es conveniente haber recogido algo de corteza extra porque es casi seguro que se romperá algún trozo.

Ahora hacemos un corte con mucho cuidado en los extremos de los palos cortos, y con ayuda de la navaja, lo abrimos ligeramente para poder insertar los trozos de corteza, uno en cada extremo, y respetando la curvatura, para que todos apunten en la misma dirección.
El resultado es el rotor acabado:


La noria se puede desmontar con cuidado, por ejemplo (como hice yo) para construirla en el camping y transportarla después en la mochila hasta el lugar de montaje.
Aqui estoy yo volviéndola a montar y haciendo unos ajustes de última hora.


Lista para funcionar.


Ahora sólo falta encontrar un arroyo no muy revuelto, o algún recoveco de un rio donde haya corriente suave, ¡y a montar! Se clavan los dos palos en Y, separándolos lo necesario para que no se caiga el rotor, y poniéndolos de forma que estén simétricos con respecto al centro de la corriente de agua.


¡Acabado!

Tuve que añadir un tope con unas piedras, porque al girar el rotor se iba desplazando poco a poco hacia ese lado, y se habría caído en 1 minuto.


Pasando la inspección pertinente.


Y ahora dos vídeos de la noria en acción, grabados con un teléfono móvil, así que lo siento por la mala calidad del vídeo.



La noria la monté en Pirineos, muy cerca del puente de San Nicolás de Bujaruelo, a finales de Agosto de 2010, si por casualidad la viste, me encantaría saberlo :-)

viernes, 19 de marzo de 2010

Videos

Siempre intento publicar contenido propio, en vez de enlazar a otras páginas, pero hoy voy a hacer una excepción, porque me apetece y porque llevo mucho tiempo sin publicar.
Hoy traigo 3 vídeos que he descubierto recientemente en Youtube y que me han gustado mucho.

El primero es una recopilación de las mejores imágenes del lanzamiento del transbordador espacial Atlantis en la misión STS-129, en Noviembre de 2009. Un vídeo excelente, con imágenes impactantes, y que transmite bastante bien la sensación que debe ser ir subido ahí arriba. Todo aderezado con música variada, pero muy bien elegida. Los otros tres vídeos son similares. En Austria se celebra desde hace unos años una competición de robótica para estudiantes. Estos vídeos son los mejores participantes de la categoría baile, de los años 2008, 2009 y 2010. Los robots son de tipo "hexapod" (seis patas), y si parecen todos iguales es porque lo son. Los estudiantes reciben todos un robot idéntico, y cada equipo tiene que demostrar su habilidad programando (y decorando) su robot. Ojo, no están teledirigidos, son autónomos, precisamente ahí está la gracia.
La próxima vez que publique algo, prometo que será algo propio :-)