bird「ブラッド・ミュージック」

「ブラッド・ミュージック」

ブラッド・ミュージック 珍しく再読。最初に読んだのはエヴァンゲリオンの13話「使徒、侵入」の元ネタはコレかもね、なんて話を fj (!) で読んだのがきっかけでしたから、1996 年頃でしょうか。ストーリーの大まかな流れは覚えていたんですが1、その他の細かい部分はほとんど忘れていたので結構楽しめてしまった。こんなパニック小説だったっけなぁ。今読むとこないだ読んだ「ダーウィンの使者」はまさにコレの焼き直しであることがよく分かる (とはいえ僕は「ダーウィン」の方が好きだな)。シモンズベアさん的には「ダブル・クラウンの夢よ再び」的な面もあったんだろうか…(←やな奴)。

情報力学とか、宇宙の法則のくだりなんかはちょっとイーガンとの類似を見たりしました。しかしまー最近の物理学の動向を聞きかじってると2、宇宙に対する絶対的なイメージは持ちにくくなってきてますよね…。

2006/1/14 追記。この本の作者はグレッグ・ベアさんであってダン・シモンズさんではないではないぞ>過去の俺。これを書いたときの俺は目ぇ開けて寝ぼけてたのか。

birdUDP Reflector 改め DP Reflector

UDP Reflector 改め DP Reflector

結局、再送処理等に関していろいろ考えているのが面倒になってきたので1、UDP/TCP を混在させて利用可能な形にすることにしました。クライアントはアプリケーション側の要求やいろいろな制約を鑑みてどちらのプロトコルでも好きなように利用できます。DP Reflector の DP は Dual Protocol の DP なのだ(笑。
つまり、完全性や順序性が欲しいアプリケーション (または個々の通信要求) は TCP を使えばいいし、そういったものはいらないのでもっと性能が欲しい場合は UDP を使えば良いと。DP Reflector 側では UDP 時には完全性や順序性を一切保証しませんので、もし UDP を使いつつそういったものが (多少なりとも) 欲しい場合はアプリケーションレイヤーで作りこむ必要があります。
TCP でのやりとりのために追加になったコードと、再送処理が必要なくなったために削除したコードの分量はほとんど同じくらいか、多少前者の方が多いかな、という程度。UDP 版、TCP 版のテストクライアントも含めてありますが、かなりシンプルになったように思うのですがどうでしょうか?
再送処理がなくなった関係で、パケットフォーマットが少し変更されています (シーケンス番号フィールドがなくなった)。また、TCP ストリーム上へのパケットの乗せ方の仕様も追加になりました。さらにチャネルに参加しているクライアントのリストを得る LIST コマンドも追加になっています。
今回も www.digitune.org の 15315 番ポート (TCP/UDP とも) で動かしておきますので、テストにでも使ってくれい>かぴのすけ。
ナチュラルに inner-inner-class を使ってしまった…。うひょー。

birdreferer spam(2)

referer spam(2)

referer bomb じゃなくて referer spam というのですね。apache のアクセス制御を使って弾く努力をしてみることにしました。<Directory /> の設定に下記を追加しました。

# antispam.  
    SetEnvIf User-Agent "Netscape/Mozilla compatible" Spammer  
  
    Order deny,allow  
    Deny from 63.81.44.2  
    Deny from env=Spammer  

いちおう User-Agent と IP アドレス双方で。また別のアドレスから来たら追加していこう。いたちごっこだけど、地道に対処するしかないよね。

birdプロトコル解説, referer bomb

プロトコル解説

昨日の UDP Reflector のプロトコル解説をざっと書いてみました。かぴのすけへの返事でも書きましたが、このページにあるアーカイブには .class、.java 両方とも含まれていますので、実際のソースコードを読んで動きを確認したい方はそちらをご参照ください。

下記プログラム1を実行して www.digitune.org の 15315 番ポート宛に UDP パケットを送信してくれる人募集(笑2。出来ればそのときの送受信パケットダンプもあると助かるんですが…。

#include <sys/types.h>  
#include <sys/socket.h>  
#include <netinet/in.h>  
#include <sys/uio.h>  
#include <stdio.h>  
#include <stdlib.h>  
#include <string.h>  
#include <unistd.h>  
#include <netdb.h>  
#include <arpa/inet.h>  
#include <sys/errno.h>  
  
extern int h_errno;  
  
int main(int argc, char *argv[])
{  
	int sd;  
	char buf[256];  
	int messagelength;  
	struct sockaddr_in server;  
	struct hostent *he;  
  
	/* 引数のエラー処理 */  
	if(argc != 4){  
		fprintf(stderr, "usage: %s SERVER_NAME SERVER_PORT MESSAGE\n", argv[0]);  
		exit(1);  
	}  
  
	/* socketの生成。SOCK_DGRAMがudp用 */  
	sd = socket(AF_INET, SOCK_DGRAM, 0) ;  
	if(sd < 0){  
		perror("socket: ");  
		exit(1);  
	}  
  
	memset((char *)&server, 0, sizeof(server));  
	server.sin_family = AF_INET;  
	server.sin_port  = htons(atoi(argv[2]));  
  
	/* gethostbyname による名前引き */  
	he = gethostbyname(argv[1]);  
	if(he == NULL){  
		fprintf(stderr, "gethostbyname() failed: %s\n", hstrerror(h_errno));  
		exit(1);  
	}  
	memcpy((void *) &(server.sin_addr), (void *) he->h_addr, he->h_length);  
  
	/* バッファの初期化 */  
	memset(buf,0,sizeof(buf));  
	strncpy(buf, argv[3], sizeof(buf) - 1);  
	messagelength = strlen(buf);  
  
	/* サーバーへの送信 */  
	if(sendto(sd, buf, messagelength, 0,  
			(struct sockaddr *) &server, sizeof(server)) == -1){  
		perror("sendto");  
		exit(1);  
	}  
  
	memset(buf,0,sizeof(buf));  
	buf[1] = 0x10;  
  
	/* サーバーへの送信 (2) */  
	if(sendto(sd, buf, 3, 0,  
			(struct sockaddr *) &server, sizeof(server)) == -1){  
		perror("sendto");  
		exit(1);  
	}  
  
	close(sd);  
	exit(0);  
}  

referer bomb

昨日の日記の referer がエッチサイトで山盛りになってますね(笑。なんだかなぁ。

birdUDP Reflector, 角田さんの子供達

UDP Reflector

というわけで作ってみました。かぴのすくぇの元ソースとは似ても似つかないもの (プロトコルもまったく違う) になってますが、まぁ本質的には似たようなものだということで。ほんとはプロトコルとか説明しないといかんですが、今日はもう遅いのでまた今度。
とりあえずこのサイトの 15315 番ポートで動かしておきます。NAT の設定が間違えてなければ外からも packet 投げつけられるんじゃないかと思いますが、まったく未検証なのでご注意。今週中くらいには検証&説明出来るといいなぁ。

角田さんの子供達

最近は K1 などでレフェリーをされている角田さん1のお子さん達って、「ケンシロウ」と「ユリア」って名前なんですね (本当はカタカナではなく漢字ですけど)。結構びっくり。

birdiPod を追い抜く?, そういえば Mac は, 「グループ内の 32bit 値入力を同期させるサーバ」

iPod を追い抜く?

Sony の安藤さんが HDD ウォークマンの発表会で言ったそうですが…うーむ。ぱっと見た感じでは市場に山ほどある普通の HDD プレーヤと変わらない感じだけどなぁ。もちろん世界最小・最軽量ということはありますが、iPod くらいのサイズになってしまえばそれもそれほど大きな差別化要素になるとは思えないです。その自信の根拠はどこにあるのだろう?
iPod の利点は iTunes との連携にあるそうで、特に Music Store を使い出すと他には移れない魅力があるらしいと聞きますが、安藤さんの発言は Music Store がまだ始まっていない国内に限った話なのだろうか。SME の政治力を使って、iTunes Music Store よりも早く国内で自社のソフトと連携させたダウンロード販売サービスを開始する目処がある、とか。

そういえば Mac は

あいかわらず欲しいことには変わりないんですが、どちらにしても Tiger が出てからにしようと今は思っています。Tiger なら「おうちで 64bit OS!」と悦にひたれるし(笑。

「グループ内の 32bit 値入力を同期させるサーバ」

って、どんなイメージだ?あるクライアントから来た 32bit 長のパラメータを、グループメンバにマルチキャストするような感じ?

bird「書きあぐねている人のための小説入門」, のだめ読んだ, フラットテレビ

「書きあぐねている人のための小説入門」

書きあぐねている人のための小説入門 保坂さん月間最後の本は、保坂さん自身の創作に対する種明かしとも言えるこの本でした。彼の話にはどうして「オチ」がないのか、とか、「ストーリー」というものに対する彼の考え方が分かる、保坂さんの小説を読んだことがある人にとってはなかなか興味深いお話が語られています。とはいえ別に意外なものじゃなくて、小説から感じる通りの彼のまじめさ、正直さ、天邪鬼さがそのまま語られているわけですけれども。

それにしてもこの本は思いのほか「実践的」な本です。修辞法やら暗喩やらなんやらテクニカル・タームで読者を煙に巻いて高尚なことが書いてあるかのように錯覚させる…というようなことはまったくなくて、いつもの調子で彼が一番大切だと考えていること、小説を書くための心のありようのようなものを一生懸命伝えようとしてくれています。

今回彼の本をまとめて読んでみて、その内容の予想を超えた一貫性 (意地悪く言うと同じ話があっちゃこっちゃに出てくる) にちょっと驚いたんですが、それこそつまり、彼がいつも本気で小説を、エッセイを、哲学書を、小説入門を書こうとしていることの証拠なんでしょうね。

この本読んでたら「アンナ・カレーニナ」がすごく読みたくなった…。

のだめ読んだ

妹のところからまとめて借りてきて一気に全部読みました。面白かった…。

フラットテレビ

プラズマ&液晶のフラットテレビがすっかり売れ筋商品として定着して久しい昨今ですが、アメリカではリアプロが盛り上がっているんだそうですね。3管方式から画素方式になって、光学系の改良もありプラズマや液晶などの直視型ディスプレイと遜色ない画質を達成しながら価格が安いの売りだとか。奥行きに関してもどうせ台が必要なら実際にはほとんど差がないらしく。
個人的にリアプロに感じる不安は、光源である電球の寿命とランニングコストです。あの電球は結構寿命が短い上、かなり高いんですよね。そういう意味で、もし白色 LED を使ったリアプロ、なんてのが出てきたりしたらかなり魅力的かも、なんて思ったりしました。

bird「オウエンのために祈りを」, 「世界を肯定する哲学」

「オウエンのために祈りを」

オウエンのために祈りを (上)    John Irving collection 1989-1998 オウエンのために祈りを (下)    John Irving collection 1989-1998 とても小さな身体、宇宙人のような (常に叫んでいるような?) 声、あらゆる点でとてもユニークな「ぼく」の友達、オウエンをめぐる、神様と運命と信仰のお話。ジョン・アーヴィングさんの本です。映画「サイモン・バーチ」の原作なのだそう。アーヴィングさんの本はとても人気があるためか、かなりの高確率で映画化されていますね。

とても面白かった。でも、僕の中でまだ言葉としてうまくまとまっていなくて、感想が書けません (というか書きたくない)。いつか、そのうち書けるかもしれないし、漫然とした心の糧として降り積もる経験の一つとなるでしょう。

「世界を肯定する哲学」

世界を肯定する哲学 保坂和志さんによる、「存在すること (「ある」ということ)」を考えた哲学の本。

アマゾンのレビューに、「これはポジティブ・シンキングに関する本ではありません」なんて書いてあって笑ってしまったんですけど、話全体の方向性が「文学」方向ではなくて「哲学」方向に向かっているだけで、中身はいつも保坂さんが考えられていることそのものです1

少しだけ思いついたことを。保坂さんがこの本で書かれている「言語に先立つ肉体」というもののイメージが、僕には先日読みかけたカントの「プロレゴメナ」で語られている人にとってア・プリオリな認識、というものと同義なんじゃないかなぁ…なんて思いました。保坂さん自身はカントが「ア・プリオリ」としているものには納得していないんだそうですけどね。

本書全体の主張に関して、僕はかなり共感しました。先日書いた「未来予測」に関する議論と同質のものだと感じます。保坂さんの議論の進め方は、とても「理路整然」とは言えませんが、どの言葉も地に足がついた感じがして、すっと頭に入ってくるように思います。数学的な直感力にはつながらないかもしれないけど、この世界で生きていくにあたっては重要な部分での直感力の糧になる感じ。

birdズッキーニ

ズッキーニ

あゆみさんが生協でズッキーニを頼んだら、まるでヘチマのような超巨大ズッキーニが届いてびっくり。
さすがにそんなに大きいと皮が固いとか中身がスカスカだったりするのかなぁ…と思ってたんですが、これが意外にも普通においしかった。ズッキーニはでっかくてもおいしいんですね。

birdおーい

おーい

今 OCN 方面から、同時2〜3コネクションでディレイなし、という設定でこのサイトのリンクを全て GET している方がいてちょっと鬱1。生活 PC で Web サービスしてるとこういう時辛いよなぁ。とはいえ声高に非難する気はなし。我慢出来なくなったら apache の帯域制御モジュール入れればいいし。
…あ、終わった。やれやれ。

First | Prev | 429 | 430 | 431 | 432 | 433 | Next | Last