Home
profile
User: [info]hisashim
Name: Hisashi Morita
page summary
calendar
Back December 2008
123456
78910111213
14151617181920
21222324252627
28293031
links
tags
    hisashim's Journal (2000-2008) - May 23rd, 2007

    S式ベースDSLの思い出とかPrologの思い出とか
    http://lispuser.net/memo/misc/2007-05-17-23-48.html

    MicrosoftのAge of Empire IIというゲームを御存知だろうか?
      (defrule
        (current-age == dark-age)
        (building-type-count mill < 2)
        ...
    

    前置記法じゃないけどS式ですね。

    S式だから読み難いんだ、S式は皆に嫌われている、というのはプログラマだけなんじゃないですかねー。あんまりこのAIスクリプトの仕様に文句つけたりする人はいなかったように思います。


    自分はS式にも違和感があったけど、むしろ前置記法や逐次的でない書き方のほうに大きな抵抗があった気がする。でもたぶん慣れの問題が大きい。初等中等教育や日常生活やBASICプログラミングで強化された慣習を変えるのは大変。

    言語になじむには、やはり(AoEの例のように)魅力的なアプリケーションを動かす言語であることが一番だろうなと思う。付き合いたい相手が外国人だと外国語がうまくなるというのと同じで、学ぶ動機が強くて使う時間も長いと、多少奇妙でもすぐに慣れる。十分に魅力的なアプリケーションさえあれば、良かれ悪しかれ慣れは後からついてくる。

    自分にとってはエディタや後ではLispに含まれるアイデア自身が牽引アプリケーションだったんだけど、ほかの人にとっては何なんだろう。やっぱりWebApp?
    リアルタイムRenderManが現実になりつつある。と言ったらいいすぎだけど。

    The Lightspeed Automatic Interactive Lighting Preview System
    http://people.csail.mit.edu/jrk/lightspeed/

    使う素材を前処理して作り上げた「キャッシュ」をGPUに食わせることで、RenderManで長時間かけて計算したのと極めて近いライティング結果をリアルタイムにプレビューして調整できるようにしたらしい。

    いろいろ制限はあるらしいけど、こういう「人の能力を発揮させる」ためにコンピュータを使うのは好き。
    DebianでApache 2.0を2.2へアップグレードするときは注意。特にSSLを使っているときは注意。らしい。

    Debian GNU/Linux 4.0 ("etch") リリースノート (Intel x86 用)
    - etchで知っておくべき問題点

    http://www.debian.org/releases/etch/i386/release-notes/ch-information.ja.html#s-apache2

    5.6 apache2のアップグレード

    Apacheは新しいバージョン2.2にアップグレードしました。普通のユーザはこのアップグレードによる影響を受けませんが、知っておくべき、生じる可能性がある問題点がいくつかあります。

    Debian特有の変更としては、デフォルトパッケージがsslをサポートするようになったため、SSLという文字列にもう意味がなくなった、などが挙げられます。

    リリースノートは読んだけど意味が分からずに流していたら、思い切り影響を受けた。SSLっていうシンボル(?)が定義されないから、<IfDefine SSL>がfalseになるってことだったのね。

    確かに
    /usr/share/doc/apache2.2-common/examples/apache2/extra/httpd-ssl.conf.gz
    からは、2.0のころにあったはずのがなくなっている。

    /etc/apache2/sites-available/foo-ssl
    で<IfDefine SSL>を使わないように編集して解決した。
      <IfDefine SSL>...</IfDefine>
    

    の部分を、内容はそのままでタグを削除ないしコメントアウトするか、もしくは
      <IfModule mod_ssl.c>...</IfModule>
    

    に置き換える。

    削除する場合、無条件に設定が有効になるので、このサイト設定を使うときは忘れずにa2enmod sslしておくこと。

    簡単に書いたけど、apache上のアプリケーションの設定も併せて半日潰れた。

    ---- 以下雑多なメモ

    /etc/apache2/sites-available/foo-ssl
    /usr/share/doc/apache2.2-common/examples/apache2/extra/httpd-ssl.conf.gz
    にもある
      # When we also provide SSL we have to listen to the
      # standard HTTP port (see above) and to the HTTPS port
    

    というコメントを見て/etc/apache2/ports.confを見直したけれど、結局これは関係なかった。これはHTTPに加えてHTTPS「も」提供する場合の話で、HTTPSしか提供しない場合はports.confには何も書く必要なし。SSLを使うサイトの設定にListen 443があればよい。

    ブラウザでアクセスして
      example.org has sent an incorrect or unexpected error: code -12263
    

    のようなエラーが返る場合は、SSLが働いていないことを疑う。

    SSLの動作確認にはopensslが使えるらしい。
      % openssl s_client -connect example.org:443 -state -debug
    

    として、
      SSL_connect:error in SSLv2/v3 read server hello A
    

    と言われたら、HTTPSではなくHTTPをしゃべっている可能性あり。

    ---- 参考

    Debian ETCHで、ApacheのSSLが有効にならない件
    http://d.hatena.ne.jp/zxa/20070503/p1


    ----

    その後リポジトリに小トラブル。
      [error] [client x.x.x.x] Provider encountered an error while streaming a REPORT response.  [500, #0]
      [error] [client x.x.x.x] A failure occurred while driving the update report editor  [500, #104]

    とりあえず繰り返せばcheckoutできるので致命的じゃないんだけど、この先どうなるか心配。svnadmin verifyでは問題は見つからない。

    あやしそうなのはこのへん。
    http://subversion.tigris.org/faq.html#tiger-apr-0.9.6
    Why do I get occasional, seemingly inconsistent errors when checking out over http:// from a repository running on MacOS X 10.4 (Tiger)?

    Note: this assumes the repository is being served by Apache 2.0.x.

    There is a bug in APR 0.9.6 that is present when it is running on Tiger, and shows up when you attempt to check out a file larger than 64Kb.

    http://subversion.tigris.org/faq.html#ssl-negotiation-error
    When performing Subversion operations involving a lot of data over SSL, I get the error SSL negotiation failed: SSL error: decryption failed or bad record mac.

    This can occur due to a problem with OpenSSL 0.9.8. Downgrading to an older version (or possibly upgrading to a newer version) is known to fix this issue.

    うーん。

    ソフトウェアのバージョンが上がれば機能が増えてバグが減るっていう仮定は間違っているけど、なんだか負け気分。

    Apacheは便利だけど、頼りきらずに別の方法も確保しておかないとまずいな。

    Advertisement