なんか怒られたっぽい
適当にコミットしてたら、コメントついてて焦った...
http://github.com/nex3/arc/commit/b016e96943b4ef2a29fcefb97a047c52f7fd6f22
「その変更はすべきじゃないね」ってことだと思うけど、shouldが強調されてるっぽいのはどうゆうこと?なんか怖ぇ。
とりあえず、言われた通り(ぼくなりに解釈した)に変更してコミットしてみた...けど、大丈夫なのか?
http://github.com/nex3/arc/commit/c31e0ef1f41546663a71d0f0c8f6953865ebb9ad
うわー、ほんと英語できるようになりたい。ちゃんとコミュニケーション取りたい。もし日本人として恥をばらまいてたらすまん。
Arc-users.jpはじめました
日本のArcユーザのためのハブサイト「Arc-users.jp」をはじめた。
Arc-users.jp - 日本の Arc ユーザのためのハブサイト
もともと、日本語でのArc Forumを立ち上げようと思って、こっそり準備してたんだけど、最近の、*-users.jpブームに乗っかって、今しかないと思い、見切り発車ながらスタートを切った。例によってノープラン。というか、既にブームに乗り遅れてる感も...
本家のArc Forumも、最近は特にネタもなく落ち着いちゃった気がするし、ぼくから提供できるネタってのもあまり無いかもしれないけど、それでも、日本語でArcについて語り合う場所だけでも、提供できればと思う。
第2回gauche.nightでShiroさんは「Arcについてまだ何か言うのは早いかなぁ」と言ったそうだけど、そんなの関係ねぇ。Arcはもっと評価されるべき。むしろ、ぼくたちがよりいいものにしていくだ。だって、Paulはハッカーのためにハッカーのための言語を作ってるんだよ。
みんな「ハッカーと画家」読んだよね?Paul Graham好きだよね?だったら、Arcやろうぜ。
ネタにはしってるサイトも多々あるけど、arc-users.jpはガチ。
news.arcのローカライズ
http://github.com/ryuji/arc/tree/master
勢いだけで、news.arcを中心にArcのローカライズに着手してたりする。英語もろくにわからないクセにね。あと、そういう経験もないので完全に手探り状態。
とりあえず、ハードコーディングされてる文字列を抜き出して適当に翻訳して、誰か英語ができる人に添削してもらうって流れでいこうかな。
というか、すでに飽きてきた...
Arcを制御するrc-script
Gentoo LinuxでArcを動かす人向けっていうニッチなネタだけども。
たとえば、news.arcの起動を制御したい場合、まず、nsvを起動するファイルを作成する。とりあえず、ロードして起動するだけの簡単なスクリプト。
rc-news.arc
(load "news.arc")
(nsv)
次に、rc-scriptだけど、Anarkiのas.scmはパラメータでファイルを渡せる拡張が入ってるのでそれを利用する。あと、start-stop-daemonが便利すぎるので、デーモン化とかそういう難しそうなことは、こいつに任せる。
/etc/init.d/news
#!/sbin/runscript
depend() {
use net
before lighttpd
}
MZSCHEME="/usr/local/bin/mzscheme" # path to mzscheme
ARC_HOME="/usr/local/arc" # path to arc directory
start() {
ebegin "Starting News"
start-stop-daemon --start --quiet --background --make-pidfile \
--pidfile /var/run/news.pid --exec "$MZSCHEME" \
-- --no-init-file --mute-banner --load-cd \
"$ARC_HOME/as.scm" "$ARC_HOME/rc-news.arc"
eend $? "Failed to start News"
}
stop() {
ebegin "Stopping News"
start-stop-daemon --stop --quiet --pidfile /var/run/news.pid
eend $? "Failed to stop News"
}
これで、
# /etc/init.d/news start
# /etc/init.d/news restart
# /etc/init.d/news stop
って感じで、起動停止の制御が可能。OSブート時に一緒に起動したいなら、
# rc-update add news default
とでもしておけばok。
Yahoo!にはみごにされるので、HEADリクエストに対応した
Yahoo!のクローラに嫌われてるみたいなので調べてみたら、ArcのHTTPサーバであるsrv.arcはHEADリクエストに対して、決め打ちで404 Not Foundを返してる。というか、HEADメソッドをサポートしてない。ちなみに、Googlebotくんは、HEADに失敗したらGETでリトライしてくれる働き者のかわいい奴。Microsoftのはまだ来ない。
うーむ。HTTPサーバってHEADメソッドをサポートする必要なかったっけ?愚痴ってるヒマあったらコード書けってことだな。で、RFC2616のHEADの仕様をざっくり把握したところ、メッセージボディは返しちゃダメで、ヘッダーだけGETと同じのを返せばいいってことらしいので、適当にでっちあげて、Anarkiにpushしてみた。ドッキドキ。
だけども、Arcで動いてるHacker NewsとかArc ForumにHEADリクエスト投げたら、ちゃんとステータス200で応答するんだよな(メッセージボディも返ってくるけど)。どうやらAnarkiバージョンでエラーコードに対応したみたい。オリジナルのsrv.arcはどんなリクエストに対してもエラーコードを返さないし、HEADメソッドをサポートしてないことには変わりないので、それはそれで問題だね。
そんなことより、500行足らずでHTTPサーバを実装して、それでサイト運営しちゃうPaul Grahamのハッカーぶりには、とても追いつけそうにない。