2004-07-02 (Fri) [長年日記]
_ mod_rubyのSubversionリポジトリ
mod_rubyのSubversionリポジトリを 公開した。 1.0.0だけど、ちゃんとパッチがあったってるバージョンですのでご心配なく(Apache2も同様にパッチをあててます)。
ViewCVSでも 見えます。
ところで、リポジトリとレポジトリってどっちか迷いませんか?
2004-07-04 (Sun) [長年日記]
_ 日焼け
上の子が「首がかゆい。虫に刺された。」というので、見ていると少し赤くなっている。 腫れはないようなので、刺されたばっかりなのかな、と思い、 キンカンみたいなのを塗ってやると、「いたい、いたい」と泣きわめきはじめた。 どうやら、虫刺されではなく、昨日の海での日焼けだったようだ。 そりゃいたいわな。
人生とは斯くの如く厳しいものなのだ、娘よ。
2004-07-05 (Mon) [長年日記]
_ beta.modruby.net
modruby.netにlilyを導入するための準備中。
ついでに、mod_rubyのバージョンを表示するためのプラグインを書いてみた。 と言っても見ての通り三行である。
flavour/foot.{flav,html}に、
<p id="powered"> Generated by <a href="http://www.mikihoshi.com/lily" title="">lily</a> $version<br /> Powered by <a href="http://www.ruby-lang.org/" title="ruby-lang.org">ruby</a> $ruby_version / <a href="http://modruby.net/" title="modruby.net">mod_ruby</a> $mod_ruby_version </p>
とか書いとくと、mod_rubyのバージョンが表示されるはず。
2004-07-07 (Wed) [長年日記]
_ libapache2-mod-ruby
sidに入ったみたい。
_ uim-primeのvi対応
viでuim-primeを使っていると、ついつい英数モードにするのを忘れて escapeを押してしまう。
anthy-dev MLで聞いてみたところ、.uimにこんなのを入れとけば、escapeの 時に自動で英数モードにできるようだ。
(define prime-push-key-orig prime-push-key) (set! prime-push-key (lambda (c key key-state) (if (or (= key 'escape) (and (= key 91) ;; [ (= key-state 2))) ;; control (let ((sc (context-data c)) (id (context-id c))) (prime-context-set-mode! sc prime-mode-latin) (prime-update-mode id sc))) (prime-push-key-orig c key key-state)))
ついでに、もう一度iとかでinsert modeに戻る時に、前のuim-primeの モードに戻すようにしてみた。
(define prime-suspended-mode -1) (define prime-in-vi-c-command #f) (define prime-context-set-mode-orig! prime-context-set-mode!) (set! prime-context-set-mode! (lambda (ac mode) (set! prime-suspended-mode -1) (set! prime-in-vi-c-command #f) (prime-context-set-mode-orig! ac mode))) (define prime-push-key-orig prime-push-key) (set! prime-push-key (lambda (c key key-state) (let* ((sc (context-data c)) (mode (prime-context-mode sc))) (prime-push-key-orig c key key-state) (cond ((and (not (= mode prime-mode-latin)) (or (= key 'escape) (and (= key 91) ;; [ (= key-state 2)))) ;; control (prime-context-set-mode-orig! sc prime-mode-latin) (prime-update-mode (context-id c) sc) (set! prime-suspended-mode mode) (set! prime-in-vi-c-command #f)) ((and (= mode prime-mode-latin) (>= prime-suspended-mode 0)) (cond ((or (= key 105) ;; i (= key 73) ;; I (= key 97) ;; a (= key 65) ;; A (= key 111) ;; o (= key 79) ;; O (= key 67) ;; C (= key 115) ;; s (= key 83) ;; S (and prime-in-vi-c-command (or (= key ) (= key 108) ;; l (= key 119) ;; w (= key 101) ;; e (= key 99) ;; c (= key 71)))) ;; G (prime-context-set-mode-orig! sc prime-suspended-mode) (prime-update-mode (context-id c) sc) (set! prime-suspended-mode -1) (set! prime-in-vi-c-command #f)) ((= key 99) ;; c (set! prime-in-vi-c-command #t)) ((or (= key 58) ;; : (= key 47) ;; / (= key 63) ;; ? (= key 33) ;; ! (= key 'escape)) (set! prime-suspended-mode -1) (set! prime-in-vi-c-command #f))))))))
やっぱりSchemeは日常的に使うのはつらそうだなあ。 自分の能力的に。
_ modruby.net
リニューアルしました。
2004-07-08 (Thu) [長年日記]
_ use Vim in Evolution
thunderbirdにも欲しいよお。 あるいはevolutionに乗り換えるべきか。
前に試した時はSubjectがUTF-8になっちゃったりとかいろいろ問題があったのだが、今は直ってたりするんだろうか。
_ RDスタイル for lily
適当にでっちあげてみた。 (動いている様子)
pluginディレクトリにこれを突っ込んで、lily.cfgに
file_extension txt wiki rd
とか書いとけば、.rdという拡張子のファイルをRDとして処理する ようになります。
.rdの中身はふつーに
= 記事のタイトル == 見出し1 本文....
みたいな感じで。
最初はVisitorをクラスにしようと思ったが、プラグインがinstance_evalで 評価されることを思い出して、RD::RD2HTMLVisitorのインスタンスに 特異メソッドを定義するようにしてみた。
たまにはクラスレスなのも面白いかもしれない (とかいうほどたいしたことはしてないけど)。
2004-07-10 (Sat) [長年日記]
_ ところてんとからし
スーパーでところてんをかったら、つゆといっしょにからしがついていた。 え、からしなんか入れるの?、と思って「ところてん からし」で検索したら けっこうひっかかる。うーん、入れるべきか、入れざるべきか。
ちなみに糖蜜で食べる人もいるらしい。くずきり感覚なんだろうか。
2004-07-12 (Mon) [長年日記]
_ IA64 だと 0 と NULL は違う
ポインタを要求する文脈では常に 0 は NULL pointer を表わすってわけでもないのね.
[Memorandaより引用]
「ポインタを要求する文脈」かどうかがコンパイラには わからないケース(可変長引数)だったから、0でヌルポインタを生成してくれなかった、 ということじゃないのかなあ。
#define NULL 0
というのも規格的にはOKですよね、たしか。
あと、
#define NULL ((void *)0)
な処理系でも、void*とchar*の内部表現が違うと、キャストなしのNULL ではまずいんじゃないのかな(ってそんな処理系を実際に見たことはないのですけど)。
なので、ほんとは0をNULLにするんじゃなくて、(char *) 0とか適切な型に キャストしてやるべきな気が。 (まつもとさんがNULLを使わないのはポリシーなはず。)
とかいうのは全部私の勘違いかもしれませんので、間違ってたらごめんなさい。
2004-07-17 (Sat) [長年日記]
_ Net::IMAPの修正
やまださんに指摘していただいて、literalの送信時にcontinuation request を待つように修正。
あと、SSLを使う時に、logout時にSSLErrorが発生するようになっていたので EOFが来ることを期待せず、LOGOUTコマンドの応答が来た時点で切断するように修正した。
2004-07-21 (Wed) [長年日記]
_ チーズケーキとキャラメルパウンドケーキ
奥さんが作ったチーズケーキとキャラメルパウンドケーキ。 ボーナスで買ったオーブンのおかけで見た目もなかなかの焼きあがり。
甘さ控えめのチーズケーキの方がおいしく感じるのは年を取ったせいか。
2004-07-23 (Fri) [長年日記]
_ libmysql-ruby1.8とphp4-mysql
php4をインストールするとmod_rubyが落ちるというバグレポートが あったので、調べていると、libmysql-ruby1.8とphp4-mysqlがリンク しているlibmysqlclient.soのバージョンが違っていて、衝突している せいだった。
とりあえず、mod_rubyではどうにもならないのでBTSでは閉じたけど、 どうするべきなんかなあ。
2004-07-26 (Mon) [長年日記]
_ 静的型言語
型は構造ではなく、signatureで表現する。 型をメソッドの集合によって表現する。 メソッドの名前、それぞれの引数の数とsignatureがすべて一致する型は 同じ型であるとする。ちょっとドラスティックすぎるか。 型の互換性はsignatureの包含関係でチェックする。
[Matzにっきより引用]
Emeraldとかいう言語がそんな感じじゃなかったですっけ。 (ってfjか何かの記事で読んだだけですけど。) あと、gccのC++拡張のsignatureとか。
でも、そこを明示しないんだったらRubyみたいな動的言語でもいいような 気もします。 それでは既存の型のsuper typeが定義できないから柔軟性がない、という 向きにはsupertypingで。
_ Supertyping Suggestion for Haskell
Googleで"supertyping"で検索したらこんな記事が。 Satherへの言及もあるようだ。
_ tDiary-2.0.0
ようやくアップグレードした。
2004-07-27 (Tue) [長年日記]
_ amavis
やたらウィルスメールが来るので、やまださんおすすめのamavisという ウィルススキャナを導入した。
以下はdebian woodyへの導入手順。
以下のapt-lineを追加する。
deb http://www.backports.org/debian/ woody amavisd-new deb http://www.backports.org/debian/ woody clamav
以下のパッケージをインストールする。
# apt-get update # apt-get install amavisd-new clamav-daemon clamav-freshclam
質問の答えはすべてデフォルトでよい。
ユーザclamavをグループamavisに追加する(amavisから利用できるように するため)。
# adduser clamav amavis
clamav-daemon/clamav-freshclamを再起動する。
# /etc/init.d/clamav-daemon restart # /etc/init.d/clamav-freshclam restart
/etc/amavis/amavisd.confの$banned_filename_reの以下の部分 (amavisd-new-20030616p10-0.backports.org.1では688行目)をコメント アウトする(日本語の添付ファイル名をWindowsのCLSIDと誤判定するのを 防ぐため)。
修正前:
qr'[{}]', # curly braces in names (serve as Class ID extensions - CLSID)
修正後:
# qr'[{}]', # curly braces in names (serve as Class ID extensions - CLSID)
また、$mydomainや$myhostnameを適切に設定する。
amavisを再起動する。
# /etc/init.d/amavis restart
/etc/postfix/master.cfの末尾に以下の内容を追加する。
smtp-amavis unix - - - - 2 smtp -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes 127.0.0.1:10025 inet n - - - - smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_restriction_classes= -o smtpd_client_restrictions= -o smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o strict_rfc821_envelopes=yes -o smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o smtpd_hard_error_limit=1000
/etc/postfix/main.cfの末尾に以下の内容を追加する。
content_filter=smtp-amavis:[127.0.0.1]:10024
postfixに設定をリロードさせる。
# /etc/init.d/postfix reload
postmasterへの報告メールがいらない場合は、amavis.confに
$virus_admin = undef; # do not send virus admin notifications (default)
と書いておけばいいらしい。
2004-07-28 (Wed) [長年日記]
_ CGI::CGI_PARAMS
まつもとさんに意見を聞かれて、「いらないんじゃないですかね」と いうことで削除する方向に。 ぎゃっと言う人がいませんように。
_ IMAP interface for morg
まつもとさんのメールオーガナイザーにIMAPサーバとして振る舞う インタフェイスを付けたらいろんなMUAで使えてうれしくないかなあ。
と思っていたけど、よく考えたらthunderbirdの検索インタフェイスは いまいちなのであんまりうれしくないな。
_ irc6.nara.wide.ad.jp
逆引が出来ないとIRCで不便なので、ddo.jpの ダイナミックDNSサービスを使ってみたりしたけど、上手く行かず。
irc6.nara.wide.ad.jpにIPv6でアクセスするようにしたら、制限なしの 接続が出来たみたい。 逆引できなくても制限がかけられていないのは、アドレスで判断してる んだろうか。
_ modruby.netのIPv6対応
というわけで、ついでにIPv6対応しました。
_ ただただし [そりゃもう、嬉しいですよ >IMAPインタフェース でも、検索じゃなくてメールボックスとして実装した方が面白いかも]
2004-07-30 (Fri) [長年日記]
_ かずひこさん来襲
会社にかずひこさんが来られた。 勤務されるのは来週からのようだけど、あいにく来週は水曜までは 実家に帰っているのだった。
ゆうなさんもご一緒で、時々二人だけの世界に入っておられましたよ。
_ @@@@ [んじゃ,ヌポジトリくらいで]