Что вы делали 14 февраля 2007 года? Над какими задачами вы работали в тот самый день, когда встретили свою девушку? Когда был последний прием у стоматолога? Кто звонил вам по телефону во время встречи с вашим клиентом в прошлом месяце?
Большинство людей не могут ответить на такие вопросы. С Memacs вы можете!
Memacs извлекает метаданные (темы, временные метки, контактную информацию и т. д.) из множества различных существующих источников данных (имена файлов, электронные письма, твиты, закладки и т. д.) на вашем компьютере и генерирует файлы, которые может читать GNU Emacs в режиме Org.
Пример:
электронная почта -> memacs-maildir.py история Firefox -> memacs-firefox.py | SMS -> memacs-sms.py | RSS-каналы -> memacs_rss.py | банковские выписки -> memacs-easybank.py |> Memacs сообщения -> memacs-slrn.org | журналы репозитория git -> memacs_git.py | журналы репозитория svn -> memacs_svn.py/ |_________________| |_________________| |______| ваши персональные данные Модули Memacs Режим организации
Memacs, как центральный компонент системы, представляет собой концентратор для всех соединителей, добавляющих данные из отдельных источников данных. Эти разъемы называются модулями Memacs или короткими модулями .
Ваша повестка дня автоматически заполняется записями, похожими на пример, показанный на снимке экрана из официального документа:
Вы можете просмотреть некоторые демонстрационные данные, используя модули для SMS, меток даты и имени файла, Twitter, RSS, imap, телефонных звонков и git.
Самый простой способ установки Memacs — использовать pip:
pip install memacs[все]
Это дает вам весь набор модулей со всеми зависимостями от вашей системы.
Если вы хотите определить зависимости более детально, вы можете использовать одну или несколько дополнительных функций: gps
, rss
, ical
, lastfm
, battery
или twitter
, как показано в следующем примере:
pip install memacs[gps,rss]
Если вы предпочитаете устанавливать среду «по-старому», вы можете сделать это вручную:
PYTHONPATH
PYTHONPATH=/путь/к/мемаксам
pip install -r требования.txt
Основная концепция использования модуля Memacs следующая:
docs
.bin
Memacs с аргументом --help
, например bin/memacs_csv.py --help
в командной строке, чтобы получить обзор аргументов этого модуля.Cc mp
в свою конфигурацию. ( 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 )
Вызываемый сценарий требует предоставления исполняемого бита. Дополнительная информация об этой технике собрана Микки Петерсеном в книге «Освоение привязок клавиш в Emacs».
Обязательно прочтите часто задаваемые вопросы и рекомендации, так как они содержат множество советов и рекомендаций о том, как удовлетворить ваши требования и как выбрать разумную настройку.
Вот несколько рабочих процессов, чтобы дать вам первое представление о том, как Memacs может дать вам много возможностей для цифрового развлечения.
Когда один или несколько модулей Memacs настроены и данные начинают поступать в файлы режима Memacs Org, у вас появляется множество вариантов использования Memacs для ваших личных рабочих процессов.
Самое основное, что меняется с появлением Memacs, это то, что вы можете захотеть видеть в своей повестке дня данные, обработанные Memacs:
Либо вы создаете (1) файлы режима организации, которые находятся в ваших файлах повестки дня, либо вы создаете (2) архивные файлы, более или менее пустая заглушка файла режима организации находится в ваших файлах повестки дня (как описано в часто задаваемых вопросах).
Таким образом, сгенерированная информация о временных метках попадает в вашу обычную повестку дня (1) или в расширенный режим архива (нажатием v A
в повестке дня), который также показывает содержимое архивных файлов (2).
Функция Memacs, которую я лично постоянно использую, обеспечивает несколько более сложный рабочий процесс, основные данные которого предоставляются модулем метки времени имени файла. Модуль индексирует все мои файлы, которые содержат ISO-метки даты или ISO-метки времени в именах файлов, точно так же, как это делает updateb для «locate».
Самое интересное начинается, когда этот модуль настроен и индекс файла генерируется (каждую ночь). С помощью фрагментов elisp, упомянутых в документации модуля, я могу создать ссылку на любой из этих файлов, просто указав их имя. Эти ссылки никогда не ломаются, поскольку уже не имеет значения, в какой папке находятся файлы.
Пожалуйста, обратитесь к моей конфигурации Emacs и обратите внимание на все вхождения tsfile
(файла отметки времени), который является моей специальной ссылкой для этих файлов.
Я даже расширил этот рабочий процесс, чтобы моя блог-система могла ссылаться на изображения tsfile:
независимо от их местоположения. Потрясающая штука.
Этот модуль является примером для разработчиков: docs/memacs_csv.org.
Эти модули еще не адаптированы к новой единой структуре:
Следующие модули существуют только в качестве черновой идеи и могут быть реализованы когда-нибудь (вами?):
Представьте, что вы уже используете Memacs.
Вспоминая тот день, когда вы присоединились к интересному разговору о «Как привести дела в порядок» (GTD), вы запускаете GNU Emacs с основным файлом режима организации. Там вы заходите в режим просмотра повестки дня и выбираете этот конкретный день пару месяцев назад.
Вот и все: с 14:00 до 15:00 вы запланировали это выступление в своем календаре. И затем вы понимаете, что в течение этого периода времени появляются некоторые файлы JPEG, содержащие отметку времени ISO 8601[1], индексируемые одним модулем. (имя_файла_временная_метка-модуль)
Это изображение содержит слайд, который показался вам интересным и который вы сфотографировали на свой элегантный смартфон. Кто вспомнит, что сфотографировался во время выступления?
Через десять минут после выступления вы написали короткое сообщение в Твиттере, в котором упомянули полезные URL-адреса для своих подписчиков. На этот раз эти URL-адреса пригодятся и вам! (Твиттер-модуль)
Вечером того же дня вы видите запись о входящем письме от автора выступления. Теперь вы помните, как в конце разговора у него был классный разговор, в котором он пообещал вам некоторую дополнительную информацию об этом симпатичном маленьком инструменте GTD на своем компьютере. Замечательно, что вы тоже получили ссылку на это письмо. Без Memacs вы, вероятно, никогда бы больше не вспомнили об этом письме. (Maildir-модуль)
А еще в этот день вы сохранили несколько закладок, почти все из которых связаны с замечательными идеями, которые вы почерпнули из выступления GTD. (вкусный модуль)
В этой небольшой истории показано лишь несколько случаев использования, когда разные модули объединяют данные источники данных и их информацию для предоставления общего представления о событии. Поскольку в режиме «Организация» есть ссылки, дублировать фактические данные не требуется (кроме метаданных, извлеченных Memacs). Электронные письма, файлы, закладки и т. д. связываются, а не копируются.
[1] с точками вместо двоеточий - просто из-за древних ограничений файловых систем на базе Microsoft; нравится «2011-02-14T14.35.42 idea.jpg»
В 1945 году Ванневар Буш написал знаменитую статью «Как мы можем думать», в которой развивал идею создания «расширителя памяти» под названием Memex . В мемексе могут храниться все письма, книги и другая информация, имеющая отношение к человеку.
Помимо того, что он предвидел несколько технологий, таких как гипертекст, он определил устройство, которое хранит все метаданные и данные и обеспечивает ассоциативные пути для доступа к информации.
В последнее десятилетие прошлого века Microsoft Research провела исследовательскую программу, результатом которой стал MyLifeBits. Это программное обеспечение пыталось хранить любую информацию о пользователе, такую как офисные документы, снимки экрана, названия активных окон на настольном компьютере, и даже автоматически делало фотографии (SenseCam). Это слово не привело ни к одному (открытому) программному продукту. Белл и Геммелл написали книгу под названием «Вспомнить все».
Проект Memacs пытается реализовать идеи видения Ванневара Буша с открытым исходным кодом и открытыми стандартами. Следовательно, его название «Memacs» представляет собой очевидную комбинацию «GNU Emacs» и «Memex».
Memacs использует режим GNU Emacs Org для визуализации и доступа к информации, извлеченной модулями Memacs: с помощью тегов, меток времени, полнотекстового поиска и т. д. GNU Emacs может создавать различные представления. Вероятно, наиболее важным видом является просмотр повестки дня, где вы можете увидеть все, что произошло в течение определенного дня/недели/месяца в соответствии с выбранным периодом времени. Но вы можете получить и другие точки зрения. Например, вы можете создать сокращенный результат поиска, используя логическую комбинацию тегов.
Связанный с Memacs основатель проекта разработал исследовательское программное обеспечение под названием tagstore . Эта система позволяет пользователям хранить (локальные) файлы с использованием тегов без иерархии папок. Как естественное расширение, tagstore предназначен для ассоциативного доступа к (локальным) файлам. Возможно, вы тоже захотите заглянуть в tagstore. Memacs и tagstore — очень полезная комбинация.
Если вам интересно узнать, как эффективно организовать цифровые файлы простым и независимым от операционной системы способом, прочитайте эту публикацию в блоге Карла. Это также может дать вам идеи для ваших рабочих процессов.
Карл также написал технический документ по Memacs, в котором Memacs описывается с точки зрения ученых.
Если вы хотите внести свой вклад в этот крутой проект, сделайте форк и внесите свой вклад или напишите дополнительный модуль!
Дополнительную информацию можно найти на сайте docs/FAQs_and_Best_Practices.org.
Мы уверены, что есть много крутых идей и для других модулей! Это только начало!
Memacs разработан с учетом минимальных усилий для новых модулей.
Мы используем Python PEP8 и разработку через тестирование (TDD).
Memacs распространяется по лицензии GPLv3.