O que você estava fazendo em 14 de fevereiro de 2007? Em quais tarefas você estava trabalhando naquele mesmo dia em que conheceu sua namorada? Quando foram as últimas consultas com seu dentista? Quem ligou para você durante aquela reunião com seu cliente no mês passado?
A maioria das pessoas não consegue responder a essas perguntas. Com Memacs você pode!
Memacs extrai metadados (assuntos, carimbos de data e hora, informações de contato,…) de muitas fontes de dados existentes diferentes (nomes de arquivos, e-mails, tweets, favoritos,…) em seu computador e gera arquivos que podem ser lidos pelo GNU Emacs no modo Org.
Exemplo:
e-mails -> memacs-maildir.py histórico do firefox -> memacs-firefox.py | SMS -> memacs-sms.py | Feeds RSS -> memacs_rss.py | extratos bancários -> memacs-easybank.py |> Memacs postagens -> memacs-slrn.org | logs do repositório git -> memacs_git.py | logs do repositório svn -> memacs_svn.py / |_________________| |_________________| |______| seus dados pessoais Módulos Memacs Modo organizacional
Memacs – como componente central do sistema – é um hub para todos os conectores que adicionam dados de fontes de dados individuais. Esses conectores são chamados de módulos Memacs ou módulo curto.
Sua agenda é preenchida automaticamente com entradas semelhantes ao exemplo mostrado na captura de tela do white paper:
Você pode ver alguns dados de demonstração usando os módulos para SMS, filenamedatestamps, Twitter, RSS, imap, phonecalls e git.
A maneira mais fácil de instalar o Memacs é usando `pip`:
pip instalar memacs[todos]
Isso fornece todo o conjunto de módulos com todas as dependências do seu sistema.
Se quiser definir as dependências de forma mais detalhada, você pode usar um ou mais dos extras: gps
, rss
, ical
, lastfm
, battery
ou twitter
como no exemplo a seguir:
pip instalar memacs[gps,rss]
Caso prefira configurar o ambiente “do jeito antigo”, você pode fazer isso manualmente:
PYTHONPATH
PYTHONPATH=/caminho/para/memacs
pip instalar -r requisitos.txt
O conceito básico de uso de um módulo Memacs é o seguinte:
docs
.bin
do Memacs com o argumento --help
, por exemplo, bin/memacs_csv.py --help
em sua linha de comando para obter uma visão geral dos argumentos deste módulo.Cc mp
à sua configuração ( 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 )
O script chamado requer o fornecimento do bit executável. Informações adicionais sobre esta técnica são compiladas por Mickey Petersen em Mastering Key Bindings in Emacs.
Certifique-se de ler também as perguntas frequentes e as práticas recomendadas, pois elas contêm muitas dicas e truques sobre como atender às suas necessidades e como escolher uma configuração razoável.
Aqui estão alguns fluxos de trabalho apenas para lhe dar uma impressão inicial de como o Memacs pode oferecer muita diversão digital.
Quando um ou mais módulos Memacs são configurados e os dados começam a fluir para seus arquivos no modo Memacs Org, você tem muitas opções para usar o Memacs para seus fluxos de trabalho pessoais.
A coisa mais básica que muda com o Memacs é que você pode querer ver os dados processados pelo Memacs em sua agenda:
Ou você está gerando (1) arquivos de modo organizacional que estão dentro de seus arquivos de agenda ou você está gerando (2) arquivos cujo stub de arquivo de modo organizacional mais ou menos vazio está dentro de seus arquivos de agenda (conforme descrito nas Perguntas frequentes).
Desta forma, as informações de carimbo de data/hora geradas entram na sua agenda normal (1) ou no modo estendido no modo de arquivo (pressionando v A
na sua agenda) que também mostra o conteúdo dos arquivos de arquivo (2).
Um recurso do Memacs que eu pessoalmente uso o tempo todo fornece um fluxo de trabalho um pouco mais complexo, cujos dados básicos são fornecidos pelo módulo de registro de data e hora do nome do arquivo. O módulo indexa todos os meus arquivos que contêm carimbos de data/hora ISO ou carimbos de data/hora ISO em seus nomes de arquivo, assim como o updateb faz para “localizar”.
A diversão começa quando este módulo é configurado e o índice do arquivo é gerado (todas as noites). Com os trechos do elisp mencionados na documentação do módulo, posso vincular qualquer um desses arquivos apenas especificando o nome do arquivo. Esses links nunca são quebrados, pois não importa mais em qual pasta os arquivos estão localizados.
Consulte minha configuração do Emacs e procure todas as ocorrências de tsfile
(arquivo de carimbo de data/hora), que é meu link personalizado para esses arquivos.
Até estendi esse fluxo de trabalho para que meu sistema de blog seja capaz de vincular a tsfile:
imagens independentemente de sua localização. Coisas incríveis.
Este módulo é um exemplo para desenvolvedores: docs/memacs_csv.org
Esses módulos ainda não foram adotados na nova estrutura unificada:
Os módulos a seguir existem apenas como uma ideia aproximada e podem ser implementados algum dia (por você?):
Imagine que você já está usando Memacs.
Ao lembrar daquele dia, quando você participou de uma palestra interessante sobre «Getting Things Done» (GTD), você inicializa seu GNU Emacs com seu arquivo principal do modo Org. Lá você vai para a visualização da Agenda e seleciona este dia específico há alguns meses.
Aí está, das 14h às 15h você marcou essa palestra na sua agenda. E então você percebe que dentro desse período, aparecem alguns arquivos JPEG contendo um carimbo de data/hora ISO 8601[1] indexados por um módulo. (módulo filenametimestamp)
Esta imagem contém um slide que você achou interessante e fotografou usando seu elegante smartphone. Quem se lembraria de ter tirado uma foto durante uma palestra?
Dez minutos depois da palestra você escreveu uma pequena mensagem no Twitter onde mencionou URLs úteis para seus seguidores. Desta vez, esses URLs também serão úteis para você! (Módulo Twitter)
Na noite daquele dia, você verá um e-mail recebido do autor da palestra. Agora você se lembra de ter tido uma conversa legal no final da palestra, onde ele prometeu algumas informações adicionais sobre aquela pequena ferramenta GTD em seu computador. Que bom que você também recebeu o link para esse e-mail. Sem o Memacs você provavelmente nunca mais se lembraria daquele e-mail. (Módulo Maildir)
E então houve alguns marcadores que você salvou neste dia, quase todos relacionados a ótimas ideias que você tirou da palestra do GTD. (módulo delicioso)
Esta pequena história mostra apenas alguns casos de uso em que diferentes módulos combinam determinadas fontes de dados e suas informações para fornecer uma visão geral relacionada a um evento. Como o modo Org possui links, nenhum dado real precisa ser duplicado (exceto os metadados extraídos pelo Memacs). E-mails, arquivos, marcadores e assim por diante são vinculados em vez de copiados.
[1] com pontos em vez de dois pontos - apenas por causa das antigas limitações dos sistemas de arquivos baseados na Microsoft; como «2011-02-14T14.35.42 ideas.jpg»
Em 1945, Vannevar Bush escreveu um famoso artigo «As We May Think» onde desenvolve a ideia de ter um «extensor de memória» chamado Memex . O memex pode armazenar todas as cartas, livros e outras informações relacionadas a uma pessoa.
Além de ter previsto diversas tecnologias como o hipertexto, ele definiu um dispositivo que contém todos os metadados e dados e fornece trilhas associativas para acesso à informação.
Na última década do século anterior, a Microsoft Research teve um programa de pesquisa que resultou no MyLifeBits. Este software tentou armazenar cada informação do usuário como documentos de escritório, capturas de tela, nome de janelas ativas no computador desktop e até tirar fotos automaticamente (SenseCam). Esta palavra não resultou em nenhum produto de software (aberto). Bell e Gemmell escreveram um livro chamado «Total Recall».
O projeto Memacs tenta implementar as ideias da visão de Vannevar Bush com código aberto e padrões abertos. Portanto, o nome «Memacs» é a combinação óbvia de «GNU Emacs» e «Memex».
O Memacs usa o modo GNU Emacs Org para visualizar e acessar informações extraídas pelos módulos do Memacs: usando tags, carimbos de data/hora, pesquisa de texto completo e assim por diante, o GNU Emacs é capaz de derivar diferentes visualizações. A visualização mais importante provavelmente é a visualização da Agenda, onde você pode ver tudo o que aconteceu durante um dia/semana/mês específico de acordo com o período selecionado. Mas você também pode derivar outras visões. Por exemplo, você pode optar por gerar um resultado de pesquisa condensado usando uma combinação booleana de tags.
Relacionado ao Memacs, o fundador do projeto desenvolveu um software de pesquisa chamado tagstore . Este sistema permite aos usuários armazenar arquivos (locais) usando tags sem hierarquia de pastas. Como uma extensão natural, o tagstore tem como alvo o acesso associativo para arquivos (locais). Você pode querer dar uma olhada no tagstore também. Memacs e tagstore são uma combinação muito útil.
Se você gosta de saber como organizar arquivos digitais de maneira eficiente, de maneira simples e independente do sistema operacional, leia esta postagem do blog de Karl. Também pode lhe dar ideias para seus fluxos de trabalho.
Karl também escreveu um whitepaper sobre Memacs que descreve Memacs do ponto de vista científico.
Se você quiser contribuir para este projeto legal, faça um fork e contribua ou escreva um módulo adicional!
Consulte docs/FAQs_and_Best_Practices.org para obter mais informações sobre desenvolvimento.
Temos certeza que existem muitas ideias legais para outros módulos por aí! Este é apenas o começo!
O Memacs foi projetado com esforço mínimo para novos módulos.
Estamos usando Python PEP8 e Test Driven Development (TDD).
Memacs é licenciado sob a licença GPLv3.