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. 読んだ。

読んだ順

半分の月がのぼる空6
セーラー服。いろんな意味で何度か閉じた。やれやれ!!
狼と香辛料
こういう系はあんまり見ないなって思った。
RE:凪野アオイ
ちょ、おま、的展開が多かった。戦争ものかよーって思っててけとーに読んでたのだけれど、後半は結構よかった。
神曲奏界ポリフォニカ
若干オサレ系 (謎) だったので何度か閉じた。ラノベの王道的展開というかなんというか……
お留守バンシー
やわらかい系。こういうの好きよ。うん。

そういえば伏線をどうこうする作品が少ない気がする。かろうじて RE はそういう傾向かもしれないけど、これもあっさり伏線回収するしなぁ。

あと学園モノと見るからにオサレ系 (しかし友人の話だと中途半端にオサレ) が残ってる。オサレ系は最後まで読めなさそう。前借りたオサレ系なやつは3ページか4ページから先を全く読めなかった。あのオサレさは僕には無理ですよ、みたいな感じ。

  1. トップ
  2. book
  3. 読み終わったリスト

オーバーレイされた画像の画像

mixi-overlay.user.js もうありそう

Lightbox のパクりだけれど、Lightbox のソースを使ってないです。素直に使えよって話ですよ。ローディングイベント系をタレカ (謎) しているので、結構微妙。

普通のポップアップで画像表示するのを抑制して、オーバーレイで表示します。MM_openBrWindow() で開くやつを全て書き換え。

それと他人のプロフィールページ (/show_friend.pl) のときは、その人の画像 (または「もっと写真を見る」リンク) をクリックすることで、その人の写真全部をオーバーレイ (上の画像がその様子) します。

  1. トップ
  2. mixi
  3. mixi, 画像をオーバーレイさせる GreaseMonkey スクリプト
  1. トップ
  2. js
  3. mixi, 画像をオーバーレイさせる GreaseMonkey スクリプト

中村屋

作品名:中村屋

過激な内容ですので、18未満のエロゲをできない方や、心臓が弱い方はご遠慮ください。

ライセンスは Public Domain ですので、どしどしこれを使って CSS を書いたりしてみてください。mixi の画像にも最適です。ということで、mixi 用の画像 もありますよ。

洗濯機

ついでに洗濯機。

  1. トップ
  2. web
  3. UI がカスなお絵かきチャットをした。

何か思ったよりも3カラム破壊 CSS or GreaseMonkey Script がブックマークされてて怖い。たぶん ma.la さんのところからリンク張られたせいだ。しかし ma.la さんのアイデアがすごいと思った。「忘れてた (CSS の) プロパティを思い出すよ……」なんて詩的になってしまいたくもなる。どこが詩的かはともかく、ね。

それにしても、スクリプトを書くに当たって mixi のソースを眺めたけれど、「これはひどい」って感じだ。Web 2.0 にちなんで mixi は Web 0.8 とか Web 0.9 とか言われているけど、ホントそんな感じ。まぁソース気にするのなんて一部のアレ気な人だけだろうけど。

しかしまぁそんなところにですよ、この謎の固定幅3カラム化とか、不思議だなぁなんて。レイアウトを変えて、要求するブラウザサイズを上げて、正直どこでも得られるような情報を表示されても、なぁ。なぁなんてなぁ。

関係ないけど、mixi がいくら閉鎖的って言ったって、人口一位ってねぇ、会員一杯いたらさ、結局 WWW と大して変わらないじゃまいか。個人情報とか、危ない、ぜ?

どうせやるなら、ウェブサービスとか、Ajax とか、もっとウェブウェブした、先駆的なことをして欲しかった。会員だけ多くたってねぇ。

ああなんか書こうと思ったことを忘れてしまった。すかいぷめ。

いくつかの SNS から mixi が選ばれたのは、足跡のせいだよね。mixi を使えば使うほど、誰かに足跡を残せば残すほど、「誰か」が自分を見てくれるという幻想が足跡にあるんだよね。気持ち悪いけど、そういうものみたいだ。

  1. トップ
  2. net
  3. mixi がアレなのは HTML やデザインだけじゃない。

リファレンス URI の横にブクマ数を表示。

個別記事へのリンクに対してはてなブックマークの数を表示する GreaseMonkey スクリプトを自分用に書いた。結構便利。del.icio.us meets Hatena Bookmark を参考にして、処理を実用レベルで問題ない部分まで削った。E4X をちょっと練習してみたかった。

del.icio.us も一緒に表示するように作ったんだけど、問題があってコメントアウトした。del.icio.us は一括でとってこれないっぽいので仕方なく /url?url= にちまちまアクセスしたいたわけなのです。しかしながら、やはり結構アクセスしまくるからか、503 エラーを食らうという罠が待っておりました。切ない。確かはてなはドメイン指定でブクマ一覧が見れたはずなので、del.icio.us のほうがドキドキワクワク (謎) かなぁって思ったのだけれど。

  1. トップ
  2. web
  3. はてなブックマークの API を試した。
  1. トップ
  2. site
  3. はてなブックマークの API を試した。
  1. トップ
  2. js
  3. はてなブックマークの API を試した。

横スクロールバーが出っ放しです。f*ck-mixi.user.jsf*ck-mixi-p.user.js 一番右のやつを消す GreaseMonkey スクリプトを書いた。すっきり!

XPath 使うように修正。iterateNext がなんか使えなかったので snapshot 使った。

副作用がでにくいように修正

副作用でログイン画面が消されていたのを修正。

User CSS でやったほうがよさげ。

@-moz-document domain("mixi.jp") {
*[width="950"] {
width: 840px !important;
}
table td > img[src="http://img.mixi.jp/img/smenu_bg.gif"],
table td > img[src="http://img.mixi.jp/img/smenuf_bg.gif"],
table td > img[src="http://img.mixi.jp/img/smenuc_bg.gif"],
td[width="224"] {
display: none !important;
}
}
GM を使う利点
万が一見たくなったときすぐに GM をオフにできる。
CSS を使う利点
軽い。

関係ないけど Stylish がいいってのりさんがいってたので入れてみた。

iwaim さん からのパッチで表示・非表示がリロード無しで切り替えできるようになりました。f*ck-mixi-p.user.js

スクリプトの名前とかは一緒なので何も考えず上書き Install できるはず。

リサイズで勝手にでたり入ったりするように変更。1024 が境目。

  1. トップ
  2. web
  3. mixi が3カラムでアレなので

rep2ch.user.js, 2ch のスレを開くといちいち rep2 で開くか聞くようにするスクリプト。rep2 への URL は初回起動時に指定する。指定しなおしたいときは、2ch のスレを開いて、[Open with rep2?] で Cancel を選択後、ページの一番上の Reset rep2 URL をクリック。

bbs2chreader から rep2 に移行した。ubuntu のほうに PHP5 (php5-cgi) を入れて lighttpd に fcgi の設定を追加。無駄に簡単にインスコできて怖い。PEAR (php-pear) も使うらしいので apt-get install。rep2 の指示に従ってモジュールをインスコして終了。

  1. トップ
  2. js
  3. GreaseMonkey, rep2
  1. トップ
  2. firefox
  3. GreaseMonkey, rep2

やっぱ root で実行させておくと怖いっていうか、はぁ? root で実行してたのかよ、とか怒られそうなので (誰に) ごにょごにょ。これでいいかは知らない。

# ユーザ作成
sudo useradd -s /bin/false -d /www www
# なんか既に www-data はあったので追加
sudo usermod -G www-data www
sudo vi /etc/lighttpd/lighttpd.conf
で server.username, server.groupname をアクティブにして変更

これだけやって起動してみるといろいろエラーが出る。/www とその中身やらログファイルやらが root 所有なので chown www:www-data **/* とかやって所有者変えておいた。fcgi なやつは chmod +x した。rep2 のデータディレクトリ以下も root 所有になってパーミッションエラーがでるので chown www:www-data **/* しといた。

とりあえずここまで。まだなんかありそうで怖い。

  1. トップ
  2. lighttpd
  3. lighttpd, 実行ユーザ変えた
  1. トップ
  2. linux
  3. lighttpd, 実行ユーザ変えた

買ったもの

これから見る。ジャケットの裏側もはてダでした。

VOLA は思ったよりカッコイイ系だった。もっと可愛い系かと勝手に想像してた。可愛い系って何?

daimas さんの声が誰かに似てるんだけど思い出せない。

椿屋四重奏ってなんか和風だよなぁ。唄い方かなぁ。

  1. トップ
  2. music
  3. daimasの日記スペシャルの日記他

クリップボードへコピーを実装した。

実は Firefoxでテキストをクリップボードにコピーする方法 を見てからずっと「やろうやろう」と思ってたんだけど、めんどうくさがってやってなかった。

プレビューエリアの左上に Clipboard と書かれた四角が追加されているので、それに色をドラックアンドドロップ。16進数 (#RRGGBB) でコピーされる。

iframe 版を使っているせいかローディングされるのがちょっと気になるかな。

Fx でしか動きませんよ!

  1. トップ
  2. color
  3. NULL::colors*canvas, クリップボード
  1. トップ
  2. design
  3. NULL::colors*canvas, クリップボード
  1. トップ
  2. js
  3. NULL::colors*canvas, クリップボード

スクロールさせると表示が乱れる。対処法が全く思いつかない。表示確認するときスクロールもしないとだめだなぁ。今回の CSSIE でも大丈夫だと思ってたのに……

今気付いたけど Opera だと左の影が表示されてないなぁ……だめだめじゃないですか。

Opera は大丈夫っぽい。なんか手元の Opera (8.5) が挙動不審すぎる。タブを切り替えないと他のページにうつれない。リロードもできない……

場当たり的だけど対処した。

IE では float: right は使っちゃだめみたいだ。前もはまったのを忘れていた。

  1. トップ
  2. web
  3. IE で表示がおかしいみたいです。