天泣記

2003/01/01

#1

すこし記憶との食い違いを感じて調べてみると、やはり、 円盤は 64枚だった。

2003/01/03

#1

_svn はもう誰か書いてるみたいだな。

2003/01/04

#1

雨だと電波状態が悪いなぁ。

2003/01/05

#1

google

一本指 3640
二本指 1930
三本指 2020
四本指 443
五本指 2320
六本指 294
七本指 32
八本指 32
九本指 103
十本指 102
十一本指 0
十二本指 0
十三本指 0
十四本指 0
十五本指 1
十六本指 0
十七本指 0
十八本指 0
十九本指 0
二十本指 0
#2

cscope を動かしてみる。

2003/01/06

#1

Common Lisp, Dylan, Scheme には多値がある。 他には?

#2

Multiple Return Values

解説されてるのは、 Forth, Postscript, Common Lisp, Scheme, Dylan, CLU, Matlab family, Mesa, Cforall. 名前があがっているのはもういくつかある。

まぁ、Forth/Postscript はたしかにそうなんだが、 構文的なことについては参考にならないなぁ。

#3

Memtest86

#4

MS-IEが一部サーバ相手にとてつもなく速いワケ

というのを確認してみる。

... えーと、ちゃんと syn を出してる気がする。

2003/01/07

#1

今度のは、一晩 Memtest86 を動かしても問題ない模様。

今夜は差す場所を交換して動かしてみよう。

#2

Elle is a programming language and environment for building Intranet and internet applications.

#3

ウインドウの上辺、左辺を明るく、下辺、右辺を暗くすることによって、 ウインドウを立体的に見せかけることがある。 これは、手前にせり出した板に左上から光が当たっているように見える。 (へこんでいるところに右下から光が当たっているように見える人は少ないと信じたい。)

さて、実際の板をどのように配置すると、 太陽光が(何時ごろに)このような光の当たりかたになるだろうか?

#4

Hilbert's Hotel

#5
def v2a(v)
  if Array === v
    if v.length == 2 && Integer === v[0] && !(Array === v[1]) && 0 <= v[0]
      [v[0] + 1, v[1]]
    else
      v
    end
  else
    [0, v]
  end
end

def a2v(a)
  if a.length == 2 && Integer === a[0] && !(Array === a[1]) && 0 <= a[0]
    if 0 < a[0]
      [a[0] - 1, a[1]]
    else
      a[1]
    end
  else
    a
  end
end

2003/01/08

#1

メモリは問題ないようなので、やっと設定にかかれるか。

2003/01/09

#1

install...

うぅむ。忘れていたが名前をつけないとならんな。

#2

アプリケーションにテストスイートがあるんなら、 依存しているライブラリのバージョンの組合せを自動的にテストできないだろうか?

2003/01/10

#1

いくつかのネットワークに頻繁につなぎかえることが想定されるマシンの IP アドレスを設定する。

もちろん DHCP を使うのだが、 ネットワークによっては固定 IP アドレスを使える(権利を持っている)こともある。 どうやってこの固定 IP アドレスを自動的に設定するか?

むろん、DHCP サーバがこのマシンに対してその固定 IP アドレスを発行すればよいというのはそのとおり。 しかし、DHCP サーバは自分の管理下ではないのでそれは面倒なのである。 さて、どうするか?

要求は、どのネットワークにつながっているかは DHCP で教えてもらうが、 DHCP で与えられる IP アドレスは使いたくないというものである。 こんな変な要求を想定してるわけないよなぁと思いつつ dhclient を調べ、 やはり想定されていないという結論に至る。

少し考えて、dhclient-enter-hooks で new_ip_address をすり替えるという暴挙を思いつき、試してみると動く。

でも、これだと DHCP の IP アドレスを無駄に消費してよろしくない。 消費せずにどうにかできるだろうか?

... dhclient -r で確保したのを開放できるようだが、 IP アドレスがクリアされるようで使いにくい。 (いや、dhclient-enter-hooks でどうにかできるか?)

すこし RFC2131 を眺めてみる。 うぅむ。最初の DHCPDISCOVER, DHCPOFFER までで必要なデータは得られる気がするが、その次の DHCPREQUEST が問題か。 DHCPOFFER を返してくれたどのサーバとも異なる IP アドレスを DHCPREQUEST に設定して返せれば IP アドレスを確保することなく話を終らせられるのだが、 普通そんなことができるようには設計しないよなぁ。

#2

数式処理システム Maxima

2003/01/11

#1

yacas というのもあるか。

2003/01/12

#1

ふむ。WORM_Sobig.A がたくさんきてる?

#2

Inside the Intel Compiler

を読んでみる。

#3

mbox フォーマットにおいて、 ボディの先頭にエンコードされていない From があった場合、 これをもって次のメッセージが始まると考えるべきか?

2003/01/13

#1

ストラトス・フォー

初回は見逃したので初見。ロケガみたいといわれるわけだ...

2003/01/14

#1

MetaKit is an efficient embedded database library with a small footprint.

#2

Content-Length も意図としては関係しなくもないんですが直接的には関係なくて、 mbox 内の mail の最後には必ず空行が入る(むりやり入れる)ことを利用して、 空行の直後の From しか認識しないと言うシステムがありまして、 そういうやりかたの中でヘッダとボディの間の空行をその空行として認めるかどうかという話だったりするわけです。

#3

Sobig の数を数えてみる。

% cat ... |ruby -rtime -rmailread -e '
h = {}
("2003-01-09".."2003-01-14").each {|d| ("00".."23").each {|i| h["#{d}-#{i}"] = "" }}
until STDIN.eof?
m = Mail.new(STDIN)
next unless m["from"] =~ /big@boss.com/
d = m["received"]
d.sub!(/.*;/, "")
k = Time.parse(d).strftime("%Y-%m-%d-%H")
h[k] ||= ""
h[k] << (m.body.any? {|line| /application\/octet-stream/ =~ line} ? "*" : 
         m.body.any? {|line| /^Found virus WORM_Sobig.A/ =~ line} ? "+" : "-")
end
h.keys.sort.each {|k| puts k + " " + h[k]}
'
2003-01-09-00 
2003-01-09-01 
2003-01-09-02 
2003-01-09-03 
2003-01-09-04 
2003-01-09-05 
2003-01-09-06 
2003-01-09-07 
2003-01-09-08 
2003-01-09-09 
2003-01-09-10 
2003-01-09-11 
2003-01-09-12 
2003-01-09-13 
2003-01-09-14 
2003-01-09-15 
2003-01-09-16 
2003-01-09-17 
2003-01-09-18 **
2003-01-09-19 
2003-01-09-20 
2003-01-09-21 
2003-01-09-22 
2003-01-09-23 
2003-01-10-00 
2003-01-10-01 
2003-01-10-02 
2003-01-10-03 
2003-01-10-04 
2003-01-10-05 
2003-01-10-06 
2003-01-10-07 
2003-01-10-08 *
2003-01-10-09 
2003-01-10-10 
2003-01-10-11 
2003-01-10-12 **
2003-01-10-13 -
2003-01-10-14 
2003-01-10-15 
2003-01-10-16 
2003-01-10-17 
2003-01-10-18 +
2003-01-10-19 ++
2003-01-10-20 
2003-01-10-21 -**
2003-01-10-22 -**
2003-01-10-23 **--
2003-01-11-00 +-+
2003-01-11-01 +-
2003-01-11-02 --++**
2003-01-11-03 ++-++-
2003-01-11-04 -
2003-01-11-05 +++-+++--
2003-01-11-06 +-+++-
2003-01-11-07 -+-+-+-++
2003-01-11-08 -++-+
2003-01-11-09 ++++++++
2003-01-11-10 ++++*+-+
2003-01-11-11 +++++
2003-01-11-12 +
2003-01-11-13 ++--
2003-01-11-14 +-
2003-01-11-15 ++
2003-01-11-16 
2003-01-11-17 **--
2003-01-11-18 +
2003-01-11-19 +**
2003-01-11-20 -
2003-01-11-21 +--
2003-01-11-22 ++**
2003-01-11-23 +++-
2003-01-12-00 +-+++
2003-01-12-01 ++-+-+**
2003-01-12-02 ++-+
2003-01-12-03 --+++-++-
2003-01-12-04 +++--+-
2003-01-12-05 --+-+-+
2003-01-12-06 --++++
2003-01-12-07 +-++++-+**
2003-01-12-08 +++-+-
2003-01-12-09 ++
2003-01-12-10 +
2003-01-12-11 
2003-01-12-12 +
2003-01-12-13 ++
2003-01-12-14 +-
2003-01-12-15 +
2003-01-12-16 +-
2003-01-12-17 **
2003-01-12-18 +-
2003-01-12-19 +
2003-01-12-20 ++
2003-01-12-21 ++
2003-01-12-22 +
2003-01-12-23 ++**
2003-01-13-00 ++****
2003-01-13-01 +
2003-01-13-02 -++-
2003-01-13-03 +++-+++
2003-01-13-04 +++-+++++
2003-01-13-05 -++--+++*+
2003-01-13-06 ++++++-
2003-01-13-07 ++++----
2003-01-13-08 -+-++-
2003-01-13-09 +++++++
2003-01-13-10 ---+-+
2003-01-13-11 ++++++-+
2003-01-13-12 -++++
2003-01-13-13 +-+--**
2003-01-13-14 ++++
2003-01-13-15 +---
2003-01-13-16 +++-++---+
2003-01-13-17 ++-+++++++-++++++++-**
2003-01-13-18 ++++++++++++
2003-01-13-19 ++-++++-**
2003-01-13-20 ++--+-+--+**
2003-01-13-21 --+-+-+++--+++++**
2003-01-13-22 +--+-+++-++++++-+++-+---
2003-01-13-23 +-++-++--+-++++-++--+--+---+++-+++-++-+++++**
2003-01-14-00 --++++++-+++-++-++-++++++-+--+-+++----+++
2003-01-14-01 +---+++--+-----+--++-++-++-++-++++++
2003-01-14-02 -++-+--++---++-+-+++++++-+--++++-+++++-+++---++++-**
2003-01-14-03 ++---+--+-+-+--+-----+--+-+-
2003-01-14-04 --+--+++-++++++++
2003-01-14-05 ++-+-+++--+++
2003-01-14-06 -+++-+--+++++++
2003-01-14-07 -++-+++++
2003-01-14-08 ++--+++
2003-01-14-09 +++-+++
2003-01-14-10 
2003-01-14-11 
2003-01-14-12 
2003-01-14-13 
2003-01-14-14 
2003-01-14-15 
2003-01-14-16 
2003-01-14-17 
2003-01-14-18 
2003-01-14-19 
2003-01-14-20 
2003-01-14-21 
2003-01-14-22 
2003-01-14-23 

* が virus が残ってる奴、 + が checker のメッセージが入っている奴、 - がメッセージが入ってない奴。

おや? 現時点は 2003-01-14-13 あたりなのだが、ここ数時間きてない... 終息したとは考えにくいから、virus checker が転送しなくなったのか、な?

それはそれとして、時刻は (最後の) Received に入っているものを使ったが、 Unix From のほうがよかったかも知れない。 が、mailread.rb は Unix From は捨てちゃう模様。

2003/01/15

#1

小林君から、 ヘッダのみ(セパレータもボディも無し)のメールを扱えなくなるからだめだろう、 との指摘。 まったくもってその通りで返す言葉もない。 セパレータは必須なのだと思い込んで、 RFC を確認しなかったのがばればれである。

でも、とすると次はヘッダのみのメールが実際にいろんなシステムを通るかどうか、 通ったとしてセパレータの非存在がちゃんと保存されるかどうかが 興味のあるところか。

あと、ヘッダのみのメールの Content-Length: の値は何か。 常識的に 0 か、あるいは -1 か?

2003/01/17

#1

〆切 blue

2003/01/18

#1

google で〆切を探してみるもうまくいかない。

#2

〆切 red, 〆切 green?

#3

うぅむ。しゅーまっはに続いて最強委員長までもが終ってしまうとは。 しかも唐突で打ち切り臭い。

#4

C マガ

狭義関数型言語 (strict functional language) となっているが、 strict に狭義という訳語をあてるのは違和感がある。 狭義というと、 そういうのが本来の関数型言語であるような印象が言葉から感じられるのだが、 本来の(より純粋な)関数型言語はやっぱり lazy なほうだろうと思う。

とはいうものの、 strict に一般的な訳語があったかというと思い出せないのがなんだが。

2003/01/19

#1

正格

たしかに。

#2

strict との対比としては lazy じゃなくて non-strict のほうが適切だったか。 lazy ってのは eager に対するものだよな。

ふと思ったのだが、eager で non-strict とか、 lazy で strict とかはあり得るだろうか?

2003/01/20

#1

かすかな頭痛。風邪気味?

2003/01/21

#1

頭痛がすることを「あったまいてー」と表現するのはどうだろうか。

#2

FANTASY Bookmark

えーと、ジェスターズ・ギャラクシー2は(2度目の)延期。

#3

CVS 1.11.5

major security vulnerability ですか。

2003/01/22

#1

Kiddy Grade

脚本
たかしげ宙
アイキャッチ
皆川亮二

でしたか。

#2

早起き。

#3

The Making of Python, Python's Design Goals

2003/01/23

#1

何らかの作品に関する Web ページは、 最初の単行本が出た後に急激に増える(というか、連載していても最初の単行本が出る前にはあまり多くならない)ような気がする。

この仮説を検証するにはどうしたらいいだろう?

タイトルと著者名あたりを定期的に google で検索して件数をプロットする?

#2

Vesta is a portable, extensible software configuration management system.

うぉ。Vesta って free になってたのか。

#3

〆切が検索できない理由はそうなんでしょうね。

漢字のほうで探せば見つかるし。 ひとつだけだけど。

#4
% telnet www.google.com 80
Trying 216.239.57.101...
Connected to www.google.com.
Escape character is '^]'.
GET / HTTP/1.0
Host: www.google.com

HTTP/1.0 302 Found
Content-Length: 154
Connection: Close
Server: GWS/2.0
Content-Type: text/html
Date: Thu, 23 Jan 2003 10:58:43 GMT
Location: http://www.google.co.jp/
Set-Cookie: PREF=ID=19e4b4c7707c2c45:TM=1043319523:LM=1043319523:S=LhLsmecq6y1RkYaB; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.com

<HTML><HEAD><TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.co.jp/">here</A>.
</BODY></HTML>

えぇと。アナタはどーしてワタシに jp を勧めるんですか?

逆引き... かとも思ったが、cvs.m17n.org でも jp 行き。謎。

2003/01/25

#1

うぅむ。GUM に國津武士が...

#2

サイバーエリアリサーチ株式会社/IPアドレス検索

2003/01/26

#1

東京

#2

そうか。日曜は上野に寄らないから、高速から降りるところが違うんだな。

2003/01/27

#1

CodeWorker is a generic parser and a source code generator. It interprets scripts that drive the processing of parsing and source code generation. It insists on offering powerful functionalities to do intensive code generation.

#2

パス名を単純化するとしよう。

世の中にはシンボリックリンクがあるから、 完全にやるには lstat/readlink する必要がある。

しかし、lstat/readlink しなくても単純化できる場合も存在する。 例えば、a/./b と a/b は同じものを指し、 それはシンボリックリンクがどこにあろうが関係ない。 別の表現をすれば、そのような単純化はシンボリックリンクが変化しても 問題がおきない単純化である。

さて、lstat/readlink しなくてもできる単純化には他にどのようなものがあるか?

#3

APL言語教室

2003/01/28

#1

東京

#2

あぁ、FL_SINGLETON は T_CLASS につけるものなんだから REG_CASESTATE と重なるわけはないか。

#3

頭痛... は呑んだからか。

なんか撮っていたが、ここ に出るのだろうか?

#4

rbl-lookup.rb というのが話にでたやつなのだろう。

ふむ。テストはコマンドを実行してるだけか。

2003/01/29

#1
% date > a
% ln -s a b
% ls -l a b
-rw-r--r--  1 akr  wheel  29 Jan 29 00:40 a
lrwxr-xr-x  1 akr  wheel   1 Jan 29 00:40 b -> a
% ls -l a/
ls: a/: Not a directory
zsh: exit 1     ls -l a/
% ls -l b/
-rw-r--r--  1 akr  wheel  29 Jan 29 00:40 b/
% uname -v 
FreeBSD 4.7-RELEASE #0: Wed Oct  9 15:08:34 GMT 2002     root@builder.freebsdmall.com:/usr/obj/usr/src/sys/GENERIC 

うぅむ。

2003/01/30

#1

お茶とキーボード(というかノート)は相性が悪いことをついに(初めて)実践してしまう。

さて、乾いたら復活するか?

#2

復活した。

... いや、マウスカーソルがアキュポイント(Dynabook のポインティングデバイス)で動かないな。

組み立てたときに接続に失敗したか、それとも壊れたか。

まぁ、組み直しは後にしてバックアップをとろう。 (前回のバックアップは月曜だったから消えたとしても数日ぶんだが。)

2003/01/31

#1

ふむ。message のなかで mlh がうまく動かないな。


[latest]


田中哲