daimas DVD でハマってきた。プロローグよいよい。しかし本当に、ライブで見てもヴォーカルがイケメンすぎてもったいない。ちげぇよ! なんかちげぇよ! でもホント、プロローグは素敵。

あと関係ないけどストレイテナーがやっぱいい。ドラムのにーちゃんはいまいち好きになれないのはいいとして、TENDER のよさが最近わかった気がする。REBIRTH もいい。LOVE RECORDS もいい。EVERGREEN もいい。Reminder, The remains は今更言うまでもなく、さりげなく SAD AND BEAUTIFUL WORLD もいい。Melodic Storm窓に射す光る影の色が 瞬く度に変わるように のところが素敵。

伝説板の BURGER NUDS スレで、バーガーに似てるバンドについての話が出てたけど、いまいちしっくりくるのがなくて面白い。

  1. トップ
  2. music
  3. 椿屋四重奏とか

前にも何度か書いて、その度にどうしようもないという結論はでるものの、どうも何を書いていいか何を書いてはいけないかがよくわからない。所謂「常識的な判断」ってのは結局人によって違うから、ある程度参照するにしても、自分の常識と誰かの常識は絶対に一致することがないのだから、厳密な判断基準にはならないし、厳密な判断基準なんて存在しない。だから、誰かに文句をつけられることは、公開文書を書いている以上どうしようもない。とはいえそれだから何を書いてもいいかっていったら当たり前のようにそうではないわけで、その「常識的な判断」の範囲がやっぱりわかっていないといけないのだなぁって。

じゃあどうやってその範囲を見極めるかって言っても上手いこと簡単に見極めることができるなら、こんなセクションなんぞ書かないよなぁ。一対一の場合は何度か相手をキレさせることが必要だけど、不特定多数だとしたらそもそもその方法は通用しないし、むしろ相手をキレさせる気なんてしたくない。ってここまで書いて気付いたけれども、結局言いたいことなんて言わないのが一番いいわけか。なるほど。うんうん。気付くのが遅い。

しかしそれでも、たまに書く何かが誰の気に触れたり、作った何かを批評家気取りの誰かに罵られる可能性は常にあるし、これからもそれを続けるなら、いつか必ずあるといってもいい。今はまだ明確に敵意を持って直接言われたことはないけれど、今だって多少誰かが何かを思っているだろう。だから、それを受ける覚悟と、それを受け流せるスキルが必要なのだけれど、足りていない。どうやってそのスキルをあげるか。

ねむいねむい。

  1. トップ
  2. thinking
  3. 何を書いていいか

今日たまたまはてな RSS に lowreal.net を突っ込んでみたら 500 Error で登録できないことに気付きました。毎回ちゃんとリクエストしてるのが確認できるので、これ使ってデバッグ。

UA によって変わることというなら、ヘッダぐらいしかないので、ENV ダンプして再現するかやってみたけど再現せず、、っと思いきや ENV.clear してなかったので、clear してから突っ込んでみたら見事 500 発生。Accept が存在すると仮定しているコードがあったので @cgi.accept || "*" に書き換えた。はてなは Accept 送らないみたいだ。

HTTP の仕様を見ると Accept がない場合は "*" として扱うとあるので、どうせなら cgi.rb でここらへんのをやってくれると嬉しいと思った。

たぶんこれでブクマしたときに要約がちゃんと生成されるはず。ついでに投げ銭 Acceptable に ;)

  1. トップ
  2. web
  3. 解決:はてなからうちのサイトにリクエスト出すと 500
  1. トップ
  2. net
  3. 解決:はてなからうちのサイトにリクエスト出すと 500

エラー画面

以前CGI FastCGI, rubyとかいうセクションを書いたけど、ENV って普通に書き換えられることに気付いたのでもう一度やってみた。できたっぽい?

#!/usr/bin/ruby
require "fcgi"
FCGI.each do |fcgi|
$stdout = fcgi.out
$stdin = fcgi.in
ENV.replace(fcgi.env)
load(fcgi.env["SCRIPT_FILENAME"], true)
fcgi.finish
end
fastcgi.server             = (
".php" =>
( "localhost" =>
(
"socket" => "/tmp/fcgi-php.socket",
"bin-path" => "/usr/bin/php-cgi"
)
),
".rb" =>
( "localhost-rb" =>
(
"socket" => "/tmp/fcgi-ruby.socket",
"bin-path" => "/home/cho45/bin/ruby-fcgi.rb"
)
)
)  

ruby-fcgi.rb の位置がキモイけれど、これは共有ディレクトリを /home/cho45 以下しか設定してなくてめんどくさかったから。symlink 貼ればいいんだけど……

でもって以下のようなスクリプトでテスト

require "cgi"
puts "Content-type: text/plain\n\n"
@cgi = CGI.new
p @cgi
p @cgi.accept

全く普通の CGI と同じ形式。パッと見上手くいってる。POST のときどうなるか微妙だけどあとで追試。

ちなみに、これだとエラー出力がコンソールにでるけど、その辺は適当にログ残すようにすればいいかな。というか、load してるところの例外キャッチして美しいエラー画面を出すようにすればよろしそう。どうせログなんぞ見ない。

当たり前だけど、FastCGI 前提でプログラム書くならもっと最適化ができるので (リクエストごとに変わらない部分は共通にできる)、普通の CGI でもどっちでも使いたいという場合以外は積極的に使うようなもんじゃない。

ruby-fcgi.rb, エラーをスタックトレース付きで表示するようにした。

ENV.replace があった……

Dir.chdir するように修正。

hiki が一応動くっぽい。と、思いきや、リロードごとに 500 になったり 200 になったりする。なぞい。

$SAFE を設定されていたみたいだ。(リクエスト -> hiki でセーフレベルが設定される -> リクエスト -> セーフレベルがあがっているのでエラー終了 -> 見れない -> リクエスト -> fcgi プロセスが再起動される -> 見れるように) Thread 使って分離した。callcc 使うべきだなぁ。

  1. トップ
  2. ruby
  3. FCGI, Ruby, 変更なしで
  1. トップ
  2. fcgi
  3. FCGI, Ruby, 変更なしで

学校の階段 なにこれ。

今日の IRC

21:43:37 w******> 学校の階段読んだのか
21:43:45 w******> まじえろげ
21:43:50 cho45> まじえろげ
21:43:53 cho45> なにあれ
21:44:00 w******> えろげ
21:44:07 cho45> 後半の姉さんの笑顔まじ萌えす
21:44:18 cho45> じゃなくて
21:44:23 cho45> なにあのえろげ
21:44:25 w******> 確かにあれは萌える
21:44:28 w******> じゃなくて
21:44:32 w******> なにあのえろげ
21:44:44 w******> まあそういうわけで
21:44:51 w******> 続編でたら買いますよ?
21:44:55 cho45> かうのかw
21:45:03 w******> 絵買いばっちこーい!
21:45:12 w******> せいせいせい早く続編書いてくださいよー
21:45:15 cho45> 冷たい姉とのからみキボンヌ
21:45:17 w******> やべえええ俺きもいいいい
21:45:50 w******> ツンとクールと元気と和み
21:45:51 cho45> あれも一種のツンデレだよなぁ。素直になれない系っていうか、素直に見られない系っていうか
21:45:59 w******> だな
21:46:14 w******> しかし主人公が素直になるだけであっさりデレる
21:46:25 cho45> クールは出てきたとき誰だかわからんかった
21:46:41 cho45> 見せ場までの間の存在感が激しく薄い
21:47:14 w******> まあ仕方ない
21:47:16 w******> だがそれがいい

構成考えたら家族の描写は全部いらないよなぁ。あと、なんか主人公が嫌い。

  1. トップ
  2. book
  3. 読んだ。