家庭内共有カレンダーの設定
共有のカレンダー情報の取扱いに必要な情報を、自宅用(ママ用)にメモ。
iCalendar 登録プログラム
WebDAV + thunderbird + Lightning + PHP iCalendar によるスケジュールの共通化で、 携帯電話からのスケジュール登録をするために、perl の Data::ICal を使って 簡単な CGI を作っていた。 しかし、Date::ICal あたりでは TZID の取扱い機能がなくて、 正しくスケジュール登録ができない。 どうせ、データの追記程度しかしないので、Data::ICal モジュールも使わないで、 プログラムを作成した。
# iCalendar の取扱いで注意が必要なのは、VTIMEZONE の後に VTODO,VEVENT を追記すると、
# さらにイベントの追加削除を繰り返した時に文字化けが発生する。
高校生のカバンは15Kg
高専生だと、財布だけって学生もよくみるなぁ…
# おまぃら、べんきょーせー…
ajaxterm
Ajax の技術を使った Web 端末で Python 経由してサーバに login できる。 動作確認をして、ひとまず機能を殺しておく。反応は Ajax 経由で遅い。 英字しか使えず日本語は通らない。
SCIM と emacs
漢字入力に scim を使いはじめているが、漢字変換モードに Control+Space を使っていると xemacs で、M-x set-mark-command が できない。 "XMODIFIERS=@im=none xemacs" にて起動する方法もあるが、 Shift+Space にも慣れてるし、こだわりも無い。
SCIM→[設定]→[全般]→[キーボードショートカット]→[開始/終了] Control+Space を削除、Control+backslash を追加。
カーナビを過信
カーナビを信じて右折したら事故ったそうだ。 GPS は、軍事利用目的対策のため、民生品には10~30m 程の誤差が加えられてる。 んで、その誤差を消すためにハンドル操作による方向転換と地図情報と連動して、 精度を確保しているだけ。
でも信じて事故が発生すると、アメリカならアホみたいに弁護士がネタに飛びつき、 PL 法を持ち出してくる。 だから、アメ車のバックミラーには、いちいち小さく 「バックミラーに写る大きさは、実際とは異なります」と書いてあるそうだ。
# 電子レンジに猫をいれてはいけない…と同じあるね。
だから、こんなネタがあると、カーナビを電源いれる度に、 「画面に表示される位置には誤差があります…」 なんていちいち、しゃべるようになるのだろうか…
# うぜぇ~
iCalendar ファイルの読み書き(Data::ICal )
参考 URL を見て、名前そのものの iCal::Parser 等のインストールを試すが、 途中でエラー等も多発するし、 CGI を作るのであれば、書き込み機能も欲しい。 しかし、iCal::Parser のインストールの途中でインストールしようとする モジュールの中にあった、 Data::ICal の方なら Data::ICal->as_string メソッドもあって便利。
# perl -MCPAN -e shell cpan> install Data::ICal でいれてたけど、debian パッケージ探すと、 # apt-get install libdate-ical-perl/unstable でオッケー。と思ったが CPAN では、Data::ICal , perl では、date-ical ?... よくよくソースを見ると、Date::ICal は日付データしか扱えないのであった...
さっそく使ってみる。
use Data::ICal ; use Data::ICal::Entry::Todo ; use Data::ICal::Entry::Event ; use Date::ICal ; # 微妙... my $calendar = Data::ICal->new( filename => $ARGV[0] ) ; # ToDo の作成 my $new_todo = Data::ICal::Entry::Todo->new() ; $new_todo->add_properties( summary => "資料提出" , status => 'INCOMPLETE' , dtstart => Date::ICal->new( year => 2006 , month => 10 , day => 30 ... )->ical ) ; $calendar->add_entry( $new_todo ) ; # Event の作成 my $new_event = Data::ICal::Entry::Event->new() ; $new_event->add_properties( summary => "会議" , description => "会議の説明" , dtstart => Date::ICal->new( epoch => time() )->ical ) ; $calendar->add_entry( $new_event ) ; # iCalendar ファイルの出力 print $calendar->as_string ;
x-up-subno でアクセス制限
SetEnvIf x-up-subno ^070xxxxxxxxxxx_xx\.ezweb\.ne\.jp$ mobile Order Deny,Allow Allow From env=mobile Deny from all
RoboOne やる?
テクノフェアで簡単なロボット模型制御のデモをしてるけど、 同じく会場デモの友人に、「そんなんやってるんならRoboOneやらない?」と誘われる。 テレビの試合では制御の難しさもあり 「技術オタ・お父さん」の大会の様相もある。 うっ、やりたいと思ってしまうのであった… (by パパ)

