Free At Last

Desde hace casi dos semanas, he estado escuchando jazz (http://en NULL.wikipedia NULL.org/wiki/Jazz). Nunca antes le había prestado atención. Acá la onda jazzística es muy amplia, siempre hay dónde escuchar jazz, tenemos muy buenos intérpretes y todo eso. Pero nunca tuvo nada que ver conmigo.

Pienso que aunque sí me gusta la sonoridad del jazz, la razón principal por la que no me engancha es por la gran variedad de ritmos y melodías que ocurren y concurren en una sola canción de jazz. Al parecer, no me alcanza el intelecto para este género…

No pretendo ser sarcástico. ¿Acaso esto no puede ser verdad? ¿O quizás estamos cayendo en el trillado tema del gusto personal, y yo le estoy cambiando los nombres? Hmmmm… ¿y porqué me gusta ahora?

Y todo fue porque la Lauri, en una tarde de trabajo en casa del Luilver, puso en la laptop de este último un disco de un jazzista del cual nunca había oído. Le dio al Play, y…

Y normal, no pasó nada. Era más jazz. A mis oídos, como el que nunca me había enganchado. Pero el ambiente estaba bueno, estaba con mis “amiwetes” y entre la pincha y la jarana, el jazz seguía sonando. En un momento tuve que ir al baño, y cuando regresé, ahí estaba ella.

Fue cuando me senté que noté su presencia en el ambiente. Me sentaba en una mesita aparte, quedando atrás de Lu, como a medio metro de su laptop. Y al sentarme, sentí que me estaba sentando en otro lugar, donde me sentía bien, calmado e incluso, algo nostálgico. No importó que estuviera a un metro de distancia de los altavoces de la laptop. Tenía que tenerla.

Por primera vez, me enamoré de una canción.

Mientras más me dejaba llevar por la melodía del piano, varios sentimientos inundaron mi cabeza. Por momentos sentía nostalgia, cariño, empatía, tristeza, alegría… y yo todo el tiempo erizado. Todos los pelitos de la piel de punta. “Carne de gallina”, como se dice. Todo un cóctel sentimental que no dejaba de abrumarme. Y al mismo tiempo, mi inconmesurable asombro por cómo una canción, que me hace todo esto, y apenas iba por la mitad, en la primera vez que la oía en mi vida.

Claro, en lo que a mí concierne, el jazz en general tiene un grandísimo punto a favor, puesto que es, sobre todo, música instrumental, donde prácticamente no hay voces. Sí sí sí… “locol, no me des muela… show me what you’ve got”. Puro talento. Como buena parte del rock de los ’70 y los ’80, donde por supuesto que sí habían letras, pero ya la música por sí sola habla. Y creo firmemente que no es necesario una lírica para transmitir un sentimiento (bueno, precisamente eso pasó allá por el párrafo anterior).

Aproveché en un momento en que estaba sólo en la habitación, y con despliegue total de frescura y atrevimiento, le di al “Eject” de la bandeja de CD de la laptop de Lu, saqué el disco, lo puse en mi laptop, y en 5 minutejos ya estaba rippiando (http://en NULL.wikipedia NULL.org/wiki/Ripping) el CD. Por un momento pensé: “Ñó… ¿estaré contribuyendo a la piratería musical?”. Y al siquiente momento: “NO ME IMPORTA”. El disco, al ser original, venía con CD-Text (http://en NULL.wikipedia NULL.org/wiki/CD_Text), que permite que el programilla rippeador (usé Sound Juicer, si están curiosos) lea los títulos de las canciones directamente del disco, y no haya que tomarse la molesta de ir escribiendo rengloncito por rengloncito.

cd playground Free At Last (http://www NULL.ramonvalle NULL.nl/index2 NULL.html)
Playground

Estaba ansioso por llegar a mi casa, tener un momento solo, nada más la canción y yo. Bueno, y Clementine (http://www NULL.ohloh NULL.net/p/clementine-player), aunque sólo sea el intermediario. Lo que quería saber era si volvería a sentir el collage místico de la primera vez. Y vaya que sí. Desde entonces, al menos una vez al día, la reproduzco una vez más. A veces llega su turno dentro de la lista aleatoria de canciones. Otras veces, recorro la lista buscándola, porque no quiero esperar a que random() (http://en NULL.wikipedia NULL.org/wiki/Random_number_generation) se decida a ponerla. Y durante 9 minutos y 36 segundos, soy capaz de deshabilitar mi capacidad de percibir el paso del tiempo.

La cremita

Después de pasarme casi dos días repasando programación a dos estudiantes de Bioquímica volvía a mi casa. Enseñar programación es algo interesante, pues es como enseñarle a la gente cómo pensar, cómo descomponer los conocimientos, las habilidades y la información, en unidades lo más pequeñas posible, para decirle a una máquina lo que tiene que hacer. Parece algo chistosa la frase “La computadora hace lo que le dices, no lo que quieres”, pero pasa exactamente así. Si no hace lo que quieres, es porque no se le dijiste bien.

A veces me gusta hacer parte del camino a mi casa a pie. Me gusta mucho caminar, así observo y admiro la vida ajena a mí, pero que existe. Veo y oigo cosas lindas y tristes, cosas lógicas y locas. Cosas que no se ven o se oyen dentro del P6, dentro de un Lada, dentro de la casa, o en Internet.

Como la frase que oí hoy, caminando, regresando a mi casa. Bajando por Pocito, desde donde hace esquina con la Calzada del Diez de Octubre, hay dos escuelas, la primaria “Máximo Santiago” y la secundaria “Sarmiento” (no me sé los nombres completos, estos son los de “pila”). Como peculiaridad, la secundaria tiene un aula dentro del área de recreo de la escuela primaria. Una de las alumnas de esta aula, estaba pegada a la reja, hablando con otra, también de su grado. No sé de qué estaban hablando antes, pero el final de la conversación, fue lo que me puso a pensar:

- ¡Mi’ja! ¡Cómprame también una cremita!
- ¡Ah, tá bien! ¿Cuánto es que vale una cremita? ¿Cómo dos pesos, no?
- Sí, algo de eso.

Y eso fue suficiente para dejarme pensando y entretenerme la caminata hasta mi casa, empezando con la pregunta: ¿Por qué la gente confunde “valor” con “costo”?

Y son cosas tan diferentes. La cremita cuesta dos pesos, y eso lo decide el vendedor. ¿Los vale? Eso es relativo. Claro que no es sólo la suma de cada uno de los ingredientes más la mano de obra. Pero también depende mucho de qué esperamos de aquello que nos cuesta. Hay gente que gasta millonadas en artículos de coleccionismo, y lo sienten totalmente justificado.

Y ahora lo llevo a otro nivel. ¿Realmente sabemos la diferencia entre el costo y el valor de los amigos y las personas que nos rodean? Y por supuesto, la verdadera pregunta, escondida dentro de la anterior, es ¿Lo sé yo? ¿Realmente los valoro como debiera?

Sólo con con una llamada telefónica, un viajecito en guagua, un correo, o una sesioncita de chat, puedo llegar a alguien que me escuche, me aconseje y me aguante mis malcriadeces. Tan poco me cuesta tener algo tan importante. ¿Significa eso que están subvalorados? Para nada. Todo lo contrario, me siento afortunado.

Y me siento bien, sabiendo que la viceversa también se cumple. No importa cuánto yo valga como persona, siempre estaré a una llamada, un viaje en guagua (o en taxi, tacaños), revisando el correo, o del otro lado del chat. Lo menos que puedo hacer para valorar, es estar para ellos como mismo ellos están para mí.

Y a ver si le doy más valor a este blog y posteo más. Que para que vean que la vida es puta, vale menos que yo, pero cuesta más acceder a él.

Gemini

No creo en los horóscopos (http://en NULL.wikipedia NULL.org/wiki/Horoscope). Lo veo como una manera de atraer lectores a revistas y portales (por no decir que estafan y juegan con la esperanza de la gente). No me tomen a mal, no me ha pasado nada malo por creerle a un horóscopo. Sólo que no me gusta la “feria” que se arma a costa de unos arreglos estelares (http://en NULL.wikipedia NULL.org/wiki/Constellation) y la posición aparente del Sol y planetas solares en estos arreglos.

No obstante, pensándolo bien, pensando más profundamente (pensando mierda, como hago la mayor parte del tiempo), las estrellas sí podrían influir en la personalidad… Sin irnos de la ciencia, más o menos quedando en la ciencia ficción, la línea de pensamiento sería algo como:

Sabemos que las estrellas emiten ciertas radiaciones (http://en NULL.wikipedia NULL.org/wiki/Radiation); de hecho, son estas las usadas para detectar su presencia en el universo. ¿Y si nuestro cerebro puede ser susceptible a esas radiaciones? Nuestro cerebro está compuesto por miles y millones de neuronas, cada una conectada con varias (no todas) las neuronas vecinas. Por ejemplo: cuando ejercitamos un conocimiento o habilidad, se crean nuevas conexiones entre ellas; y cuando tomamos, estas conexiones se “tupen”, dando lugar a las “lagunas mentales”, momentos embarazosos (sobre todo si alguien que estaba ahí tiene la peligrosa combinación de cámara + cuenta en Facebook) y reputación por el piso.

Volviendo al tronco, constantemente estamos creando conexiones entre neuronas y perdiéndolas al morir estas. Esta combinación de conexiones, más la cantidad de neuronas y el estado de cada una de estas, es a lo que me atrevo a llamar “personalidad” (fresco que soy). Quizás me faltó un elemento más en la fórmula (¿cuál podría ser?) Remontándonos a momentos tempranos del feto; el cerebro en formación podría absorber ciertos tipos de radiación a los que actualmente está expuesto el planeta, durante su viaje interestelar, quién sabe de dónde, quién sabe adónde. Una neurona, una sola, que cambie la forma en que se desarrolla, la forma en que se conecta con las demás… Puede significar un cambio drástico en la personalidad, ¿no crees? Pensemos en el “Efecto Mariposa (http://en NULL.wikipedia NULL.org/wiki/Butterfly_effect)“… (olvídate de Ashton Kutchner, estoy hablando de otra cosa (http://en NULL.wikipedia NULL.org/wiki/Chaos_theory)) pequeños detalles, a largo plazo terminan siendo la causa de fenómenos muchos más grandes… Todo por un neutrino errante que atravesó una neuronilla sin conciencia de lo que le venía arriba.

Por supuesto, si esto es así, habría que pensar también cuánto influye la radiación en la neurona. Si seguimos la idea de que la personalidad se determina según la fecha, implicaría que la radiación sólo tendría efecto en etapas tempranas del desarrollo del cerebro, donde casi todas las neuronas son jóvenes. Claro, esto también implicaría que no son las estrellas que están en el cielo en el momento del nacimiento, si no las que han estado durante el embarazo. Así las estrellas tendrían menos “efecto” en la personalidad a medida que la persona crece – aunque nunca sería nulo, cada cierto tiempo mueren neuronas que son reemplazadas por nuevas, pudiendo estas absorber radiación.

Ahora, una cosa es que las estrellas “influyan” en nuestra personalidad, y otra es que pueda predecirse. Y creo que es imposible. Simplemente, porque no estamos en un lugar fijo en el universo. La Tierra gira alrededor del Sol. Pero este a su vez gira alrededor de sistemas mayores, como nuestra misma galaxia “La Vía Láctea” (BTW: lo más lindo del cielo es cuando puedo ver la franja de estrellas (http://en NULL.wikipedia NULL.org/wiki/Milky_way#Panoramas), sin nubes, sin telescopios, sin luces alrededor que disturben el contraste…) Las galaxias a su vez se agrupan y giran alrededor de metagalaxias. Cada nivel de organización estelar gira alrededor de un elemento perteneciente al nivel superior (¡goza Newton!). Por lo tanto, dado el relajo de giradera de estrellas, galaxias y demás yerbas, nunca estamos bajo la radiación del mismo conjunto de estrellas. Siempre hay una que sale de nuestro cielo visble, a veces para nunca volver. Otras nuevas llegan, mostrándose por años. Otras siempre han estado ahí, pero sólo ahora es que nos llega su luz (así queda más romántico, pero técnicamente sería la radiación… bueno, creo que acabo de masacrar el efecto romántico).

Mis conclusiones: Creo que en el caso de que las estrellas influyeran en la gente, simplemente no podemos predecir cómo será una persona con sólo mirar al cielo y sabiendo su fecha de nacimiento. Es imposible: la cantidad de estrellas irradiando en todo momento es enorme. En todo caso, creo que la personalidad no cabe en un párrafo, en una hoja ni en un libro. Creo que la gente es única, por más que clasifiquemos, categoricemos y encasillemos. Compartimos rasgos, pero con variaciones propias y combinaciones únicas. Así el mundo no llega a ser aburrido y los bibliotecólogos tienen en qué entretenerse. Cada persona es un mundo (o una estrella, para seguir la rima).

Por eso no leo horóscopos. La respuesta no esta ahí.

PS: Igualmente, me fascina la historia y la mitología que dan nombre a estas constelaciones. A cada rato abro el Stellarium (http://stellarium NULL.org/), el cual presenta en la pantalla un cielo con las estrellas según la hora y las coordenadas, y me quedo un buen rato navegando entre estrellas, galaxias, nebulosas y constelaciones. Este programilla es un must-have para todo aficionado (¿geek?) a la astronomía, con muchas opciones y buenos gráficos tanto en Linux, Wintendo o Mac.

stellarium 001 Gemini
La constelación que me toca por la libreta, vista en el Stellarium

Waaaayyy off-topic: Acabo de entender para qué sirve un iPad (http://camiloegana NULL.wordpress NULL.com/2010/08/26/leer-en-el-bano/).

WordPress Heritage

shot es ES Wordpress Heritage (http://es NULL.wordpress NULL.org/)
El imagotipo de WordPress para los hispanoparlantes
Imagina que tienes un blog. Que lo tienes montado con WordPress (http://en NULL.wikipedia NULL.org/wiki/Wordpress). Que encontraste el tema perfecto para que tu blogcillo se vea súper coooool. Y a la larga, a medida que vas bloggeando, el tema perfecto ya no es tan perfecto.

Dicen (a mí no me crean) que en las relaciones lo que importa son los pequeños detalles. En esto de los temas también. Siempre es un margencito de más o de menos, el color del link en la esquina más recóndita de la página no me gusta, se ve feo el plugin que instalé (al menos no como el screenshot original), las imágenes aparecen pegadas a los párrafos…

Los que me conocen un poco y piensan que estoy escapao, podrán pensar: “¿Pero cuál es el problema? Entras al código, lo modificas a tu gusto, !y ya!”. Pero los que están escapaos de verdad, (y BTW (http://en NULL.wiktionary NULL.org/wiki/BTW) saben que yo no estoy tan escapaos como ellos), saben que eso es súper engorroso:

  • Me estoy metiendo en código ajeno. No es que me acusen de allanamiento, es que hay una organización previa (si la hay) que el creador del tema tiene en su código, y debería seguirla. Si no hay tal organización, es peor todavía.
  • Si el tema es actualizado (¡sí, al igual que los plugins!) cuando se ejecute la actualización, es necesario tener cuidado de no perder los cambios hechos por mí, las personalizaciones. O copiarlas aparte, y luego de actualizar, volverlas a aplicar.

En fin, todo un drama…

Y… entonces?

Bueno, no tendría mucho sentido un post sólo para quejarme del problema. Por lo general, la motivación para escribir de esto en mi blog es precisamente compartir cómo resolví el problema icon wink Wordpress Heritage .

Y es ahora cuando se supone que el título cobre significado. Pues la solución no es mía original ni nada de eso, lo que tampoco se usa mucho (debería). La idea es simple, “temas hijos”, los cuales heredan las plantillas del tema padre, pero no los estilos (este es un detalle importante que veremos más adelante).

El tema hijo más sencillo: en el directorio de los temas de WordPress, se crea un subdirectorio con el nombre del nuevo tema, preferiblemente en minúsculas. Luego en él se crea el único archivo requerido para que valide como un tema, con las directivas apropiadas para que valide como tal, donde además, se especifica cuál es el tema padre:

/*
 * Theme Name: Current (parent: zBench)
 * Description: Current theme, child for the zBench theme
 * Author: Mandx
 * Template: zbench
 * */

@import url("../zbench/style.css");

div. entry div.img {
    margin-bottom: 18px;
}

li#recently-on-twitter.widget { }

li#recently-on-twitter.widget ul#recentlyOnTwitterListDisplayContainer {
    padding-top: 0;
}

li#recently-on-twitter.widget li.recentlyOnTwitterListItem div {
    border: none;
    padding: 0;
}

li#recently-on-twitter.widget li.recentlyOnTwitterListItem div a {
    text-decoration: underline;
}

Esto se guarda con el nombre styles.css y ya. Este es mi tema hijo. Al principio hay unas directivas dentro de comentarios CSS (http://en NULL.wikipedia NULL.org/wiki/CSS) (todo lo que está dentro de /* y */) que indican a WordPress que este es un tema hijo del tema zBench (cuando dice * Template: zbench), le pongo un nombre para identificarlo en la administración, una descripción (pa dar un poco e’ muela) y mi nombre como el autor (pa la autoestima).

Como vimos antes, decía que el tema hijo no hereda la hoja de estilos (http://en NULL.wikipedia NULL.org/wiki/CSS) del padre, sino que la reemplaza por completo. Pero CSS incluye una directiva para importar estilos de un archivo externo, y eso es lo que viene justo después: @import url("../zbench/style.css");, donde le digo que chupe todos los estilos del tema original.

Después de eso, todas las personalizaciones que se le ocurran a uno. En mi caso, corregí el margen inferior de las imágenes, que aparecían pegadas al párrafo siguiente (¡qué molesto!). Luego unos cuantos detalles más relacionados al plugin que muestra mis tweets (http://twitter NULL.com/mandx_ramblings) en la barra lateral.

Por supuesto, estas son correcciones menores, la idea de la herencia de temas en WordPress es mucho más amplia y sirve para muchas más cosas, pero ya en eso no me he metido. La idea es crear una forma de ajustar un tema a situaciones concretas que el diseñador no previó (vamos, que no puede preverlas todas), sin tener que ensuciarme las manos en código ajeno ni perder la opción de actualización del tema. Digamos, una solución “elegante”.

Referencias

Pero no me crean a mí, créanle a los tigres rayados de verdad. Hagan como los niños decentes que se leen la documentación antes de meter los cascos en el teclado y que se acuestan a las 8:00 pm con la calabacita (si existe). Aquí es de donde saqué la información necesaria para resolver mi problema y donde seguro que la hay para hacer cosas más locas con esta funcionalidad de WordPress.

Traben:

  • Child Themes « WordPress Codex (http://codex NULL.wordpress NULL.org/Child_Themes) – Documentación oficial (empieza por acá).
  • How to Modify WordPress Themes the Smart Way (http://themeshaper NULL.com/modify-wordpress-themes/) – Serie de cuatro posts sobre temas hijos en WordPress.
  • How to make a child theme for WordPress: A pictorial introduction for beginners (http://op111 NULL.net/53) – Introducción ilustrada a temas hijos.
  • Introducing Thirty Ten (http://aaron NULL.jorb NULL.in/blog/2010/04/05/introducing-thirty-ten/) – Guía sobre cómo crear un tema hijo del tema oficial de WordPress 3.0 “Twenty Ten”.

La indocumentada opción de fondos animados en GNOME

En las últimas versiones de Ubuntu, el entorno de escritorio para GNU/Linux GNOME (http://en NULL.wikipedia NULL.org/wiki/GNOME) ha incluido “fondos animados” (“slideshow backgrounds”, en inglés). Como en otros sistemas operativos conocidos (MacOS, Windows Vista y Windos 7), se trata de poner un conjunto de imágenes como fondos del entorno de escritorio, formando una secuencia de nuestras imágenes favoritas.

Una idea sencilla, ¿no? Pues en GNOME es bastante complicadita. Para empezar, una secuencia de fondos debe definirse con un documento XML; y es dentro de este XML donde se define qué imágenes forman la secuencia y la duración de cada una de ellas como fondo, independiente de las demás. Por ejemplo, se puede especificar que las imágenes que son fotografías mías, duren como fondo 15 minutos, y las que son tapices genéricos de los que descargo en Deviantart (http://deviantart NULL.com/), que duren 10 minutos.

appearance background 300x260 La indocumentada opción de fondos animados en GNOME
Selección de fondos de escritorio en Ubuntu Lucid Lynx 10.04

Muy flexible y todo eso, pero hay tres grandes desventajas. La primera, muy importante, es que al parecer no hay una especificación de la estructura del documento XML que define los fondos animados. Todo lo que se puede hacer es experimentar y usar como base el fondo animado que viene por defecto (situado en /usr/share/backgrounds/cosmos/background-1.xml).

La segunda es que no permite que la secuencia sea aleatoria, pues además de definir una lista de imágenes, (al parecer) se deben definir las transiciones de una imagen a otra, y no hay manera de decir “esta secuencia de imágenes es aleatoria, cuando pases a la siguiente, escoge una al azar”. Quizás sí es posible especificar una secuencia aleatoria, pero como no está documentado, no hay mucho que hacer.

La última es muy importante, pues no hay una herramienta visual oficial con la cual generar fondos animados para GNOME. Se han ido creando varias aplicacioncitas que los generan, desde simples scriptcillos a herramientas bastante elaboradas con una buena interfaz. Pero la oficial, la creada por la gente de GNOME, sigue sin aparecer.

El arroz con pollo

Precisamente, una de las herramientas más completas es Crebs (https://launchpad NULL.net/crebs/), acrónimo de CREate Background Slideshow. Esta puede usarse tanto con interfaz gráfica o mediante ĺinea de comandos, siendo posible usos muy diversos. No obstante, hay detalles que no me gustan de este programita; por ejemplo, no es posible “darle agua” (o “aleatorizar”, como prefieran) a la secuencia de imágenes, de manera que no se presente con el mismo orden en que se añadieron las imágenes. Dicen los desarrolladores que han pensado en eso, pero están trabados en dónde posicionar el botoncito que diga “Shuffle”…

crebs 291x300 La indocumentada opción de fondos animados en GNOME
Crebs con algunas imágenes de muestra

Otra cosa, es obligado arrastrar las imágenes a la ventana, no hay un botoncito para agregarlas con un diálogo de Abrir como Dios manda ni nada de eso… En fin, que tiene sus detalles.

El pollo

Me decidí a hacer mi propio generador de fondos animados para GNOME, pero que no sea la gran cosa, al menos que cubra mis necesidades, sobre todo como utilidad de línea de comandos. Enumerando los requisitos:

  • Las imágenes a utilizar para la secuencia se especificarán mediante un archivo o mediante la entrada estándar. Esto permite más flexibilidad para generar la lista de imágenes, puesto que hay mejores formas de generar listados de imágenes en carpetas y subcarpetas, usando las herramientas diarias de GNU/Linux. Permitiendo que se especifique mediante la entrada estándar, es posible encadenar la salida de un comando que genera el listado de imágenes (como find (http://en NULL.wikipedia NULL.org/wiki/Find)) a la entrada de mi generador de fondos, y permitiendo cualquier guarrada en bash (http://en NULL.wikipedia NULL.org/wiki/Bash_(Unix_shell)) siempre que devuelva un listado de imágenes válido.
  • Aleatorizar el listado de imágenes. Importante funcionalidad, así no me cansaré de ninguna secuencia específica.
  • Establecer el fondo acabado de generar como el actual de GNOME.
  • Emitir el XML generado hacia la salida estándar. Ahora mismo no sé en qué puede ser útil, pero me dió por pensar que para algo podría servir, y no es difícil de incluir.
  • Especificar tiempos de duración de cada imagen como fondo y la duración de las transiciones entre cada imagen.
  • Especificar cómo se mostrarán las imágenes como fondo, si se recortarán, se deformarán, se acercan o se alejan, etc…

Así creé mi propio generador de fondos animados para GNOME. No pretendo hacerle interfaz gráfica, pues su objetivo es sencillo: dado un listado de imágenes, genérame el fondo animado con estas opciones. El uso principal que le doy es este:

$ python /home/mandx/projects/slideshow_generator/slideshow_generator.py -s -w --image-list=/home/mandx/wallpaperlist.txt --out-file=/home/mandx/generated_background.xml

Esta línea la pego como una nueva entrada en las aplicaciones que se se ejecutan al iniciar la sesión (Sistema > Preferencias > Aplicaciones al inicio), así cada vez que inicio Ubuntu, se me genera siempre una nueva secuencia, distinta de la anterior, pero de una lista específica de imágenes.

startup apps 300x187 La indocumentada opción de fondos animados en GNOME
Agregando el script a las aplicaciones al inicio

Los argumentos usados son:

  • –image-list: Especificarle el archivo donde está mi listado de imágenes a usar. Por defecto se lee la entrada estándar. En este caso, la lista es el archivo /home/mandx/wallpaperlist.txt
  • –out-file: Especificarle dónde guardar el fondo generado. Por defecto, lo suelta a la salida estándar (la pantalla). En este caso, el fondo se guardaría en el archivo /home/mandx/generated_background.xml
  • -s: Con esto le digo que le “dé agua” al listado antes de generar el fondo.
  • -w: Aquí le digo que cuando genere el fondo, me lo ponga como fondo de escritorio actual.

También hay otros argumentos que no uso en la línea anterior:

  • –duration-time: Cuánto durará cada imagen como fondo. Por defecto son 600 segundos (10 minutos).
  • –transition-time: Cuánto durará la transición de una imagen a otra. Por defecto son 2 segundos.
  • -e: Verifica cada imagen de la lista si existe realmente. Si no la encuentra, no se agregará a la secuencia final y continúa la generación de la secuencia.

Y si lo llamamos con la opción -h nos mostrará la muela habitual de ayuda sobre todos los argumentos posibles (ah, sí… en inglés).

Si usas Ubuntu o GNOME y te interesa tener fondos animados, descárgalo y di qué bolá.

Agradecimientos

Aunque no tengo muchos seguidores de este blog, me he dado cuenta que con sólo dos como Leo y Luilver, es más que suficiente.

El primero se toma la grandísima molestia y dedica una pendejésima de su súper valioso tiempo en corregirme la redacción y/o ortografía de mis posts, sin sacrificar mi estilo, y sin criticar mis contenidos (al menos, no públicamente). Así que si quiere que en algún lugar de mi blog diga que yo le agradezco por la tarea, lo menos que puedo hacer es esto. There you go (http://www NULL.facebook NULL.com/leandro NULL.valdes).

El segundo, es una especie de padrino (también ídolo, como vimos antes) que es el que me mantiene la autoestima dentro de los niveles razonables, me da consejos aunque yo diga que no los necesito y se asegura por cualquier medio técnico/computacional/informático posible de estar al día con mi blog y comenta en casi todos los posts. Aprovecho para reafirmar que yo también estoy al día con el suyo, lo que ya no escribe tanto (el está para otra cosa (http://en NULL.wikipedia NULL.org/wiki/Kama_Sutra)). Prefiere que ponga links a su sitio (http://www NULL.luilver NULL.com), en vez de a su perfil de Facebook, dice que le da algo de PageRank y yerbas misceláneas.

Así que espero que los agradecimientos estén a la altura de sus espectativas. Si no es el caso, soy todo oídos, ¡este post es de ustedes!

El nudo corredizo

Esa es la traducción literal de Slipknot (http://en NULL.wikipedia NULL.org/wiki/Slipknot_(band)), una banda que desde el ’99 está sonando fuerte. Bueno, es heavy metal (http://en NULL.wikipedia NULL.org/wiki/Heavy_metal_music), claro que suenan duro.

Es una de las bandas de este género muy popular, también por ser algo diferente, aún cuando están influenciados por otras grandes bandas (interesante: casi todas las bandas de heavy metal que me gustan, están influenciadas por Black Sabbath (http://en NULL.wikipedia NULL.org/wiki/Black_Sabbath)). También el brete de las máscaras tiene su cosa, pero a eso iré más adelante.

Aunque ahora es una de las que más me gustan cuando se trata de rock duro, al principio no me gustaba para nada. Simplemente no podía seguir el ritmo todo lo oía igual y sólo distinguía gritería. También, era su primer disco, Slipknot (http://en NULL.wikipedia NULL.org/wiki/Slipknot_(album)). De todas maneras, todavía hay canciones en este album que no me gusta…

Bueno, que como uno no anda solo, era la etapa del preuniversitario, rodeado de reparteros, no era la Lenin, y demás etcéteras que podrán imaginarse; por lo que nuestro pequeño friki-piquete tenía que mantenerse unido. Poco a poco se me fue pegando el ritmo ¡hasta que lo enganché!

Desde entonces disfruto mucho de su música, tanto de las energéticas como de las más lentas. De vez en cuando rebusco en Google sitios de letras, busco sus canciones y las canto (sólo muevo la boca, que la voz no es precisamente uno de mis dotes) al tiempor que las reproduzco con Clementine (http://www NULL.clementine-player NULL.org/) (a este le debo un post).

Algo interesante de este piquete metalero es toda su alineación, pues no son 3, 4 ó 5 como habitualmente se ve en estas bandas, sino que son nueve locos sonando, por supuesto que tienen que sonar bien. También que dentro de esos nueves se incluyen dos percusionistas, aparte de la batería, más la inclusión de efectos electrónicos y samplers. Casi para cubrir cualquier locura posible…

800px Slipknot Live in Toronto 2005 18 300x199 El nudo corredizo (http://commons NULL.wikimedia NULL.org/wiki/Category:Slipknot)
Corey, el vocalista principal, en uno de los conciertos en vivo (imagen de Wikimedia)

Las máscaras

Este detalle ha tenido sus controversias, que si lo que significan, que si quién copió a quién, que si quieren permanecer anonimos, etc… Yo también filosofié lo mío sobre el significado del atuendo. Al final me quedé con una que dijeron ellos mismos: “La intención es alejar la atención de nosotros [como personas] y esta llevarla a la música”. Y estoy de acuerdo con ella porque es al final, eso es lo que importa: qué más da lo que se pongan en la cara, ¡con tal de que la echen en estéreo!

¿Satanismo?

Personalmente no creo que realmente practiquen ninguna religión o algo parecido, por lo menos de eso no se habla. Es verdad que es un recurso bastante usado para atraer la atención de un público. Pero aparte de poner la estrella invertida en las carátulas de los CDs, no creo que vayan más lejos.

No obstante, algunos de sus integrantes son bastante raros. Uno murió recientemente (http://en NULL.wikipedia NULL.org/wiki/Paul_Gray_(American_musician)#Death_and_legacy) de estar chupando una mierda ahí. Otro (http://en NULL.wikipedia NULL.org/wiki/Craig_Jones) llegó a decir que si no fuera por estar en la banda, andaría por ahí matando gente (http://en NULL.wikipedia NULL.org/wiki/Craig_Jones#Personality)… Uno de los guitarristas (http://en NULL.wikipedia NULL.org/wiki/Mick_Thomson), el de la máscara un poco más “diabólica”, es escritor de poesías, ama los gatos y tiene fascinación por los asesinos en serie (porque no se ha topado con ninguno, supongo).

¡Y son buenos! Tienen nominaciones a los Grammy (http://en NULL.wikipedia NULL.org/wiki/Grammy_Award) casi todos los años a partir del 2001 en la categoría “Best Metal Performance”  (en el 2005 obtuvieron dos nominaciones, una de ellas era además en la categoría Best Hard Rock Performance, con “Duality (http://en NULL.wikipedia NULL.org/wiki/Duality_%28song%29)“). Y ganaron con “Before I Forget (http://en NULL.wikipedia NULL.org/wiki/Before_I_Forget_%28song%29)” en el 2006, un premio súper merecidísimo (¡sufre Limp Bizkit (http://en NULL.wikipedia NULL.org/wiki/Limp_Bizkit)!).

Mi contribución

Podrá parecer una bobería, pero hoy apareció mi nick dentro de los muchas contribuciones hechas a Django (http://www NULL.djangoproject NULL.com/). Hice una sugerencia de cierta funcionalidad (http://code NULL.djangoproject NULL.com/ticket/13552), fue aceptada e implementada (http://code NULL.djangoproject NULL.com/changeset/13538); ¡y mi nick apareció!

Esto fue lo que apareció en el RSS de los cambios:

Changeset [13538]: Fixed #13552 — Added a ‘using’ parameter to database signals. Thanks to  …

Fixed #13552 — Added a ‘using’ parameter to database signals. Thanks to gmandx for the suggestion, and Andrew Godwin for the patch.

Haber aportado a un proyecto importante como este, aunque sea medio granito de arena es gratificante, de cierta manera uno se siente parte de ese proyecto.

Una vez me criticaron el hecho de reportar bugs y sugerir funcionalidades a proyectos de código abierto (sobre todo, Docky (http://launchpad NULL.net/docky-core) y Clementine (http://www NULL.clementine-player NULL.org/)). Pero yo lo veo lógico. Son aplicaciones importantes para uno, ¿porqué no contribuir, aunque sólo sea con sugerencias? Y lo más importante, los desarrolladores no van a adivinar lo que uno quiere o necesita. Por eso existen los bug trackers (http://en NULL.wikipedia NULL.org/wiki/Bug_tracking_system). Eso es parte importante de todo el movimiento de Software Libre.

Stray Cat

Hace unas semanas rescaté un par de gatos abandonados. Aún siendo muy pequeños, chillaban con tanta energía, que me fue imposible ignoralos. Para colmo de males, los habían metido dentro del latón de la basura, con la “idea” de que la basura posterior le diera fin al asunto, o en cualquier caso, la prensa del camión recolector. Por lo tanto, para poder llegar a ellos, tuve que “bucear” un poco.

Eran tan, tan pequeños, que todavía no habían abierto los ojos. Estos pequeños bichos los abren a alrededor de los 11 días, por lo que se podía pensar que no tenían ni una semana de nacidos. Coño, ¿qué difícil es esperar a que la gata madre los “destete”? Porque ella misma es la que los comienza a alejar; pues al crecerles los dientes a los mininos, a ella le molesta más dar la teta, y llega el momento en que no hay quien le saque otra gota más. Pero los dientes grandes es señal de que pueden comer otra cosa además de la leche de la madre, por lo que cuando esta comienza a alejarlos, es cuando es seguro darles camino y que sobrevivan.

Y hay que darles camino, pero no es lo mismo a los días de nacido que con unos meses. He vivido con gatos desde finales de la primaria y he presenciado y ayudado en varios partos de estos bichos. Una vez que crecen fuertes, son capaces de sobrevivir en muchos ambientes urbanos, cerca de comedores y otros lugares donde se deseche comida. Y además, cazan, que muchas veces me he encontrado gorriones dentro de la casa, luego de seguir el rastro de plumas.

Pero bueno, entonces tocaba atender al par de gatitos. Por suerte, cuento con la ayuda de mi mamá (y ella es la que ha rescatado más gatos que yo, y puede que le gusten más que a mí) que es la que los atendió cuando yo no podía. Ella les preparó una “cuna”, con varios trapos para costura que tenía mi hermana mayor guardados en un nylon, acomodándolos en una caja de cartón. A esa edad (la de los gatos, no la de mi mamá, que es vieja, dicho sea de paso) no tienen dientes por lo que los alimentaba con leche en polvo un poco aguada, dándosela con una cucharita, pues no tenía ni gotero, ni biberón ni nada por el estilo. Tenía que agarrar al pobre bicho con una mano y con la cucharilla en la otra, tratar de apuntar a la boca del bicho, pero no meterle la cuchara por la boquita, sino presentársela en los labios e irla inclinando para que la leche bajara sola y el gato se diera cuenta de que le tocaba a él abrir la jaiba y tragar. Empujarles la cuchara los asusta, y es lógico, imagínate una cuchara del tamaño de tu cabeza, queriendo entrar por tu boca… horror movie…

Pasábamos trabajo alimentándolos, dado los métodos no naturales que usábamos, y se formaba buena cagazao pues una buena parte del preciado líquido (la leche) alcanzaba el piso. Pero es gratificante de cierta manera el oír el chupeteo del minino tragando y tragando, hasta que se llenen. Es verdad que no hay sustituto para la leche materna, pero uno no está preparado siempre para atender primeros auxilios de gatos extraviados.

Abrieron los ojos unos días después, y lo que podían ver (si lo podían ver) eran los confines de la caja, y de vez en cuando, las manos y la cara de mi madre y las mía propia. Hacer que se durmieran era todo un desafío, pues, al terminar de darles la leche, por el embarrotillo que se formaba, terminaban bastante húmedos. A veces teníamos que darles una pequeña lavada con agua para que no se les secara esa leche arriba. Y el problema con la humedad es que sienten mucho frío, pues su temperatura corporal es más alta que la nuestra, (~38°C) y por lo tanto, el ambiente les parece más frío, y la humedad acentúa la sensación. Por eso, para dormirlos, los ponía en su “cuna” y los cubría completamente con mis manos para que sintieran el calor de ellas. Ahí estaba un rato, acurrucándolos y no dejándolos salir fuera del “invernadero”. Sólo faltaba la canción de cuna y que la Calabacita les diera su toque mágico. Al rato se dormían, enredándose entre ellos, dándose calor mutuamente. Y luego avisar a todos en la casa de que los gatos se habían dormido y que no se podía hacer ruido.

Es muy divertido verlos cuando empiezan a caminar. Por esos días tienen las patitas muy débiles, pero les sobra voluntad (o ganas, agallas, cojones, como le quieras llamar) de querer caminar y saltarse los muros de la caja. Pero poco a poco esa voluntad hace que se les fortalezcan las patas. Luego es más difícil retenerlos en el lugar y la caja no era suficiente. De tanto colgarse de un lado de la caja, una de las esquinas se abrió, y podían salir libremente. Es cuando empiezan a “explorar”. Se quedan inmóviles a menos de un metro de la caja de donde salieron con tanto afán. Inmóviles en el sentido figurado, pues todavía el cuerpo les bambolea por sus débiles patitas. Y lo miran a uno por alla arriba, como preguntándose “¿Y esta cosa grande de dónde salió?”.

Como todavía son muy pequeños, el piso les parece extremadamente frío. Y aprendieron a identificar los pies, para posarse sobre ellos y calentarse las patitas. Es normal

Luego llega la etapa del retozo, o el comienzo de este. Cuando les da por morder al hermano, sólo porque estaba ahí. A cada rato se dan una serie de mordiscos mutuos, pero en cámara lenta. La cual se va acelerando mientras crecen. A medida que crecen, cada vez es más divertido verlos retozar y hacer las acrobacias más cómicas, perfectas para ser filmadas.

Desafortunadamente, uno de ellos no alcanzó a vivir esa etapa. El pobre bicho amaneció muerto días después. Nunca supimos la causa exacta, pero las probabilidades de que un gato prácticamente recién racién nacido sobreviva sin la madre,  no son muchas.

El otro enfermó de la piel, pero era solamente porque no tenía quién lo lamiera. Como los perros, los gatos pierden y regeneran pelo, y ese ciclo constante de pérdida y crecimiento evita que la suciedad llegue a la piel de estos animales. Pero los gatos tienen que desprenderse del pelo por sí solos, y por eso es que se lamen constantemente. Un gato pequeño depende de su madre para esto, y no era el caso de mi pobre bicho. Se le empezó a caer el pelo desde la parte de abajo de la mandíbula, el cuello, hasta todo el vientre. Entonces teníamos que limpiarlo bien una vez al día con agua y una gasa, para que perdiera poco a poco el pelo muerto y quedara limpio. Poco a poco se recuperó y volvió a tener pelo en todo el cuerpecito.

02082010218 300x225 Stray Cat
El bicho, arriba de mí.

03082010243 300x225 Stray Cat
La Dolce Vita

03082010234 300x225 Stray Cat
Mi gata (la original) mirando celosa al nuevo.

02082010227 300x225 Stray Cat
Who the fuck are you looking at!?

¡¡¡¡Que me hackea un chino!!!!

He heredado varias paranoias de Luilver (http://www NULL.luilver NULL.com/), entre ellas, tener siempre abiertas varias terminales (las ventanas negras de letricas blancas, con chorradas de texto moviéndose de abajo a arriba) las cuales pongo a monitorear arrebatos varios como los registros de navegación del proxy (los logs del Squid) y cuáles conexiones están abiertas en mi PC. Este último se ejecuta con:

$ sudo watch netstat -alntop

El sudo es necesario para que muestre también los puertos abiertos. O las conexiones de todos los usuarios. Bueno, no sé; lo que sí sé es que esa línea te muestra todo lo que tiene que ver con conexiones. Hace un rato me dio por mirarla, y me sorprendió esta línea:

tcp        0      0 200.0.26.82:22          202.102.108.42:49639    ESTABLISHED 5362/sshd: root [pr keepalive (7120.28/0/0)

Según mis escasos entendimientos, había una conexión establecida a mi servidor SSH local. Un servidor SSH es aquel que permite iniciar sesión en la PC donde está corriendo este, (con usuarios y contraseñas, claro). Y la conexión establecida era con el usuario "root", como se ve en la línea. Para los que no saben de Linux o la importancia de este usuario, este es el que puede ser absolutamente todo en estos sistemas. Y para los que saben, imagino que se cagaron al leer la línea...

Rápido, rapidito tumbé el servicio SSH:

$ sudo invoke-rc.d ssh stop

Mentira, no tumbó nico. Todavía estaba la puta línea ahí (la palabrota es para transmitir la emoción). Y me acordé de que algunos servicios en el nuevo Ubuntu 10.04 LTS (http://www NULL.ubuntu NULL.com) están usando Upstart (http://upstart NULL.ubuntu NULL.com/) para iniciarse, en vez del tradicional sistema de inicialización System-V. Por lo que hitié algunas teclas más:

$ sudo initctl stop ssh

Y se fue...

¡Ah, verdá! ¡El chino! Es que luego se me ocurrió utilizar la herramienta whois para ver detalles de la máquina invasora. Ejecutando:

$ whois 202.102.108.42

Me salió esto:

% [whois.apnic.net node-1]
% Whois data copyright terms    http://www.apnic.net/db/dbcopyright.html

inetnum:      202.102.0.0 - 202.102.127.255
netname:      CHINANET-JS
descr:        CHINANET jiangsu province network
descr:        China Telecom
descr:        A12,Xin-Jie-Kou-Wai Street
descr:        Beijing 100088
country:      CN
admin-c:      CH93-AP
tech-c:       CJ186-AP
mnt-by:       APNIC-HM
mnt-lower:    MAINT-CHINANET-JS
mnt-routes:   maint-chinanet-js
changed:      hostmaster@ns.chinanet.cn.net 20020209
changed:      hostmaster@ns.chinanet.cn.net 20030306
changed:      hm-changed@apnic.net 20040906
status:       ALLOCATED PORTABLE
changed:      hm-changed@apnic.net 20041210
source:       APNIC

role:         CHINANET JIANGSU
address:      260 Zhongyang Road,Nanjing 210037
country:      CN
phone:        +86-25-86588231.+86-25-86588745
fax-no:       +86-25-86588104
e-mail:       ip@jsinfo.net
trouble:      send anti-spam reports to spam@jsinfo.net
trouble:      send abuse reports to abuse@jsinfo.net
trouble:      times in GMT+8
admin-c:      CH360-AP
tech-c:       CS306-AP
tech-c:       CN142-AP
nic-hdl:      CJ186-AP
remarks:      www.jsinfo.net
notify:       ip@jsinfo.net
mnt-by:       MAINT-CHINANET-JS
changed:      dns@jsinfo.net 20090831
changed:      ip@jsinfo.net 20090831
changed:      hm-changed@apnic.net 20090901
source:       APNIC

person:       Chinanet Hostmaster
nic-hdl:      CH93-AP
e-mail:       anti-spam@ns.chinanet.cn.net
address:      No.31 ,jingrong street,beijing
address:      100032
phone:        +86-10-58501724
fax-no:       +86-10-58501724
country:      CN
changed:      dingsy@cndata.com 20070416
mnt-by:       MAINT-CHINANET
source:       APNIC

Donde se ven muchas referencias a China… ¿No se supone que nos llevamos bien con ellos?