自分専用のメモを作って簡単に検索出来るようにする


自分専用のメモを持つ

TwitterFacebookのアカウントを誰もが持つようになり個人の日記がインターネット上で簡単に読めるようになりました。その反面、ちょっとした一言をきっかけに個人情報が流出したり、自身の犯罪行為を意図せず暴露してしまい社会問題になっています。何故このようなことが起きるのでしょうか?

最近の若者は・・・と言うのは簡単ですが、私の意見はもっとシンプルで「一番簡単に始めることが出来るのが誰でも検索出来る場所だから」なのだと思います。 自身の思いや感情をアウトプットしたくなるのは人としてごく自然な衝動です。文房具屋に行って日記帳を買うよりもスマートフォンからTwitterのサイトに行きアカウントを作成する方が早いし簡単なのです(お金もかからないしね)。

気をつけなければいけないのはTwitterFacebook検索出来る場所だということです。自分以外の誰かが検索ワードを頼りにあなたのつぶやきを見つけることが出来ます。それがたくさんの人に読まれたりまとめサイトに載ってほしくないことでも。思ったことをそのまま書けば不利になるのは書いた人なのです。

ですが、思ったことは書かずに口につぐみなさいとか、大人になるまでTwitterを使うのをやめなさいとか言いたいのではありません。言いたかったのは、自分の思いをインターネットにダイレクトにぶつけず、人が決して検索出来ない場所に一回ぶつけてみるといいよ、ということです。
例えば個人のメモ帳のような場所に。

メモの作り方

プレーンなテキストファイルでもいいですし、ChangeLogのような専用の形式でもいいです。私はリンクが貼れてブラウザから簡単に使えるTiddlyWikiを愛用しています。※自分用に改造したTiddlyWikiこちら
おすすめは1年ごとに1ファイルを作ることです。100歳まで生きたとしても100ファイルを超えることはありません。私の個人メモの場合は2010年が1.2MB、2011年が1.8MBでした。 これならUSBメモリクラウドにも置けるデータサイズになりそうです。
最初は余りフォーマットにこだわらずに思いついたことをつらつらと書いてみましょう。どうせ自分以外は誰も見ないのですから言葉使いに気をつける必要もありません。一人きりで自分の感情と向きあってみましょう。少し時間を空けてメモを見直せば客観的な気持ちで向かい合えるはずです。寝かせたメモからはきっと今よりもいいつぶやきが書けますよ。

メモを検索出来るようにする

TwitterやFacebokを使っていて特に便利なのは検索機能です。せっかくなので個人メモも検索出来るようにしてみましょう。
プログラマにとって一番簡単なのはgrepを使うことでしょう。

$ grep 個人メモ /path/to/memo.txt
/path/to/memo.txt:5 個人メモを作った
/path/to/memo.txt:10 個人メモに追記

1ファイルだったらこれでも十分ですが以下のような場合は少し大変です。

  • 去年のメモを含めて検索したい
  • データが大きくなってgrepに時間がかかる
  • メモファイルがたくさんある

私は自作のMilkodeというソフトを使って検索しています。元々ソースコードの検索向けに作られたものですが、テキストであれば何でも登録することが出来ます。

$ milk add /path/to/memo
package    : memo
add_record : /path/to/memo/memo2010.txt
add_record : /path/to/memo/memo2011.txt
add_record : /path/to/memo/memo2012.txt
result     : 1 packages, 3 records, 3 add. (0.5sec)
*milkode*  : 86 packages, 61119 records in /Users/user/.milkode/db/milkode.db.

/path/to/memo'memo'というパッケージ名で登録されました。検索する時は、

$ gmilk -p memo 個人 メモ
memo2010.txt:16:個人メモに追記
memo2011.txt:7:メモを作成(個人的なもの)

です。データの置き場所を気にせず高速に検索出来てAND検索も可能です。
メモを更新した時は、

$ cd /path/to/memo
$ milk update 

もしくは検索と同時にインデックスを更新するなら

$ gmilk -u -p memo test

です(後者がおすすめです)。

TiddlyWikiを検索する

TiddlyWiki本体に簡単な検索機能は含まれていますが、複数TiddlyWikiから検索したり行単位の検索が出来ないためMilkodeから検索することを考えてみます。
TiddlyWikiは1つのhtmlの中に複数の仮想ファイル(Tiddlerといいます)が含まれており、単純にファイルを登録しただけでは余り価値のある情報を引き出すことが出来ません。そこで1Tiddlerを1テキストファイルに分割してMilkodeに登録するという作戦を考えてみます。

TiddlyWikiをテキストファイルに分割するために'tiddler2texts'というスクリプトを作りました。tidtoolsというgemに含まれています。

$ gem install tidtools

/path/to/memo/2010/memo.html/path/to/export-memo/2010 に出力するには以下のようにします。

$ tiddler2texts /path/to/memo/2010/memo.html /path/to/export-memo/2010

複数のメモをテキスト分割→Milkodeに追加 を自動化するために簡単なスクリプトを書いてみます。

/path/to/export-memo/output.rb

require 'rubygems'
require 'tidtools/tiddler2texts'

if __FILE__ == $0
  Tidtools::Tiddler2texts.output('/path/to/memo/2010/memo.html', '2010')
  Tidtools::Tiddler2texts.output('/path/to/memo/2011/memo.html', '2011')
end

メモの登録は最初の一回だけです。

$ cd /path/to/export-memo/
$ ruby output.rb
$ milk add /path/to/export-memo

update_memoコマンドを.bashrcに追記します。

# .bashrc
.
.
# メモの更新
alias update_memo='(cd /path/to/export-memo && ruby output.rb && milk update export-memo)'

.bashrcを更新します。

$ source ~/.bashrc

これで全ての準備は整いました!以下のコマンドを実行するたびに、TiddlyWikiに追加されたTiddlerがテキストファイルに追加され、合わせてMilkodeにも登録されます。

$ update_memo

終わりに

個人のメモを帳を付け始めて3年程経ちますが色々な所で役立つようになりました。何かに迷ったり混乱した時は事実を客観的にメモに書き出していきます。リストを見返せば要点が整理されていい案が浮かんでくるでしょう。瞬間的に感情的になった時はまずはメモに思うままに書きこんでひとまず落ち着きます。後で見返してみるとなんでこんなことで怒っていたのだろう?ということがよくあります。
新しいことをする時は過去のメモを読み返して昔似たようなことをしていなかったか調べます。他人が最善と思うことよりも自分が過去に成功した方法の方が安心して出来ることは多いはずです。クリエイティブであるべきは作るものであり、やり方全てが斬新である必要はまったくないのです。
自身を記録し、振り返り、未来を決めるためのメモ帳を持ちましょう。

参考文献