こばこのひみつこばこのひみつうを水をゆくに、ゆけども水のきはなく、鳥そらをとぶに、とぶといへどもそらのきはなし。●小箱での時記(即時メモ)即時メモを取ることが有用と感じ、日記もその方法で書いています。細切れの時間にすぐメモを取るので、タイムスタンプを挿入し、時記としています。いつでもどこでも書くので、いつでもどこでも常に持ち歩いている小箱で、かつメモの取りやすいように使いやすいフルキーボード内蔵のものを利用しています。922SHやHP100LXもこういった用途で使っていたわけです。HP100LXだと、システムマクロとME.EXMで、いとも簡単に即座に時記が取れたのですけれど、同等の快適な環境をつくれる小箱はいまだに出てきていません。SH-10Bや922SHで即時メモを取って、時記として保存するのに、メールやDropboxを活用しています。最初IS01ではSDcard上のテキストファイルを時記形式で書き込んで、Dropboxにアップロードしておきました。miniではてなダイアリーにDropboxフォルダからはてダラを利用してアップロードするように設定していました。Dropboxにつなげられる環境さえあれば、日記のアップロードのことは気にせず、時記を書いてDropboxフォルダに置いておけばいいので楽ちんです。どのPCだとかMacだとかは考えずに、Dropboxの同期機能を利用するのは快適です。Dropboxがサポートしている、たとえばIS01などのAndroidケータイなら、この方法はとても便利ですけれど、HP100LXの場合は別途Androidケータイなりを用意してmicroSDを差し替えてDropboxにアップロードする必要が出てきます。XPERIAなどでそうしていました。922SHのようなQWERTYキーボード内蔵だけどいわゆるガラパゴスケータイの場合はちょっと面倒で、AndroidのようにDropboxを気軽に使えません。いったケータイはケータイメールが使いやすいので、即時メモをとってケータイメールで送って、メールを受けたサーバー側でよろしく処理して時記形式にでもできれば便利です。●メールでの時記作成HP100/200LXなら標準で日付や時間の挿入ファンクションキーがあるだけでなく、標準のシステムマクロでME.EXMエディタで特定ファイルを開いて日付時間を挿入してすぐに書き込めるところまで一発でできます。Notepadなどで、menuから日付時刻を一発挿入できます。922SHはちょこっとメモというワンキー簡易メモはあるものの、現在日付時刻は手入力するしかありません。本文に日付時間のない、メモ内容だけのメールはメールの日付時間を本文に挿入して時記形式に変換するという処理を書いたスクリプトを動かすようにしました。これでは、以前メールした内容を修正したいときにこまります。日付時間をキーとして、同じ日付時間なら、後から送ったメールの内容に置き換えるという処理もスクリプトに追加しました。ローカルでは、Becky!で受信し、クエリーからエクスポートしてバッチでスクリプトを呼んで処理するのは以前試していて、うまくいっていました。●サーバーの設定サーバー側を設定することにします。あるメールアドレスへのメールを受信したら、そのメールをそのままパイプで自作スクリプトに渡すよう設定すればいいはずです。sendmailのaliasesで専用のメールアドレスを作ります。"|/etc/smrsh/mail2jiki.pl"のような感じですが、WebminなりPleskなりから、GUIで設定できればそれでもよいでしょう。RHELのsendmailではsmrsh制限がかかっているので、シンボリックリンクをsmrshのディレクトリ置く必要があります。FEATURE(`smrsh',`/usr/sbin/smrsh')dnlとコメントアウトしてsendmail.cfの再構築が必要になります。サーバーの環境設定ができたら、実際にメールを投げてスクリプトを動かしてみます。スクリプトの中身はたとえばこんな感じです。●スクリプトの機能このスクリプトは、標準入力で渡されたメールを処理して、本文の時記や即時メモを抽出し、ファイルに書き込みます。その際、本文に日付時間のない、メモ内容だけのメールはメールの日付時間を本文に挿入して時記形式に変換しておきます。時記ファイルにメールから抽出した新しい時記を追加します。その際、日付時間をキーとして、同じ日付時間なら、後から送ったメールの内容に置き換えています。Mailで、922SHならケータイメールで即時メモをメールで投げれば、サーバー上に時記ファイルができているということになります。日付時間が行頭にある時記形式で修正して再度メールすれば、時記ファイルは更新されて後からメールした方に置き換えられます。あとは、cronでこの時記ファイルを以前作成して使っていたはてダラスプリッタ用の形式に変換し、はてダラスプリッタを通してからはてダラでアップしています。内容という形式を持っていることを前提にしています。この形式だと、各行に必ず日付時間が入っています。単純に行ソートをしやすいのがそうしている理由です。内容に改行を含められないのと、日付時間のない行を許容しないのが欠点です。後処理で色々簡単にできるのが良いところで、必要な形式にはスクリプトで変換すればよいだろうと考えています。内容の形式で時記を取っていました。Xなどの環境では、YYYY/MM/DDの方が現在一般的なようです。HP100/200LXで作成した時記からYYYY/MM/DD形式ににはスクリプトで変換しています。Xが普及していて、それらでは、YYYY/MM/DDの方が普通のようです。YYYY-MM-DDというのは、ちょっと違和感があるというか、unix風に感じます。Xだけでなく、様々な小箱で、日付や時間の形式について、YYYY-MM-DD形式で統一するのが面倒だというのもあります。NotepadやgEditorの挿入機能でも、日付はYYYY/MM/DD形式だし、時間はHH:mm:ss形式です。時間については、HH:mm形式も一般的と言えるでしょうけれど、重複しないためには秒が入っている方がうれしいです。Notepad」を使ってMENUから一発挿入しています。InsTime」や「DateNow」を使ってHH:mm形式の時刻の挿入ができます。「なう」だとHH時mm分という形式だし、「時刻挿入まっしゅるーむ」だと現在時刻の自動挿入でなく手打ちなのでぼくの用途には馴染みません。Mush」経由でマッシュルームアプリを起動する必要があります。「DateNow」を使う場合、「マッシュドアー」をインストールし、引数ダイアログを有効にします。起動すると通知領域に常駐します。自動起動設定も可能です。通知領域から呼び出して、引数ダイアログで「いま」を選びます。Lite」ならToolbarに設定で出しておいたPasteボタンをタップすれば現在時間がHH:mm形式で貼り付けられます。InsTime」を選んでボタンを押せば、現在時刻がクリップボードに入ります。Lite」ならToolbarに設定で出しておいたPasteボタンを押すだけです。InsTime」や「DateNow」の設定できる時刻形式の方が合う運用もあるかもしれません。●時記形式からChangeLog形式への変換スクリプトはてダラというか、はてダラスプリッタのdiary.txtはほぼChangeLog形式のようです。時記形式からはてダラスプリッタのdiary.txt形式に変換するスクリプトを大分前に書いています。即時メモを取るときは時記形式で、閲覧等はChangeLog形式でもいいのでしょうけれど、ぼくは各行に日付時間が入っていても慣れて気にならなくなってしまったので、そのまま閲覧しています。即時メモはその場ですぐにメモします。時記が紙のメモと違うのは、たとえば数分後など、そのテキストファイルの誤字等を修正できることです。簡易な清書をして、時記ファイルに保存します。して、あとで清書はあまりしません。ぼくの環境では、それが毎日決まった時間に公開されてしまいます。公開したくない内容も、もちろん色々あります。公開したくない内容は、はてなダイアリーの下書き機能でコメントアウトしています。実際には、時記形式で、時間の前に「-」記号を挿入すると、はてダラスプリッタのdiary.txt形式に変換する際にコメントアウトされるようなスクリプトになっています。