Monday, February 28, 2011

¿Qué es UUID?

El otro día estaba buscando en mi servidor NFS unas plantillas de Joomla para un sitio web que estoy ayudando a construir, pero me di cuenta que las plantillas no estaban por ninguna parte, continué buscando, pero al final no encontré nada, sólo logré encontrar algunas plantillas en el disco duro de mi laptop, las cuales me salvaron la vida y con las que pude reconstruir lo que había comenzado días atrás; finalmente subí al servidor NFS el contenido de las plantillas para almacenarlas en el directorio del proyecto, pero la pregunta es: ¿qué pasó con las plantillas originales que yo guardé? Lo más extraño es que ese disco en el cual yo guardo mis datos, fotos, música, etc., que por cierto es un disco externo, le hago respaldo diario a eso de las 3am, hacia otro disco externo usando el programa rsync, así que decidí buscar las plantillas en el disco de respaldo, pero tampoco hubo éxito, la misma información del disco de datos estaba en el disco de backup, menos los archivos que yo buscaba.

Para hacer corta la historia, descubrí que fue lo que pasó y el porqué las plantillas desaparecieron, la respuesta es la siguiente, pero primero veamos la configuración del sistema: actualmente tengo conectados a una laptop con Fedora 13, dos discos duros externos de 1TB cada uno, montados en los directorios /mnt/data y /mnt/backup, estos discos estan conectados por medio de los puertos USB, las particiones de datos y backup se identifican como /dev/sdb1 y /dev/sdc1 respectivamente, los cuales aparecen en el archivo /etc/fstab. Hasta ahí todo bien; para hacer el respaldo del disco de datos, utilizo rsync+crontab como dije anteriormente y el comando que utilizo para tal es el siguiente ya en el archivo crontab:

0 3 * * * rsync -av --delete /mnt/data/ /mnt/backup/

De esta forma el backup es realizado a las 3 AM todos los días, parte de la culpa de la pérdida de los archivos que yo buscaba se encuentra en esa línea de comandos, específicamente en el parámetro --delete, este parámetro lo que hace es mantener una copia exacta del folder de origen en el destino, de esa forma cualquier archivo que ha sido borrado del origen, es tambien eliminado del destino al momento de hacer el backup; ahora la explicación es que los discos en algún momento se desmontaron (posiblemente por una falla eléctrica) y cuando volvieron a montarse lo hicieron en el punto de montaje contrario, el disco de respaldo, o backup, con archivos faltantes fue montado como el disco de datos, por tanto cuando el comando rsync fué ejecutado por el crontab, el disco de origen no tenía las plantillas en las cuales yo habia trabajado, pero si estaban en el disco de backup y gracias a la opción --delete estas fueron borradas.

Ahora la pregunta es ¿cómo prevenir que ésto suceda nuevamente?, la respuesta esta en el Identificador Unico Universal o UUID, por sus siglas en inglés, y utilizarlo para identificar a los discos externos al momento de montarlos por medio del archivo /etc/fstab como se muestra a continuación:

Primero, tenemos que obtener los UUID de los discos externos que estoy utilizando para posteriormente actualizar estos datos en el archivo /etc/fstab, podemos hacer uso del comando blkid de la siguiente forma:

$ blkid /dev/sdb1
/dev/sdb1: UUID="a1849435-8fd4-4fb6-8432-07f4b4973297" TYPE="ext3"

O también podemos hacer uso del siguiente comando para ver los UUID de todos los discos en el sistema:
$ ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Jan 5 19:20 0a021fff-4a8a-4df9-8c2a-db06c644a11d -> ../../sda1
lrwxrwxrwx 1 root root 10 Feb 15 17:31 0c630398-7933-4f74-aef0-ac2bc63333ec -> ../../sdc1
lrwxrwxrwx 1 root root 10 Jan 5 19:20 14efb499-dcc5-42e2-a13c-37741fc5d0da -> ../../sda3
lrwxrwxrwx 1 root root 10 Jan 5 19:20 42f2f283-d5d5-4a84-9720-70bf549a8b45 -> ../../sda2
lrwxrwxrwx 1 root root 10 Jan 5 19:20 a1849435-8fd4-4fb6-8432-07f4b4973297 -> ../../sdb1
[fdiaz@fcofs ~]$

Con la información anterior, actualizamos el archivo /etc/fstab:

$ more /etc/fstab

#
# /etc/fstab
# Created by anaconda on Sun Dec 12 11:05:45 2010
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=14efb499-dcc5-42e2-a13c-37741fc5d0da / ext4 defaults 1 1
UUID=0a021fff-4a8a-4df9-8c2a-db06c644a11d /boot ext3 defaults 1 2
UUID=42f2f283-d5d5-4a84-9720-70bf549a8b45 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
UUID=a1849435-8fd4-4fb6-8432-07f4b4973297 /mnt/data ext3 defaults 1 3
UUID=0c630398-7933-4f74-aef0-ac2bc63333ec /mnt/backup ext3 defaults 0 0

Ahora cada vez que el sistema inicia, lo cual pasa unas dos veces al año, pero en caso de que la energía eléctrica falle o cuando me voy de vacaciones, el sistema se encargará de montar el disco correcto en el punto de montaje adecuado y no tendré el problema de perdida de datos cuando el comando rsync sea ejecutado al hacer el respaldo de los discos.

¿Pero, qué es el UUID? bueno es un identificador usado en algunas aplicaciones de software, está estandarizado por la Fundación de Software Libre, u OSF por sus siglas en inglés, como parte del Ambiente de Computación Distribuido (o DCE: Distributed Computing Environment).

La idea detrás del UUID es permitir que diversos sistemas puedan identificar componentes de software de forma única, de esta forma se pueden identificar objetos de forma inequívoca con cierta confianza de que no encontrará otro objeto con el mismo identificador. Entre los usos más comunes de esta tecnología se encuentran:
  • Los UUID se utilizan para nombrar objetos COM;
  • Sistemas de particionamiento de discos duros;
  • Second Life lo utiliza para identificar todos los objetos existentes en su mundo virtual;
  • etc.

El UUID es un número de 16 bytes(128 bits), con una cantidad aproximada de 3 x 10³⁸ posibles combinaciones de números, en su forma canonica consiste de 32 numeros hexadecimales, presentados en 5 grupos y separados por guiones, siguiendo el patrón 8-4-4-4-12, haciendo un total de 36 caracteres (32 numeros y 4 guiones), asi tenemos los siguientes ejemplos de identificadores UUID:

550e8400-e29b-41d4-a716-446655440000
0c630398-7933-4f74-aef0-ac2bc63333ec
a1849435-8fd4-4fb6-8432-07f4b4973297

Las especificaciones técnicas, algoritmos y una implementación de UUID se encuentran en el documento RFC 4122 para quienes esten interesados en profundizar más al respecto sobre las diferentes versiones y variantes de los UUID, asi como sus usos en otras áreas.

Hasta la próxima.

http://www.ietf.org/rfc/rfc4122.txt
http://en.wikipedia.org/wiki/Universally_unique_identifier
http://wiki.secondlife.com/wiki/UUID

Tuesday, January 11, 2011

-15 grados centígrados


-15 grados centígrados nos dieron los buenos días este Martes 11 de enero del 2011 (bueno estaba a -17C cuando nos levantamos, pero al momento de salir a la calle ésta había subido 2 grados centígrados) la temperatura está muy por debajo del punto de congelamiento del agua y los carros no sólo es a veces difícil encenderlos, sino que también el hielo acumulado en las calles hace de estas pistas de patinaje para los mismos. Esta semana pasada además de las bajas temperaturas hemos tenido problemas de mucho aire contaminado por el humo de los vehículos que se ha estado acumulando en la atmósfera, pero al menos en este aspecto el aire esta mejorando, el frente frio que nos esta afectando ha desplazado la mayor parte de este aire contaminado; de hecho la semana pasada mientras se observaba una capa muy densa en el aire, se lograba ver el disco solar de una forma muy peculiar, como visto a través de filtros en un telescopio, tanto que mi hija cuando lo vio penso que era la luna como podrán ver en la foto de la derecha.

Hasta la próxima.




Wednesday, October 27, 2010

Moviendo Casas


Suena extravagante, pues no lo es tanto, posiblemente han visto programas en el discovery channel al respecto, donde companias se dedican al exclusivo negocio de mover grandes estructuras, como casas, puentes, etc.

En esta oportunidad vemos como aca esta casa que sirvio de oficinas de una compania constructora, luego que terminaron sus funciones en esta area, es tiempo de moverla a otro sitio donde funcionara nuevamente como oficina temporal. Talvez logran apreciar en la foto, la plataforma de un trailer, esta bajo la casa, se pueden observar las ruedas abajo de la casa al lado izquierdo y al lado derecho de la casa, esta previamente ha sido desconectada de los simientos y posteriormente levantada de los mismos para meter la plataforma del trailer que se encargara de transportarla a su nuevo destino.

Es divertido incluso ver anuncios de ventas de casa donde el precio de la misma esta casi por los suelos, pero tienen el requisito que luego de comprarla, el nuevo dueño se la tienen que llevar, y eso paso hace unos meses con unas casas en un area donde pasaria una nueva carretera, la ciudad ordeno la venta de las casas, pero estas no podian permanecer en el terreno, sino que tenian que ser retiradas del lugar una vez fueran adquiridas.

Pueden encontrar mas fotos de este tipo si hacen un busqueda por imagenes de house movers en Google.


Saludos y hasta la proxima.

Monday, October 11, 2010

We got a new pet at home!

My kids has been asking for a dog in the last months, so in order to see how they're going to feel with a pet at home, we decide to build one, this little guy was built using the Lego Mindstorm set, which is a line of programmable robotics/construction toy that comes in a kit containing many non traditional pieces as well as sensors, cables and the main computer called the NXT brick, which is were you connect the sensors, store and run the programs.

So this little fella, goes around the house, avoiding much of the big obstacles (like walls), turns his head and using the ultrasound sensor (eyes) can see where there's more room to go; using the sound sensor (nose) , it can try to follow you if you call him; one good thing about him, it won't bark and won't do any mess, unless you program it :D

I remember using some of the first Lego Dacta sets back in 1998, when I was working for Futurekids in El Salvador, a company focused on the teaching of computers to young kids, and robotics was one of the areas, at that time we use a controll module that was connected to the wall and the sensors were connected to this module, those were pretty much static designs, but fun to watch.

The design, building steps and programs for the Robo-Puppy can be found here: NXT Programs

More info:

Tuesday, September 21, 2010

Jupiter a su máxima expresión.

En estos dias de septiembre del 2010, 20 al 22, es cuando el planeta gaseoso mas grande de nuestro sistema solar se encuentra en su punto mas cercano a nuestro planeta (perigeo), la Tierra y Jupiter se encuentran cada 13 meses, pero como las orbitas no son circulos perfectos, no siempre se encuentran a la misma distancia. En esta oportunidad, Jupiter estara 75millones de kilometros mas cerca que lo normal, y pasara asi por las siguientes semanas, pero anoche era el dia que mas cerca estarian; la Tierra y Jupiter no estaran a esta distancia sino hasta el 2022.

La vista por el telescopio fue excelente, las fotografias no hacen honor a lo que se ve desde el objetivo del telescopio, algo curioso de las fotografias es que se observa como el cinturon sur ecuatorial de Jupiter ha desaparecido por completo, segun los cientificos esta debajo de nuves que se han elevado mas en la atmosfera del gigante gaseoso y solo es cuestion de tiempo para que reaparezca de nuevo.

Aqui les dejo unas fotos de la sesion de anoche, que las disfruten, por cierto, al ver por un telescopio la imagen se invierte, la parte superior de las fotos es el polo sur de Jupiter, al igual que las fotos de la luna, donde se observa el crater Tycho en el polo sur.
















Thursday, September 9, 2010

Reglas de Cálculo (Slide Rulers) destinadas a la extincion?


Quien ha escuchado hablar de las reglas de cálculo? posiblemente algunos, pero quién ha visto a alguien usar una? o más raro, quién ha usado una antes?

El uso de las reglas de cálculo decreció considerablemente con el advenimiento de las llamadas calculadoras de bolsillo, que antes no eran tan de bolsillo como ahora, pero esa fue la causa principal de su desaparición. Yo use una regla de cálculo alla por el 88-90, en esa epoca para calcular algoritmos, y si no se podia usar una calculadora, era necesario aprender a usar las tablas de logaritmos y tablas trigonometricas, de esas si posiblemente algunos se acuerden, asi que en lugar de usar las tablas de logaritmos, yo usaba la regla de cálculo y los profesores estaban de acuerdo con eso. El uso de las reglas de cálculo esta relegado ahora a un pequeño grupo de personas que recuerdan como se utilizaban; posiblemente personas muy observadoras habran visto el uso de una de estas en la pelicula Apollo 13, cuando los operadores en la Tierra, hacian calculos para mantener con vida a los astronautas en el modulo lunar. Recuerdo que en San Salvador, en la tienda de articulos de dibujo llamada Diseõ, vendian estas reglas de cálculo, pero cuando ya nadie se acordaba de ellas fueron sacadas de inventario y cuando alguien preguntaba si aun tenian, las regalaban, de hecho yo tengo varias de esas.

Las reglas de cálculo fueron inventadas alla por 1620-1630, luego que John Napier publicara su estudio sobre los logaritmos, Edmund Gunter de Oxford desarrolló un dispositivo que era capaz de efectuar cálculos mediante escalas logarítmicas; la primera descripción de este aparato fue en Paris en 1624 por Edmund Wingate, matemático inglés en su libro titulado: Uso de la regla de proporciones en aritmética y geometría. En 1630, William Oughtred de Cambridge inventó una versión circular, y luego en 1632, combinando manualmente dos reglas usando el diseño de Gunter, esta última dio pie al diseño de la regla de cálculo tal y como se le conoce en la actualidad.

En su forma más básica, la regla de cálculo usa dos escalas logarítmicas con las cuales se pueden efectuar multiplicaciones y divisiones. Otras reglas más complejas, permiten operaciones como raiz cuadrada, exponentes, logaritmos y trigonometría. En general, las reglas consisten de tres bandas lineales de igual longitud, alineadas en paralelo y dispuestas de tal forma que la porcion central pueda moverse libremente entre las otras dos. Las otras dos bandas por lo general estan fijas y no se mueven. Algunas reglas llamadas duplex, tienen escalas en ambos lados de las bandas; además de las bandas con escalas logaritmicas existe un componente transparente llamado cursor que se desliza y permite localizar con mas precisión resultados ubicados en bandas no adyacentes o localizados al lado inverso de la regla.

Muchos modelos de reglas de cálculo fueron creados a lo largo del tiempo, muchas de ellas especializadas para determinadas tareas en áreas de ingeniería, navegación, negocios, etc; algunas aún se encuentran en relojes en la forma de reglas de cálculo circulares y son utilizadas por lo general en la navegación aérea para el cálculo de velocidad, combustible, entre otras cosas.

La época de oro de las reglas de cálculo ha pasado y ahora son solo objetos raros escondidos en algun cajón o en lugares privilegiados en manos de coleccionistas. En mi opinion, es mas útil darle a un joven una regla de calculo, que una calculadora y con esto podemos salvar a un objeto tan importante en la historia de la matemática de la extinción.


Referencias y más información:
Hasta la próxima.
 ___       ___  _         ___ _
| __|_ ___| \(_)__ _ __| _ ) |___ __ _
| _/ _/ _ \ |) | / _` |_ / _ \ / _ \/ _` |
|_|\__\___/___/|_\__,_/__|___/_\___/\__, |
|___/

Monday, August 23, 2010

Panorama

Un panorama (o panorámica) (derivada del griego πᾶν "all" + ὅραμα "sight") es cualquier vista tipo gran angular que representa un espacio físico, ya sea en pintura, dibujo, fotografía, etc. La palabra panorama fue originalmente acuñada por el pintor irlandés Robert Barker para describir sus pinturas panorámicas de Edinburgo, estas eran proyectadas a una superficie cilíndrica y desde una perspectiva interior, fueron exhibidas en Londres en 1792. El término paneo, utilizado en la producción de películas y videos, se deriva de la palabra panorama.

Siempre que tengo la oportunidad, tomo fotografías en secuencia para luego unirlas y hacer una panorámica de estas, la mejor forma de tomar las fotografias en secuencia es siempre comenzar desde la izquierda hacia la derecha, es recomendado montar la cámara sobre un tripode para mantener la camara fija en el centro de la panorámica, y finalmente recordemos que las fotografias siguientes deben de tomarse sobreponiendo (un 20-30%) la nueva imagen sobre la foto anterior; algunas cámaras traen software para crear las panorámicas, pero en mi caso, para hacer las uniones de las diferentes fotografías que componen la panorámica, nada mejor que Gimp + Pandora, no, no hablo del sitio de radio on line, sino de un script (plugin) diseñado para la construcción de panorámicas; básicamente lo que hay que hacer es bajar el script del sitio web, guardarlo en el área de scripts de Gimp y luego desde el menú de Filtros->Combinar se puede crear la panorámica y en unos segundos tenemos algunos resultados como los que muestro a continuación.


Norte de la ciudad de Quito en mayo del 2006.
Lago Silver ubicado en el cañon de American Fork, UT

Panoramica de la ciudad de Las Vegas en Enero de 2010
Mina de Cobre en la ciudad de Bingham, UT

El uso del plugin es relativamente sencillo, más detalles se pueden encontrar en la página web del plugin, así como también los pasos para utilizarlo.

Saludos y hasta la próxima.

Enlaces:

Mas informacion en wikipedia: panorama

Plugin de Gimp para crear panoramas: Pandora Plugin

Mina de cobre en Bngham, UT: Kennecott Copper Mine

Ciudad de San Francisco de Quito, Ecuador