swk's log 最新ページ

mhc - from swk's log

2006-10-15 Sun

* mhc-cvs [badinerie][tech][mhc]

今までは自宅の emacs の窓を職場の PC の X サーバで開いて,作業メモの 読み書きなりスケジュールの読み書き (mhc) をしていたりしていたのだけ ど,自宅の回線は普通の ADSL なのでちょっと無理を感じていた.

というわけで自宅 PC が逝ったのを機に (あまり関係ないけど,単にきっか けということで),まずは mhc の方は mhc-cvs を使ってみることにする.

自宅に repository を掘る.

% mkdir /home/swk/mhc-cvsroot
% cvs -d /home/swk/mhc-cvsroot init
% cd ~/Mail/schedule
% cvs -d /home/swk/mhc-cvsroot import -m 'Initial import' -I '.*' -I trash schedule name start
% cd ..
% mv -i schedule schedule.bak20061015/

で,.emacs に

(setq mhc-file-method 'mhc-cvs)
(setq mhc-cvs-repository-path "/home/swk/mhc-cvsroot")

な風に書く.リモート側の PC は,

(setq mhc-file-method 'mhc-cvs)
(setq mhc-cvs-repository-path ":ext:swk@host.example.com:/home/swk/mhc-cvsroot")

とする.もちろん CVS_RSH は ssh で,ssh-agent を使っている.

実は ssh のポートが標準の 22 ではないのだが,そこでちょっとはまった. 安直に CVS_RSH を "ssh -p 12345" とかにしてみたら cvs が

cannot exec ssh -p 12345: No such file or directory

とかいう素敵なエラーを吐いて失敗.結局

#!/bin/sh

ssh -p 12345 "$@"

なシェルスクリプトを作るという微妙な方法で回避した.

mhc-cvs 自体は,ひとまず快適に動いているっぽい.スケジュールを書き込 むと即時 commit されるようだ.それはよいのだが update がどういうタイ ミングで行われているのかよくわからない….しばらく使ってみます.

関連記事:
[2006-10-28-1] chalow に後づけカテゴリ
[2006-10-21-5] tramp が遅すぎる

2006-09-09 Sat

* MHC の小ネタ [tech][mhc]

スケジュール管理は相変わらず MHC でやっ てます.

いったん Mew のバッファに移ってから C-c.. するのが煩わしく感じて来た ので,.emacs で

(global-set-key "\C-c.." 'mhc-goto-this-month)

してみた.微妙に便利になった気がする.

関連記事:
[2006-10-28-1] chalow に後づけカテゴリ

2005-07-18 Mon

* MHC の conflict 検出機能 [tech][mhc]

という流れで [2005-07-18-3],あまり関係ないけどついでにコメント.

MHC の conflict の表示機能は便利だけど,それは conflict に気づかない のを防げるという点が便利なのであって,いざ conflict が起きたときにどっ ちを優先するかは見れば分かるんじゃないかなと思ってます.見て分からな い場合もあるかも知れないけど,そういうのは自動判別もできないんじゃな かろうかというか.自動化しなくちゃならないほど複雑な何かがあるんだろ うか.

という私はそもそも終了時刻を記入しないことが多いので conflict 機能自 体あまり使いこなしてないのですが.まあ今のところせいぜい日に数件なの で,まだ大丈夫かなと.

はてなでもミーティングの終了時刻とかは誰も書いてないとか.まあ人や場 所によっていろいろなスタイルがあるってことだな.

(追記) 回答がありました.よくわからんけどそういうもんなのか.

関連記事:
[2006-10-28-1] chalow に後づけカテゴリ

2005-07-18 Mon

* f901is スケジューラの使い勝手 [f901is][tech][mhc]

えーと,現時点での結論ですが,うーん,まあ少なくとも使いやすいとは言 えませんな.

まず個人的な事情として,スケジュールは閲覧しかしません.スケジュール の入力は MHC でしかしないので(というかできないというか).なので,以 下の評価は閲覧のみに関するものであって,編集などの使い勝手はまた別な 話なので注意.

スケジュールの閲覧は大きく分けて 4 種類のモードがある.

1. 月全体のカレンダー型表示
f901is_schedule/20050719-023628.jpg

2. 一日単位の用件リスト
f901is_schedule/20050719-024546.jpg

3. 用件 1 件の詳細表示
f901is_schedule/20050719-023910.jpg

この 3 つに加えて,

4. 待受画面へのスケジュール表示機能 (直近 9 件)
f901is_schedule/20050719-024616.jpg

がある.

なので,ある程度の期間をまとめて俯瞰するには 1 か 4 しかない.

月全体モードは基本的に役に立たない.携帯の画面で月単位にカレンダー表 示しても,個々の用件の内容を表示できるスペースは当然ない.その日に用 件があるかないかだけはマークの有無で判別できるのだけど,そんなもん, 予定が全く入ってない日なんてほぼないので,情報量は限りなくゼロだ.

入ってる予定の件数とかで色の濃さとかが変わったりすると,少しはましに なるかもなあとか思ってみたり.しかし 1 件の重みはまちまちだからそう 簡単じゃないよなあ.

これに比べると待受画面のスケジュール表示機能はそれなりに便利だ.直近 9 件の用件が 1 件 1 行で表示されるので今日明日程度に限ればそれなりに 一覧性がある.待受画面に常に表示されているというのもイケている.問題 は,9 件じゃさすがに少なすぎることと,現在じゃなく未来のある時点のを 見たいという要求を満たせないこと.是非スクロールして先まで見れる機能 が欲しかった.それがダメでもせめて文字を小さくして表示量を増やせるよ うにして欲しかった.

というわけで,待受画面に表示されない未来の期間を俯瞰するには,2 の一 日単位モードで表示しながら左右キーで日をカタカタ切替えて眺めているの が現状です.うーむ.微妙.


PDA (PokectPC) を使ってた頃は tAgenda なるものを使っていて,これは割 と重宝してました.

1 行 1 件でスクロール対応.シンプルだけど,携帯端末みたいなものでは この表示方法が一番現実的なのかなあとか思う.

まあこういう議論を突き詰めて行くと,結局紙が一番! とかになっちゃいが ちなんだけどね….

関連記事:
[2005-07-18-4] MHC の conflict 検出機能

2005-07-18 Mon

* プログラムが、Outlook 内に保存されている電子メールアドレスにアクセスしようとしています。よろしいですか? [tech][f901is][mhc]

mhc2ol とか携帯端末とかと Outlook のデータをやりとりしようとすると こんなメッセージが出る.昔はなかったよね.最近の機能かな.

あーうざい.何ですかこの,ドアの鍵が壊れていますので,家財道具すべて にブービートラップを仕掛けておきました,みたいのは.いいから黙って鍵 直せと.

というわけで,Express ClickYes なるフリーソフトウェアがあるようです. それなりには幸せになります.

2005-07-18 Mon

* mhc-unroll [tech][f901is][mhc]

f901is のスケジューラに Outlook から転送すると,繰り返しスケジュール の終了指定が消えてしまって困っていたのだが [2005-07-10-1],なんとか対 策を講じてみた.

当初は,

mhc2ol をいじって単発スケジュールに展開するのが一番 楽なのかな.めんどくさそう.ていうか ruby わからん.

とか考えていたのだが,やはり ruby 分からなさすぎなので,以下のように 計画変更.

1. スケジュールデータベースをまるごとコピーして (rsync)
2. このコピーされたデータベースをいじって繰り返しスケジュールを複数 の単発スケジュールに展開し
3. それを mhc2ol に食わせる

これなら ruby 知らなくてよし.

実は東京からの帰りの新幹線の中で書き上げられるだろうとたかをくくって いたのだが,意外と手間取った.むう.

というわけで展開スクリプト mhc-unroll.pl はこんな感じ. (なんか forbidden になるので suffix を .txt にしてます)

% mhc-unroll.pl -s /home/hoge/Mail/schedule/ -d /home/hoge/Mail/schedule_unroll/

とかして,schedule/ から schedule_unroll/ に展開される.一応 .ol_sync は保存するようにしてあるけど,これでいいのかはよく分からな い.

とりあえず自分が必要な機能しか作ってないのでかなり不完全.具体的には,

  • X-SC-Cond は,「曜日」と「何週目か」しか実装してない
  • 「何週目か」のうち,last は実装してない
  • X-SC-*** ヘッダが複数行に渡っている場合を考慮していない

あたりがちょっと問題ありそう.まあ必要になったら直そうかなと.


展開のロジックは,MHC 本体がスケジュールを表示する際とは違ったやり方 になっている.MHC では,1 ヵ月とかの一定の短い期間の展開ができればよ いので,期間内の日を 1 日ずつ iteration しながら,各スケジュールの日 付条件を評価していく.この方式は汎用性は極めて高いが,展開する期間が 長い場合には無駄が多そうな気がしたので,各スケジュールについて期間内 の月を 1 月ずつ iteration しながら,該当する日付をリストアップしてい くことにした.実際にどっちが速いのかは比べてないので分からない.

実行時間は,MHC 母艦である UNIX 機 (suite) だと数秒 (もちろんデータ 量によるけど).ところが,mhc2ol を動かす Windows 機 (caprice) 上の Cygwin だと 60 秒くらいかかる (rsync も含む).ぐはー.UNIX 機のディ スクを SMB/CIFS 経由でアクセスするのが死ぬほど遅いらしい.ちなみに NAS (etude) にデータを置いて試しても似たようなものだったので, SMB/CIFS サーバ側のせいではなさそう.

で,どうも SMB/CIFS 経由の write が特に遅いようだったので,UNIX 機を 展開元,Windows 機を展開先として mhc-unroll を走らせることにしたら, 60 秒が 15 秒に縮んだ.ついでにこのおかげで mhc2ol 自体の実行時間も, 今まで 40 秒くらいかかってたのが 20 秒くらいに縮んだ (mhc2ol も Cygwin 上で実行している).

んー,Cygwin に頼り過ぎるのも考えものなのかな.


さてこれのテスト中に「mhc2ol はデフォルトでは,現在の 3 ヶ月前から 3 ヶ月後までの範囲のデータしか outlook に export しない」という事実を 初めて知った.というかそれを知らずに,自分のコードのバグだと思って無 駄に悩んだ.

mhc2ol の引数に 20050101-20051231 などと指定すると,その範囲が export されるようになる.絶対日時じゃ不便でしかたないので,こんな感 じにするのがよい.

% mhc2ol -r /home/hoge/schedule_unrolled/ -i -H -m `date +%Y%m%d --date "3 months ago"`-`date +%Y%m%d --date "2 year"`'

ここの真似です.べーんり.

ついでにメモ.FreeBSD の /bin/date には --date オプションはなくて, 代わりに -v を使う.

% date -v-3m +%Y%m%d
% date -v+2y +%Y%m%d

なお,恐ろしいことに +%Y%m%d とかの指定の後ろに -v が (というか他の オプションも全部) 来てはいけないという仕様になっているので注意.要す るに +%Y%m%d 部はオプションじゃないってことなんだな.誰だこんな仕様 にしたやつは.

2005-07-10 Sun

* f901is スケジューラの問題点 [f901is][mhc]

数日使っていると,さっそく困った点が露見して来る.

毎週・毎月などの繰り返し予定に,期間終了が設定できない

MHC だと,

X-SC-Subject: 計算機工学
X-SC-Time: 13:00
X-SC-Cond: Mon
X-SC-Duration: 20050411-20050731

みたいなやつ.Outlook だと,

月曜日 ごと  13:00。 2005/04/11 から 2005/07/25 まで有効

となる.

これを f901is につっこむと,

開始: 2005/4/11 13:00
繰り返し: 毎週

となる.どうも終了の概念がなく,一度入れた繰り返し設定は永遠に続くこ とになっているらしい.止めるにはスケジュール自体を消せってことか.い けてねー.

さてどうしよう.mhc2ol をいじって単発スケジュールに展開するのが一番 楽なのかな.めんどくさそう.ていうか ruby わからん.

というわけで購入を検討している人は注意してください.

関連記事:
[2005-07-18-1] mhc-unroll

2005-07-08 Fri

* データリンク・データシンクロ [f901is][mhc]

f901is を買った最大の動機 [2005-07-07-2] である PC との連携周りをさっ そくいじってみる.

付属マニュアルとかには特に詳しい記載はなくて,CD-ROM 内のテキスト(!) ファイルとか,オンラインヘルプとかのみが情報源らしい.Windows のオン ラインヘルプってあまり好きじゃないんだよな.何か見ずらい.

さてまず試してみて,さっぱりつながらずにタイムアウトとかしてしまって 悩む.実は何のことはない,PC 側から接続操作をすると,携帯側にダイア ログが開いて,OK を押したり認証コードを入れたりが必要になるのだが, 携帯を閉めっぱなしで試していたのでこれに全然気づかなかったというオチ だった (← ドキュメント読め).この作業自体は省略できるような手順が用 意されているようなので追い追い探って行くとしよう.

データリンクソフトでは,データの一括バックアップやリストアなどができ る.なのでカメラで撮った画像とか住所録とかを PC に転送してまとめて閲 覧できる.のはいいのだが,住所録を Excel に export したりとかはでき なさげな雰囲気.うーむ.データシンクロソフトで Outlook と同期して, そこから Excel にするのが正しいのかな.


というわけでデータリンクいじりはそこそこで切り上げて,今回の目玉だっ た Outlook とのスケジュール同期を試す.

バックグラウンドを説明しておくと,私の場合,スケジュールは UNIX 機 (suite) 上で Mew + MHC を使って管理している.

MHC には mhc2ol というツールが付属していて,スケジュールデータを Outlook に流し込むことができる.これを Windows 機 (caprice) の cygwin にインストールして,samba を動かした UNIX 機の ~/Mail/schedule を指定して走らせると Outlook にスケジュールが吸い出 される.逆 (Outlook → MHC) はどうもまだできないみたい.(なんかソー スコード見るとそれっぽい記述が紛れ込んでるようだが.期待してていいの だろうか)

Outlook にデータを用意してから,データシンクロソフトを起動.同期自体 はあっさり完了.素晴らしい.と思ったのも束の間.f901is のスケジュー ラの 要約・メモ欄は 600byte までしか入らない らしい.ひどい,mova の i-mode メール並じゃん…

MHC の場合,この要約・メモ欄には管理用のヘッダ情報と,スケジュールの 元になったメールの本文全部が入るのだけど,600byte だとほとんどヘッダ のみで終わってしまう.うーむ.なんとかならんか.と思ってよく調べると, mhc2ol には -H というオプションがあって,Outlook に移すときに管理用 ヘッダを省いてくれる.これでなんとかなるかな.それでも 600byte は短 いから,これからは長いメールを MHC につっこむときは,先頭にまとめを 書いたりする癖をつけないといかんなあ.

というわけでいろいろと難はあるのだが,まあ何とか携帯で常時スケジュー ルを確認できるようになった.待受画面にスケジュールを表示できて,ボタ ン 1 個で詳細を開けるので,アクセスも悪くない.一覧性が悪いのは,ま あ仕方ないかなあと思っている.しばらく使ってみて,PDA をポイできる か考えよう.

とりあえず懸案事項:

  • 同期時には,携帯側や PC 側にいっぱいダイアログが出て来ていちいち OK を押したり,認証コードを入れたりしなくてはならない.この辺は設定次第だと思うが,どの程度まで省略できるのだろう.はっきり言ってうざい.
  • PDA みたいに,卓上ホルダに携帯つっこんだら自動的に同期を開始してくれたりはしないんだろうか.
  • 要約・メモ欄は 600 byte で十分なんだろうか.
  • 自宅でも大学でも同期するようにして,混乱なく運用できるだろうか.

最終更新時間: 2008-04-23 08:31


Shingo W. Kagami - swk(at)kagami.org