miércoles, abril 29, 2009

Hola a tod@s

Llevo unos cuantos días de vacaciones viviendo algunas pequeñas aventuras de ciudad y de paso enseñándole unos cuantos rinconcitos a Alexa que ha venido de Argentina supuestamente a descansar.

El otro día puse alguna foto de la visita a la Catedral de Santa María.

El lunes, día de San Prudencio, fuimos a ver estaciones del histórico ferrocarril vasco-navarro. La verdad es que se trata de una gran obra de ingeniería, superior en coste de mano de obra y tiempo a los actuales proyecto de alta velocidad.

Aquí un blog dedicado al vasco-navarro con interesantes notas y fotos http://eltrenico.spaces.live.com/

Un poco de historia aquí, y recorridos para hacer andando o en bicicleta: http://viaverde-vasconavarro.blogspot.com/

Primero fuimos a ver la estación de Otazu, ahora restaurada:


Luego al apeadero de Estibaliz:



Vimos la iglesia románica de Estibaliz, pero yo al menos no tengo ninguna foto. Aquí hay fotos e información: http://www.hiru.com/es/artea/erreportaiak/91128

Luego a ver la iglesia románica de Gazeo:



Ahora tocaba comer... fuimos a un restaurante de camioneros y Alexa encantada viendo camiones de todo tipo en el aparcamiento.

Después de comer...

Ya habíamos visto románico, ahora tocaba ir lo más lejos en el tiempo, el neolítico. Para ello fuimos a ver el dolmen de Egilaz, a escasos 5 km del restaurante de camioneros:

Jeje, Alexa está haciendo la típica bromita de que parece que ella sujeta el dolmen para que no se caiga. Lo que pasa es que la foto de la broma la saco yo con su cámara y por eso no tengo la foto.

Bueno, mañana continuo con las visitas que hicimos por la tarde al arte religioso más moderno y a la villa más monumental.
 
Saludos.

miércoles, abril 22, 2009

Impresión UNIX



Como siempre, veremos como se resuelve un problema UNIX general en un UNIX concreto. Será HP-UX por ser el que tengo en el trabajo, pero me imagino el concepto es igual en todos.

El tema es este: Hay que agregar una impresora a nuestro UNIX, pero no tenemos los drivers para HP-UX, o no sabemos ni siquiera si existen, o no nos apetece buscarlos, o no nos apetece instalarlos.

¿Se pueden imprimir ficheros de texto puro y duro?

Sí, claro.

  1. Primero hay que conocer la IP de la impresora.
  2. Vamos a la System Administration Manager (ejecutamos sam desde la línea de comandos).
  3. Entramos en Peripheral Devices.
  4. Entramos en Printers and Plotters
  5. Seleccionamos LP Spooler.
  6. Entramos en Printers and Plotters

En este momento hay que saber que para HP-UX una impresora de red será una impresora que reconoce sin problemas (impresoras HP, impresoras conectadas a red con una HPJetdirect, etc.). Si no es así, o sea, si tenemos por ejemplo una Epson y no queremos instalar los drivers, o por ejemplo es una impresora que la ofrece otro servidor,... entonces es una impresora remota.

  1. Entonces vamos al menú Actions, Add Remote Printer/Plotter.
  2. Le damos un nombre a la impresora en Printer Name. Da igual como la llamemos. En Remote System Name ponemos la IP. Todo lo demás lo dejamos por defecto.
  3. Ahora para poder utilizar la impresora hay que seleccionarla, ir a Actions y hacer clic en “Set as System Default Destination”.


Para probar la impresora probamos el siguiente comando que imprime el fichero:

lp fichero.txt

Otros comandos:

lpalt modifica la información en la cola de peticiones (queued request).

cancel elimina una petición de la cola.

lpstat nos muestra el estado la la cola de impresión.

Ahora bien, tenemos unos pequeños problemas

Para empezar, igual queremos imprimir en apaisado en lugar de en vertical. No nos queda otro remedio que configurar la opción de impresión en la misma impresora.

Otra pega común es que los ficheros de texto UNIX no suelen tener los dos caracteres para el retorno de carro (CR+LF). Entonces en algunas impresoras veremos que sólo se imprime la primera fila.

La solución es convertir los caracteres a formato "dos" con el comando ux2dos. Tranquilos porque no se modifica el fichero.

ux2dos fichero.txt lp Aviso: entre fichero.txt y lp hay un pipe (esa barrita vertical que va a redirigir la salida del primer comando como entrada del segundo).

Saludos.

martes, abril 21, 2009

La wikipedia se interesa por la Catedral de Vitoria-Gasteiz

Sí amigos,

Parece que hay un gran interés por parte de Wikipedia para documentar lo mejor posible los trabajos de restauración de la Catedral de Santa María.

Esta es la foto que saqué ayer, y ¡rayos!, parece que es ¡Alexav8!
¡a 10.000 km de Buenos Aires! y 8 meses después de la entrevista que le hizo Chema, alias "el Maligno".

Estudiando las vistas desde el paseo de ronda de la catedral:





Por supuesto, con cámara digital para que no se le escape ningún detalle.


¡Uy!, parece que estos días hace un poco de frío en este pueblo.

lunes, abril 20, 2009

Backup de los discos del sistema






Hola,
Esto que voy a decir es una obviedad, pero por si acaso le dedicaré un post. ¿Cual es la labor más importantes del Administrador de sistemas?
Pues probablemente sean los backups de los datos. Bien, esto lo suele hacer todo el mundo de una manera más o menos automatizada. Por cierto, no se debería considerar que el backup está realizado hasta establecer periodicamente las pruebas de recuperación.

Ahora bien, hay un tipo de backup que no todo el mundo hace, a veces de forma justificada y otras no tanto: el backup del sistema.

Esto es lo que haríamos en HP-UX...
El comando make_tape_recovery crea una cinta autoarrancable con un archivo (por defecto .tar) para la recuperación de los ficheros del sistema. A la cinta que se genera se le suele llamar cinta de ignite.

Advertencia importante:

Es importante saber que no se puede arrancar de la cinta en todos los casos. No puede ser una unidad de cinta externa por ejemplo. También he sabido que en los servidores RX - Itanium, HP-UX versión 11.23 (V2) no se puede arrancar de la cinta.

En estos casos lo que hay que hacer es crear un CD arrancable. Aquí explico cómo hacerlo.

LO MÁS IMPORTANTE ES QUE HAGÁIS LO QUE HAGÁIS LO PROBÉIS ANTES DE QUE OCURRA UNA CATÁSTROFE.

Para generar la cinta hacemos lo siguiente:

  1. Si la cinta de ignite se hace muy de vez en cuando conviene utilizar antes una cinta limpiadora.
  2. Iniciamos sesión root.
  3. Se introduce una cinta de datos en la unidad.
  4. Ejecutamos make_tape_recovery -Av.
Otra opción muy utilizada para la creación de la cinta:

make_tape_recovery -a unidad-de-cinta -x inc_entire=vg00 -I (i mayúscula).

De esta segunda forma ponemos expresamente que salve el Volume Group del Sistema: VG00.
Si sólo hay una unidad de cinta creo que podemos omitir la opción -a.

Advertencias:
  • Esto no es un backup de datos (aunque ya veremos que sí vamos a poder recuperar algunos datos).
  • Es útil en caso de rotura o eliminación de ficheros en el “root disk”.

OBTENER DATOS DEL PROCESO de la creación de la cinta de recovery:

El log se encuentra en /var/opt/ignite/recovery/fecha-y-hora/recovery.log

En ese log veremos muchos datos útiles:

Entre ellos, la versión de Ignite utilizada (en mi caso con HP-UX 11.23 tengo las versiones B.5.2.124 y C.7.3.144.

También viene el “Recovery Archive Location” que suele ser /dev/rmt/0mn.

En la cinta se guarda información que permita arrancar desde la misma y un fichero tar que contendrá todos los ficheros del disco del sistema, o mejor dicho, del Volume Group del Sistema (vg00).


Hay información superficial del fichero tar generado en /var/opt/ignite/recovery/previews.

Ahora, bien, no es suficiente con crear la cinta. Hay que asegurarse de que es válida.

COMO COMPROBAR EL CONTENIDO DE LA CINTA

Hay dos cosas diferentes que comprobar:

1.-Ver el BOOT LIF almacenado en la cinta:

El BOOT LIF es el contenido necesario para arrancar e instalar. Es este contexto “instalar” se refiere a la carga del S.O., software y archivos de configuración en el sistema.

mt es el programa para la manipulación de cintas magnéticas (mt significa magnetic tape). La opción “-f” permite especificar el device. El comando rew hace un “rewind tape”.
El siguiente comando rebobina la cinta:

mt –f /dev/rmt/0m rew


dd permite la copia a nivel de bloque entre dispositivos. También sirve para hacer convert, rebloc, traslate, etc. Hay que indicarle el tamaño del bloque del input y del output con la opción bs.
De esta forma se copia de cinta a disco:

dd bs=8192k if=/dev/rmt/0mn of=/var/tmp/tape_boot_lif
Devolverá algo así como...0+66631 records in.0+66631 records out.
En mi caso el resultado es un fichero llamado tape_boot_lif de 136.460.288 bytes.

lifls permite listar el contenido de un fichero LIF.
Con el siguiente comando:
lifls tape_boot_lif
Obtenemos la salida:
AUTO INDEX CONFIG IINSTALL IINSTALLFS INSTCMDSIA SYSCMDSIA FWWKAR SCRIPTS VERSION


Otro comando que podría resultar útil es lifcp que copia de o desde un LIF file.


2.-Ver el contenido del archivo tar almacenado en la cinta:


Rebobinamos la cinta:

mt –f /dev/rmt/0m rew
Avanzamos hasta el segundo fichero (ya que el primero es el del LIF). El comando es fsf (forward space count files):

mt –f /dev/rmt/0mn fsf 1
Vemos el contenido del fichero tar (cuidado, tardará más de dos horas tranquilamente):

tar –tvf /dev/rmt/0m

Recordad las opciones del tar: t lista los nombres de todos los archivos en el tar. v nos da más información por cada archivo (modes y owner numbers). f permite especificar el device.

Aviso: no es lo mismo /dev/rmt/0m que /dev/rmt/0mn. La "n" de la segunda opción se refiere a NO REWIND DEVICE.

Si es necesario recuperar un fichero del .tar guardado en la cinta, utilizaremos las opciones -xvf del comando tar.


Otros comandos de interés:
make_boot_tape crea una cinta autoarrancable capaz de conectarse a un Ignite-UX server. Pero esto del Ignite-UX server es otra historia.

Saludos.

viernes, abril 17, 2009

Relatividad y geometría Minkowskiana

Creo que lo que escribí ayer no se entiende demasiado bien sin unos cuantos garabatos.

Lo importante es que cientos de experimentos confirman por lo menos que la geometría Minkowskiana es más real que la Euclidea de toda la vida (al menos a grandes distancias, velocidades, etc.).

El espacio-tiempo sería algo así. Se crea en un momento concreto y a partir de ahí empieza a transcurrir el tiempo y el espacio.

Un fotón va a la velocidad de la luz y por lo tanto emerge del punto siguiendo el borde del cono. Nada puede superar la velocidad de la luz.



El punto inicial es un punto más. El resto de puntos que hay dentro del cono a su vez ofrecen la misma capacidad de expansión.

Un cuerpo en estado de reposo absoluto seguiría la línea vertical (tiempo). Un cuerpo a la velocidad de la luz sale con un ángulo de 45 grados. Las velocidades intermedias se aproximarán más a la situación de reposo o a la de la luz.

Ligado a este planteamiento hay unas cuantas fórmulas que no voy a escribir aquí, pero básicamente ocurre lo siguiente:

La distancia en este geometría respecto al punto 0 es máxima en estado de reposo (línea vertical del tiempo), y va reduciéndose a medida que se aproxima al borde.

La famosa paradoja de los gemelos
Ahora viene lo divertido.

En el punto A, dos gemelos se despiden. Uno se queda en la tierra y el otro va a velocidad próxima a la de la luz a visitar otro sistema solar. Pasan 30 años y el gemelo viajero vuelve a la tierra. Se encuentran en el punto C. Resulta que el viajero sigue igual de joven que cuando inició el viaje, y el de la tierra ha envejecido 30 años.
Esto ocurre porque la distancia recta en esta geometría es el camino más largo.

O sea, AC > AB+BC




Ahora más sorpresas...

Creo que en el debate de Kriptopolis no me han entendido cuando decía que hay que definir lo que significa el verbo EXISTIR.

Lo que existe en un lugar del Universo puede que todavía no exista en otro lugar. Algo que ha ocurrido para un observador para otro es el futuro.

Imaginemos que A y B viven en galaxias diferentes. Un día se encuentran en un punto común. En ese momento en el que se cruzan el ciudadano B tiene un plano que es su espacio simultaneo. Resulta que el espacio simultaneo del ciudadano A es diferentes. Con partes comunes por supuesto porque se han cruzado. Y si miramos a su pasado, el suceso marcado con la X ya ha ocurrido para el ciudadano B. ¡En cambio para A es algo que ocurrirá en el futuro!


Saludos.

jueves, abril 16, 2009

Cosas que tiene el Universo, ¡oiga!

Hola,
Hoy quería comentar otro tema, pero al final he visto un comentario en la portada de Kriptopolis.org que me interesaba y he tenido que comentar.

Creo que es un tema interesante y se debería explicar en las escuelas porque tampoco es tan difícil de entender (al menos creo que es más fácil que la demostración de la derivada o la de la integral).

El tema que plantean es éste: "¿Cuántos Universos existen matemáticamente?" Podéis ver el post original y los comentarios aquí.

Mi respuesta, que todavía no he visto publicada en el foro:

Estoy de acuerdo con Andy casi en todo, pero quiero matizar algunas cosas. Habría que empezar aceptando como buena una definición de Universo, y después habría que definir lo que significa
"Existen".

Una de las dimensiones físicas del Universo es el tiempo.

El tiempo como dimensión se entiende fácilmente. Si yo quiero quedar contigo tendré que darte como mínimo tres coordenadas y la del tiempo. Por ejemplo quedamos en el segundo 1.000 desde la creación del universo.

En 1908 el geómetra Hermann Minkowski (profesor de Einstein en Zurich) plantea el espacio y el tiempo en conjunto como una sola entidad. En una famosa conferencia relató: "En lo sucesivo el espacio por sí mismo, y el tiempo por sí mismo, están condenados a desvanecerse en meras sombras, y sólo una especie de fusión entre los dos mantendrá una realidad
independiente".

Si pasamos un poco de las fórmulas de la geometría minkowskiana y nos quedamos con el concepto, resulta que el tiempo no transcurre igual en todos los lugares. Y se dan curiosas paradojas como que lo que para un observador en el universo va a ocurrir en el futuro para otro observador del mismo universo es pasado.
O sea cuando decimos "Existe", la palabra misma tiene poco sentido. Mi ahora no es el ahora para el resto del universo. Y mi mañana es el ayer de otros. Si eso es así en un Universo, imaginate el sinsentido de dos Universos.
Recuerda que no hay una magnitud de tiempo independiente, y menos común en los dos Universos.

En cuantos a las matemáticas creo que también hay un error de concepto. Las estructuras matemáticas son conceptos abstractos creados por el hombre. Como ideas que son no tienen por qué limitarse al mundo físico. Leopold Kronecker dijo "Dios creó los números. El hombre todo lo demás". Se refiere a los números naturales claro, los negativos, irracionales, etc. no se encuentran en la naturaleza.

En estos post intenté diferenciar las matemáticas de la realidad:

Matemáticas y realidad

El primer disgusto de las matemáticas

Matemáticas, informática y realidad

El primer disgusto de las matemáticas II

Saludos.

martes, abril 14, 2009

Volvemos a la carga

Ya siento no haber avisado mi ausencia estos días, pero ha sido totalmente improvisado. Que si hoy vamos a tal sitio a comer, y al día siguiente que bien se está aquí, etc. etc. y en total han sido unos 5 días sin conexión.

En estos 5 días he tenido que llamar a la grúa 2 veces.
De repente el coche empezó a echar una humareda espesísima totalmente blanca (estaba quemando aceite) y para más inri un guardia motorizado que estaba en mi mismo semáforo vino raudo y veloz para ponerme una multa por contaminación, pero al final le debí dar pena y además que culpa tenía yo de que se rompa algo en medio de la calle. ¡En cuanto vi la gravedad del asunto ya había parado el coche!
Pensaba que se había quemado la junta de la culata, pero según me dice el mecánico ha sido el turbo.

Ayer fue un pinchazo en la lambretta a unos 15 km de casa. Aquí empujando pacientemente la moto mientras busco cobertura.




¿Cual es la pieza que más rápido se mueve en un PC o servidor?

Sí, el disco duro gira a 7.000, 10.000, 15.000 revoluciones normalmente.

¿Y en un coche?

El turbo gira a unas 120.000. Una diferencia considerable.

Saludos.

martes, abril 07, 2009

Super regalo

Está guay tener un cuñado enrollado como el mio. Hace un par de domingos (29-3-2009) me hizo un regalito la mar de chulo. Esta es la prueba de que con poco dinero se puede hacer un buen regalo, ya que le costó la friolera de 1 euro.

Esta es la máquina que me ha regalado:

Es un texas instruments TI-1250. Calculadora fabricada entre 1975 y 1977. Se pueden ver las características aquí. Desde luego, siendo casi de la época de la Casio cm-602 que os enseñé el otro día, es muy superior a ella.

En lugar del máximo de 6 dígitos de la Casio, la Texas Instruments admite hasta 8 dígitos. La casio no puede almacenar números en memoria y la T.I. si.

También tiene dos funciones más:
1.-El del tanto por ciento.
2.-Un botón CS que parece que funciona como la función inversa.


Más curiosidades:

Durante los próximos 3 días hay una T.I.-1250 subastándose en ebay. El precio de salida: 5,79 dólares y el "buy it now": 6,49 dólares.


Si tenéis una cosa similar, seguramente el manual estará aquí: http://www.devicemanuals.com/guide/Calculator-manuals.html

Los de ciencias seguro que guardáis con mucho cariño alguna calculadora de cuando los años de carrera. ¿no?

Saludos.

lunes, abril 06, 2009

Como hacer un jueguillo II

Ayer comentaba que podíamos valorar utilizar herramientas multiplataformas y software libre.

Otra opción, probablemente más cómoda, sería centrarnos en un plataforma única y utilizar software comercial aunque sea gratuito.

Concretamente estoy pensando en XNA Game Studio de Microsoft. Es un framework específico para juegos. Tranquilos, en esta mini serie del jueguillo utilizaré las dos opciones para ver los pros y contras.

Como curiosidad os diré que Shawn Hargreaves, desarrollador de Allegro desde sus inicios fue contratado por Microsoft para el XNA Team. Este es un sitio para desarrolladores XNA: http://www.xnadevelopment.com/index.shtml



Igual que con el Visual Studio, el SqlServer, y más cosas, el XNA Game Studio tiene versión Express, en principio gratuita aunque con limitaciones. Así que puedes hacer todo un juego profesional para entorno Windows, Zune y Xbox sin gastarte un duro, aunque tendrás que revisar la licencia para saber el uso que le puedas dar a ese juego.

Lo primero descargar el Xna Game Studio Express de aquí:

Por supuesto tiene apoyo oficial para aprender, soporte, etc.

Lo que ocurre es que he ido a instalarlo en mi portátil con Visual Studio 2005 y me dice:


Pues buscamos el Visual C# 2005 SP1. Hay que fijarse bien porque pone claramente Express y a mi no me va a valer. Sólo actualiza el Visual C# por lo que "sólo" ocupa 24,2 Mbytes.


Al intentar instalar la versión Express encima del Visual Studio Professional...

En mi caso hace falta una actualización completa del Visual Studio. Ocupa 431 Mbytes.



Y aquí me he quedado. Ahora mismo estoy instalando el SP1 y no puedo seguir.

De momento la instalación del software Microsoft se está volviendo más pesada que la de ayer. Espero que luego sean todo facilidades.

Saludos.

domingo, abril 05, 2009

Como hacer un jueguillo I

Hola, ¿Que tal?
Yo también bien.

Bueno, ya dije hace unos días que iba a retomar antiguos temas. En aquel momento estaba pensando en una cosa, pero creo que va a ser más divertido empezar por otra.

¿No habéis pensado alguna vez en programar un videojuego?
Sí... un videojuego es el tipo de software más difícil de hacer... tiempo real, base de datos, inteligencia artificial, etc. etc.

Por supuesto no podemos plantearnos un videojuego profesional a la altura de lo que se hace hoy en día. Para un proyecto así hace falta software especifíco, grafistas, musicos, programadores, publicistas, guionistas, jefes de proyectos, y no se cuantas personas más. Y nosotros sólo somos 1, y con poco tiempo.

En cuanto a la elección de herramientas hay un gran dilema.

Si valoramos esto:
1.-Software libre para que nadie tenga que pagar nada.
2.-A ser posible multiplataforma para que todos lo podamos utilizar.

Entonces podemos elegir el compilador de C++. Vamos a lo fácil. Gratuito pero con IDE de desarrollo: Dev C++

Nos bajamos la última versión estable : la 4.9.9.2

Respecto a la librería gráfica podemos liarnos todo un mes para pensar que opción es la mejor. Creo que una posibilidad sencilla es Allegro. Esta disponible para casi todos los compiladores de C++ y para los Sistemas operativos mayoritarios (utilizando sus librerías gráficas).





Nos bajamos la última estable 4.2.2. Y ahora surgen las dudas... Resulta que el 13-06-2008 la última versión estable era la misma. O sea, que parece que se mueve poco la cosa. Como curiosidad, el 26-11-2006 la versión era la 4.2.1.

La instalación

El compilador con el IDE se instala sin problemas con next, next, next. El problema viene con la librería Allegro, que después de descargar hay que indicarle que es para el Dev C++ y luego compilar la librería (tranquilos que hay instrucciones). Todo el proceso está bien explicado en /docs/build/mingw32.txt. Recordad que el Dev C++ lleva mingw por debajo.

Una forma más sencilla es descargar directamente el paquete de Allegro para el compilador Dev C++. El paquete se puede descargar de aquí:


Seleccionamos el Devpak Allegro y ya está.


En cuanto hagamos clic en download, el DevPak manager nos lo instalará.

Nuestro primer programa:

Ahora entramos en el compilador. Vamos a las opciones y añadimos la librería Allegro en el enlazador (linker):


Editamos el siguiente programa de prueba:



Y le damos a Menú Ejecutar, Compilar y Ejecutar para ver el resultado:



Saludos.

jueves, abril 02, 2009

Como forzar el umount en UNIX/Linux, etc.


Supongamos que ocurre lo siguiente (a mi me ocurrió ayer):

1.-Has lanzado algo que tarda demasiado. 
2.-Matas el proceso porque no puedes esperar.
3.-Vas a desmontar el file system (por ejemplo con umount /mifilesystem), y algo ha salido mal, porque no hay forma de desmontarlo. Continuamente nos dice "device is busy".

Ahora tiras de man para saber si el comando umount tiene una opción para forzar la acción pero imagínate que no hay forma de hacerlo, o no funciona.

Para estas situaciones tenemos el comando fuser que viene de perlas.

Lo tenemos en Linux, en AIX, Solaris, Mac OSX, y me imagino que en todos los demás UNIX y Unix-like.

Nos muestra los procesos que tiran de un fichero, directorio determinado.

Seguramente en cada sistema tiene opciones diferentes. En HP-UX con la opción -k mata los procesos que tienen en uso el filesystem. Cuidado, la K es de KILL, y funciona muy bien.

fuser -k /mifilesystem
umount /mifilesystem

Bueno, para los usuarios Windows envidiosillos también hay programas similares:
Uno de ellos es unlocker y se puede descargar de http://ccollomb.free.fr/unlocker/index.htm

Saludos.

miércoles, abril 01, 2009

¿Otro cierre?

Hoy nos encontramos con otra noticia sorprendente, como la de ayer del Encarta.

Parece ser que van a echar el telón sobre el proyecto del buscador de la wikipedia: Wikia Search. Según anunciaba ayer día 31 Jimmy Wales en su blog.



De todas formas, cuidado con la noticia porque hoy es 1 de abril, día de los inocentes en muchos países y todo es posible.

De momento, ahora mismo Wikia Search sigue operativo:

Saludos, y a ver cuando acaba esta crisis.