Nueve años

Hace dos semanas mi blog cumplió nueve años, lo cual me aterra un poco.

No escribí al respecto porque (de nuevo) se me acumuló la chamba, pero espero que ahora sí vuelva a escribir regularmente… especialmente porque tengo todavía como siete películas que fui a ver desde la última que comenté, y si no escribo al respecto yo creo que se me van a olvidar.

He sido increíblemente irresponsable con mi blog el último año y medio. Espero comenzar a corregir eso.

La ola

La semana pasada fue el congreso por los 60 años de Jorge. Preparar el viaje a Oaxaca (donde se realizó), la presentación, y el dejar todo preparado en mis cursos para que pudiera irme una semana, y mi chamba habitual, consumió todo mi tiempo durante varias semanas.

Todavía tengo una ola de trabajo que terminar, pero ayer terminé mis cursos en la facultad, y gracias a eso apenas estoy regresando a la normalidad.

En particular, las tristes dos películas que tuve oportunidad de ver en este tiempo aún no las he comentado aquí; corregiré eso en los próximos días.

Harry

Esta semana estuve haciendo trámites en Ciudad Universitaria, además de apurarme a terminar un artículo porque por güey creí que la fecha límite era diez días después de lo que realmente era. Esto implicó llegar a la Facultad de Ciencias antes de la hora de la comida, y en general no tuve tiempo de salir a comer, así que estos días fui por una torta de pierna (con) quesillo con Harry.

El puesto de comida de Harry está atrás de la cafetería de Ciencias. Cuando yo era estudiante, estaba el puesto y básicamente ya. Después pusieron al lado una tiendita, un puesto de tacos, y eventualmente llegamos al estado actual, donde el de Harry es uno de varios puestos detrás de la cafetería de la Facultad.

Nunca comí regularmente en la cafetería de la Facultad; excepto durante la huelga. Y después de la huelga, creo que no he vuelto a poner un pie dentro de la cafetería exceptuando contadas ocasiones.

Yo comía en el puesto de Harry, generalmente una torta de pierna (con) quesillo. Esta semana que fui a repetir esta constumbre mía, me enteré que Harry había fallecido.

Luto

Luto

No tengo idea de cuántas veces fui a comer con Harry con mis compañeros de la carrera; es posible que el número ronde las centenas, si no es que más. Y todavía más veces fui a comer yo sólo, o con cuates de la Facultad. Como siempre pedía lo mismo (una torta de pierna (con) quesillo), a mí a veces hasta me parecía que Harry la mandaba pedir nada más me veía acercarme.

Harry no hacía las tortas; era el dueño del lugar, pedía las órdenes y se encargaba del dinero. Ahora está en su lugar su hijo (creo que es su hijo), y las tortas de pierna (con) quesillo siguen sabiendo básicamente igual que hace 17 años. Que tampoco creo sea muy difícil de conseguir, por cierto.

No voy a decir que me sentí devastado por la muerte de Harry; dudo que él supiera cómo me llamaba. Pero sí fue parte de lo que ha sido mi vida en la Facultad de Ciencias, que a su vez es básicamente la mitad de toda mi vida, y sí siento una sutil tristeza de saber que ya no será él quien pida la orden cada vez que vaya por una torta de pierna (con) quesillo.

Descansa en paz Harry, sabiendo que a la hora de la comida, tu puesto sigue igual de lleno que hace años, incluso con la nueva competencia que le ha surgido alrededor.

Treinta y seis

El pasado cuatro de mayo cumplí treinta y seis años. No había escrito al respecto primero porque se me acumuló una cantidad bestial de trabajo, y después porque tuve a bien matar a Xochitl como no la había matado en años. Creo que valió la pena; desde hacía años Xochitl era reiniciada automáticamente a las 00:05 todos los días, y me parece que con el último ajuste que le hice podremos evitarnos tener que andarla resucitando en automático diario.

Como sea; celebré mi cumpleaños con Mina y mis amigos, y me la pasé muy padre. El año pasado de mi vida tuvo una cantidad de altas y bajas enorme (además de que las bajas fueron muy bajas, y las altas fueron muy altas), pero siendo como soy veo más a las altas que a las bajas, y además ahorita siento que ya estoy en el camino correcto para terminar lo que dejé, por fuerzas de causa mayor, en pausa desde octubre del año pasado: ya doctorarme.

Y bueno, ya estoy oficialmente cuarenteando. Pero como siempre he sido de la idea de que la mejor década de los hombres son los cincuentas, no me preocupa en lo más mínimo.

Que venga el año que viene.

La vida después de Google Reader

He venido usando Google Reader desde hace demasiado tiempo; creo incluso desde el mismo año en que estuvo disponible para el público en general. Como todos sus usuarios, entré ligeramente en pánico cuando escuché que Google iba a descontinuarlo en julio, y empecé a buscar alternativas.

La caballada está flaca, por decir lo menos. Ninguna de las alternativas me pareció que le llegaba en lo más mínimo a Google Reader, y como tengo decenas de feeds, estar importándolas en cada una de ellas se volvió bastante cansado. Por fin, y ya harto, decidí darle a Tiny Tiny RSS una oportunidad; en el peor de los casos, si algo no me gustaba sencillamente lo modificaba yo.

Resultó mucho mejor de lo que esperaba; la única modificación que le hice fue aumentar el tamaño de los tipos porque en mi monitor de escritorio de 1920×1080 se veían muy chiquitas las letras.

Tiny Tiny RSS

Tiny Tiny RSS

Tiene un plugin para usar los mismos atajos con teclas del Google Reader, y ya lo estoy usando diario. De hecho, borré todas mis suscripciones en el Google Reader. Pero además, tengo el código al alcance de mis dedos; si algo no me gusta o no funciona, sencillamente lo modificaré. Pero hago una vez más énfasis en que eso no ha sido necesario.

Es una pena que Google decidiera darle matarile a Reader. Pero fue muy sencillo sacar mis feeds, y la verdad estoy contento con Tiny Tiny RSS.

Así que la vida sigue después del Google Reader.

Photo Locator

Cuando regresé de Guadalajara de ver a mi novia, traje conmigo cerca de 200 fotografías, y a casi todas ellas les pude sincronizar la información de localización GPS que saqué usando GPS Logger; platiqué de eso hace unas semanas. Cuando mi novia vino a verme durante semana santa, su despampanante belleza causó que me distrajera lo suficiente como para olvidárseme prender GPS Logger todos los días.

A ver, no se distraigan ustedes...

A ver, no se distraigan ustedes…

Esto, aunado con el hecho de que todas mis fotos antes de mi viaje a Guadalajara no tienen etiquetas GPS, y que tomé muy pocas fotos cuando Mina vino en las vacaciones, ha resultado en que el mapa de mis fotos en mi galería en línea se vea sí:

Mapa de la galería

Mapa de la galería

Según ese mapa, he tomado más fotos en Guadalajara que en la Ciudad de México. Casi diez veces más fotos. Y cero en cualquier otro país.

No me malentiendan; no tengo nada contra Guadalajara. Está bonito por allá. Pero el hecho de que la información de geolocalización de mi galería en línea refleje (erróneamente) que he tomado más fotos allá que aquí me tiene… incómodo, por decir lo menos. Y además, no refleja nada de los fabulosos viajes que he realizado por Europa y el resto de Norteamérica.

No hay manera de que automáticamente haga que las fotos sin información GPS adquieran dicha información. Bueno; técnicamente podría hacer un script que les pusiera coordenadas aleatorias a todas mis fotos, pero eso no serviría de mucho para lo que quiero: que el mapa de allá arriba refleje mis andanzas por todo el mundo. La única forma de conseguir eso es ir foto por foto tratando de recordar dónde estaba cuando la tomé.

El problema no es acordarme; tengo una extraordinaria memoria cuando se me pega la gana, y suelo recordar con bastante precisión dónde estaba cuando tomé una foto. El problema es la interfaz para asignarles coordenadas a las fotos; el plugin de Gallery 3 que genera el mapa de allá arriba también me permite ponerle coordenadas a cada foto, pero eso es usando dos cajitas de texto.

Editor de coordenadas

Editor de coordenadas

Esto significa que me tengo que ir a Google Maps (o algún otro programa que me permita ver las coordenadas, en latitud y longitud, de un lugar), agarrar esos numeritos, y pegarlos cada uno en su lugar en las cajitas de texto. Lo intenté hacer, y como a la tercera foto ya quería aventarme a las vías del metro para terminar con mi sufrimiento. Así que hice lo que cualquier programador que se respete haría; escribí un programa para ponerles coordenadas a mis fotos viejas.

Photo Locator

Photo Locator

Realmente fue trivial; tomé la mitad del código de otro de mis programas (Quick Photo Editor), le metí un actor con un ChamplainView (de la biblioteca libchamplain)… y básicamente ya. El actor hace todo, incluyendo bajar los mapas de OpenStreetMap, y me da las coordenadas de donde yo quiera en el planeta; es de verdad una biblioteca espectacularmente fácil de usar. De hecho es más rápido para mí ponerles coordenadas a mis fotografías que escribirles el título.

El programa es para mis fotos viejas; espero seguir usando GPS Logger para las futuras (siempre y cuando la despampanante belleza de mi novia no me siga distrayendo). Pero tengo más de 9,000 fotos, así que tardaré en ponerles coordenadas a todas; más en lugares como Europa, donde tendré que meterme al Street View de Google Maps para medio ubicarme dónde estaba cuando tomé la foto. Aunque ya decidí no angustiarme tanto; si no recuerdo rápidamente el lugar exacto donde tomé una foto, me voy a conformar con atinarle a la ciudad en el peor de los casos. Y como es complicado modificar la base de datos de coordenadas con fotos que ya subí, probablemente tendré que subirlas todas de nuevo cuando acabe.

Pero al menos mi galería en línea ya no dirá en su mapa que he tomado más fotos en Guadalajara que en la Ciudad de México.

Guadalajara, Guadalajara

Resulta que el 4 de marzo es día de descanso obligatorio en mi trabajo. Lo cual es bueno, porque de todas formas no pensaba ir ya que voy a pasarme tres días en Guadalajara, porque por qué no.

Estoy en el aeropuerto de la Majestuosa esperando a abordar mi avión, que sale (si todo sale como está previsto) en unos cuarenta minutos. Si no se cae durante el vuelo, voy a pasarme sábado, domingo y lunes en la capital jalisciense, regresando en la noche de ese día.

La última vez que fui a Guadalajara, fue en una ocasión en la que realicé una de las más grandes estupideces que he cometido en mi vida. Probablemente esté en el top five de las más grandes estupideces que he cometido en mi vida, de hecho. Así que espero con ansias que en esta ocasión regrese de mucho mejor humor que hace más de diez años, que fue cuando cometí una de las más grandes estupideces que he cometido en mi vida.

Fotos al volver.

Supongo que es mejor que “Canoa”

A lo largo de mi vida los apodos han tendido a fallar en quedárseme. Mi nombre, además de ser lo suficientemente extravagante (y buena inspiración para tatuajes), suele ser razonablemente pronunciable en casi cualquier lenguaje (los gringos suelen decirme Cánek, pero no me molesta), así que en general la gente termina llamándome por mi nombre, aunque no ha faltado quien ha tratado de ponerme apodos.

El más común suele ser Chanoc, pero han intentado también decirme (y algunos incluso persisten, aunque nunca han logrado que se generalice): Chaneque, Nek, Neko, Cank, Jacinto Canek (¿cuenta eso como apodo?), y variaciones de todos ellos.

Hoy sin embargo escuché uno nuevo: Cayak.

Supongo que es mejor que Canoa.

Mis fotos

Gracias a mi aplicación para subir fotografías, y a mi aplicación para editar etiquetas, terminé ya de organizar, etiquetar, respaldar y subir todas mis fotos, incluyendo las que tomé el fin de semana pasado cuando Juan se casó.

Galería

Galería

En el procesó afiné y mejoré varias cosas de mis aplicaciones, y me parece que ya son suficientemente robustas. La metodología que tengo para manejar mis fotos está ya bastante estandarizada, y se integra de manera perfecta con GNOME 3, así que espero no volver a quedarme tan atrasado en el mantenimiento de mi galería. Además, como ahora tengo disco duro de sobra, decidí liberar a mi laptop de un montón de cosas (videos e imágenes de CDs y DVDs, principalmente) que no tenían razón de estar ahí, con lo que puedo ya tener una copia de mi colección de fotos en mi computadora portátil.

No lo he platicado en el blog, pero estoy estrenando laptop (desde hace varios meses), y tiene un disco duro de estado sólido; esto es espectacular porque todo corre estúpidamente rápido… la desventaja es que es diminuto para el tamaño de discos duros al que estoy acostumbrado (tiene 128 GB). Es la primera laptop donde borré completamente el Windows que venía instalado; necesitaba el espacio. Actualmente mi colección de fotos ronda en los 21 Gigabytes; dado que son del orden de 9,000 fotografías, espero no llegar a los 60 Gigabytes pronto: me quedan menos de 40 Gigabytes libres en la laptop. Cuando llegue a ese tamaño, espero ya haber cambiado de computadora portátil.

Tener las fotos en la laptop (y no sólo aventadas en un directorio, sino además ya bien integradas en Shotwell) me permitirá actualizar mi galería incluso si salgo de México en un viaje largo; podré organizar las fotos en mi laptop, e incluso subirlas a la galería en línea desde donde quiera que esté. Gran parte del problema durante mis viajes largos de los últimos años fue que la base de datos de mis fotos en F-Spot estaba en México en mi máquina de escritorio, y no sabía cómo sincronizar dos instalaciones distintas del programa en máquinas diferentes. Con Shotwell ya sé cómo hacerlo: es sólo es cosa de mantener mi directorio $HOME/Pictures sincronizado entre las dos máquinas, y copiar la última versión del archivo $HOME/.local/share/shotwell/data/photo.db sobre la versión viejita en la máquina que se esté sincronizando.

Además de la copia en mi máquina de escritorio y en mi laptop, tengo una copia de mis fotos en mi media center (que tendré que escribir un programa que me permita exportar la base de datos de Shotwell y meterla en la base de datos de XBMC, porque si no sólo se puede ver fotos por directorio), otra en mi servidorcito Atom, y una más en una máquina debajo de siete capas de adamantium y kriptonita que la tengo corriendo en la Zona Fantasma. Y una copia más (pero con las fotos escaladas a 1024×768) en Xochitl en mi galería en línea, que los invito una vez más a que la exploren.

Ocho años

Otra vez se me pasó el aniversario de mi blog, el 26 de enero. Al menos esta vez fue por menos de dos semanas.

El año pasado estuvo marcado para mí por dos cosas, cada una de las cuales se llevó más o menos seis meses: escribir mi tesis de doctorado, y quedarme sin novia, sin casa, sin dinero y sin trabajo. Lo segundo impidió (junto con otras cosas) que lo primero culminara en lo natural, que sería el doctorarme.

Este año tengo que doctorarme, y de hecho tengo que hacerlo en los próximos meses. Ayer por fin me pagaron en la UNAM (después de más de seis meses; así suele ser ahí), y entonces ya estoy mucho más estable de lo que estuve los últimos seis meses. La chamba también se calmará un poco en las próximas dos semanas (después de ponerse intensa durante casi todo el mes pasado), y básicamente eso significa que ya puedo dedicarle tiempo a por fin sacar el grado de doctor. Vamos a ver cuánto tarda eso.

¿De lo demás? No lo sé con certeza, pero comienzo a entender el viejo adagio de que cuando se cierra una puerta, se abre una ventana.

Y la vista es hermosa.

Como siempre, gracias a todos los lectores que me han seguido durante todos estos años. Prometo tratar de escribir más seguido; el último año fue un desastre en ese sentido.

La vida a través de una cámara digital

En 2004, la Universidad de Waterloo me aceptó para que fuera a hacer mi maestría. Entre otras cosas por eso empecé este blog, porque quería escribir acerca de mis estudios en el extranjero. Por las mismas razones, estuve considerando desde febrero de 2005 el comprar una cámara digital, y en marzo Sergio, el hermano de Enrique, me hizo el favor de comprarme una Sony Cybershot DSC-P200 en el gabacho, que en abril por fin tuve en mis manos.

Por supuesto ya saben qué pasó: Conacyt decidió que la computación no era un “área estratégica” para México y no me becaron, así que me quedé aquí y pasaron los siguientes ocho años de mi vida. De eso no es esta entrada.

La entrada es de que una vez tuve mi cámara, de inmediato decidí que necesitaba un sitio en línea para poner mis fotos a la vista de todo mundo. Agarré e instalé Gallery, que era (y es, me parece) el programa más utilizado para mantener una galería en línea, y de inmediato me desagradó. Era lento, usaba mucho (y mal) JavaScript (o a lo mejor era sólo que entonces los navegadores traían pésimos motores de JS), y además no me gustó cómo se veía. Era la versión 1 del programa.

Instalé entonces Coppermine, que fue básicamente el primer programa alternativo a Gallery que encontré, y lo usé unos cuantos meses. En mi casa usaba F-Spot, que está escrito en C#, y que en ese momento me parecía un extraordinario programa. Claro, tenía entonces del orden de doce fotografías, entonces F-Spot hasta rápido parecía.

Mi colección de fotografías digitales estuvo durante varios años manejada, y de alguna manera controlada, por F-Spot. El programa no es para nada malo, sólo sufre el mismo problema que todos los programas escritos en C#: la memoria que consumen es ridículamente alta, y se vuelven lentísimos con no mucha información. Como sea, eso no lo descubriría sino hasta años después.

En 2005 todavía no lo descubría, porque les digo que tenía como quince fotos, pero mi uso de F-Spot causó que tuviera que dejar de usar Coppermine. F-Spot nunca fue pensado para usar álbumes; previendo que eso sería el futuro, F-Spot favorecía mejor las etiquetas, y entonces una foto puede pertenecer a más de una etiqueta. Uno puede emular la funcionalidad de álbumes con etiquetas, pero no al revés. Lo grave con Coppermine no fue que no tuviera etiquetas; era que no podía ni siquiera mover fotos entre álbumes. Además no podía subirlas fácilmente desde F-Spot (y en ese entonces la red era mucho más lenta), y todo se combinó para que decidiera dejar Coppermine.

Entonces volví a revisar Gallery, y seguía básicamente igual de malo que antes; pero por suerte ya estaba disponible el primer beta de Gallery2, así que decidí probarlo. Me gustó mucho más, pero lo que me convenció de usarlo fue que F-Spot tenía un plugin para mandar un conjunto de fotos a un álbum de Gallery2. Eso hizo mi vida mucho más sencilla.

Yo soy muy neurótico con mis colecciones, de lo que sea. De música, de películas, de videojuegos, o de fotos, me interesa que todo esté meticulosamente etiquetado y catalogado. En F-Spot podía ponerles a las fotos un comentario (donde generalmente pongo el nombre de los que aparecen en la foto, o el lugar donde estoy en el peor de los casos), y el plugin que subía las fotos a Gallery2 se encargaba de hacer que dicho comentario apareciera también en Gallery2. Era la gloria.

Así estuve durante años, muy feliz, aunque con varias incongruencias en mi galería en línea. Como F-Spot tenía varias etiquetas “principales” (Favoritos, Escondidas, Eventos, Lugares y Gente), yo traté de emular eso en Gallery2… lo cual es una enorme pendejada, porque terminé aventando casi todo al álbum de eventos. Además, por alguna razón que no comprendo, creé un álbum llamado “Pruebas” que aparecía ahí en la página principal de la galería, y que lo hizo durante varios años.

Como sea, quitando esas cosas todo medio funcionaba, y lo que más me importaba era que la información que metía con F-Spot a mis fotos, se conservaba cuando las subía a Gallery2. Hasta que un día los desarrolladores de F-Spot decidieron cambiar las cosas: lo que yo metía en F-Spot como comentarios a las fotos, se subía como el título a Gallery, pero entonces decidieron cambiarlo a que fuera el comentario. Y entonces no se veía esa información a nivel del álbum en Gallery2, se veía sólo en la página de la foto. Con eso podría haber vivido; lo que era horrible era que el título ahora era el nombre del archivo, algo del estilo dsc00768.jpg.

Pude parchar a F-Spot para que funcionara como lo hacía antes (de algo tiene que servir que sepa programar), pero ya para entonces, en 2008, se había comenzado a volver muy lento con todas mis fotos. Ya tenía del orden de 2,000 fotografías, y al programa le empezaba a pesar muchísimo. Además comenzó a estar súper inestable, y tenía que estar deshabilitando cosas para que no tronara.

A pesar de todo eso lo seguí usando, y aunque no de forma perfecta seguía funcionando lo más importante para mí, que podía pasar las fotos de F-Spot a Gallery2 preservando la información de las mismas.

Y entonces me fui a Europa durante tres meses, de enero a marzo de 2009, y se me ocurrió regresar con 2,500 fotografías más.

Cuando, después de meses, había metido todas las fotos de mi viaje a F-Spot, el programa ya era básicamente inusable para mí. Y además de todo, la subida de las mismas a Gallery2 no era raro que fallara de formas extrañas, lo cual dejaba una imagen de error en lugar de la foto (aunque sí generaba correctamente la miniatura, porque F-Spot era el que la generaba antes de subir la foto, lo que hacía todavía más difícil descubrir cuándo había fallado la transferencia).

Pero lo que hizo que me deshiciera de F-Spot fue que cuando regresé de California en 2009, donde visité a mi cuate Eddie en San Francisco, había estado guardando la información GPS de donde había estado, y decidí tratar de sincronizarla con las fotos (para que cada foto marcara dónde la había tomado). Y entonces me di cuenta de que las horas de las fotos estaba desfasadas por 6 horas, porque los idiotas de F-Spot estaban suponiendo que mi cámara estaba en horario GMT (UTC+0), y que como México (y mi escritorio) estaban configurados en America/Mexico_City (UTC-6), eso quería decir que tenía que moverle al tiempo de casi todas mis fotos.

No tienen idea de cómo me encabroné, porque nunca me preguntó o dijo nada al respecto, y yo pensaba que ya no podía rescatar el tiempo original. Así que cerré por última vez en mi vida F-Spot, y seguí trabajando en mi doctorado, viajando, y tomando fotos que aventaba al primer directorio que podía, sin ni siquiera pensar en que sería bueno algún día subirlas a mi galería.

Hasta que mi disco duro tronó, como comenté hace unos días.

Ya que recuperé mis fotos, y las respaldé en cuanta máquina pude respaldarlas, comencé a pensar en cómo restituir mi colección de fotos en mi máquina (sin usar F-Spot, claramente, que además al parecer dejaron ya de mantener: la última versión salió en 2010), y cómo después tener un sistema independiente de cualquier programa (o al menos de cualquier programa no escrito por mí) para sincronizarlo con mi galería en línea, que además migré a Gallery3 cuando me quedé sin novia, sin casa, sin dinero y sin trabajo.

Primero descubrí que las fechas modificadas por F-Spot eran las dadas por la etiqueta EXIF DateTimeOriginal, pero por suerte la fecha original estaba guardada en CreateDate, así que sólo escribí un script que comparara las dos fechas y reemplazara la primera con la segunda si acaso diferían; para eso utilicé exiftool. Luego decidí mover la información de F-Spot a las fotos directamente. Los comentarios que con tanto cuidado había metido a las mismas durante mis años de usar el programa estaban en una base de datos SQLite, así que escribí un programita en Python que sacaba esa información, y la guardaba en las etiquetas EXIF UserComment, Title, ImageDescription y Caption, porque me pareció que era mejor ser redundantemente redundante. Usé exiftool de nuevo para manipular las etiquetas de las fotos.

Ya que hice eso, decidí probar Shotwell, el nuevo programa para manejar fotos de GNOME 3. El programa está escrito en Vala, que todo el lenguaje me parece un maravilloso hack, y me gustó mucho cómo funciona. Sólo que entonces vi que en algunas fotos aparecían mis comentarios como títulos, y en otras sólo el nombre del archivo. Investigando (tuve que bajar hasta el código fuente de Shotwell), vi que lo que pasaba es que Shotwell usaba la etiqueta Iptc.Application2.Caption para el título, porque al parecer es lo más estándar. Esa etiqueta no es EXIF, es IPTC, así que tuve que usar el programa exiv2 para reacomodar los comentarios en mis fotos. Por suerte, todo esto ya era sólo escribir otro script que hiciera toda la chamba. También vi que Shotwell usa la etiqueta Xmp.dc.subject para etiquetas internas del programa, así que decidí que con eso haría mis álbumes.

Shotwell maneja álbumes a la antigüita, todos basados en fechas. Se pueden mezclar fotos entre álbumes, pero decidí mandar eso completamente al carajo: a partir de ahora, mis álbumes están definidos por un rango continuo de tiempo, y a la chingada con todo lo demás. Además de álbumes, Shotwell maneja etiquetas, pero son ortogonales los primeros a las segundas. De cualquier forma, decidí arbitrariamente que la única etiqueta que tendrían mis fotos sería el nombre del álbum al que pertenecen.

Como los álbumes de Shotwell están basados en tiempo, automaticamente divide todo en años, estos en meses, y ya dentro de los meses hay álbumes que pueden ser de un instante en el tiempo (si tienen una sola foto), o de varios días. Decidí que también así funcionaría mi galería en línea, y así es como reconstruí mi colección de fotos. Fue poco trabajo, en general, porque casi todo se pudo automatizar con scripts. Sólo tuve que reacomodar algunas fotos que no tenían un álbum bien definido, y de paso acomodé las fotos igual en la jerarquía del sistema de archivos: tengo un directorio 2009, dentro de él un directorio “02 Febrero”, y dentro de él un directorio para cada álbum, que como dije describen rangos continuos de tiempo.

Jerarquía de archivos

Jerarquía de archivos

La única bronca es cuando se me parte un evento que cae entre el último día de un mes y el primero del siguiente (los años nuevos suelen ser así), pero decidí que eso no era terriblemente grave. De esta forma, Shotwell no se mete para nada con mis fotos; jamás les escribe nada. Sólo lee información de ellas, y las despliega bonito, con lo que espero evitar las broncas que F-Spot me daba. Además, la organización de mis fotos en el disco duro es virtualmente idéntica a la organización de mis fotos en Shotwell.

Shotwell

Shotwell

Con mi colección reorganizada una vez más, decidí que necesitaba reestructurar mi galería en línea también. Inicialmente pensé en borrar las fotos que ahí estaban y meterlas todas de nuevo, pero resultó imposible: tuve que borrar todo y empezar de cero. Por suerte Gallery3 ofrece un API REST para manipular la galería en línea; está súper chido, muy fácil de programar, y me permite olvidarme de que nadie más me diga cómo deben subirse los datos a mi galería. Hice un programita en Python (versión 3; el uso de UTF-8 me impide que pueda usar Python 2) que le pasa uno una lista de archivos JPG, y les saca la información que me importa (básicamente la fecha, el título en Iptc.Application2.Caption y el álbum en Xmp.dc.subject), y procede como sigue:

  1. Saca el año de la foto, y comprueba que exista un álbum principal en la galería en línea llamado como el año. Si no existe, lo crea con la descripción “Año 2009″, por ejemplo.
  2. Saca el mes de la foto (01, …, 12), y comprueba que exista un álbum con ese nombre debajo del álbum del año correspondiente. Si no existe, lo crea con la descripción “Mes de Febrero”, por ejemplo.
  3. Saca el álbum de la foto, lo normaliza (quita acentos y símbolos, convierte espacios en guiones, etc), y comprueba que exista un álbum con ese nombre debajo del álbum del mes correspondiente. Si no existe, lo crea con la descripción idéntica al álbum, sin normalizar.
  4. Escala la foto a 1024×768, de ser necesario, preservando todas las etiquetas EXIF, IPTC y XMP.
  5. Sube la foto escalada al álbum correspondiente, usando como nombre el nombre del archivo, como título la etiqueta Iptc.Application2.Caption, y como descripción una vez más el álbum.

Todo esto es automático, y además el programa es suficientemente listo como para comprobar la existencia de cada álbum exactamente una vez; si ya comprobó que existe, guarda esa información para usarla en subsecuentes fotos. Además, si hay un error en la red lo detecta, y vuelve a subir la foto en ese caso. De los miles de fotos que subí, sólo me generó tres o cuatro duplicados, que además fue muy sencillo detectar. Mi programa incluso usa colorcitos para avisar qué está haciendo:

Mi programita en Python

Mi programita en Python

Las consecuencias de todo esto son varias: mi galería en línea tiene entonces una organización virtualmente idéntica a mis fotos en Shotwell (y por lo tanto en mi disco duro):

Mi galería en línea

Mi galería en línea

Pero además las fotos, durante todo este proceso, guardan la información siempre en ellas mismas; las tengo respaldadas (como ya he dicho) en varias máquinas en éste y otros sistemas solares, así que si algo terrible ocurriera con mi computadora y con mi galería en línea, no tengo nada de qué preocuparme: sólo copio mi respaldo, y puedo reconstruir mi colección en Shotwell casi de inmediato (sólo tengo que renombrar cada álbum, pero eso es muy rápido porque cada foto tiene una única etiqueta con el nombre de su álbum), y puedo reconstruir mi galería en línea de forma automática (aunque tendría que esperarme un rato a que acabaran de subirse las fotos).

Por supuesto, para que todo esto funcione las fotos en primer lugar deben tener la información dentro de ellas. Con la parte de mi colección que ya tenía organizada esto fue muy fácil, porque todo estaba en la base de datos SQLite de F-Spot. Con las fotos que no he organizado significa meterles el título (Iptc.Application2.Caption), y el álbum (Xmp.dc.subject). El álbum no me preocupa mucho, porque al cabo eso lo puedo hacer después de acomodarlas en directorios, y correr un script (que ya escribí), que lee el nombre del directorio (quitándole el prefijo numérico de ser necesario) y se lo pone a la foto.

El título es más desmadre, porque tengo que ponerlo foto por foto. Así que hice lo que cualquier programador que se llame así mismo uno haría: escribí un programa. Lo escribí en Vala (se me antojó después de ver el código de Shotwell), y de una vez le escribí el código necesario para que también pueda girar las fotos acostadas. Que de hecho no se giran, sólo se escribe una etiqueta EXIF que especifica que esa foto debe mostrarse girada.

Quick Photo

Quick Photo

El programa es bastante rápido; al dar Enter en el campo de texto, inmediatamente se guarda la información en la foto (que la imagen en sí no se modifica, sólo sus etiquetas), y se mueve a la siguiente. Lo único malo es que tengo que usar el ratón para girar la foto a la izquierda o derecha; tengo que programarle que lo pueda hacer desde el teclado, y entonces será casi perfecto para mis necesidades. Lo pienso liberar (junto con mi progamita en Python); a lo mejor a alguien le resulta útil.

Ahora sólo tengo que hacer lo que durante años estuve evitando: organizar las miles de fotos que no he organizado. Ya organicé (y subí) un par de meses de 2010; me falta el resto de ese año, el 2011 y el 2012. En 2012 no tomé casi fotos (estaba encerrado escribiendo la tesis, o quedándome sin novia, sin casa, sin dinero y sin trabajo), pero en 2011 tomé cientos de fotos en mi viaje por alrededor del mundo. Además, ya con esta infraestructura, supongo que debería también organizar las fotos de mi celular; varias lo valen, me parece, pero eso sí me va a tomar tiempo. Mientras tanto, tengo todo respaldado de forma redundantemente redundante, y cada vez que termino con un álbum nuevo (que generalmente se traduce a un día o dos de fotos), vuelvo a respaldar todos los cambios.

Mi punto con todo este impresionante choro, es que cuando creé mi galería en línea, el programa me pidió que le pusiera un nombre a la galería. Yo, falto como siempre de imaginación, le puse “Fotos de Canek”; así se sigue llamando hasta estos días. Pero después de ponerle el nombre, me pidió que lo describiera, y en ese momento (hace casi ocho años), sin pensarlo demasiado le puse “La vida a través de una cámara digital”.

Respaldando, reparando y reorganizando todas las fotos que he tomado desde abril de 2005, me di cuenta de que no pude haber elegido una mejor descripción para mi galería en línea: de verdad refleja mucho (aunque no todo, y muchas veces ni siquiera lo más importante) de lo que ha sido mi vida en estos años, que cubren básicamente mi maestría y doctorado hasta ahora. Los invito a que ustedes también le echen un ojo, si así lo desean, a mi renovada y mejorada galería en línea; pocas cosas me enorgullecen y alegran más que poder compartir las imágenes que capturan los varios momentos significativos que he tenido, y los viajes que he realizado.

Ahora que volví a revivir casi todos los momentos que fueron capturados con mi camarita Sony, no pude sino llegar a dos conclusiones: la primera, que soy increíblemente afortunado. Y la segunda: que me la he pasado poca madre en estos años. Incluso considerando los momentos amargos, las experiencias tristes, y las inevitables heridas del corazón, en retrospectiva para mí el balance es claro: lo bueno supera con creces, y por mucho, a lo malo. Me he divertido como enano en todo este tiempo.

Y lo bailado, nadie me lo quita.

Homeless

A finales de septiembre Isabel y yo nos separamos. Dado que mi beca del doctorado había terminado en julio, y que me había ido a vivir con ella en enero, esto significó que además de quedarme sin novia, me quedé sin casa, sin empleo y sin dinero.

Si le hubiera ocurrido a alguien más, probablemente me hubiera reído de esa persona inmisericordemente. Como me ocurrió a mí, no lo encontré tan gracioso, la verdad.

Después de más de dos meses tratando de reorganizar mi vida, me encuentro una vez más en mi departamento, con unas trece millones de cajas que no he desempacado (y que, además, como no las empaqué yo, cada vez que abro una es toda una sorpresa; hagan de cuenta que navidá adelantada), y con un trabajo (temporal) que comenzaré en enero. Los trámites para doctorarme tuvieron que ser pospuestos algo de tiempo, obviamente.

Espero que eso explique también porqué no he escrito casi nada en mi blog en todo este tiempo. Estar de homeless no le da a uno muchas oportunidades para estarse expresando en prosa.

Por supuesto, tengo un plan; yo siempre tengo un plan. Es por eso que cuando las cosas no me salen como yo quiero (que es, como era de esperarse, bastante común), no entro en pánico. La verdad, ni siquiera me preocupo mucho; soy demasiado irreverente como para preocuparme por eventualidades como que de repente no tengo casa, ni trabajo, ni dinero, ni novia. No digo que no me importe; digo que no me preocupo. Mejor me ocupo de resolverlo (lo que tenga solución); preocuparse nunca le ha servido a nadie de nada, me parece.

Como sea, hice lo que tenía que hacer (o lo único que podía hacer, desde mi punto de vista) en este tiempo, y me parece que ya todo está cayendo en su lugar. Ya tengo casa, ya tengo trabajo (que comenzaré en menos de un mes), y no tengo dinero, pero pues familia y amigos nunca faltan, y cuando vivo solo soy sorprendentemente frugal. Modo ahorro de energía, como suelo decir.

Tener novia sí va a llevarme más tiempo, me parece; y la verdad creo que no estoy de humor por el momento, y presiento que así estaré al menos durante el futuro inmediato. Lo cual tiene sus ventajas, porque como dije arriba no tengo dinero, y tener novia suele ser caro.

Y del futuro, pues ya veremos. Como dije, no estoy preocupado; y además (como siempre) tengo un plan. Que probablemente no vaya a salir como yo quiero, pero tampoco me preocupo de eso, porque en tal caso tengo otro plan. Y así sucesivamente; it’s turtles, all the way down!

Diaspora

Hace (literalmente) años oí por primera vez de Diaspora, un simulador de vuelo espacial basado en Battlestar Galactica, una de mis series de ciencia ficción favorita. La idea del juego sonaba bien, pero la verdad no le di mucho crédito; hay siempre decenas de proyectos para juegos, y la mayor parte no pasan de ser más que buenas intenciones, o en el mejor de los casos mods de otros juegos. Un buen ejemplo de esto es Parsec, un juego del que oí por primera vez (y esto es en serio) el siglo pasado, y que en 2001 básicamente se murió. En 2003 liberaron el código fuente, y en febrero de este año parecía que volvería a levantar, pero al final ya no supe nada. Probablemente nunca llegue a nada.

Por suerte no ocurrió lo mismo con Diaspora: hace unos días anunciaron que la primera parte del juego estaba lista; pueden ver el trailer en el tubo. Hoy (después de que llegáramos madreadísimos de La Paz) lo instalé, y me sorprendió el profesionalismo con el que está hecho, incluyendo una completa actuación de voz. Lo único malo es que no tengo mi joystick (la verdad, ni siquiera sé si aún funciona), y el ratón no es el mejor modo de jugar este tipo de cosas.

Diaspora

Diaspora

Échenle un ojo; hay binarios para Linux, Windows y Mac OS X, y aunque el juego trae sólo unas cuantas misiones, también incluye un editor para crearlas, así que es diversión garantizada para toda la familia.

La Paz

Cuando tenía 17 años, mi hermano, un amigo y yo tratamos de irnos a Real de Catorce a comer peyote. Eso no ocurrió, así que nos fuimos a La Paz, y de ahí a Constitución, donde una tía mía vive. Fue un viaje memorable por varias razones, y la primera vez que visité La Paz, aunque sólo unas horas de paso hacia Constitución, y un día de paso en el regreso a la Ciudad de México.

Hotel La Concha

Hotel La Concha

A los 24 años, mis cuates de la carrera y yo hicimos un “viaje de titulación” (aunque ninguno de nosotros se había titulado en ese momento) a La Paz. Estuvimos ahí diez días (más los casi cuatro necesarios para ir y volver: 18 horas de camión más 18 horas de ferry de Mazatlán a La Paz). También fue un viaje memorable, y uno de los viajes que con más cariño recuerdo.

Playa Balandra

Playa Balandra

A mis 35 años me encuentro de nuevo en La Paz, porque Edgar se nos casa aquí el sábado. Ayer Isabel y yo volamos a San José del Cabo, rentamos un carro, y de ahí manejé los 200 kilómetros a La Paz, en uno de los recorridos en carretera más divertidos que he tenido en mi vida (es altamente satisfactorio frenar con motor justo antes de entrar a una curva a 150 Km/h).

Gaviota

Gaviota

Después de asentarnos en nuestro hotel, fuimos a cenar riquísimo a un restaurante sobre el malecón, y después fuimos a un antro repleto de veinteañeras (atraídas por la barra libre para chavas), y de cuarentones libidinosos (atraídos por las veinteañeras).

El Hongo

El Hongo

Hoy fuimos a Playa Balandra, y después a comer a El Tecolote. En la noche habrá un coctel previo a la boda, y mañana es la ceremonia en sí. El domingo Isabel y yo manejamos de regreso a San José del Cabo, y volamos de regreso a la Ciudad de México.

Espíritu Santo

Espíritu Santo

Acaba de llover por aquí (cosa no muy común; no llovía hacía tres años), y todo está verde y exuberante de vida. Hace once años que vinimos era lo opuesto: estaba seco y no se veía nada moverse; pero ahora el cielo está lleno de aves, y por una razón extraña hay cientos de mariposas amarillas por todos lados. Estoy todo el tiempo esperando encontrarme con Mauricio Babilonia.

No creo escribir más entradas en el blog mientras esté aquí; pero estoy actualizando todo el tiempo mi perfil en Google Plus; es mucho más cómodo subir fotos al momento por ahí, y además durante el día la verdad yo no noto la diferencia entre mi cámara digital, y la incluida en mi teléfono.

Valiente

Por último, hace una semana, fuimos a ver Brave. Se aplican yada yada.

Brave

Brave

Tenía muchas ganas de ver esta película; porque se veía increíble, porque es de Pixar, y porque el elenco me parece maravilloso. Salí algo decepcionado del cine.

En primer lugar, no pudimos encontrar la película en inglés y en 2D; a mí no me gusta el 3D, pero Isabel senciallmente no puede ver las películas así, por lo que la vimos en español. Y luego sencillamente la película resultó ser demasiado para niños.

Sé que suena medio idiota quejarse de que una película para niños es demasiado para niños, pero una de las cosas en general maravillosas de las películas de Pixar, es el hecho de que generalmente son muy buenas para adultos también. Brave no es así, y sí es demasiado infantil en muchas partes.

Por último, y esto para mí sí es un deal breaker, la película no tiene absolutamente nada de romance. Es una historia de una princesa adolescente “rebelde”, y cómo llega a entenderse con su estricta e inflexible madre. Lo cual ha de ser fabuloso para adolescentes que se creen “princesas” y “rebeldes”, pero a mí me dio más bien hueva.

Estoy siendo algo duro con la película; la verdad es que sí está muy bien hecha (el pelo de Merida, y algunas escenas con partículas de agua en particular son impresionantes), sí es muy divertida la mayor parte del tiempo, y la historia está bonita. Sólo que yo creo que pude haberla visto en Blu-ray sin muchos problemas.

Si tienen niños chiquitos (o adolescentes que se creen “princesas” y “rebeldes”), no duden en verla. Si no, igual y vale la pena; sólo sí me parece que no está al nivel del estándar normal de Pixar.