¿Qué estabas haciendo el 14 de febrero de 2007? ¿En qué tareas estabas trabajando ese mismo día en que conociste a tu amiga? ¿Cuándo fueron las últimas citas con su dentista? ¿Quién le llamó por teléfono durante esa reunión con su cliente el mes pasado?
La mayoría de la gente no puede responder a esas preguntas. ¡Con Memacs puedes!
Memacs extrae metadatos (asuntos, marcas de tiempo, información de contacto,…) de muchas fuentes de datos existentes diferentes (nombres de archivos, correos electrónicos, tweets, marcadores,…) en su computadora y genera archivos que GNU Emacs puede leer con el modo Org.
Ejemplo:
correos electrónicos -> memacs-maildir.py historial de Firefox -> memacs-firefox.py | SMS -> memacs-sms.py | Canales RSS -> memacs_rss.py | extractos bancarios -> memacs-easybank.py |> Memacs publicaciones -> memacs-slrn.org | registros del repositorio de git -> memacs_git.py | registros del repositorio svn -> memacs_svn.py / |_________________| |_________________| |______| sus datos personales Módulos de Memacs Modo de organización
Memacs, como componente central del sistema, es un centro para todos los conectores que agregan datos de fuentes de datos individuales. Esos conectores se denominan módulos Memacs o módulo corto.
Su agenda se completa automáticamente con entradas similares al ejemplo que se muestra en la captura de pantalla del documento técnico:
Puede ver algunos datos de demostración utilizando los módulos para SMS, nombres de archivos, marcas de fecha, Twitter, RSS, imap, llamadas telefónicas y git.
La forma más sencilla de instalar Memacs es mediante `pip`:
pip instalar memacs[todos]
Esto le brinda el conjunto completo de módulos con todas las dependencias de su sistema.
Si desea definir las dependencias de manera más detallada, puede usar uno o más de los extras: gps
, rss
, ical
, lastfm
, battery
o twitter
como en el siguiente ejemplo:
pip instala memacs[gps,rss]
En caso de que prefiera configurar el entorno “a la antigua usanza”, puede hacerlo manualmente:
PYTHONPATH
PYTHONPATH=/ruta/a/memacs
instalación de pip -r requisitos.txt
El concepto básico de usar un módulo de Memacs es el siguiente:
docs
.bin
de Memacs con el argumento --help
, por ejemplo bin/memacs_csv.py --help
en su línea de comando para obtener una descripción general de los argumentos de este módulo.Cc mp
a su configuración. ( defun mp-update-memacs-photos ()
" An extra (i.e., not cron-scheduled) run of Memacs' photo module. "
( interactive )
( shell-command
( format " ~/org/update-memacs-photos.sh " )
)
)
( global-set-key ( kbd " C-c m p " ) 'mp-update-memacs-photos )
El script llamado requiere la provisión del bit ejecutable. Mickey Petersen recopila antecedentes adicionales de esta técnica en Mastering Key Bindings in Emacs.
Asegúrese de leer también las preguntas frecuentes y las mejores prácticas, ya que contienen muchos consejos y trucos sobre cómo cumplir con sus requisitos y cómo elegir una configuración razonable.
Aquí hay algunos flujos de trabajo solo para darle una impresión inicial de cómo Memacs puede brindarle mucho para la diversión digital.
Cuando uno o más módulos de Memacs están configurados y los datos comienzan a fluir hacia sus archivos del modo Memacs Org, tiene muchas opciones para usar Memacs para sus flujos de trabajo personales.
Lo más básico que cambia con Memacs es que es posible que quieras ver los datos procesados por Memacs en tu agenda:
O está generando (1) archivos en modo Org que están dentro de sus archivos de agenda o está generando (2) archivos cuyo resguardo de archivo en modo Org más o menos vacío está dentro de sus archivos de agenda (como se describe en las Preguntas frecuentes).
De esta manera, la información de marca de tiempo generada ingresa a su agenda normal (1) o a la extendida en modo archivos (presionando v A
en su agenda) que también muestra el contenido de los archivos comprimidos (2).
Una característica de Memacs que uso personalmente todo el tiempo proporciona un flujo de trabajo algo más complejo cuyos datos básicos son proporcionados por el módulo de marca de tiempo del nombre de archivo. El módulo indexa todos mis archivos que contienen marcas de fecha ISO o marcas de tiempo ISO en sus nombres de archivo tal como lo hace Updateb para "localizar".
La diversión comienza cuando se configura este módulo y se genera el índice del archivo (todas las noches). Con los fragmentos de elisp mencionados en la documentación del módulo, puedo vincular cualquiera de esos archivos simplemente especificando su nombre. Estos enlaces nunca se rompen ya que ya no importa en qué carpeta se encuentren los archivos.
Consulte mi configuración de Emacs y busque todas las apariciones de tsfile
(archivo de marca de tiempo), que es mi enlace personalizado para esos archivos.
Incluso amplié este flujo de trabajo de modo que mi sistema de blog pueda vincularse a tsfile:
imágenes independientemente de su ubicación. Cosas impresionantes.
Este módulo es un ejemplo para desarrolladores: docs/memacs_csv.org
Esos módulos aún no se han adoptado en el nuevo marco unificado:
Los siguientes módulos existen solo como una idea aproximada y podrían implementarse algún día (¿usted?):
Imagina que ya estás usando Memacs.
Al recordar ese día, cuando te uniste a una interesante charla sobre «Getting Things Done» (GTD), inicias tu GNU Emacs con tu archivo principal en modo Org. Allí vas a la vista Agenda y seleccionas este día específico hace un par de meses.
Ahí está, de 14 a 15 horas agendaste esta charla en tu calendario. Y luego te das cuenta de que dentro de este período de tiempo, aparecen algunos archivos JPEG que contienen una marca de tiempo ISO 8601[1] y que están indexados por un módulo. (módulo de marca de tiempo de nombre de archivo)
Esta imagen contiene una diapositiva que le pareció interesante y que fotografió con su elegante teléfono inteligente. ¿Quién recordaría haberse tomado una fotografía durante una charla?
Diez minutos después de la charla escribiste un breve mensaje en Twitter donde mencionabas URL útiles para tus seguidores. ¡Esta vez esas URL también te serán útiles! (Módulo Twitter)
La noche de ese día verás la entrada de un correo electrónico entrante del autor de la charla. Ahora recuerdas haber tenido una conversación interesante al final de la charla donde te prometió información adicional sobre esa pequeña y agradable herramienta GTD en su computadora. Genial que también hayas recibido el enlace a ese correo electrónico. Sin Memacs probablemente nunca volverías a recordar ese correo electrónico. (Módulo Maildir)
Y luego hubo algunos marcadores que guardaste este día, casi todos relacionados con grandes ideas que obtuviste de la charla GTD. (módulo delicioso)
Esta pequeña historia muestra solo algunos casos de uso en los que diferentes módulos combinan fuentes de datos determinadas y su información para proporcionar una vista general relacionada con un evento. Dado que el modo Org tiene enlaces, no es necesario duplicar ningún dato real (excepto los metadatos extraídos por Memacs). Los correos electrónicos, archivos, favoritos, etc., se vinculan en lugar de copiarse.
[1] con puntos en lugar de dos puntos, simplemente debido a las antiguas limitaciones de los sistemas de archivos basados en Microsoft; como «2011-02-14T14.35.42 ideas.jpg»
En 1945, Vannevar Bush escribió un famoso artículo «As We May Think» donde desarrolla la idea de tener un «extensor de memoria» llamado Memex . El memex puede almacenar todas las cartas, libros y otra información relacionada con una persona.
Además de haber previsto varias tecnologías como el hipertexto, definió un dispositivo que contiene todos los metadatos y datos y proporciona rutas asociativas para acceder a la información.
En la última década del siglo anterior, Microsoft Research tenía un programa de investigación que dio como resultado MyLifeBits. Este software intentó almacenar cada información del usuario, como documentos de Office, capturas de pantalla, nombres de ventanas activas en la computadora de escritorio e incluso tomó fotografías automáticamente (SenseCam). Esta palabra no resultó en ningún producto de software (abierto). Bell y Gemmell escribieron un libro llamado «Total Recall».
El proyecto Memacs intenta implementar las ideas de la visión de Vannevar Bush con código abierto y estándares abiertos. De ahí que su nombre «Memacs» sea la combinación obvia de «GNU Emacs» y «Memex».
Memacs utiliza el modo GNU Emacs Org para visualizar y acceder a información extraída por los módulos de Memacs: usando etiquetas, marcas de tiempo, búsqueda de texto completo, etc. GNU Emacs puede derivar diferentes vistas. La vista más importante probablemente sea la vista Agenda, donde puede ver todo lo que sucedió durante un día/semana/mes específico según el período de tiempo seleccionado. Pero también puedes derivar otras opiniones. Por ejemplo, puede optar por generar un resultado de búsqueda condensado utilizando una combinación booleana de etiquetas.
En relación con Memacs, el fundador del proyecto desarrolló un software de investigación llamado tagstore . Este sistema permite a los usuarios almacenar archivos (locales) usando etiquetas sin una jerarquía de carpetas. Como extensión natural, tagstore apunta al acceso asociativo para archivos (locales). Es posible que también desees consultar Tagstore. Memacs y tagstore son una combinación muy útil.
Si desea saber cómo organizar archivos digitales de manera eficiente de una manera simple e independiente del sistema operativo, lea esta publicación de blog de Karl. También podría brindarle ideas para sus flujos de trabajo.
Karl también escribió un documento técnico sobre Memacs que describe Memacs desde el punto de vista de los científicos.
Si desea contribuir a este interesante proyecto, ¡bifurque y contribuya o escriba un módulo adicional!
Consulte docs/FAQs_and_Best_Practices.org para obtener más información sobre el desarrollo.
¡Estamos seguros de que existen muchas ideas interesantes para otros módulos! ¡Esto es sólo el comienzo!
Memacs está diseñado con respecto al mínimo esfuerzo para nuevos módulos.
Estamos utilizando Python PEP8 y Test Driven Development (TDD).
Memacs tiene la licencia GPLv3.