Mi entorno de trabajo

Me han preguntado bastantes veces cómo me organizo y, aunque hace un tiempo hablé un poco sobre mi entorno de trabajo en Emacs, desde entonces he introducido algunas mejoras así que voy a hablar de mi entorno de trabajo en general. Aprovecho para enlazar otras entradas del blog en las que hablé en concreto de las herramientas que cito para que se note que las uso de verdad y no es (solo) postureo.

La base: acta en Org

La base de mi metodología es un archivo de Org que utilizo como acta y lista de tareas. Org tiene la ventaja de que me permite añadir imágenes, código y enlaces a diferentes documentos y, además, puedo exportar la parte del acta en diferentes formatos según las manías del receptor.

Este archivo se abre directamente cuando abro Emacs por las mañanas para que pueda ver qué me queda por hacer y acceder directamente a los documentos o al código en los que estoy trabajando desde él, que se abrirán o no en el propio Emacs según su formato. Para que esto ocurra he añadido la siguiente líneas a mi archivos de configuración:

; Abrir archivos con programa que corresponda
; Lo privativo!
(add-hook 'org-mode-hook
           '(lambda ()
          (add-to-list 'org-file-apps
               '("\\.m\\'" . default)    ;; Matlab
               '("\\.fig\\'" . default)  ;; Matlab
               '("\\.xlsx\\'" . default) ;; Excel
               )))

; Abrir acta al iniciar Emacs
(find-file (expand-file-name "acta/acta.org" default-directory))

Como toda mi labor investigadora se basa en este archivo tengo, evidentemente, una copia de seguridad.

El soporte auxiliar: diario de Emacs

Aparte de tener apuntadas mis tareas por temática, llevo un diario en el que apunto qué he hecho cada día. Esto tiene una doble función: por una parte, cuando me desmoralizo y creo que no avanzo, tengo evidencia empírica de que no es así; por otra, me sirve para seguir mi proceso mental y recordar qué estaba haciendo antes de irme de vacaciones, por ejemplo. Esto me resulta crucial porque me permite tanto desconectar en cuanto levanto el culo de la silla del trabajo como tener mis ideas hiladas en un lugar que no es mi (variable) cabeza.

Para ello uso el diario de Emacs de manera poco ortodoxa, que es como me gusta a mí usar las cosas. Tengo una copia de seguridad también del diario, claro.

El producto: texto plano y control de versiones

El tercer pilar de mi organización es que todo lo que produzco (los documentos, la bibliografía, las imágenes, el código …) es texto plano. Aparte de que de esta manera podré seguir accediendo a mi información dentro de treinta años1, así puedo tener todo bajo control de versiones. Para el control de versiones uso Magit en Emacs y git en la terminal por la vieja costumbre.

Os detallo un poco más cómo funciono:

  • Documentos: escribo en Org o en LaTeX tanto los artículos como los informes y las presentaciones para clase. Para LaTeX uso el modo AUCTeX con RefTeX para las referencias bibliográficas, CDLaTeX para las ecuaciones y Company para el autocompletado.

  • Bibliografía: la manejo con Jabref y, últimamente, con Helm-bibtex desde el propio Emacs. En este último caso, uso las variables locales para seleccionar el archivo de bibliografía correspondiente a cada documento así como la carpeta donde viven los pdfs.

%%% Local Variables:
%%% eval:(setq bibtex-completion-bibliography '("ruta_a_bib"))
%%% eval:(setq bibtex-completion-library-path '("ruta_a_pdf"))
%%% End:
  • Imágenes: trabajo generalmente con svg en Inkscape, o exporto a eps o svg desde el resto de programas. El motivo es que ambos son formatos vectoriales y eps el favorito de las revistas científicas. Para las gráficas científicas, tengo el código para producir la imagen bajo control de versiones y una función que le da un estilo uniforme a todas las imágenes que exporto.

  • Código: programo en Matlab por obligación y en Julia y últimamente algo en Python por vicio. Con Matlab hago más que suficiente con no caer en las malas prácticas que fomenta. Para programar en los otros dos uso los modos específicos de Emacs y también Org para programación literaria.

Un día en mi vida

Dicho esto, uno de mis días laborales suele tener esta estructura:

  1. Abro Emacs.
  2. Leo en la lista de tareas qué me queda por hacer y en el diario qué hice el día anterior.
  3. Decido qué voy a hacer. Si hay un archivo relacionado, estará enlazado en la propia lista de tareas y se me abrirá en Emacs o en el programa externo correspondiente.
  4. Trabajo. Escribo, programo, busco papers … abro ramas y envío actualizaciones al repo según corresponda con Magit o desde la terminal.
  5. Actualizo la lista de tareas y el diario con lo que vaya terminando y las conclusiones sacadas.
  6. Cierro Emacs.

Esta rutina laboral se irá modificando según vaya aprendiendo cosas nuevas, cuando eso ya os contaré. ¡De momento contadme vosotros qué hacéis!


  1. Dudo que vaya a querer, pero podré

9 pensamientos en “Mi entorno de trabajo

  1. Giorgio Grappa

    Pues, nada, que ya me estás planteando otro reto. En la «fábrica» me organizo de manera similar, pero con Zim (un programa de Wiki de escritorio); lo malo es que no le he metido nunca control de versiones y en más de una ocasión he perdido el diario de lo que hice durante todo un trimestre.

    Pues, nada, a estudiarme tu artículo, a practicar con el manual de Emacs, a aprender ModeOrg (que hace un montón de años que me lo presentaron y me deslumbró) y a modificar (para bien, espero) los hábitos de trabajo. Poco a poco.

    (Por eso me da miedito leer tu blog, porqué me haces los dientes largos y me vienen ganas de imitarte. Qué manera de hacerme sufrir…)

    Responder
      1. Giorgio Grappa

        Busco un entorno de trabajo que me haga sentir jubilado: puede ofrecerme eso Emacs? Sí, ya sé que tiene una aplicación psicoanalista (muy interesante para los docentes, claro), pero… puedo sentarme delante de la pantalla a ver cómo Emacs escribe por mi las programaciones didácticas, corrige exámenes y trabajos y pone las notas?
        Como me digas que sí…
        😛

      2. Ondiz Autor de la entrada

        Querido Giorgio, eso es lo que yo busco en mi proyecto con nombre en clave Ondiz robótica. Si lo consigo te lo haré saber.

  2. César

    Abundante info Ondiz. Un par de dudas me asaltan al analizar tu workflow: ¿Prefieres org-mode para tomar notas sobre markdown? y ¿Tienes un solo y gran archivo org-mode o varios archivos dentro de tus carpetas?

    Un saludo Ondiz y felicidad!

    Responder
    1. Ondiz Autor de la entrada

      Me he pasado a org por emacs, básicamente, pero Markdown me gusta también (el blog está escrito en Markdown, de hecho).

      Tengo un org para las tareas y otros orgs para apuntar cosas según el tema. Luego enlazo estos orgs al org de organizar si es necesario.

      Saludos! 🙂

      Responder
  3. Nimia

    Ondiz hola. Me atrevo a escribirte para preguntarte sobre el diario. ¿Cómo procesas los avances del diario? Es decir, mira cómo me lo he montado yo: termino la jornada y escribo lo que he hecho en el laburo (trabajo como investigadora en ciencias sociales), pero es para tener un registro personal de lo avanzado, no estoy anotando observaciones de mis investigaciones (bueno en parte sí, pero no como se entendería un diario de campo). Lo que pasa es que tengo meses de info que a veces ya no leo, lo bueno de este sistema que es emacs puedo usar el buscador y encontrar el tema que me interesa; pero la más de las veces no se como revisar esa información anotada.

    Otra cosa, yo soy novata y solo he creado un org file por mes y agrego la fecha del día para cada entrada del diario, lo mío es bien simplón, pero ya le iré hechando ganas al emacs.
    Saludines.

    Responder
    1. Ondiz Autor de la entrada

      Hola!

      Yo tengo un único fichero en el que anoto la fecha y debajo unas pequeñas notas de lo que he hecho, tampoco es un cuaderno de campo en el sentido estricto del término. Cuando necesito rememorar algo busco o simplemente leo hacia atrás desde el día de hoy. Es un método de lo más casero.

      Mucho ánimo, ya contarás qué tal vas.

      Saludos!

      Responder

¡Opina sin miedo! (Puedes usar Markdown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s