天泣記

2001/01/01

#1

Deぶan BNU/Linux不徹底入門を読む。

2001/01/02

#1

A6 に気がつく。

#2

ふとそこらにある本を眺める。

「ISO では情報量の単位としてシャノンを定義したが、一般にはビットが使われている」

思ったこと:「32ビットプロセッサ」->「32シャノンプロセッサ」

#3

logresolv (の類似品)を作ってみる。当然だが速い(ような気がする)。

ついでに、行の順番を変えてもいいというオプションをつけてみる。さらに速い(ような気がする)。

まぁ、結局ブロックしないだけの話なのだが。

2001/01/03

#1

XSLT で   を入れるにはどうしたらいいのだろうか?

2001/01/04

#1

pngquant is a command-line utility to quantize and dither 32-bit RGBA PNGs down to 8-bit (or smaller) RGBA-palette PNGs.

#2

gzip する。はまる。

2001/01/05

#1

delta の median をつかって推測することにする。

#2
% TZ=EST5EDT ruby -e 'p Time.at(986108399), Time.at(986108400), Time.at(1004248799), Time.at(1004248800)'
#3

すみれあんてな

#4

adns: advanced, alternative, asynchronous resolver.

#5

netsed: sed functionality to the network layer.

#6

libtar: C library for manipulating tar archives.

2001/01/06

#1

deflate してみる。 小さくなってなんとなく嬉しい。 が、ちゃんと正しいのかどうかいまひとつ不安である。

#2

やはり少し変だった模様。 まぁ、amaya が正しいとも限らないかもしれないが。

#3

Content-Encoding と Transfer-Encoding の関係がいまひとつつかめない...

2001/01/07

#1

結局、Content-Encoding を使うことにする。

2001/01/08

#1

deflate な zlib を magic に加えることに挑戦... 96行を費やす。

最初の(big endian な) 2バイトが 31 の倍数であることを簡単にテストするにはどうしたらいいか?

#2

file(1) の結果が data にならないようにレベルを下げてみる。

#3

SXM is a portable implementation of Scheme conforming to IEEE/ANSI and R^5RS specifications.

2001/01/09

#1

amaya で読めるのは Transfer-Encoding: deflate であって Content-Encoding: deflate ではなかったりするのだが...

#2

過去のぶんも含めて日記を make しなおす。 version が変わることに気がつく。

#3

みよね椎の新作。特撮趣味が前面に出ているのかなぁ。

2001/01/10

#1

Content-Encoding は 1#content-coding であるからして、 gzip,compress,deflate などとしようかと思いつくが、 あまりになんなのでやめておく。

2001/01/11

#1

ホスト名に使える文字の話題が出ていたので 「DNS のプロトコル的には任意のバイナリが使える」と話題をふってみる。

ひとりを除いてみんなひいてしまった。

2001/01/12

#1

eword と commaがくっついていても、 適切な構文な structured field なら別に問題ないのだが。 comma で区切られた phrase ってのは RFC822 自身に Keywords というそのものの例があるし。

読み間違いというか、 (RFC822 も含めて)通して読んだのかなぁ。

#2

そりゃ書いたからですが。

ファイルに落さず、tar コマンドを使わず直接生成し、 空ディレクトリを tarball に含めないようにするのは結構面倒だったけれど。 あるディレクトリを含めなくて済むことが判明するのは post order (下位の構造をぜんぶ調べ終わってから)なのに、 tarball には pre order (下位の構造を出力する前)で出力しなければいけないという...

#3

なぜか、ESTABLISHED 状態で止まっている。2回目。

プロセスを殺しさえすれば(更新予測は median なので止まっていた時間は無視されて)後に残る悪影響はないが、 timeout はつけないとなぁ。

2001/01/14

#1

ふと、透過 png を試してみる。

trans-pearl.png

#2

大文字小文字の組合せについては、

eval print -lr - ${(j::)${${(s::)string}//(#m)[a-z]/{$MATCH,${(U)MATCH}}}}

のほうがほんのすこしましだった、と後から思った。

#3

ふと、comment について調べる。 使えるのは Server, User-Agent, Via だけか。 ちっ。

#4

電撃文庫から一冊買う。 平積みになっていたところを見ると買い逃したのではなく入荷が遅れていただけなのだろうか? でも他のが入荷した時の台の穴にはなにがおいてあったのだろう...

これで今月は 5/7.

2001/01/15

#1

Windows 2000 と IE 4.0 以降は deflate を扱えるらしい。

手元で動かないのは設定がたりないのだろうか。

#2

telnetfp is a program to determine a hosts OS via telnet do/dont negotiation.

#3

しょせんみんな周期は 1/n 時間(n=1, 2, 3, 6)ということで、 Last-Modified を 5分単位に分類・積算してヒストグラムを作ってみる。

まりもアンテナ: 毎時 11分更新(公称)

 0 
 1 
 2 ***********************************************************************
 3 *****************************
 4 
 5 
 6 
 7 
 8 
 9 
10 
11 

northeye アンテナ: 毎時 20分更新(公称)

 0 
 1 
 2 
 3 
 4 ***********************************************************************************
 5 ****************
 6 *
 7 
 8 
 9 
10 
11 

るびぃあんてな: 毎時 0, 30分更新(推定)

 0 *************
 1 **
 2 *
 3 
 4 
 5 **********************************
 6 *************
 7 **
 8 *
 9 
10 
11 **********************************

がちゃぴんあんてな: 毎時 16分更新(公称)

 0 *******
 1 ******
 2 *****
 3 ***
 4 *****
 5 *****
 6 **********
 7 *****
 8 *
 9 ********************************************
10 ******
11 ***

がちゃぴんあんてなの異常性が目立つ...

#4

Kenzi Cano アンテナは 普段は毎時 15分更新なのだが、1/14 の朝から昼にかけての 9回は毎時 28分に更新されていることに気がつく。

#5

XEmacs の make-coding-system は CCL program として vector しか受け取れないことに気がつく。

2001/01/16

#1

エラーメールを受け取らないってか。

#2

...? いやそんなことはない(反語)。

2001/01/17

#1

ふと思い立って 1冊だけ読んで放っておいた「マリア様が見てる」の続きを読みはじめる。 とりあえず 2冊。

#2

というのは、 やはり 406 で門前払いしたほうがいいということだろうか。

まぁ SHOULD だけどな。

#3

なにも指定しなくても User-Agent: Java1.3.0 というものをつけることに気がつく。 

#4

XEmacs の make-coding-system は確認する場所が違っていた... 最新版では symbol を受け取れる模様。

#5

もう 1冊。

#6

紫堂恭子の新作。4月号につづく、というのは表紙の全作オール読み切りという言明とあきらかに矛盾しているのではないだろうか。

#7

median を求めるアルゴリズムを考える。 現在は sort して中央の値を取り出している。

あきらかにましなアルゴリズムがあることに 1分で気がつく。 sort が quick sort だとすれば、 ふたつのグループに分けた時、 その時点で median が含まれているグループが判明するので、 もう一方のグループを sort する必要はないのだ。 これで平均は O(nlogn) から O(n) に削減できる。 しかし、最悪は依然として O(n^2) という気がする。

もっとましなアルゴリズムはあるだろうか? それとも、存在するにしても通常の用途には役に立たないだろうか?

#8

サーチしてみる。まぁ、そんなもんらしい。

#9

terminfo (の enacs/smacs/rmacs)を変えずに lynx の文字化けを防ぐ方法が存在することに気がつく。

#10

さらに 2冊。

#11

なんか日付をどこかで間違えた気がする。

2001/01/18

#1

エミック・インタビュー法に興味を持つ。 「文化人類学の野外観測者の初歩的な方法の一つ」らしいのだが... google で数回試した範囲では見つからない。

#2

406 にしてみる。

#3

zlib format でない deflate だと Internet Explorer や Netscape 6 で読めることに気がつく。

2001/01/18

#1

zlib format な deflate と生の deflate が disjoint であることを確認する。

2001/01/20

#1

terminfo をしらべる。

条件分岐はあるが繰り返しはない。

初期化時にプログラムを実行する機能があることに気がつく。

#2

邪神占い: ヨグ=ソトース

#3

対象を明確にしない記述の意図について考える。

#4

zsh/bash/pdksh/tcsh は eat_newline_glitch な挙動を示さないことに気がつく。

2001/01/21

#1

RFC 2616 の rfc1123-date では day をかならず 2桁で書かなければならないことに気がつく。

2001/01/22

#1

ncurses な setupterm の errret の意味は SUSv2 とはずれていることに気がつく。

2001/01/23

#1

ころびかける。 融けかけた雪の上を自転車の速度を保ったまま鋭角に曲がることは困難であることに気がつく。

#2

スクリプト

2001/01/24

#1

Date: がサーバの現在時刻を表しているとは限らないことに気がつく。 考えてみれば当然か...

#2

X-Cache: は 2つ以上存在し得ることに気がつく。

#3

負の max-age を送りつけられることがあることに気がつく。

#4

rbn.di には EUC_JP と書いてあることに気がつく。

2001/01/25

#1
% sh -c 'echo "$@"' a b c
b c

む?

% sh -c 'echo "$0"' a b c
a

お?

2001/01/26

#1

Date: よりも新しい Last-Modified: をひとつ発見。

2001/01/27

#1

gunzip や inflate に不動点は存在するだろうか?

2001/01/28

#1

鈍角でも状況によっては困難であることに気がつく。

#2

terminal の window size は pixel 単位でも記録できることに気がつく。

kterm だとりさいずで変な値になるし、 rxvt は記録しないようだが。

2001/01/29

#1

贋あなたまSF系掲示板は毎時40分に更新されると書いてあるが、 実際には更新されないことが多々あることに疑問を持っていた。 確かに更新されるときは HH:40 - HH:50 あたりが多いので 40分というのは嘘ではなさそうなのだが...

ふと思いついて、中身の md5 と Last-Modified を定期的に採取・記録してみた。 そうすると、更新される - Last-Modified が変化する - ときは必ず md5 も変化していることが観察された。

これはどうも中身が変更されなかったときは、natsumican.lirs には手をつけないようである。 このこと自体はそれなりに適切な気もする。 まぁ、各ページの更新時刻が変わっていなかったにしても、 そのことを確認した時刻は更新されるような気もするが...

しかし、それはそれとして、更新時刻を予測するにはどうしたらいいだろうか?

#2

まぁ、di.cgi のように on demand で生成して毎回中身が違うというのも更新時刻予測に困るという点では同じだが...

#3

natsumican.lirs 全体の md5 が変わるというのは根拠になっていないことに気がつく。

#4

「ふぉっ ふぉっ 若いのぉ」 超人ロック Special 星辰の門編 聖悠紀

2001/01/30

#1

履歴かぁ。

個人的には、履歴には頼るかわりに補完関数として教え込んでしまうので、 履歴はファイルには残していなかったりする。

Programming by Example と Procedual Programming の違いか?

それとも帰納と演繹か?

両方の利点を持つような手法があるとしたらどんなものだろうか?

2001/01/31

#1

ふむ。 Floyd & Rivest ね。

いいキーワードを教えてもらったので再度サーチしてみると...

R. Floyd and R. Rivest. Expected time bounds for selection. Communications of the ACM, 18:165-172, 1975

なるほど。 集合をふたつに分割する pivot を選ぶときに データをいくつかサンプリングして良さそうな pivot を選ぶ。 その選ぶ処理自体に median (を一般化した k 番めの値を見つける)アルゴリズム を再帰的に使える、と。うぅむ。なかなか。

それはそれとして最悪でも 2.95N のアルゴリズムも発表されているわけね。(参考)

#2

mailing list を階層化できる mailing list manager はあるだろうか?

興味のあるリポジトリ・モジュールだけを 個々に(あるいはぜんぶまとめて)選択して commit log を要求できるように。

あるいは、言語別に別れたリストを個々に、あるいはまとめて選択できるように。

あるいは、開発者とユーザとアナウンスと別れているものをまとめて...

#3

nantenna.di も EUC_JP であることに気がつく。


[latest]


田中哲