2004/12/31

と思ったら、都内はもう雨になってるよ。KNのCR-Vが都内まで出てこられれば、というところか。
よりによって雪かあ。最悪は中止か。
厚木、遠すぎ。静岡から東京へ帰ってくるのに、静岡→厚木は50分なのに、厚木→東京は2時間もかかる。ここ数年、12月30日は友人Kの故祖父の家で薪拾いついでに静岡おでんをご馳走になる慣わしになりつつあるんだけど、あの家の小父さん達は強力すぎる。K的には押されまくりでつらいんだろうが、端からはちょっとうらやましいぞ。やはり、強力な血縁はあらゆる意味でもっともリスクが少ない資産かもしれない。

2004/12/29

うけてたちます。

hisashim: [Programming][Fun] コンピュータで解く簡単な問題::
http://www.livejournal.com/users/hisashim/85886.html

任意の自然数nについて、偶数なら2で割り、奇数なら3をかけて1を足して得られる数列に関し、(1)n = 7 のときに1に収束するまでのステップ数を求めよ。(2)n∈[2, 100]のなかでもっとも1までの収束に時間がかかるのは何ステップか求めよ。という問題。
元ネタはhttp://www.t-base.ne.jp/~tj/d/?date=20041214#p03らしい。

#! /usr/local/bin/python

def numeric(n):
count = 0
while n > 1:
if n & 1:
count = count + 2
n = (3 * n + 1) >> 1
else:
count = count + 1
n = n >> 1
return count

print "7 needs", numeric(7), "steps"

i = 0
basej = 0

for j in range(2, 101):
if i < numeric(j):
i = numeric(j)
basej = j
print "most steps in [2,100] is", i, "at n =", basej

実行結果

7 needs 16 steps
most steps in [2,100] is 118 at n = 97


ポイントは、奇数を3倍して1を足すと必ず偶数になることですかね(つまり、偶数の場合は偶奇判定が必須だけど、奇数の場合は次の偶奇判定を省略できる)。

2004/12/28

とにかく素数が早く求めたい(素数ばっかり)。昨日のスクリプトをしれっと実行しても、100001までの素数を求めるのに1時間以上かかる(AMD Duron 700MHz)。で、3倍4倍当たり前を自負している psyco ってどうなのよ、ということで、冒頭に以下の2行を追加。

import psyco
psyco.full()

そして実行。

$ time python2.3 prime.py 100001
100001 th prime is 1299721

real 14m14.473s
user 12m54.770s
sys 0m0.620s

ほんとに4倍だ。うれしいなあ。
大好き素数について同僚のM氏のソリューション。

% X=100; curl --silent http://www.utm.edu/research/primes/lists/small/10000.txt | grep -v "[^0-9 ]" | tr -s " " "\n" | grep -v "^$" | head -n $X | tail -n 1

10001番目の素数が知りたいんですよ!

でも、上記のページが掲載されているテネシー大学Martin校のサイトはおもしろそう。

The Prime Pages (prime number research, records and resources)
http://www.utm.edu/research/primes/

ギネスに掲載されている最大の素数といった下世話な話題から、リーマン予想の簡単なサマリーまで、ぱっとみでは実に分かりやすそうな解説がまとめられている。

2004/12/27

年明けの嵐が怖いので、大好き素数を求めて気を落ち着けるしか。

#!/usr/local/bin/python

def get_prime_list(num):
known_prime = [2]
current_integer = 3
while len(known_prime) < num:
for indy in known_prime:
if current_integer % indy == 0:
current_integer = current_integer + 2
break
else:
known_prime.append(current_integer)
current_integer = current_integer + 2
return known_prime

import sys
integer = int(sys.argv[1])
print integer,"th prime is",get_prime_list(integer)[integer-1]

current_integer = current_integer + 2 の部分がちょっと気が利いているような気がしていたんだけど、実行速度は +1 でもほとんどかわらないんじゃん。

2004/12/25

大掃除。埃の量で得る達成感。ベランダとか広くなった気が。あと、大掃除のおかげで、軽く10年以上のキャリアになるACタップ(いちおうBelden)のコード皮膜が劣化してぼろぼろになっていたことを発見した。残念だけど、一歩間違えたら火事になってもおかしくないので、破棄。
それから、大掃除をきっかけに、Musical Fidelity の Tempest にも引退してもらうことにした。まったく不備はないんだけど、もうしばらく使わないだろうから。日本に入っている数は少ないんだろうなあ。あの値段で、あの大きさで、あれだけ艶っぽく鳴るインテグレーテッドアンプは他に知らない。その代わり、ボリュームとかの部品は国産だったら信じられないような安いのを使ってる。回路の構成上、S/Nも悪い。それでも自分は、全体が60点の製品よりも、平均すると40点だけど、ある部分(しかも、自分がその製品にとって本質だと思う部分)では95点を目指している製品のほうが好き。そういう意味で、この Tempest は、とてもお気に入りの工業製品の一つでした。余談だけど、実はパラビッチーニが設計にかかわっているという噂もあったりする(いまだに真偽はわからない)。そのつもりでJazzの女性ボーカルを聴いたりすると、トランジスタがあったまるにつれて、EAR 864を非力にしたような印象になってこないこともない。このトランジスタが、やけくそに熱い。物理的に。ハセガワのゼロ戦を上に置いていたら、尾翼が熔けたことがある。あと、むちゃくちゃ高い。8個のうち2個がいかれて修理に出したら、1個10000円も取られた。まあ、いろいろ思い出はあるので、すぐに捨てたり売ったりするつもりもない。しばらく休んでいてください。
ところで、絶対に気のせいなんだけど、スピーカーケーブルを拭くと音が良くなる。でも絶対に気のせいなのだ。ケーブルをはずす際に接点の錆が落ちるとか、そういうことはあるかもしれないけど、本気で音がよくなると主張するのは絶対にいやだ。

2004/12/24

なんだかんだいっても、ワインとか買うには絶好の日なわけですよ。RECIOTO DI SOAVE(Le Sponde Classico 2000年)。超完熟状態のGarganega種を、収穫からさらに3ヵ月間寝かせて、それから醸造するとのこと。グラスに注ぐと黄色く、信じられないくらい甘い。ローマ法王ってば、いつもこんなにうまいワイン飲んでるのね。

というわけで、マイファーストPythonは、配列の要素の全組み合わせ(combination)を得るものでした。

#! /usr/bin/python
#
# get combinations set from array.
#
# Keiichirou SHIKANO

def get_combinations(array, n):
if len(array) < n:
print "get_combinations() error: too large combinations for the array"
return -1

kappa = 1
bb = array[ : ]
lena = [[1]]

for i in range(0, len(array) + 1):
lena[0].append(1)

while kappa < n:
aa = []
lena.append([])
for ichiro in range(0, len(array)):
cc = []
del bb[0 : lena[kappa - 1][ichiro]]
lena[kappa].append(len(bb))
for joe in range(0, len(bb)):
if kappa < 2:
cc = [array[ichiro]] + [bb[joe]]
else:
cc = [array[ichiro]] + bb[joe]
aa.append(cc)
bb = aa[ : ]
kappa = kappa + 1
return bb

# test data
b = ["foobar", [0, 1, 2], 3, 0, ["cat", 7]]
s1 = 4

print get_combinations(b, s1)


実行結果

[['foobar', [0, 1, 2], 3, 0], ['foobar', [0, 1, 2], 3, ['cat', 7]], ['foobar', [
0, 1, 2], 0, ['cat', 7]], ['foobar', 3, 0, ['cat', 7]], [[0, 1, 2], 3, 0, ['cat'
, 7]]]


自分で忘れないように簡単にメモしておくと、こいつは、まず2つの要素の組み合わせ((n 2)個)を構成する(n:配列の大きさ)。その組み合わせに対して、もう1つの要素を組み合わせたパターン(((n 2) 2)個)を求める。これの繰り返し。構成的に組み合わせの要素を求めるなら、枝も少ないし、けっこういいアルゴリズムな気がする(どうせすぐに認識の甘さを思い知るので、今はこう思わせておいてください)。
その代わり、メモリはやたらに喰う。あと、どんなに演算が早くても、全部で100個の要素から9個取り出す組み合わせを一覧しようとして結果を標準出力したりした日にゃあ、(100 9) = 1,902,231,808,400パターンになりますから! 黙っちゃうよ(計算あってる?)。

2004/12/21

身内を見るか客を見るか、ということなのだよワトソン。
これはもしかしてデスマーチという状態なのではないか。つまり、前工程の不備から、物理的に不可能なスケジュールでの納品を目指して進んでいる状態。発注側も、受注側も。
理由は分かりきっている。スケジュールというやつは、生産側の都合ではなく、あくまでも経営側の都合で決まるからだ。ただし、これは、「生産側である自分が経営側についてどうこう言っている」ような問題ではない。そうやって生産側と経営側の対立をあおっても仕方ないし、するつもりもない。じゃあ何をあおっているのか。まあ、ご多分に漏れず、そんなのすぐにはわかんないわけさ。
少なくとも言えるのは、

  • 経営側が策定する年度計画は生産側の「作るつもり」に基づいている

  • 年度計画は銀行などの融資や株価にも影響する

そんなわけで、

  • 経営側は、一度決めた年度計画は短期的(一般には四半期)なスパンでは崩せない

  • これは、体力がない自転車操業な企業ほど顕著

  • その一方で、生産側の「作るつもり」はたいていコケる

  • これは、体力がない自転車操業な業界(ソフトウェアとか出版とか広告とか)ほど顕著

(ようするに悪循環じゃん)
よもや、あおっていたのは銀行/金融と生産業との対立か?
ここまで勢いで書いたけど、ここで言っている「生産業」には、拡大再生産を続ければすむような「工場型のもの」は含まれていない。クライアントしだいだろうけど、物理的に生産にかかる時間を割り出しやすい(そのノウハウがある)産業はデスマーチが顕在化しにくいような気がする。っていうか、物理的に無理だと開き直れるのか。

2004/12/20

結論は相手に言わせろ(どうでもいいけど、気を抜くと一言日記になってくる)。

ここ数日思うのは、自分ががんばってもがんばれてもだめで、相手をがんばらせることができるかどうかが重要なんじゃないだろうか。でも何に? 「重要なんじゃないだろうか」などといって状況を分析している風を装うのは朝日の社説記者の仕事じゃろがい。おそらく、仕事(業務)が上手く遂行できるかどうかにとって重要で、仕事が上手く遂行できるのはサラリーマンの健全な精神にとって重要で、健全な精神がないと(スコラ哲学では)生きていないのと同じ。つまり、自分が生きるか死ぬかというレベルで「相手にがんばらせる」ことは重要ということか。でも、この期に及んで健全な精神はもう無理です。
今の仕事は一人でできる部分とそうでない部分があって、自分にとってはそうでない部分ほどうまくいかない。そしてきっと、研究や芸術なら自分ががんばれれば何とかなる。うそです。そんな素朴な精神論は太平洋戦争までのものです。しかし、そういう幻想は確実にあって、人はモラトリアム延長にあこがれるわけだ(自分と人一般を摩り替えない>自分)。
要約すると、自分自身でがんばるよりは他人にがんばらせてポルシェを買えと。でなければヴィッツで我慢しろと。
鬼は疲れるな。

2004/12/18

鴬谷の弥生亭で辛子味噌ラーメンを食べていると、カウンターの奥に座っていたおばちゃんが、「こないだはうちの人が散々絡んでごめんね、ゆるしてね」みたいな調子でマスターに絡み続けていた。土曜日は餃子200円でとても素敵。
MDR-F1、仕事中ずっとかけてたけど、まったく疲れないぞ。画期的だ。
となると、次はヘッドフォンアンプか。E182CCとか5670とか7119とか。石にするという手もある。
視聴中。

こいつを作ってからというもの、小音量でも音やせしないもんだから、すっかりヘッドフォンで音楽を聴くという習慣がなくなってしまった。そりゃあスピーカーの音のほうがあらゆる面で良質だ。それでもヘッドフォンは、集中力とセロトニン分泌量の面でスピーカーを上回る。ただし中耳の犠牲はもれなく付いてくるから、密閉型の安いものは使わないほうがいい。電源の問題さえクリアできれば、きっとNCもいいんだろう(USBのNCヘッドフォンとかあるといいね。あるのかな?)。

今日は会社中が工事中。

音楽がないと生きていけません。本日の仕事のお供にヨドバシカメラ上野店でヘッドフォン(SONY MDR-F1)を購入してきた。このメーカーには功罪あるけれど、ある種の製品に関しては他社が追随できないモノを作ることは認めなければならない。この製品に関しては約5年前(もうそんなになるのね……)から目を付けていたから、なおさらしょうがない(なにが?)。
それにしてもヘッドフォンのハコはあけにくいなあ。
風呂に入らずうす汚い恰好をしていると惨めで、身体を洗うと気分がすっきりするのは、どうしてですか、デカルトさん。

2004/12/17

昨日のつづき。
説明責任を果たさない客商売は、ことごとくだめだと信じている。「一皿は3人前です」とか「全部やるからいじらないでください」と説明するのは、「ガンだけど初期だから1週間入院して手術をすれば治癒する可能性が90%あります」と同しく重要じゃない? 「老舗で味はいいんだから黙って食え」というのは「○○先生の回診です」と同値じゃない? オレがルール、サービス受けたかったらオレプロトコルにしたがって金払え、というのは、たまらなくどこかの旧電電公社と同じにおいがする。
これじゃあ商品にならないんだよ。こっちはスケジュールや会社のために仕事してるわけでも、保身で仕事してるわけでもないんだ。客が金を払ってくれることの意味をわかってるのかと。

2004/12/16

老舗の鍋料理店って、みんなあんな感じなのかなあ。以前入った銀座の河豚屋もそうだったけど、すべて仕切られる。個々の客よりも店の味を大切にしたいと、そういうことかい(どこかの出版社と……)。好きなように食わせてくれ。絶対値でいえばうまかったけど、そもそもグルタミン酸やイノシン酸にグアニル酸をあわせるのはわかってないってことですから。それと、若いと思って適当にあしらうな。いっとくけどとなりで飲んだくれてるオヤジたちよりも味はわかる。以上。
それでも、気のあう人達と飲み食いするのは楽しいよね。結局、時間を買うということなんだろう。

関係ないけど、少し覚悟を決めようかと思った(勤務先のことではありませんから、ちなみに。書いておかないと忘れちゃって覚悟が鈍るから)。

2004/12/14

ところで、先週末からこの週末にかけて、たて続けにDVDを見る機会に恵まれた。Uさんありがとうございます。

まずは、The Whoの"The kids are alright"と、The Band(というより、スコセッシ)の"Last Waltz"。かっこよすぎ。ほかにいえることなし。
それから、ロッキーホラーショー。カジノロワイヤルといい、イギリス人は頭おかしいのとちがうか?とたまに思う。
Flickrにアカウントを作ってみた。http://www.flickr.com/photos/k16
アップロードした写真は、上記のページ上ではFlashに埋め込まれるようだ。しかし、権利をパブリックにしておけば、ざくざく個人のブログロにも直接リンクできる(別な領域に画像の生データも保存されてるっぽい。もちろん、あかのたにんのもOK)。こんな感じ。
tube amp
広告もないし、どういうビジネスモデルなんだろ。


2004/12/13

保守本流を豪語するT氏と議論をしていて、僕も政治/思想的なスタンスを明確にすべきなのかもしれないと思った。しかし、思えば高校生の頃から政治思想は努力して隠蔽するようにしてきたわけで、宗教嫌い、右も左も嫌い、小中学校の教員嫌い、NTTと事務役人嫌い、アサヒスーパードライ嫌い、という傾向だけをまとめるとどうなるのか? リベラル中道ちょっぴり左派というところか。そんなわけで、リベラル中道左派っぽく、一人称の文章に「僕」を使ってみた。気持悪い。いずれにしろ、スタンスを明確にしないと自分が済み心地良い生き方ができない年代なんだろう。そもそもなんで主義主張を封じてきたんだったっけ? 群れたくないからか。
群といえば、代数は肌にあわなかったなあ。小学校のドリルも嫌いだった。自分は、嫌いなものでカテゴライズするほうがわかりやすい。つまり、ネガチブ。

2004/12/12

4年くらい愛用してきたSanyoのデジカメ(DSC-SX560)が、ここ一ヵ月突然おかしくなった。電源をいれても起動しなかったり、起動してもすぐに落ちたりする。買い替えも考えたけど、代わるものがないので、とりあえず分解して原因を調べてみることにした。結局、なんのことはない起動スイッチ付近の断線だったので、半田を付け直すだけで事足りた。しかし、最後の最後にネジ山を1つ潰すという失態。DVDを見ながらドライバーまわしてたのがまずかったね。

2004/12/11

鴬谷で、安全太郎の代わりに交通整理にひとやくかっているサンタ氏とそのしもべ。

最近こういうバルーンがひそかにはやっているのか? そんなことないよねえ。車が主な移動手段の友人KN曰く、本物の安全太郎が赤と白のコスチュームだったのは見たことがあるとのこと。カーネルは毎年着替えてるよなあ。ドナルドは?
所用で東京駅までいったので、気になっていたステーションホテル内のカメリアというバーに寄ってみた。ほの暗いカウンターに座ると、曇った厚いガラス1枚向こう側で山の手線がホームに入って行く。つまり、BGMは新橋のガード下と同じなんだけどね。なにか軽いカクテルをお願いしたところ、エグゼリーナというオリジナルのものを振ってくれた。HYPNOTIC(スペルあってる?)というフランスの新しいウォッカ系のリキュールがベースで、うす青い。きっとこの色がうまいんだろう。グラスに注ぐバーテンダー氏の震える手。

今日の発見。トプカは土曜日は居酒屋にならない。パステルのなめらかプリンは本当になめらかだった。

2004/12/10

御徒町で弟にあった。やつは何をしていたんだ?
epsを拡大縮小したい。そんなの組版ソフト側で処理すればいいじゃんと思うけど、でもちょっと必要だったのさ。こんなんconvertでできればいいのに(もしかして自分が知らないだけで、実はできるのかも)。それでTeXにやらせてみた。

#! /bin/sh
# ./rseps.sh -per 0.5 foobar.eps

PERCENTILE=""
FNAME=""

while [ $# -gt 0 ]; do
case "$1" in
-per) PERCENTILE="$PERCENTILE $2"; shift;;
*) FNAME=$1;;
esac
shift
done

IMAGETEX=${FNAME%eps}tex

echo '\documentclass{article}' >> $IMAGETEX
echo '\usepackage{graphicx}' >> $IMAGETEX
echo '\begin{document}' >> $IMAGETEX
echo '\thispagestyle{empty}' >> $IMAGETEX
echo '%\parindent0cm' >> $IMAGETEX
echo "\resizebox{!}{!}{\includegraphics*[][scale=$PERCENTILE]{../$FNAME}}" >> $IMAGETEX
echo '\end{document}' >> $IMAGETEX

mkdir imagetex
mv $IMAGETEX imagetex/$IMAGETEX
cd imagetex

platex $IMAGETEX > /dev/null 2> /dev/null
dvips -q -E -Z* ${IMAGETEX%tex}dvi -o ${IMAGETEX%tex}eps
/bin/rm -f ${IMAGETEX%tex}log ${IMAGETEX%tex}dvi ${IMAGETEX%tex}aux

しかし、実は実行結果に大きな問題がある。たとえば、dvipsでEPSで吐き出したページを縮小したいというとき(これが本来の使い道だったんだけど)、縮小されたepsにはもとのepsのページ左下が参照点として残ってしまう。お気楽だね。

2004/12/09

今日うまかったワイン。トスカーナのサンタ・クリスティーナ。ミディアム・ボディの赤。

2004/12/08

結婚は生活だけど、結婚「式」ってやつは手続きなんですよ。
そういえば昔から手続きが嫌いだった。書類も嫌い。たとえば印鑑を押すシチュエーションになると、自分がひどく蔑まれている気持ちになる。学生のころに通信技術全般が嫌いだったのも、手続き嫌いの顕現かもしれない。旧電電公社は今でも嫌いだ(もちろんマイクロ波のアンテナはべつ)。亀井派の江頭が「政治というのは手続きなんだよ」と賜っていたのを思い出した。早く、どこか自分からは見えない世界に行ってください。できるだけ早く。

よく考えたら、「手続き」って、コミュニケーションが「衰退(行政・書類・政治)」または「凝縮(通信プロトコル)」した状態に二分されるのか? 後者への展開だから通信プロトコルはおもしろいのかもしれない。

ところで、インターチェンジ1つ分くらいは先に行きたいなあ、と一瞬思ったけど、普通は先に行けば行くほど渋滞だね。

2004/12/07

この時間に帰ってきて何をすればいいというんだ。と、あっさりショコラいちごを頬張りながら思う。

2004/12/06

ゆかちゃんは偉いな。結婚式が「できる」人はみんな偉い。自分が主役になるのは、とても覚悟がいることだと思う。

2004/12/04

久しぶりに小説を読んだ。「フィニイ128のひみつ」。面白い。あとちょっとで理解できそうだけど途端に世界観がゆらぐような微妙な現実感を、小説というメディアでしかできない方法で体験させてくれた。矛盾や疑問がないとか整合性があるとかいったハードSFに期待される特徴は、はっきりいってない。そもそも人間が知覚できるレベルでは、現実の整合性なんて近似しかできない微妙な類のものなわけで、そういう世界をごりごり見せられてもへき易するだけだ。かといって設定が脆弱なわけでも伏線を取り散らかしているわけでもなく、読者自身が「語られていない何か」を議論したくなる程度に節度を維持している(「語られていない何か」は、あらゆるとんがった作品にとって重要な要素だ)。
それで、きっとみんなも好印象だろうと信じていくつかのWebサイトのレビューを覗いてみたのだが、自分と正反対の評価が目立つ。そうか、みんなこういうSFはきらいなのか。っていうか、「ひみつ」をわかりやすく説明してくれないといやですか。そうですか。「語られていない何か」は嫌いですか。
語られていない何かってやつは、体験した人間を語らずにはいさせないものだから、自分も思い付くところだけメモしておこう。
・14くらいまで、主人公が男だと勘違いしていた。読み終えてみると、最初は確かに男だったのかもしれない(7C「そんな娘は最初からいなかったんだ」。あるいは、冒頭の「ゆうじ」)。
・エリア51やマジェスティック12に含まれる数字は意味がある、16進で該当する節にキーになる話が含まれているっぽい。
・主人公そのものが「ひみつ」である可能性(主人公の斑点 =作中小説のタイトル。また、主人公が金のネックレスをしたSPに見覚えがあったのは、本書全体に対して主人公はメタ位置にいるから。作中におけるW&Wと現実の関係が、主人公と本書の関係に比較できそう)。
・幼稚園へ続く道へと踏み出さなかった理由はわからない。

2004/12/03

いつも忘れるshのパターンマッチ。ローカルのメモを貼り付け。覚える必要もない、か。

・${変数#パターン}
最初の部分とパターンがマッチしたら、最も短く一致する部分を取り除いた残りの部分を返す。
・${変数##パターン}
最初の部分とパターンがマッチしたら、最も長く一致する部分を取り除いた残りの部分を返す。
・${変数%パターン}
最後の部分とパターンがマッチしたら、最も短く一致する部分を取り除いた残りの部分を返す。
・${変数%%パターン}
最後の部分とパターンがマッチしたら、最も長く一致する部分を取り除いた残りの部分を返す。
例:

$ for i in `seq 117 123`; do echo $i, ${i#1}, ${i##1}, ${i%1}, ${i%%1}; done

117, 17, 17, 117, 117
118, 18, 18, 118, 118
119, 19, 19, 119, 119
120, 20, 20, 120, 120
121, 21, 21, 12, 12
122, 22, 22, 122, 122
123, 23, 23, 123, 123

2004/12/02

急に思い出したんだけど、神保町櫓のホワイトカレーにはミルク系の材料はつかわれていない。あれはナッツの色だ。カルダモンが主張しているのにうまい(美味い/上手い)カレーは、これ以外に食べたことがない。
やめるのは簡単。惰性で続けるのも簡単。しかし、どちらの態度も、決断は難しい。

2004/12/01

境界条件を甘く見てはいけない。

帰り道、安全太郎がサンタクロースになってた。バルーンのやつ。トナカイもいたよ。

2004/11/30

拡大再生産は必ず破綻するのだからR&Dは重要な業務であるという主張は自己正当化であろうか。それはつまり、R&Dにも厳密な評価ルールがあればいいということなのだが、ある調査対象とある成果とを一対一対応させることがほとんど無理という時点で、厳密なルールなんておとぎの国の話なのではないのか。という話もまた自己正当化っぽい。
自己言及する命題をもつ系は完全ではない。
それはそうと、神保町エチオピアの10倍でお腹がいっぱいです。

2004/11/29

gethostbyname()の動作を取り急ぎテストしたい。とくに、h_errnoの中身を知りたい。こんなもんでも、必要なときにゼロから作ると小一時間かかってしまう自分。h_errnoを吐き出したたかったんだけど、どうするかよくわからず。herror関数って使っても大丈夫なのかなあ?
/* test_ghbn.c */

#include
#include

/* extern int h_errno; */

main(int argc, char *argv[]){
struct hostent *host;

if (argc < 2){
printf("usage: test_ghbn.exe \n");
exit(1);
}
if ((host = gethostbyname(argv[1])) == NULL){
herror("gethostbyname");
}
else{
printf ("addr in hex: 0x%x \n", ntohl(*((unsigned long *)host -> h_addr_list[0])));
}
}

例:
$ ./test_ghbn.exe www.google.co.jp

addr in hex: 0xd8ef3967

$ ./test_ghbn.exe www4.google.com
gethostbyname: Unknown host

$ ./test_ghbn.exe www2.google.co.jp
gethostbyname: No address associated with name

2004/11/28

ついにうちにもNikonの金ピカの箱がきたよ。いままで(35mmフィルムカメラでは)意識的に避けてきたからなあ。しかし、現状の廉価な一眼レフデジタルカメラでコストパフォーマンスのもっとも優れたものを購入するとなると、D70しかないのだ。レンズは、これもほぼ迷わず、レンズキットとして本体と同梱されている標準のAF-S NIKKOR 18-70mm 1:3.5-4.5G EDにした。本当はちょっと迷ったんだけど。迷ったのは、AF-S VR Zoom Nikkor ED 24-120mmで、手ぶれ補正がウリ。しかし、ワイド端のMTFがAF-S 18-70mmに比べて平均して低い。とはいえ、18-70mmだけMTFグラフの横軸が12までなのは怪しいです>Nikon。そうはいっても、やっぱりデジカメでズームだとヌケがほしいよねえ。24-120mmは異様に重いし。ということで、フィルムカメラを買うときとはえらい異なる思考プロセスを経て、どう考えてもお買い得感の高かったAF-Sに決めた。Microdriveが余ってたので当面はそれを使うつもりいたんだけど、LEXAR 40xの1Gも勢いで買っちゃったので、さっそく試写。



やっぱり外に出ないと接写ばかりになるね。マクロ撮影用のレンズではないけれども、そこそこいい描画に見える。ちなみに、2枚目のGM-FM-2 WildCatはSWEETの1/144キットで全長5cmくらい。3枚目は完全に逆光のシーン。いずれも、カメラ側の撮影モードはAUTOで、被写体にカメラを向けてシャッターを押しただけという作例です。
さて、どこかでM42-Nikkorの変換リングを買わなければ。

2004/11/27

やらなきゃいけないことがあるんだけど、ぼーっとエレクトロニックサウンドの歴史を眺め始めたら止まらなくなってしまった。いまさらだけど、解説の手法としてのFlashは、現在のところ最強のツールかもしれない。利用者にとって直観的で分かりやすい操作系が、制作者側ではデザインを犠牲にせず比較的安直に提供できる。その結果、出来上がるものは、適度にリッチかつ適度に制約がきいた仕組みになることが多いように感じる。
そのほかの例:How Grenades Work
おまけ:アニメーションで見る線形代数

2004/11/26

同僚のM氏がDEMOについてナイスマトメしていたので、メモ。
DEMOやJAZZは、人にお勧めを紹介してもらわない限り、相当なエネルギーをつぎ込まなければ「楽しむ」域に到達できないと思う。JAZZは雑誌で独探もできるけど、実際に聞いてみなければ自分に合うかわからないし、はじめて聞いたときにはダメでも聞きこむにつれて良くなることもある(逆もね)。生演奏を耳にして印象が変わることもあるし、再生装置が変わっただけでも考え方は一転する(だから、Amazonとかでrm形式のデモが聞けたりするけど、信じちゃいけないってこと)。一方DEMOのほうは、Webで探しまくってためしまくれるけど、学生~20代前半独身でもなければ「探してためしまくる」時間はない。時代とともに再生装置が入手出来なくなるという問題もある。時代格差の問題は、JAZZの場合も、歴史を知っているかどうかという面で顕在する問題かも。いずれにしろ、JAZZもDEMOも、きっと自分の知らないとこでものすごい傑作が作られて、そうした適切な伝承を介したコミュニティ(しかも、時代間格差のあるコミュニティ)の中で消費されているんだろう。そう思うと口惜しい。(自分にとって)どうでもコミュニティ文化もあるけどね。ぺ様とか。それにしてもマスコミを通じて「発見」されやすい文化は、自分が興味ないものばかりってこと。

2004/11/24

でも、本当のサプライズはいらないんだよ。日常の枠内でちょっぴり面白い何か。「入ったことのない評判の店」「食べたことのないうまいと言われる食事」「見たことのない面白いと言われる映像」「体験したことのないみんなと共感できる興奮」「行ったことのないみんなが行く外国」。単に「〜したことのない何か」ではない。たいていの人は、いざとなると驚愕するほど保守的だからね。おとしどころかおすみつきをうまくおぜんだてしなければ。で、どうするよ。
いつもここで息詰まる。
価値よりも、「飽を埋める何か」が糸口かもしれない。

2004/11/23

9個の?」の解法探索アルゴリズムのメモ。
以下の1〜6を1ターンとして、(1,1),(2,1)および(2,2)〜(9,8)までを走査する。

  1. ある方向に1進む。以下を満たす進路しか残っていなければ、次のターンに。

    • 枠外へは進めない

    • すでにラインがある場所へは進めない

    • 同じ場所から前に一度進んだことがある方向には進めない


  2. その場所から、1. で進んだ方向と90度異なるいずれかの方向に進む。以下を満たす進路しか残っていなければ、その反対方向に進む。それでも進路がなかったら、次のターンに。

    • 枠外へは進めない

    • すでにラインがある場所へは進めない

    • 同じ場所から前に一度進んだことがある方向には進めない


  3. その場所から、2. で進んだ方向と同じ方向に進む。以下を満たす進路しか残っていなければ、2. に戻る。

    • 枠外へは進めない

    • すでにラインがある場所へは進めない


  4. その場所から、1. で進んだ方向と逆の方向に進む。以下を満たす進路しか残っていなければ、2. に戻る。

    • 枠外へは進めない

    • すでにラインがある場所へは進めない


  5. その場所から、2. で進んだ方向と同じ方向に進む。以下を満たす進路しか残っていなければ、2. に戻る。

    • 枠外へは進めない

    • すでにラインがある場所へは進めない


  6. その場所から、2. で進んだ方向と同じ方向に2つ進む。以下を満たす進路しか残っていなければ、2. に戻る。

    • 枠外へは進めない

    • すでにラインがある場所へは進めない。ただし、1つ先が埋まっていても、2つ先が空いていれば進める


勝手に関さん語録。

  • 厚みは適当です。まっすぐ振れてれば大丈夫ですよ。

  • 左手のブリッジに力いれてるほうがいいですよ。

  • 顎すって火傷したことあります。


ときどき強烈に実感するようになってきた。まあ、そんな休日。

2004/11/22

体調ってやつは徐々には悪くならないらしい。昨日までは好調で上野まで散歩にいったりしてたのに、逆にそれが悪かったかも。今日になって仕事の半分(「読む」ほう)すら手につかないのは困った。昨日、バルトーク聞きながら畳の上で昼寝しちゃったのもだめだったかなあ。昼寝なんてめったにしない(できない)のに。
ところで、全微分の幾何的イメージが思い描けるかどうかは体調(気力)のバロメータになる気がする。

2004/11/21

2004/11/20

いちおうまとめ。

Jon Watts / Stepping off: JASON FORREST
ライブ用のブートレグっぽい。LOTRネタはちょっと笑えた。

Hannas Hayha / I Love Death: LODGER
ありがちな手だけど、Flash MXでつくってたのね。

MONKMUS / Year of the Rat: BADLY DRAWN BOY
ただのアニメ。愛は地球を救いません。が、最初の女の人の作画はいい感じだった。

Slliot Jokelson / String at the Sun: TV on the Radio
男性のアップは避けてください。

Jonas Odell / Take Me Out: Franz Ferdinand
いかにもブリティッシュロックのPVっぽい構図にオーバーラップされたパターンが奥行きの演出に効いていたし、ところどころで使われるアニメーションのシンクロっぷりも心地よかった。

Dougal Wilson / Three Girl Rhumba: KLONHERTZ
紙飛行機が鋏に追われるシーンで、去年かそこらに見たレゴの宇宙船が徐々に組み立てられていくMEGADEMOを思い出した。なんでだろ。関係ないのに。しかしレゴといえばやっぱりゴンドリーなわけですよ。

John Maclean, Robin Jones/THE BETA BAND / Assessment: The Beta Band
これは面白かった。カメラを乗せた車の轍が砂浜に残りっぱなし、という割り切りも好き。

Chris Hopewell / EQUUS: Blonde Redhead
マネキンと馬だけじゃ引っ張れないと思う。あまり好きではない。

Brett Simon / BERRY: Polar Bear
だから、男性のアップはやめてください。

IF/THEN / Tonight on the WB: The Comass
女の子がマスタングっぽいのの屋根に乗っかってる絵と、機動隊の頭に浮いている文様と、最後の爆発シーンがとても好き。夜なのにメリハリがあってきれいな映像もよい。

Brad Peyton, Marc Beurteaux / Young Lions: The Constantines
覚えてない。

Kuntzel & Deygas / Come Home Billy Bird: The Divine
普通におもしろかった。機内食の蓋に「Chickenは入っていない」にはちょっと吹き出した。

Plates Animation: So Says I: The Shins
正直、ストーリーはよくわからなかったけど、ペンギンはかわいらしかった。とくに、エスカレーターでうなだれてたやつ。

Marc Craste / Will This Summer Make Good for All Our Sins: MUM
もののけ姫。

Jerome Combe, Andre Bessy / Deux Pieds(Two Feet): Thomas Fersen
江口寿史風のこじゃれた3Dアニメ。見ていて気持はいい。

The Saline Project / Televators: The Mars Volta
気持わるい。

Run Wrake / Try again Today: The Charlatans
ある意味、一番凝っいてたし、世界観もしっかりしてた。明るい色使いと線画の表現は、ありそうで意外に独特の世界観だと思う。最後の水紋で葦の影がゆらめかなかったのがちょっと残念。

Christopher Mills / Float on: Modest Mouse
ひつじがかわいらしい。

Plates Animation / Exotic Talk: RJD2
へんな生物(ロボット?)がいい。Plates Animationってとこの映像は、ペンギンのやつといい、それほど強烈なオリジナリティは感じない。けど、作品としてはけっこう好き(ペンギンしかり)。

Woof Wan-Bau / Wanna Be That Way
ベースの女の子だけフィーチャーしてればよかったのに。

Michel Gondry / Walkie Talkie Man: STERIOGRAM
とにかくおもしろすぎ。

Syd Gordon, Eric Henry / Spkes on the Wheel of Torment: Buckethead
ボッシュの絵って、動くとコミカルなのね。

ARK / Sing for Absolution: Muse
カーボーイビバップ + スターウォーズ + 猿の惑星
RESFEST2004 Video That Rocks
クオリティの高いミュージッククリップを大量に集中して見ると、ものすごく疲れる。それにしてもミッシェル・ゴンドリーはおもしろいなあ。coolなアイデアとhotな技術力。音楽まで名曲に聴こえてしまうという罠。ところで、リンク先のDIRECTORS LABEL冒頭で彼自身が"Quantity Lasts, Quality Goes"と言っているのが僕は好きです。
23日のJonathan Glazer Retrospectiveも見に行ってしまいそう。

2004/11/19

ワダさん、日本語ヘンすぎです。
会社や自宅といった拠点間の「線」で維持したいのは、強固なネットワーク(アドレスでサービスが制限されるようなのは論外)と思考速度に追いつくUI。携帯端末でメールを打ったりWebを利用したりするのは、まだちょっとありえない。このへんは、端末が高機能(もしくはプログラマブル)であるかどうか以前の問題なんだが。車もいっしょ。強固な停止・走行能力(ブレーキが効かないとかは論外)と思考速度に追いつくUI(だからオートマはきらい)。でも、本当はちょっと違うのかも。機能はソリッドなものがほしいけど、モノとしては色気が必要、というのが本音かもしれない。重火器なんて、そのお手本のように思えてしまう。あと、ウェグナーの椅子とか。しかし、モノとしての色気なんて、しょせんは主観にすぎないのだった。

2004/11/18

PER(株価/1株利益) < 20 って気にしないのか?みんな。自分はそれしか判断基準を知りませんが。
酒を飲んだ翌日は、軒並み気鬱。
モノを作っていると、それが商売になるかどうかという問題に直面する。この問題をビジネス化問題と呼ぶことにしよう。ビジネス化問題に絶対に直面しないモノ作りは幸せそうだけど、そういう世界は左のほうに行きがちだからいや。でもこれはまた別の話。
ビジネス化問題の痒いところは、ただ単に他人の求めるモノを作れば商売になるわけではない、とういところにある。サラリーマンの平均的な生涯年収が3億円として、それを稼ぐには粗利1万円のモノを3万人に売らなければならないわけで、毎日約1人、年間300人とすると、100年かかるってことだよ。裏を返せば、どうやって「平均的なサラリーマン」が3億円の生涯年収を獲得しているっていうんだろう。ただし、3億円と言われているサラリーマンの生涯年収が平均値なのか中央値なのかで話が変わるな。平均値だとすると、一介の会社員では3億なんて達成できない値という可能性が高い。やっぱり家建てるのなんて無理なのか。早く週末にならないかなあ。

2004/11/17

ホッピーで本格インドカレーが食える店はトプカくらいしかない。来週もいきたいぞ。
ところで、保健証がカード式になるのでとりかえに行かなければならないんだった。保健証さがさなきゃ。

2004/11/16

昔の写真を見だしたら止まらない病。
Windows 版の Firefox で mailto スキーマに対して起動するメーラについて。お使いの IE の[ツール]→[インターネットオプション]→[プログラム]タブで設定するメーラが起動します。ありえない。
Linux 版の Firefox では、「mailtoは有効でないスキーマだ」と言って怒られるけど、どうすればいいんだ? default の user_pref にある network.protocol-handler.external.mailto を true に設定しとけばいいのかな。

2004/11/15

ここ数日、寝る前にショスタコービッチの弦楽四重奏を片っ端から聴きまくっているわけだが、当り前のように切なくなってくると同時に、興奮するっていうか、おっさんも大変だったなと。もう、ひきこもりっぽくて美しすぎ。その後でピアノ協奏曲第2番を聴いたりすると、思わず笑っちゃう(本人も笑ったに違いない。当時の体制云々はおいておいたとしても)。ピアノ協奏曲については、本人自らが怪演している録音が残っているけれど(EMI)、その演奏のぶんちゃかっぷりは、熱演なんかではなかったんだろうなきっと。むしろ「さっさとこんな茶番は終わりにしたい」というあきらめだったに違いない。

2004/11/14

荒川区長選。左翼系は論外だし、前区長逮捕を受けての選挙だけに政治屋もちょっとなあ。
スランプについて。ようは、高望みして到達できず、それまでの期間に曖昧にしか習得できていなかったスキルを忘れている状態なんだな。反省して、すでに習得したつもりでいたところから鍛え直せばいい。そもそも高望みせずに着々とスキルアップする努力すればいいという話も。
でもやっぱり、高望みというやつは、やる気レベルを維持するのに優れた活性剤なのかもしれないと思い出した。一慨に否定するのも難しいか。
昨日の夜、旧友にあった。ほとんど出会いがしらというシチュエーションだったけど、幸いにも少しゆっくりと話すことができた。お互いに10年近く音沙汰が なかったにもかかわらず、その間どうしてたとか、昔はこうだったよなあとか、そういう会話はほとんどない。いま読んでいる本とか、今日はどこに行ってたの かとか、そういうどうでもいい話題で済む。昔から何も身のある話をしなかったよなあ俺ら、と言って別れた。
オーチャードホールで上演された、ポーランド国立ワルシャワ室内歌劇場オペラによるフィガロの結婚を見てきた。スザンナの4幕のアリアは掛け値なしによかったし、マルチェリーナやバルトロ、バジリオの3人も怪しさ抜群だったし、なによりケルビーノ役のユスティナ・ストラルスカがかわいらしかった。
ただ、どうしても「あとひといき感」が否めない。とくに候爵夫人のアリアは、ことごとく「何か」を外しているように聴こえたんだけど……もしかすると、すべては4幕でスザンナと入れ替わったときのアリアを際だたせるためだったのか! (それにしても、いまどきそんな手法ははやらないと思う)。

2004/11/05

神保町のカレーについてのまとめ(2004/11/5版)

  • チキンカレーが食べたい
    →カーマ。ただし、よりインドっぽのが食べたかったらトプカかデリー。トマトの新鮮味がほしいならカブール食堂。

  • ポークカレーが食べたい
    →トプカ(スープはチキンと同じ)。

  • 魚のカレーが食べたい
    →トプカ。

  • マトンカレーが食べたい
    →トプカ。マトンカレーにはチキンカレーとは根本的に異なる何かを求めているわけで、その欲求を満たしてくれるのはトプカのマトンだけかも。

  • ココナッツミルクのカレーが食べたい
    →ティーヌンでグリーンカレーを食べるか、メーヤウでカントリーカレーを食べる。でも、ティーヌンに行くとガパオ食べちゃうんだよね(200円でグリーンカレーのミニを付けられる)。メーヤウのカントリーカレーは、パイマックルーの千切りっぽいのが旨い。メーヤウは、12:30前に入るともれなくラッシーが付く。

  • ジンジャーの効いたカレーが食べたい
    →デリーでコルマカレーを食べる。

  • クローブの効いたカレーが食べたい
    →エチオピア。ジャガイモが食べたいときもエチオピア。

  • キーマカレーが食べたい
    →カブール食堂。

  • 変わったカレーが食べたい
    →櫓の日替わり。

2004/10/24

ある瞬間の地球の表面には必ず風力0の地点が存在する、ということが数学的に証明できるんだって。
球面のオイラー数が2である(ようは0じゃない)ことが鍵になるんだけど、それにしてもおもしろいなあ。

ときに、XFree86がしょっちゅうフリーズして困ってたんだけど、PS/2マウスを3ボタンに変えて/etc/X11/XF86config-4を適切に編集したら、圧倒的に安定するようになった。そんなものなのね……

2004/10/21

忘れないうちにMing/Rubyメモ
  • SWFMovieクラスのインスタンスに対して、next_frameでフレームを一コマ送る。このフレームがすべての基本になる。
  • ムービークリップ(SWFMovieClip)やシェープ(SWFShape)は、それぞれのインスタンスをSWFMovieインスタンスに加えると描画 される。具体的には、SWFMovie::add(引数にはSWFMovieClipやSWFShapeインスタンスをとる)によって SWFDisplayItemクラスのインスタンスを生成することにより、描画される。
  • その後、必要があれば、move_toや set_nameなどのメソッド(SWFDisplayItemクラスのメソッド)でムービークリップやシェープを操作する。操作をするたびに、 SWFMovieインスタンスを一つ進めるのを忘れないこと(つまり、毎回next_frameメソッドを呼び出す。ムービークリップの場合は、for文 を使って、用意したムービークリップのフレーム数と同じ回数だけnext_frameメソッドを呼び出す)。
  • SWFDisplayItemイン スタンスにset_nameで名前を付ければ、ActionScriptを使ってムービークリップなどを操作することができる。SWFMovieインスタ ンスに対してframe_nameメソッドを呼び出せば、フレームにも名前を付けることができる。

2004/10/15

debianでmingをrubyから使うためのメモ

mingのライブラリとヘッダファイルをインストール

$ sudo apt-get install libming
$ sudo apt-get install libming-dev

ダウンロードしたming-rubyのソースを展開したディレクトリに移動して、ming-rubyに付属しているsetup.rbでインストール

$ cd ming-ruby-0.1.6
$ ruby setup.rb config -- --with-ming-lib=/usr/lib
$ ruby setup.rb setup
$ sudo ruby setup.rb install
mkdir -p /usr/local/lib/site_ruby/1.8/i386-linux/ming
install ming.so /usr/local/lib/site_ruby/1.8/i386-linux/ming

2004/10/03

Firefoxが0.8からX-TTのフォントを勝手に見に行くようになったらしく、自宅のDebianのfreetype環境では日本語がトウフ状態に文字化けするという困った状況になっていた。それでしばらく0.7をソースビルドして使っていたんだけど、Thunderbirdも0.5から同じ状況だし、意を決してX-TTに移行することにした。

移行そのものは、

sudo dpkg-reconfigure x-ttcidfont-conf

を実行して、いわれるままにX-TTに設定し直し、/etc/X11/XF86Config-4と/etc/X11/fs/configを修正すればいい。あとは、dfontmgrとか使わなくても、firefoxが勝手に/usr/share/fonts/truetype/X-TT/以下にあるttfフォントを読みにいく。

ここで、ちょっと気が向いた。firefoxがttfのフォントを勝手に見に行くなら、otfのフォントを適当なディレクトリにおけば、しれっと使えるようになるかもしれない。
具体的には、/usr/share/fonts/以下にopentypetみたいな名前のディレクトリを作って、そこにotfフォントをおいてみただけ。そうしてfirefoxを起動。

結果、案の定otfフォントがfirefoxのfontメニューに表示されて、選択可能になった。しかし、Webページの表示フォントはとってもきれいになったのに、メニューのフォントは変わらない。なぜ?