23 enero 2008

Dilbert Widget sneak peak!

More and better posts, new and old subjects, await to be published in this blog. In the meanwhile, there is a new widget in the left column of this site, just beneath my Last.FM top last 5 and my last Flickr pictures animated minislideshow. It won't be very useful for those who read me via RSS, but those who just hang around here from time to time may enjoy having a look at the last Dilbert strip, rating it, or surfing previous strips. All right, it's kind of a freak sense of humor, plus it's in English but... it's in full colour!!

17 enero 2008

Oops, I did it again...? No panic!

Cuando toca reconocer la propia torpeza, soy sin pudor una de las primeras en entonar el mea culpa. Años de tropiezos absurdos, de trastabilleos sin motivo aparente, de desparrames diversos de sustancias de todo tipo de índices de solidez y peso, de morderme mi propia lengua como quien no quiere la cosa y de ser muchas veces la última en coger el chiste, son suficientes para persuadirme de negar la realidad.

Ahora bien, no todo va a ser autoflagelamiento: que levante la mano y tire la primera piedra quien nunca haya borrado un fichero por error. Y cuando digo borrado, quiero decir borrado, nada de movido a otro directorio al que alguien decidió un día poner el simpático nombre de "Papelera". Digo borrado y eliminado. Dicho de otro modo, removed. (...) Ajá, eso pensaba. Pues bien, tranquilidad. Hoy vengo a compartir con todos vosotros un rayito de esperanza.

Y es que no siempre que se utiliza el contundente comando rm está todo perdido. Muchas veces sí, para qué engañarnos. Pero un pequeño cúmulo de circunstancias resisten ahora y siempre a la fatalidad. Se trata de ese mínimo porcentaje de casos en los que el fichero que hemos borrado está aún siendo manejado por algún programa/proceso. Por ejemplo, cuando estamos descargando un archivo, o escuchando un fichero de audio. No hablo de editar un documento, porque en ese caso el remedio es tan sencillo como volver a grabarlo desde el propio editor. Hablo de cuando el elemento en cuestión está ahí, tan cerca... pero a la vez tan lejos. De cuando somos conscientes de que, no siendo posible grabarlo con el programa/proceso que lo mantiene por breves instantes en el mundo de los vivos, en el momento en que éste termine, se habrá ido para siempre.

Pues bien, haciendo cierto el dicho de que mientras hay vida hay esperanza, en linux.com un artículo nos explica muy ilustrativamente qué hacer para recuperar el fichero que aún no nos ha dejado, pero casi. Ante todo, hay que ser rápidos: debemos actuar mientras la espada de Damocles aún no se ha cernido sobre nuestra cabeza. ¿Cómo hacerlo? Mientras el fichero esté siendo usado, el comando lsof (que lista los ficheros abiertos en el sistema) nos permitirá conocer no sólo el identificador del proceso en cuestión, sino también el descriptor del fichero a rescatar. Como generalmente el número de ficheros abiertos en el sistema es realmente grande (pues incluye no sólo los que abrimos nosotros conscientemente, sino también multitud de archivos temporales empleados por las aplicaciones en ejecución, bibliotecas compartidas, e incluso dispositivos), será conveniente recortar la salida de lsof:

$ lsof | grep fichero
less   3897   usuario   6r   REG   3,6   117285   12269   /tmp/un_fichero.txt

De la información que se nos muestra, nos interesa reconocer el proceso que mantiene abierto el fichero (en este caso, less), el identificador de dicho proceso (3897), y el descriptor del fichero, que aparece en la cuarta columna (6). La última columna muestra su ruta y su nombre (aquí/tmp/un_fichero.txt). En caso de que el fichero haya sido borrado, tal condición también se mostrará:

$ rm /tmp/un_fichero.txt
$ lsof | grep fichero
less   3897   usuario   6r   REG   3,6   117285   12269   /tmp/un_fichero.txt (deleted)

¿Para qué necesitamos esta información? El identificador del proceso del que depende el éxito de la operación de rescate, junto con el descriptor del fichero, nos permitirán recuperar el contenido del mismo accediendo al directorio /proc. En los sistemas Linux, puede decirse que este directorio almacena información sobre el estado del kernel en cada momento. Así, algunos de sus contenidos pueden ser manipulados por usuarios y/o aplicaciones para comunicar al kernel cambios en la configuración, por ejemplo. En /proc también se guardan detalles sobre el hardware del sistema y cualquier proceso que se encuentre en ejecución. Eso sí, ese "almacenamiento" tiene lugar sólo en memoria volátil (RAM), de ahí que a veces se denomine al /proc sistema de ficheros virtual.

Una vez que, vía lsof, obtenemos el identificador del proceso que mantiene abierto el fichero y el descriptor de éste, ¿qué hacemos? Utilizar esta información para acceder a la copia virtual que maneja /proc de la siguiente manera:

$ ls -l /proc/3897/fd/6
lr-x------ 1 usuario grupo 64 2008-01-16 18:12 /proc/3897/fd/6 -> /tmp/un_fichero.txt (deleted)

Una vez localizado, es suficiente hacer una copia simple de esos datos a un lugar seguro:

$ cp /proc/3897/fd/6 /tmp/otro_fichero.txt

¡Y ya hemos evitado la desgracia! ¡Feliz recuperación!

16 enero 2008

El himno abortado

Como vino, se fue. Ni siquiera los ecos de las opiniones, a su favor y en su contra, se habían apagado aún. A algunos no nos había dado tiempo ni a publicar nuestra visión de los hechos. Pero hoy, apenas cinco días más tarde de que (aún no está claro si intencionadamente o debido a una filtración, como afirmó el presidente del COE) se conociera la propuesta que un comité de expertos había seleccionado como candidata a convertirse en la letra del himno español, el propio COE ha retirado la iniciativa.

Inmersos en una inercia que nos lleva hacia la globalización, esto de los himnos patrióticos suena a reminiscencia histórica, máxime cuando sus letras, en la práctica totalidad de los casos, están teñidas de arcaicas estrofas bélicas y sentimientos que muchas veces se han quedado igual de anticuados que las bayonetas de quienes primero las entonaron. ¿Tiene sentido redactar letra para un himno hoy en día? Probablemente la respuesta más razonable es que no. La excusa de que los deportistas tengan algo que cantar en los eventos internacionales es, siendo la única digna, bastante pobre. ¿Necesitan los pueblos una canción que poder cantar para sentirse tales? Endeble unión, si tal fuese el caso.

Visto lo visto, me adhiero al ruego popular: "Virgencita, virgencita, ¡que me quede como estoy!"

09 enero 2008

Por alusiones

En una de las etapas de mayor (pero no por ello menos típica) inseguridad que viví en mi adolescencia, una de mis fantasías irrealizables más repetidas era abandonar mi cuerpo y levitar entre los demás, invisible cual fantasmagórico ente, para saber qué pensaban realmente de mí, para meterme en sus cabezas y verme con sus ojos. Con el tiempo aprendí lo que era evidente: que cómo nos ven los demás depende en gran medida de cómo nos vemos a nosotros mismos, y también que nuestra propia autoconcepción no debería depender de cómo otros puedan juzgarnos. Con todo, no puedo evitar que ciertas personas/situaciones resuciten en mí ese viejo anhelo muy de cuando en vez.

Suele ocurrir que cuando alcanzamos la madurez suficiente como para comprender lo que comentaba, somos también capaces de transmitir nuestra visión de los demás (y de nosotros mismos) de una manera más abierta y sincera. Es por ello que no seré hipócrita aquí ignorando el hecho de que no publicaría este post si no fuese porque la honestidad brutal que un emigrado compañero ha vertido en su blog me deja en bastante buen lugar. Una cosa es que aprendamos que somos como trabajamos día a día para ser, y otra muy distinta afirmar tanto que una opinión crítica o disonante con respecto a uno no produce ni siquiera un mínimo escozorcillo, como que no nos guste que nos den cera de vez en cuando :-).

En lo que se refiere a la iniciativa de la honestidad radical, me temo que es fácilmente tergiversable y derivable en el desahogo indiscriminado. Es fácil asociar "esas pequeñas mentiras" que todos contamos alguna vez con la represión de los sentimientos que nos despiertan quienes no nos caen simpáticos, con la frustración de una vida conducida hacia fines o metas que no nos llenan realmente, con la presión de un entorno social demasiado exigente. De la supuesta liberación de esas cotidianas verdades a medias a la rienda suelta del veneno de una lengua viperina hay un muy pequeño paso. Por mi parte, soy de la opinión de que cierto tipo de "verdades a medias" son más bien inofensivas, incluso beneficiosas, antes perjudiciales. Todo depende, como siempre, de la motivación más profunda que las origina e, inevitablemente, del efecto que provocan. Lo malo es que no siempre somos totalmente conscientes de la primera y que lo segundo suele ser desgraciadamente impredecible.

05 enero 2008

Clean and merge

As maybe somebody might have noticed, nine months have gone by since I last wrote anything in my english blog. That's a long time... enough time for a baby to be born, for instance. But in this case, it is time to kill the baby, which was clearly going nowhere. Oh, all right, killing is an awful word, so instead I have merged it into this one, more healthy child.

A new category has been added, labelled "english", where all the old english posts can be found under. And from now on, I will feel free to post here those messages that would have been intended for the old site. You know... L'Union fait la force!

02 enero 2008

Feliz año nuevo

Imparable como sólo el tiempo es, nos ha traído puntualmente el inicio de este nuevo año 2008 que he empezado envuelta en mantas, con el termómetro sobre la mesilla, una bufanda alrededor de la garganta y bebiendo muchos líquidos. Y yo que pensaba que con el plan de vida sano que iniciamos calvaris y yo hace ya tres meses, acudiendo diariamente al gimnasio y después a la sauna mi organismo se estaba volviendo fuerte y resistente a los vulgares gérmenes y otros enemigos de las vías respiratorias. Será que mis defensas decidieron irse de vacaciones navideñas sin avisarme.

A Coruña - 800 aniversario

Más globalmente y olvidando mi ombligo por un momento, el 2008 promete ser un año interesante, al menos en lo que al aspecto conmemorativo se refiere. No sólo está a la vuelta de la esquina la exposición de Zaragoza dedicada al agua y al desarrollo sostenible (agua que, por cierto, por fin parece estar regresando tímidamente a los cielos gallegos, aunque sin demasiados excesos), sino que con las campanadas hemos recibido también el año del 800 aniversario de la ciudad de A Coruña, por lo que los próximos 365 días estarán sembrados de celebraciones y actos festivos en razón a tan señalado cumpleaños.

Por lo demás, la verdad es que nunca ha ido mucho conmigo eso de los propósitos de año nuevo, así que no veo por qué tendría que hacer una excepción. Lo que sí tengo que admitir es que tengo muchas expectativas puestas en los próximos 12 meses, pero todas ellas serán fruto (espero) del trabajo y la constancia. Con todo, ahora mismo, desde mi lecho convaleciente, sólo puedo desear ¡salud para todos!