Comandante Emacs (dired-mode)

Estuve un rato largo (¡horas!) viendo cómo usar el modo "dired" que tiene Emacs para el manejo de archivos, porque quiero usarlo al modo del viejo Comandante Norton (y sus clones: Total Commander en Window$, Krusader especialmente para KDE, etc). Es decir: dos paneles que sirven de inicio y de destino para poder copiar y mover archivos, crear directorios, navegarlos, etc. Buffer mostrando un directorio con dired-mode Lo primero que hice fue instalar un paquete que amplía las opciones disponibles llamado dired+ (dired plus) y después instalé otra extensión llamada dired-sort-menu. La información sobre la instalación de estos paquetes da por supuesto que uno ya tiene experiencia en Emacs, y a pesar de que yo lo uso hace casi un año y he instalado y desinstalado muchas extensiones, estuve un rato para darme cuenta de algo que no figura en la página de dired+. En el archivo de configuración de Emacs (init.el, custom.el o el que estemos utilizando) es imprescindible agregar la orden siguiente: ...

December 26, 2014 · 4 min · 706 words · Diego Efe

Clojure, nuevo entretenimiento

En el mundo Emacs se menciona bastante el lenguaje Clojure, como un dialecto de Lisp que corre sobre el Java Virtual Machine, lo cual constituye para mi un dato casi completamente inutil, puesto que desconozco Java y su JVM. De cualquier manera, mientras continúo leyendo ANSI Common Lisp, me dieron ganas de probar, así que guardo aquí las instrucciones de instalación para usar Clojure con Emacs en Linux. La cuestión no es tan complicada, primero verificamos desde un terminal que Java está instalado: ...

November 27, 2014 · 4 min · 684 words · Diego Efe

Pandoc, conversión de org-mode a restructuredtext

Pandoc es un software para hacer conversión de archivos de texto entre distintos lenguajes de markup. Me viene bien probarlo porque me gustaría escribir mis entradas del blog desde org-mode (que uso con mucha frecuencia) y obtener el mismo texto en versión restructuredText, que es el formato en el que escribo el blog (con Pelican). La instalación de Pandoc requirió un pequeño ajuste respecto de lo habitual en Manjaro, ya que el programa no estaba disponible desde los repositorios que vienen por defecto. Tuve que hacer los ajustes que se describen en la wiki de Arch. Estos fueron los 5 pasos: ...

November 8, 2014 · 1 min · 161 words · Diego Efe

Mageia y Manjaro

Empezó a haber problemas para actualizar el sistema (Mageia), que mostraba un mensaje diciendo que había actualizaciones listas para instalarse, pero no hacía nada al hacer click sobre instalar. Logré que se produzca la instalación desde una consola con sudo urpmi --auto-update. También dejó de funcionar el programa de configuración del sistema al que se accede desde herramientas/herramientas del sistema/configure su computador. Pero en algún momento volvió a andar. :) ...

October 22, 2014 · 3 min · 530 words · Diego Efe

Listas en Python

Apuntes del capítulo 10. Lists, de Think Python. Traversing To traverse es el verbo que se refiere al acceso secuencial de los elementos de una lista. La siguiente es una forma de "traversear" una lista: for cheese in cheeses: print cheese Si se necesita modificar algún elemento de la lista es mejor hacer: for i in range(len(numbers)): numbers[i] = numers[i] * 2 Agregar elementos a una lista Se pueden agregar elementos individuales a una lista con append. ...

October 15, 2014 · 3 min · 476 words · Diego Efe

Tutorial sobre control de versiones (parte 4)

Para ver las versiones (en inglés) en las cuales se basa este tutorial, podés visitar la página de Software Carpentry Cuándo aparecen los conflictos El sistema de control de versiones permite que la gente trabaje en paralelo editando sus programas en código fuente. En realidad, se puede usar para cualquier tipo de archivo con texto plano (me parece fantástico para informes, relatos, blogs como este, etc). Trabajar en paralelo implica que en algún momento dos personas se van a pisar y van a modificar una misma porción de texto. Esto podría pasarle incluso a una sola persona: si trabajamos un mismo fragmento en la computadora de escritorio en casa, en una notebook y también en una PC en el laburo, podríamos haber hecho diferentes cambios en cada copia. El control de versiones nos ayuda a manipular esos conflictos dándonos herramientas para resolver esos cambios superpuestos. ...

October 10, 2014 · 8 min · 1542 words · Diego Efe

Tutorial sobre control de versiones (parte 3)

Para ver las versiones (en inglés) en las cuales se basa este tutorial, podés visitar la página de Software Carpentry Probando el cooperativismo Vamos a practicar cómo se realiza una colaboración a través de un repositorio en Github. Para ello nada mejor que colaborar con uno mismo. Lo que hago es trabajar con dos cuentas en Github, corriendo un usuario en mi PC de escritorio y el otro dentro de una máquina virtual dentro de la misma PC (aunque también lo podría hacer desde una notebook, o desde otra sesión de esta misma computadora, pero decir que uno corre una máquina virtual con Linux suena mucho más god-level). No voy a detenerme a explicar nada sobre las máquinas virtuales porque además de ser demasiado sencillo también es off-topic, y no quiero offtopiquearme. ¡Cómprense un amiguito y chau! ...

October 9, 2014 · 4 min · 819 words · Diego Efe

Escritorio cómodo y atajos de teclado

Me cuesta encontrar un modo cómodo de trabajar con Emacs y otros programas en KDE. Como creo que voy encontrando cosas que me resultan funcionales, las resumo aca. Sirve trabajar con 4 workspaces (areas de trabajo) en KDE. En el espacio 1 tengo el navegador, en el 2 tengo Emacs y en el 4 tengo un terminal. Cambio de espacio con C-7 (espacio 1), C-8 (espacio 2), C-9 (espacio 3) y C-0 (espacio 4). Para mover la ventana de un programa a un espacio de trabajo lo hago con M-7, M-8, M-9 y M-0 (los fans de emacs saben que M es Meta, y que eso significa en un teclado convencional la tecla Alt). ...

October 8, 2014 · 4 min · 643 words · Diego Efe

Más locura con Git

Hay un lindo tutorial interactivo para aprender a usar Git este Carpentry, recomendado desde el GitHub de Software Carpentry. Me gustó también el video Git for ages 4 and up (no entendí nada la presentación del expositor, pero el resto sí). Al sitio interactivo llegué desde Astropy, en particular de la página How to make a code contribution, que parece que vale la pena leer, porque explica el workflow que utilizan, cosa que no había encontrado hasta ahora (que te expliquen cómo es la secuencia de acciones de un trabajo, su lógica, los trucos, puede ahorrar muchos problemas asociados con la inexperiencia). ...

October 8, 2014 · 3 min · 556 words · Diego Efe

Tutorial sobre control de versiones (parte 2)

Para ver las versiones (en inglés) en las cuales se basa este tutorial, podés visitar la página de Software Carpentry Armar un proyecto (repositorio) en GitHub Para subir el repositorio local a GitHub es indispensable tener una cuenta allí (que es gratis, así que a relajarse y disfrutar). Es bastante intuitivo el modo de crear un repositorio. Pero pongo un par de imágenes, a modo de muestra. Github En la pantalla anterior hay que hacer click sobre el botón verde que dice "+ New repository", que nos deposita en la imagen de abajo. ...

October 8, 2014 · 5 min · 866 words · Diego Efe