2007 年 2 月 14 日、あなたは何をしていましたか?ガールフレンドに会ったその日、あなたはどのタスクに取り組んでいましたか?最後に歯医者に行ったのはいつですか?先月の顧客との会議中に、誰があなたに電話をかけてきましたか?
ほとんどの人はそのような質問に答えることができません。 Memacs ならそれが可能です!
Memacs は、コンピュータ上のさまざまな既存のデータ ソース (ファイル名、電子メール、ツイート、ブックマークなど) からメタデータ (件名、タイムスタンプ、連絡先情報など) を抽出し、Org モードの GNU Emacs で読み取り可能なファイルを生成します。
例:
メール -> 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 モジュール Org モード
システムの中心的なコンポーネントである Memacs は、個々のデータ ソースからデータを追加するすべてのコネクタのハブです。これらのコネクタは、Memacs モジュールまたはショートモジュールと呼ばれます。
アジェンダには、ホワイト ペーパーのスクリーンショットに示されている例と同様のエントリが自動的に入力されます。
SMS、filenameddatestamps、Twitter、RSS、imap、phonecalls、git のモジュールを使用したデモ データをいくつか見ることができます。
Memacs をインストールする最も簡単な方法は、`pip` を使用することです。
pip インストール memacs[すべて]
これにより、システム上のすべての依存関係を含むモジュールのセット全体が取得されます。
依存関係をより細かく定義したい場合は、次の例のように、 gps
、 rss
、 ical
、 lastfm
、 battery
、またはtwitter
1 つ以上のエクストラを使用できます。
pip インストール memacs[gps,rss]
環境を「古い方法」で設定したい場合は、手動で行うことができます。
PYTHONPATH
エクスポート/設定PYTHONPATH=/path/to/memacs
pip install -r 要件.txt
Memacs モジュールの使用の基本概念は次のとおりです。
docs
フォルダー内のモジュール説明ファイルを読みます。--help
(コマンド ラインでbin/memacs_csv.py --help
など) を指定して、Memacs のbin
フォルダーから選択したモジュールを手動で起動します。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 )
呼び出されるスクリプトには、実行可能ビットの提供が必要です。このテクニックのその他の背景については、Mickey Petersen による『Mastering Key Bindings in Emacs』にまとめられています。
FAQ とベスト プラクティスにも必ずお読みください。要件を満たす方法や適切な設定を選択する方法に関する多くのヒントやテクニックが含まれています。
ここでは、Memacs がデジタルの楽しみにどのような恩恵をもたらすかという第一印象を与えるために、いくつかのワークフローを紹介します。
1 つ以上の Memacs モジュールがセットアップされ、Memacs Org モード ファイルにデータが流入し始めると、個人のワークフローに Memacs を使用するための多くのオプションがあります。
Memacs で変わる最も基本的な点は、Memacs で処理されたデータをアジェンダに表示したい場合があることです。
(1) アジェンダ ファイル内にある組織モード ファイルを生成しているか、(FAQ で説明されているように) 多かれ少なかれ空の組織モード ファイル スタブがアジェンダ ファイル内にある (2) アーカイブ ファイルを生成しています。
このようにして、生成されたタイムスタンプ情報は、通常のアジェンダ (1) またはアーカイブ ファイルの内容も表示されるアーカイブ モードの拡張 (アジェンダでv A
押す) に組み込まれます (2)。
私が個人的にいつも使用している Memacs 機能は、ファイル名タイムスタンプ モジュールによって基本データが提供される、もう少し複雑なワークフローを提供します。このモジュールは、updatedb が「locate」で行うのと同じように、ファイル名に ISO 日付スタンプまたは ISO タイムスタンプを含むすべてのファイルのインデックスを作成します。
このモジュールがセットアップされ、ファイル インデックスが (毎晩) 生成されると、楽しいことが始まります。モジュールのドキュメントに記載されている elisp スニペットを使用すると、ファイル名を指定するだけでこれらのファイルにリンクできます。ファイルがどのフォルダーに配置されているかはもう重要ではないため、このリンクは壊れることはありません。
私の Emacs 設定を参照して、これらのファイルのカスタム リンクであるtsfile
(タイムスタンプ ファイル) のすべての出現に注意してください。
このワークフローを拡張して、ブログ システムが場所に関係なくtsfile:
画像にリンクできるようにしました。素晴らしいものです。
このモジュールは開発者向けの例です: docs/memacs_csv.org
これらのモジュールは、新しい統合フレームワークにはまだ採用されていません。
次のモジュールは大まかなアイデアとしてのみ存在し、いつか (あなたによって?) 実装される可能性があります。
すでに Memacs を使用していると想像してください。
«Getting Things Done» (GTD) に関する興味深い講演に参加したあの日のことを思い出して、メインの Org モード ファイルを使用して GNU Emacs を起動します。そこで、[アジェンダ] ビューに移動し、数か月前のこの特定の日を選択します。
そうです、午後 2 時から午後 3 時まで、カレンダーでこの講演をスケジュールしました。そして、この期間内に、ISO 8601 タイムスタンプ[1] を含むいくつかの JPEG ファイルが 1 つのモジュールによってインデックス付けされていることがわかります。 (ファイル名タイムスタンプモジュール)
この画像には、あなたが面白いと思った、おしゃれなスマートフォンを使って撮影したスライドが含まれています。講演中に写真を撮ったことを誰が覚えているでしょうか?
講演の 10 分後、あなたは Twitter に短いメッセージを書き、フォロワーにとって役立つ URL について言及しました。今回は、これらの URL が自分にとっても便利です。 (Twitterモジュール)
その日の夕方、講演の著者からの受信メールのエントリが表示されます。さて、あなたは、講演の最後に、彼が自分のコンピュータ上の素晴らしい小さな GTD ツールについての追加情報を約束した、クールな会話をしたことを覚えています。そのメールへのリンクも得られたのは素晴らしいことです。 Memacs がなければ、おそらくそのメールを二度と思い出すことはなかったでしょう。 (Maildir モジュール)
そして、この日保存したブックマークがいくつかありましたが、そのほとんどすべてが GTD トークから得た素晴らしいアイデアに関連していました。 (おいしいモジュール)
この小さなストーリーでは、さまざまなモジュールが特定のデータ ソースとその情報を組み合わせて、イベントに関連する全体的なビューを提供する使用例をいくつか示します。 Org モードにはリンクがあるため、実際のデータを複製する必要はありません (Memacs によって抽出されたメタデータを除く)。電子メール、ファイル、ブックマークなどはコピーされるのではなく、リンクされます。
[1] コロンの代わりにピリオドを使用 - Microsoft ベースのファイル システムの古い制限のため。 «2011-02-14T14.35.42 アイデア.jpg» のように
1945 年、ヴァネヴァー ブッシュは有名な記事「As We May Think」を書き、そこでMemexと呼ばれる「メモリ拡張器」のアイデアを展開しました。 memex には、人物に関連するすべての手紙、書籍、その他の情報を保存できます。
彼は、ハイパーテキストなどのいくつかのテクノロジーを予見したことに加えて、すべてのメタデータとデータを保持し、情報にアクセスするための関連付けられた証跡を提供するデバイスを定義しました。
前世紀の最後の 10 年間、Microsoft Research は MyLifeBits につながる研究プログラムを実施していました。このソフトウェアは、オフィス文書、スクリーンショット、デスクトップコンピュータ上のアクティブなウィンドウの名前など、ユーザーの各情報を保存し、さらには自動的に写真を撮影することを試みました(SenseCam)。この言葉からは (オープンな) ソフトウェア製品は生まれませんでした。ベルとジェメルは「トータル・リコール」という本を書きました。
Memacs プロジェクトは、Vannevar Bush のビジョンのアイデアをオープンソースとオープンスタンダードで実装しようとしています。したがって、その名前「Memacs」は、明らかに「GNU Emacs」と「Memex」を組み合わせたものです。
Memacs は GNU Emacs Org モードを使用して、タグ、タイムスタンプ、全文検索などを使用して Memacs モジュールによって抽出された情報を視覚化し、アクセスします。GNU Emacs はさまざまなビューを導き出すことができます。おそらく最も重要なビューは、選択した時間枠に従って、特定の日/週/月に起こったすべてを確認できるアジェンダ ビューです。しかし、他の見解を導き出すこともできます。たとえば、タグのブール値の組み合わせを使用して、要約された検索結果を生成することを選択できます。
Memacs に関連して、プロジェクトの創設者はtagstoreと呼ばれる研究ソフトウェアを開発しました。このシステムを使用すると、ユーザーはフォルダー階層なしでタグを使用して (ローカル) ファイルを保存できます。自然な拡張として、tagstore は (ローカル) ファイルへの連想アクセスを対象とします。タグストアもチェックしてみてはいかがでしょうか。 Memacs と tagstore は非常に便利な組み合わせです。
シンプルでオペレーティング システムに依存しない方法でデジタル ファイルを効率的に整理する方法を知りたい場合は、Karl のこのブログ投稿をお読みください。ワークフローのアイデアも得られるかもしれません。
Karl は、科学者の観点から Memacs を説明する Memacs に関するホワイトペーパーも執筆しました。
この素晴らしいプロジェクトに貢献したい場合は、フォークして貢献するか、追加のモジュールを作成してください。
開発情報の詳細については、docs/FAQs_and_Best_Practices.org を参照してください。
他のモジュールにも素晴らしいアイデアがたくさんあると思います。これはほんの始まりに過ぎません。
Memacs は、新しいモジュールの労力を最小限に抑えるように設計されています。
Python PEP8 とテスト駆動開発 (TDD) を使用しています。
Memacs は GPLv3 ライセンスに基づいてライセンスされています。