martes, 29 de marzo de 2011

Editar por versiones en Emacs

Emacs es el editor (o cualquier categoría de software) mas viejo que sigue en uso, además de ser increíblemente difícil de aprender (por que fue inventado para unas "computadoras" de los 50's que usaban LISP como ensamblador) es increíblemente poderoso y adelantado a su tiempo, inclusive adelantado a nuestro tiempo! XD.  Basta con ver una de sus funciones básicas: el sistema de versiones.
Actualmente la mayoría de los IDE modernos incorporan algun plug-in para "conectarse" con sistemas de control de versiones, pero es algo nuevo en muchos de ellos y sigue siendo un 'pain in the dev/as5' usarlos. Pero en Emacs existe esa integración desde que se concibió dicha herramienta (el default se conecta a los sistemas mas populares: CVS, SVN, HG, Bzr, git...) y previsiblemente, hay un hack para automatizarlo a la hora de salvar, de modo que ni siquiera es necesario percibir que existen distintas versiones de lo que esta uno editando hasta que uno necesita regresar a lo que hizo tiempo atras.

Un ejemplo: tengo un texto en modo Org que me sirve para anotar ideas, pendientes, citas, etc etc.  Normalmente lo salvo en cada modificación unitaria. Al activar el sistema de versiones "simple", se guarda el documento con un numero de version para que pueda revisar su historia cuando así lo desée, marcar con etiquetas distintas versiones e inclusive si quisiera, editar el archivo entre muchas personas y saber qué modificó cada quién.
Para que se actualize la versión cada vez que se salva basta con programar a emacs para que lo haga (no es tan complicado como suena). Afortunadamente es programable en LISP, el padre de todos los lenguajes y el mas elegante, desde el archivo de inicio de emacs: site-start.el

(defun rcs-ci-co nil
  "check in check out the file if it is under vc with rcs
  with a prefix other than 1 only check-in"
  (when (eq (vc-backend (buffer-file-name)) 'RCS)
    (progn
       (vc-checkin (list (buffer-file-name)) 'RCS nil "saved" nil)
       (vc-checkout (buffer-file-name) t) )))
(add-hook 'after-save-hook 'rcs-ci-co)

tendiendo eso basta con salvar el archivo con las teclas 'Ctrl-x v v' la primera vez, y las siguentes salvar como siempre con 'Crl-x Ctrl-s'
Hay mas información en la página de EmacsWiki sobre RCS.
suerte con eso!

viernes, 25 de marzo de 2011

San Miguel de Allende'11


Fue la luna mas cercana en 20 años, y no lo supe sino hasta un momento antes de iniciar el viaje. No lo creía XD. Tampoco creía que mi coche diera la velocidad a la que fuimos, pero siempre seguros sin tomar riesgos. 
Durante el viaje traíamos muy alto el ánimo, rockeando y funkeando todo el tiempo y buscando la luna todas las noches, pero parece que eso no fue tan bueno para la creatividad pues las fotos no salieron tan buenas como creíamos. Yo inclusive olvidé mi cámara por las prisas (y por lo tonto) y al llegar por los demás y darme cuenta ya era demasiado tarde :(
XD
Las pocas fotos que tomé fueron con las camaras prestadas (en ese momento fueron comunitarias).
El album tiene apenas 2 fotos pero iré subiendo mas cuando las vaya editando.

viernes, 11 de marzo de 2011

fotografías callejeras

El arte de la fotografía tiene muchas ventanas a los mundos interiores, como en el caso de Vivian Maier, fotógrafa completamente desconocida, pero que dejó un legado tremendo (sin publicar).

Aquí hay un sitio donde se realiza el sueño del personaje ficticio de Friedrich escondido en la película de Lisbon Story: tomar fotos aleatoriamente y sin juicio previo de el fotógrafo; para Wim Wenders eso era una locura (y seguramente lo sigue siendo) pero ahora es tan común que las ciudades donde vive mas gente ya estan fotografiadas casi completamente por una máquina que recorre las calles y llena mapas con esas fotos. Uno puede encontrar verdaderas perlas en un mar de imágenes.