前の日 / 次の日 / 最新

swk's log

2005-07-18 Mon

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

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

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

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

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

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

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

* 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 検出機能
[ コメントを全部見る / コメントを書く] [ TrackBack ( )] [固定リンク]

* [Duwedvb72t] <a href=http... (2016-01-22 22:14:31)

* [Emma] This is just the perfect aneswr for all ... (2012-12-30 18:05:48)

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

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

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

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

* 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 >>
SuMoTuWeThFrSa
12
3456789
10111213141516
17181920212223
24252627282930
31

2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12
2002 : 01 02 03 04 05 06 07 08 09 10 11 12
2001 : 01 02 03 04 05 06 07 08 09 10 11 12
2000 : 01 02 03 04 05 06 07 08 09 10 11 12
1999 : 01 02 03 04 05 06 07 08 09 10 11 12
1998 : 01 02 03 04 05 06 07 08 09 10 11 12
1997 : 01 02 03 04 05 06 07 08 09 10 11 12
1996 : 01 02 03 04 05 06 07 08 09 10 11 12

最終更新時間: 2012-02-13 02:02


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