2010年 07月 02日



2010年 07月 05日


花はたいていいくつかまとまって咲いているものです。その中のどれを見るか、どれを好きかってのは見る人の問題です。不思議なもんで花は、人間とは形が全く似ていないにも関わらず、表情、例えば明るいとか哀しそうとか、そういうのがありますね。

『夜の童話』紺野キタ

夜の童話 (バーズコミックス) - 紺野 キタ

紺野 キタ

3.0 / 5.0

これもまた大変良かった…… 何度も読みかえすだろうという感じ

最後に表題作が入っていて (全体はショートストーリーのオムニバム)、終わりかたがなんともいえない。例えばこう、自分が結婚して家庭を持つと半分こうなりそうだという気がして冷や汗がでた。ただ自分の場合がダメなほうに転がるのでポジティブには終わらないだろうなと思ってしまった (だから半分)。まあそれは置いといてとてもいい話です。

『つづきはまた明日』をまた読みなおしたけれど、やっぱりいいなあ。1巻は前も書いたように佐保が杳の気遣いに気付くところが本当に好きだ。2巻は「手がつめたい人はねえ」からはじまるくだりでぐっとくる

2010年 07月 06日


todo

  • ドメイン更新

gerry++

3週間ぶり?ぐらい? 血便でてから病院いって薬もらってたのだけれど、遅刻しそうで薬飲まずに出社したら下痢った

2010年 07月 07日


2010年 07月 06日

Sunaba が楽しいので、スカウター的なのを書いてみた

なんとなくノリで何の意味もないのをつくって Perl で公開したいときサクっとできるので楽しいですね。id:mechairoi さんと話しながら、よくあるスカウターっぽいのをかいてみました。30分ぐらい

Plack::Request がかんたんには使えないぽいので自力でがんばってます。

use strict;
use warnings;
use URI::Escape;

use Digest::SHA1 qw(sha1_hex);
use URI;

my $handler = sub {
	my $env = shift;
	my $params = +{ map { map { uri_unescape $_ } split /=/, $_, 2 } split /[;&]/, $env->{QUERY_STRING} };


	my $content = '';
	my $url = $params->{url};
	if ($url) {
		my $uri  = URI->new($url);
		my $int  = substr(unpack('H*', sha1_hex($url)), 0, 4);
		my $link = sprintf('http://%s/?url=%s', $env->{HTTP_HOST}, uri_escape($url));
		my $status = uri_escape(sprintf('%s(ryの戦闘能力は%sです %s', $uri->host, $int, $link));
		$content = qq{
			<p>$url の戦闘能力は $int です</p>
			<a href="http://twitter.com/?status=$status">Twitter に投稿</a>
		};
	}

	[ 200, [ "Content-Type", "text/html" ], [
	qq{
		<!DOCTYPE html>
		<title>スカウター</title>
		<style type="text/css">
		body {
			line-height: 1.66;
		}

		div.content {
			width: 50em;
			padding: 1em;
			margin: 1em auto;
		}

		form {
			margin: 2em 0;
		}
		</style>

		<div class="content">
			$content
			<form action="" method="get">
			<input type="text" name="url" value="http://example.com" size="50"/>
			<input type="submit" value="測定"/>
			</form>
		</div>
	}
	] ];
}
2010年 07月 09日



2010年 07月 12日


プリンタ買っていくつかプリントして見て、ウェブ向きに撮りすぎているような感じがした。ポスプロでの処理方とかそういう問題ではなく、撮影時からウェブで公開することを前提にしているのでプリントすると齟齬が多々発生した。

100dpi 程度のディスプレイの横幅 1000px 24cm 程度と、300dpiでA4とでは見える範囲が違くて、細かい表現ができるかできないかとか、雰囲気なのかディテールなのかとか、全然違うのだった。当たり前といえば当たり前のことであるけれど、撮影時から既に出力サイズを意識していなければならない (撮影時の解像度とか機械的じゃなくてもっと根本的に) ことよくがわかった……

事前に違いがでるだろうと思っていた部分 (ウェブ向け低解像度をいいことに意識的にズルをしていた部分) もあって、それも含めて改善しないといけない。

ウェブはフロー特化なので雰囲気重視でいいのだけれども、物理的に存在するようにすると、気をとめてもらう雰囲気と、とめてもらったあとのディテールが必要なので、相対的にディテールが重要になるのだった。

更めてみるとダメなのばっかだなあ……

高杉さん家のおべんとう 1 - 柳原 望

柳原 望

3.0 / 5.0

id:orzccc さんに薦められたので買ってみた。絵的にダメかもしれないと思ったけど全然大丈夫だったし、すごく面白かった。かわいい。続きも買う。

2010年 07月 13日

もっとも簡単な CGI を書くまでのチュートリアル

Mac だと Apache のセットアップの必要がないので Mac 前提で、特に意味はないのですが最短で CGI のスクリプトを実行するためのステップを考えてみます。

Apache 立ちあげる

システム環境設定→共有から「Web 共有」をオンにする。

てきとうなスクリプトを設置

/Library/WebServer/Documents が / で公開されるようになっている。

CGI が実行できるようになったので以下のようなスクリプトを書いて /Library/WebServer/CGI-Executables へ hello.cgi という名前で保存する。

#!/usr/bin/env ruby -Ku

puts "Content-Type: text/html\r\n"
puts

# ---

puts <<EOF
<!DOCTYPE html>
<html>
<head>
	<title>こんにちは</title>
</head>
<body>
	<h1>こんにちは世界</h1>
</body>
</html>
EOF

さらに Terminal.app を起動し以下のコマンドをうちこむ

cd /Library/WebServer/CGI-Executables
chmod +x hello.cgi

http://localhost/cgi-bin/hello.cgi にアクセスすれば見える。

2010年 07月 15日

gerry++

2010年 07月 17日


群衆写真はまさに賑やかな孤独であると思うが、それにしても大変辛いし、他人の会話を頭に入れないよう、ものすごく集中力がいることがわかった。日数が多くてリハーサルしやすい祇園祭は群衆写真を試してみる絶好のチャンスではあるのだけれども、人間とかそもそも嫌いだし、集中力が足りなくて今の自分は難易度が高すぎた。

また歯磨き粉書い忘れた……

2010年 07月 18日

祇園祭 山鉾巡行





起きがけに会社 (御池通り) にいって祇園祭の山鉾巡行を見た。起きるのが遅くて半分ほどしか見てない。

辻回しも遠くから見たけどなかなか感動した。

土曜日は午後からはなんとなく嵐山にいった。丸太町通りからいったのでいつもより多くの神社をまわった。木嶋坐天照御魂神社 、車折神社、斎明神社、天龍寺、野宮神社、法輪寺電電宮

だいたい行ったことあるところだけれど、電電宮ははじめて行った。電電宮自体はあまり大きくなく、法輪寺の守護社なので祭神が仏教系。情報安全護符とやらを配っていておもしろいので頂いてきた。

2010年 07月 19日


2010年 07月 20日




2010年 07月 19日

日曜日は植物園、太田神社、上賀茂神社、今宮神社と普通のコース

2010年 07月 20日

月曜日は大神神社 (おおみわ神社) へ。竹田から天理経由で三輪。遠かった。

大神神社は大和国一宮、拝殿だけで本殿はない。山自体が御神体 (神奈備) になっている。

本社を適度に見たあと、檜原神社へ。こちらは鳥居だけで拝殿もない。

炎天下で大変だったが山は美しくてよかった。

山全体が御神体ってのは、例えば山全体を本殿であると考えると大変面白く、古代人はちゃんと自然の中に自分達を置き客観的な評価を自分たちに下していたような気がした。人間がそれを作らなくてもそれはそこにあったのだろう。

capistrano で複数のサーバデプロイ時に Mac OS だと SSH コネクションで止まる

http://subtech.g.hatena.ne.jp/secondlife/20090710/1247208362 というエントリがあって、この対処をしていたのですが、この度さらに多くのバックエンドを対象にコネクションをはろうとしたところ、全くうんともすんともいかなくなったので以下の対処をしました。

capistrano/configuration/connection.rb を書きかえるのですが

        threads = Array(servers).map { |server| establish_connection_to(server, failed_servers) }
        threads.each { |t| t.join }

となっている部分を

        i = 0
        threads = Array(servers).map { |server|
            p [i+=1, servers.length, server]
            establish_connection_to(server, failed_servers).join
        }
        #threads.each { |t| t.join }

のようにし、シーケンシャルにコネクションをはるようにしました。ついでにプログレスと対象サーバを出すことで安心感を演出しました。

もちろんそもそもこのコードはコネクションにかかる時間を節約するためにThreadにしているわけですから速度は落ちます。

自分の環境では1コネクションあたり0.5秒ぐらいかかってしまうので、40サーバぐらいあると、コネクションだけで20秒ぐらいかかってしまいます。そろそろ別のデプロイ方法を考えはじめてもよさそうですがまだ我慢できる程度なのでなんともいえないです。

2010年 07月 22日

2010年 07月 23日

2010年 07月 24日

2010年 07月 25日




土曜日は自分で作った京都神社ラリーを一日でどんぐらい回れるかと思っていろんな神社に行きまくった。

下御霊神社 (ラリースポットではない) →下鴨神社→半木神社 (府立植物園)→大田神社→上賀茂神社→今宮神社→平野神社→北野天満宮→木嶋坐天照御魂神社→野宮神社→松尾大社→月読神社

で、11箇所。だった。

ラリーはクリアのためには最低3日ぐらいはいりそうだった。今日いった12社 (夜にいった八坂を含む) と、伏見稲荷、日向大神宮を1日ですませて、貴船、愛宕に1日ずつ必要そう。

今日のルートだと途中に他にも神社があるので1日あたりの数はもっと増やせそう。その場合以下のようになるかな (24社)

八坂神社→日向大神宮→下御霊神社→梨木神社→下鴨神社→半木神社→大田神社→上賀茂神社→二葉姫稲荷神社→久我神社→今宮神社→建勲神社→敷地神社→平野神社→北野天満宮→木嶋坐天照御魂神社→斎宮神社→車折神社→斎明神社→野宮神社→電電宮→松尾大社→月読神社→梅宮大社

夜は祇園祭の還幸祭で神輿をおっかけつつ、最後は八坂神社で御霊遷しを見た。御霊遷しは体験しないとわからない類のもので、本当に見れてよかった。境内の明りという明りが全て消えて、月明かりの下、神輿から本殿へ神様が神職の人によって本殿へと還っていく。おもしろかった。

2010年 07月 27日

還幸祭






祭、神事、大騒ぎのあと、真っ暗になってシンとなるコントラスト

これがもし地元だったりしたら、もっと感動的だろうか? あるいは慣れてしまってもう何も感じないだろうか?

西御座はスサノオノミコトとクシナダヒメ(ヤマタノオロチ退治でスサノオに助けられた娘)の子供らしい。中央はスサノオ、東はクシナダヒメ、西がこの御子神様のようだ。

生活や緑はいつもそこにあるのだ

todo

インフラ費の支払

2010年 07月 28日



2010年 07月 30日



アクセスレスポンスグラフのリアルタイムプロット

アクセスログのレスポンスグラフというのを指標にしてパフォーマンスチューニングしたりするのですが、いかんせんアクセスログの量が多く、集計に1日かかってしまうので、パフォーマンスチューニングを反映してから、ちゃんと完全なグラフがみえるまで2日はかかってしまっています。

で、直近の集計が見れたら、反映直後に早くなってるかなってないかぐらいは見えて便利そうなのでそういうのを Perl と OpenGL で書いてみました。

横軸が時間 (1秒ごとに縦線)、縦軸がその時間内にレスポンスを返せた割合 (0.1ごとに横線) です。上記のスクショだと1秒以内に91.7%のリクエストを返せていることになります。

ssh ugoproxy01.host.h 'tail -f /var/log/httpd/ugomemo.access_log' | realtimeresponsegraph.pl -p '^/$'

みたいにすると tail で流れてきたログを解析してグラフにします。(ログの形式は固定)

-p というオプションで path の正規表現を指定でき、マッチしたものだけを集計できます。便利