▼
2004/12/31
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らしい。
実行結果
ポイントは、奇数を3倍して1を足すと必ず偶数になることですかね(つまり、偶数の場合は偶奇判定が必須だけど、奇数の場合は次の偶奇判定を省略できる)。
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
大好き素数について同僚のM氏のソリューション。
10001番目の素数が知りたいんですよ!
でも、上記のページが掲載されているテネシー大学Martin校のサイトはおもしろそう。
The Prime Pages (prime number research, records and resources)
http://www.utm.edu/research/primes/
ギネスに掲載されている最大の素数といった下世話な話題から、リーマン予想の簡単なサマリーまで、ぱっとみでは実に分かりやすそうな解説がまとめられている。
% 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
年明けの嵐が怖いので、大好き素数を求めて気を落ち着けるしか。
current_integer = current_integer + 2 の部分がちょっと気が利いているような気がしていたんだけど、実行速度は +1 でもほとんどかわらないんじゃん。
#!/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/26
2004/12/25
大掃除。埃の量で得る達成感。ベランダとか広くなった気が。あと、大掃除のおかげで、軽く10年以上のキャリアになるACタップ(いちおうBelden)のコード皮膜が劣化してぼろぼろになっていたことを発見した。残念だけど、一歩間違えたら火事になってもおかしくないので、破棄。
それから、大掃除をきっかけに、Musical Fidelity の Tempest にも引退してもらうことにした。まったく不備はないんだけど、もうしばらく使わないだろうから。日本に入っている数は少ないんだろうなあ。あの値段で、あの大きさで、あれだけ艶っぽく鳴るインテグレーテッドアンプは他に知らない。その代わり、ボリュームとかの部品は国産だったら信じられないような安いのを使ってる。回路の構成上、S/Nも悪い。それでも自分は、全体が60点の製品よりも、平均すると40点だけど、ある部分(しかも、自分がその製品にとって本質だと思う部分)では95点を目指している製品のほうが好き。そういう意味で、この Tempest は、とてもお気に入りの工業製品の一つでした。余談だけど、実はパラビッチーニが設計にかかわっているという噂もあったりする(いまだに真偽はわからない)。そのつもりでJazzの女性ボーカルを聴いたりすると、トランジスタがあったまるにつれて、EAR 864を非力にしたような印象になってこないこともない。このトランジスタが、やけくそに熱い。物理的に。ハセガワのゼロ戦を上に置いていたら、尾翼が熔けたことがある。あと、むちゃくちゃ高い。8個のうち2個がいかれて修理に出したら、1個10000円も取られた。まあ、いろいろ思い出はあるので、すぐに捨てたり売ったりするつもりもない。しばらく休んでいてください。
ところで、絶対に気のせいなんだけど、スピーカーケーブルを拭くと音が良くなる。でも絶対に気のせいなのだ。ケーブルをはずす際に接点の錆が落ちるとか、そういうことはあるかもしれないけど、本気で音がよくなると主張するのは絶対にいやだ。
それから、大掃除をきっかけに、Musical Fidelity の Tempest にも引退してもらうことにした。まったく不備はないんだけど、もうしばらく使わないだろうから。日本に入っている数は少ないんだろうなあ。あの値段で、あの大きさで、あれだけ艶っぽく鳴るインテグレーテッドアンプは他に知らない。その代わり、ボリュームとかの部品は国産だったら信じられないような安いのを使ってる。回路の構成上、S/Nも悪い。それでも自分は、全体が60点の製品よりも、平均すると40点だけど、ある部分(しかも、自分がその製品にとって本質だと思う部分)では95点を目指している製品のほうが好き。そういう意味で、この Tempest は、とてもお気に入りの工業製品の一つでした。余談だけど、実はパラビッチーニが設計にかかわっているという噂もあったりする(いまだに真偽はわからない)。そのつもりでJazzの女性ボーカルを聴いたりすると、トランジスタがあったまるにつれて、EAR 864を非力にしたような印象になってこないこともない。このトランジスタが、やけくそに熱い。物理的に。ハセガワのゼロ戦を上に置いていたら、尾翼が熔けたことがある。あと、むちゃくちゃ高い。8個のうち2個がいかれて修理に出したら、1個10000円も取られた。まあ、いろいろ思い出はあるので、すぐに捨てたり売ったりするつもりもない。しばらく休んでいてください。
ところで、絶対に気のせいなんだけど、スピーカーケーブルを拭くと音が良くなる。でも絶対に気のせいなのだ。ケーブルをはずす際に接点の錆が落ちるとか、そういうことはあるかもしれないけど、本気で音がよくなると主張するのは絶対にいやだ。
2004/12/24
というわけで、マイファーストPythonは、配列の要素の全組み合わせ(combination)を得るものでした。
実行結果
自分で忘れないように簡単にメモしておくと、こいつは、まず2つの要素の組み合わせ((n 2)個)を構成する(n:配列の大きさ)。その組み合わせに対して、もう1つの要素を組み合わせたパターン(((n 2) 2)個)を求める。これの繰り返し。構成的に組み合わせの要素を求めるなら、枝も少ないし、けっこういいアルゴリズムな気がする(どうせすぐに認識の甘さを思い知るので、今はこう思わせておいてください)。
その代わり、メモリはやたらに喰う。あと、どんなに演算が早くても、全部で100個の要素から9個取り出す組み合わせを一覧しようとして結果を標準出力したりした日にゃあ、(100 9) = 1,902,231,808,400パターンになりますから! 黙っちゃうよ(計算あってる?)。
#! /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/22
2004/12/21
これはもしかしてデスマーチという状態なのではないか。つまり、前工程の不備から、物理的に不可能なスケジュールでの納品を目指して進んでいる状態。発注側も、受注側も。
理由は分かりきっている。スケジュールというやつは、生産側の都合ではなく、あくまでも経営側の都合で決まるからだ。ただし、これは、「生産側である自分が経営側についてどうこう言っている」ような問題ではない。そうやって生産側と経営側の対立をあおっても仕方ないし、するつもりもない。じゃあ何をあおっているのか。まあ、ご多分に漏れず、そんなのすぐにはわかんないわけさ。
少なくとも言えるのは、
そんなわけで、
(ようするに悪循環じゃん)
よもや、あおっていたのは銀行/金融と生産業との対立か?
ここまで勢いで書いたけど、ここで言っている「生産業」には、拡大再生産を続ければすむような「工場型のもの」は含まれていない。クライアントしだいだろうけど、物理的に生産にかかる時間を割り出しやすい(そのノウハウがある)産業はデスマーチが顕在化しにくいような気がする。っていうか、物理的に無理だと開き直れるのか。
理由は分かりきっている。スケジュールというやつは、生産側の都合ではなく、あくまでも経営側の都合で決まるからだ。ただし、これは、「生産側である自分が経営側についてどうこう言っている」ような問題ではない。そうやって生産側と経営側の対立をあおっても仕方ないし、するつもりもない。じゃあ何をあおっているのか。まあ、ご多分に漏れず、そんなのすぐにはわかんないわけさ。
少なくとも言えるのは、
- 経営側が策定する年度計画は生産側の「作るつもり」に基づいている
- 年度計画は銀行などの融資や株価にも影響する
そんなわけで、
- 経営側は、一度決めた年度計画は短期的(一般には四半期)なスパンでは崩せない
- これは、体力がない自転車操業な企業ほど顕著
- その一方で、生産側の「作るつもり」はたいていコケる
- これは、体力がない自転車操業な業界(ソフトウェアとか出版とか広告とか)ほど顕著
(ようするに悪循環じゃん)
よもや、あおっていたのは銀行/金融と生産業との対立か?
ここまで勢いで書いたけど、ここで言っている「生産業」には、拡大再生産を続ければすむような「工場型のもの」は含まれていない。クライアントしだいだろうけど、物理的に生産にかかる時間を割り出しやすい(そのノウハウがある)産業はデスマーチが顕在化しにくいような気がする。っていうか、物理的に無理だと開き直れるのか。
2004/12/20
結論は相手に言わせろ(どうでもいいけど、気を抜くと一言日記になってくる)。
ここ数日思うのは、自分ががんばってもがんばれてもだめで、相手をがんばらせることができるかどうかが重要なんじゃないだろうか。でも何に? 「重要なんじゃないだろうか」などといって状況を分析している風を装うのは朝日の社説記者の仕事じゃろがい。おそらく、仕事(業務)が上手く遂行できるかどうかにとって重要で、仕事が上手く遂行できるのはサラリーマンの健全な精神にとって重要で、健全な精神がないと(スコラ哲学では)生きていないのと同じ。つまり、自分が生きるか死ぬかというレベルで「相手にがんばらせる」ことは重要ということか。でも、この期に及んで健全な精神はもう無理です。
今の仕事は一人でできる部分とそうでない部分があって、自分にとってはそうでない部分ほどうまくいかない。そしてきっと、研究や芸術なら自分ががんばれれば何とかなる。うそです。そんな素朴な精神論は太平洋戦争までのものです。しかし、そういう幻想は確実にあって、人はモラトリアム延長にあこがれるわけだ(自分と人一般を摩り替えない>自分)。
要約すると、自分自身でがんばるよりは他人にがんばらせてポルシェを買えと。でなければヴィッツで我慢しろと。
ここ数日思うのは、自分ががんばってもがんばれてもだめで、相手をがんばらせることができるかどうかが重要なんじゃないだろうか。でも何に? 「重要なんじゃないだろうか」などといって状況を分析している風を装うのは朝日の社説記者の仕事じゃろがい。おそらく、仕事(業務)が上手く遂行できるかどうかにとって重要で、仕事が上手く遂行できるのはサラリーマンの健全な精神にとって重要で、健全な精神がないと(スコラ哲学では)生きていないのと同じ。つまり、自分が生きるか死ぬかというレベルで「相手にがんばらせる」ことは重要ということか。でも、この期に及んで健全な精神はもう無理です。
今の仕事は一人でできる部分とそうでない部分があって、自分にとってはそうでない部分ほどうまくいかない。そしてきっと、研究や芸術なら自分ががんばれれば何とかなる。うそです。そんな素朴な精神論は太平洋戦争までのものです。しかし、そういう幻想は確実にあって、人はモラトリアム延長にあこがれるわけだ(自分と人一般を摩り替えない>自分)。
要約すると、自分自身でがんばるよりは他人にがんばらせてポルシェを買えと。でなければヴィッツで我慢しろと。
2004/12/19
2004/12/18
視聴中。
こいつを作ってからというもの、小音量でも音やせしないもんだから、すっかりヘッドフォンで音楽を聴くという習慣がなくなってしまった。そりゃあスピーカーの音のほうがあらゆる面で良質だ。それでもヘッドフォンは、集中力とセロトニン分泌量の面でスピーカーを上回る。ただし中耳の犠牲はもれなく付いてくるから、密閉型の安いものは使わないほうがいい。電源の問題さえクリアできれば、きっとNCもいいんだろう(USBのNCヘッドフォンとかあるといいね。あるのかな?)。
こいつを作ってからというもの、小音量でも音やせしないもんだから、すっかりヘッドフォンで音楽を聴くという習慣がなくなってしまった。そりゃあスピーカーの音のほうがあらゆる面で良質だ。それでもヘッドフォンは、集中力とセロトニン分泌量の面でスピーカーを上回る。ただし中耳の犠牲はもれなく付いてくるから、密閉型の安いものは使わないほうがいい。電源の問題さえクリアできれば、きっとNCもいいんだろう(USBのNCヘッドフォンとかあるといいね。あるのかな?)。
2004/12/17
2004/12/16
老舗の鍋料理店って、みんなあんな感じなのかなあ。以前入った銀座の河豚屋もそうだったけど、すべて仕切られる。個々の客よりも店の味を大切にしたいと、そういうことかい(どこかの出版社と……)。好きなように食わせてくれ。絶対値でいえばうまかったけど、そもそもグルタミン酸やイノシン酸にグアニル酸をあわせるのはわかってないってことですから。それと、若いと思って適当にあしらうな。いっとくけどとなりで飲んだくれてるオヤジたちよりも味はわかる。以上。
それでも、気のあう人達と飲み食いするのは楽しいよね。結局、時間を買うということなんだろう。
関係ないけど、少し覚悟を決めようかと思った(勤務先のことではありませんから、ちなみに。書いておかないと忘れちゃって覚悟が鈍るから)。
それでも、気のあう人達と飲み食いするのは楽しいよね。結局、時間を買うということなんだろう。
関係ないけど、少し覚悟を決めようかと思った(勤務先のことではありませんから、ちなみに。書いておかないと忘れちゃって覚悟が鈍るから)。
2004/12/15
2004/12/14
Flickrにアカウントを作ってみた。http://www.flickr.com/photos/k16
アップロードした写真は、上記のページ上ではFlashに埋め込まれるようだ。しかし、権利をパブリックにしておけば、ざくざく個人のブログロにも直接リンクできる(別な領域に画像の生データも保存されてるっぽい。もちろん、あかのたにんのもOK)。こんな感じ。
広告もないし、どういうビジネスモデルなんだろ。
アップロードした写真は、上記のページ上ではFlashに埋め込まれるようだ。しかし、権利をパブリックにしておけば、ざくざく個人のブログロにも直接リンクできる(別な領域に画像の生データも保存されてるっぽい。もちろん、あかのたにんのもOK)。こんな感じ。
広告もないし、どういうビジネスモデルなんだろ。
2004/12/13
保守本流を豪語するT氏と議論をしていて、僕も政治/思想的なスタンスを明確にすべきなのかもしれないと思った。しかし、思えば高校生の頃から政治思想は努力して隠蔽するようにしてきたわけで、宗教嫌い、右も左も嫌い、小中学校の教員嫌い、NTTと事務役人嫌い、アサヒスーパードライ嫌い、という傾向だけをまとめるとどうなるのか? リベラル中道ちょっぴり左派というところか。そんなわけで、リベラル中道左派っぽく、一人称の文章に「僕」を使ってみた。気持悪い。いずれにしろ、スタンスを明確にしないと自分が済み心地良い生き方ができない年代なんだろう。そもそもなんで主義主張を封じてきたんだったっけ? 群れたくないからか。
群といえば、代数は肌にあわなかったなあ。小学校のドリルも嫌いだった。自分は、嫌いなものでカテゴライズするほうがわかりやすい。つまり、ネガチブ。
群といえば、代数は肌にあわなかったなあ。小学校のドリルも嫌いだった。自分は、嫌いなものでカテゴライズするほうがわかりやすい。つまり、ネガチブ。
2004/12/12
2004/12/11
2004/12/10
epsを拡大縮小したい。そんなの組版ソフト側で処理すればいいじゃんと思うけど、でもちょっと必要だったのさ。こんなんconvertでできればいいのに(もしかして自分が知らないだけで、実はできるのかも)。それでTeXにやらせてみた。
しかし、実は実行結果に大きな問題がある。たとえば、dvipsでEPSで吐き出したページを縮小したいというとき(これが本来の使い道だったんだけど)、縮小されたepsにはもとのepsのページ左下が参照点として残ってしまう。お気楽だね。
#! /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つ分くらいは先に行きたいなあ、と一瞬思ったけど、普通は先に行けば行くほど渋滞だね。
そういえば昔から手続きが嫌いだった。書類も嫌い。たとえば印鑑を押すシチュエーションになると、自分がひどく蔑まれている気持ちになる。学生のころに通信技術全般が嫌いだったのも、手続き嫌いの顕現かもしれない。旧電電公社は今でも嫌いだ(もちろんマイクロ波のアンテナはべつ)。亀井派の江頭が「政治というのは手続きなんだよ」と賜っていたのを思い出した。早く、どこか自分からは見えない世界に行ってください。できるだけ早く。
よく考えたら、「手続き」って、コミュニケーションが「衰退(行政・書類・政治)」または「凝縮(通信プロトコル)」した状態に二分されるのか? 後者への展開だから通信プロトコルはおもしろいのかもしれない。
ところで、インターチェンジ1つ分くらいは先に行きたいなあ、と一瞬思ったけど、普通は先に行けば行くほど渋滞だね。
2004/12/07
2004/12/06
2004/12/04
久しぶりに小説を読んだ。「フィニイ128のひみつ」。面白い。あとちょっとで理解できそうだけど途端に世界観がゆらぐような微妙な現実感を、小説というメディアでしかできない方法で体験させてくれた。矛盾や疑問がないとか整合性があるとかいったハードSFに期待される特徴は、はっきりいってない。そもそも人間が知覚できるレベルでは、現実の整合性なんて近似しかできない微妙な類のものなわけで、そういう世界をごりごり見せられてもへき易するだけだ。かといって設定が脆弱なわけでも伏線を取り散らかしているわけでもなく、読者自身が「語られていない何か」を議論したくなる程度に節度を維持している(「語られていない何か」は、あらゆるとんがった作品にとって重要な要素だ)。
それで、きっとみんなも好印象だろうと信じていくつかのWebサイトのレビューを覗いてみたのだが、自分と正反対の評価が目立つ。そうか、みんなこういうSFはきらいなのか。っていうか、「ひみつ」をわかりやすく説明してくれないといやですか。そうですか。「語られていない何か」は嫌いですか。
語られていない何かってやつは、体験した人間を語らずにはいさせないものだから、自分も思い付くところだけメモしておこう。
・14くらいまで、主人公が男だと勘違いしていた。読み終えてみると、最初は確かに男だったのかもしれない(7C「そんな娘は最初からいなかったんだ」。あるいは、冒頭の「ゆうじ」)。
・エリア51やマジェスティック12に含まれる数字は意味がある、16進で該当する節にキーになる話が含まれているっぽい。
・主人公そのものが「ひみつ」である可能性(主人公の斑点 =作中小説のタイトル。また、主人公が金のネックレスをしたSPに見覚えがあったのは、本書全体に対して主人公はメタ位置にいるから。作中におけるW&Wと現実の関係が、主人公と本書の関係に比較できそう)。
・幼稚園へ続く道へと踏み出さなかった理由はわからない。
それで、きっとみんなも好印象だろうと信じていくつかの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
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の変換リングを買わなければ。
やっぱり外に出ないと接写ばかりになるね。マクロ撮影用のレンズではないけれども、そこそこいい描画に見える。ちなみに、2枚目のGM-FM-2 WildCatはSWEETの1/144キットで全長5cmくらい。3枚目は完全に逆光のシーン。いずれも、カメラ側の撮影モードはAUTOで、被写体にカメラを向けてシャッターを押しただけという作例です。
さて、どこかでM42-Nikkorの変換リングを買わなければ。
2004/11/27
やらなきゃいけないことがあるんだけど、ぼーっとエレクトロニックサウンドの歴史を眺め始めたら止まらなくなってしまった。いまさらだけど、解説の手法としてのFlashは、現在のところ最強のツールかもしれない。利用者にとって直観的で分かりやすい操作系が、制作者側ではデザインを犠牲にせず比較的安直に提供できる。その結果、出来上がるものは、適度にリッチかつ適度に制約がきいた仕組みになることが多いように感じる。
そのほかの例:How Grenades Work
おまけ:アニメーションで見る線形代数
そのほかの例:How Grenades Work
おまけ:アニメーションで見る線形代数
2004/11/26
同僚のM氏がDEMOについてナイスマトメしていたので、メモ。
DEMOやJAZZは、人にお勧めを紹介してもらわない限り、相当なエネルギーをつぎ込まなければ「楽しむ」域に到達できないと思う。JAZZは雑誌で独探もできるけど、実際に聞いてみなければ自分に合うかわからないし、はじめて聞いたときにはダメでも聞きこむにつれて良くなることもある(逆もね)。生演奏を耳にして印象が変わることもあるし、再生装置が変わっただけでも考え方は一転する(だから、Amazonとかでrm形式のデモが聞けたりするけど、信じちゃいけないってこと)。一方DEMOのほうは、Webで探しまくってためしまくれるけど、学生~20代前半独身でもなければ「探してためしまくる」時間はない。時代とともに再生装置が入手出来なくなるという問題もある。時代格差の問題は、JAZZの場合も、歴史を知っているかどうかという面で顕在する問題かも。いずれにしろ、JAZZもDEMOも、きっと自分の知らないとこでものすごい傑作が作られて、そうした適切な伝承を介したコミュニティ(しかも、時代間格差のあるコミュニティ)の中で消費されているんだろう。そう思うと口惜しい。(自分にとって)どうでもコミュニティ文化もあるけどね。ぺ様とか。それにしてもマスコミを通じて「発見」されやすい文化は、自分が興味ないものばかりってこと。
DEMOやJAZZは、人にお勧めを紹介してもらわない限り、相当なエネルギーをつぎ込まなければ「楽しむ」域に到達できないと思う。JAZZは雑誌で独探もできるけど、実際に聞いてみなければ自分に合うかわからないし、はじめて聞いたときにはダメでも聞きこむにつれて良くなることもある(逆もね)。生演奏を耳にして印象が変わることもあるし、再生装置が変わっただけでも考え方は一転する(だから、Amazonとかでrm形式のデモが聞けたりするけど、信じちゃいけないってこと)。一方DEMOのほうは、Webで探しまくってためしまくれるけど、学生~20代前半独身でもなければ「探してためしまくる」時間はない。時代とともに再生装置が入手出来なくなるという問題もある。時代格差の問題は、JAZZの場合も、歴史を知っているかどうかという面で顕在する問題かも。いずれにしろ、JAZZもDEMOも、きっと自分の知らないとこでものすごい傑作が作られて、そうした適切な伝承を介したコミュニティ(しかも、時代間格差のあるコミュニティ)の中で消費されているんだろう。そう思うと口惜しい。(自分にとって)どうでもコミュニティ文化もあるけどね。ぺ様とか。それにしてもマスコミを通じて「発見」されやすい文化は、自分が興味ないものばかりってこと。
2004/11/25
2004/11/24
2004/11/23
「9個の?」の解法探索アルゴリズムのメモ。
以下の1〜6を1ターンとして、(1,1),(2,1)および(2,2)〜(9,8)までを走査する。
以下の1〜6を1ターンとして、(1,1),(2,1)および(2,2)〜(9,8)までを走査する。
- ある方向に1進む。以下を満たす進路しか残っていなければ、次のターンに。
- 枠外へは進めない
- すでにラインがある場所へは進めない
- 同じ場所から前に一度進んだことがある方向には進めない
- その場所から、1. で進んだ方向と90度異なるいずれかの方向に進む。以下を満たす進路しか残っていなければ、その反対方向に進む。それでも進路がなかったら、次のターンに。
- 枠外へは進めない
- すでにラインがある場所へは進めない
- 同じ場所から前に一度進んだことがある方向には進めない
- その場所から、2. で進んだ方向と同じ方向に進む。以下を満たす進路しか残っていなければ、2. に戻る。
- 枠外へは進めない
- すでにラインがある場所へは進めない
- その場所から、1. で進んだ方向と逆の方向に進む。以下を満たす進路しか残っていなければ、2. に戻る。
- 枠外へは進めない
- すでにラインがある場所へは進めない
- その場所から、2. で進んだ方向と同じ方向に進む。以下を満たす進路しか残っていなければ、2. に戻る。
- 枠外へは進めない
- すでにラインがある場所へは進めない
- その場所から、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
カーボーイビバップ + スターウォーズ + 猿の惑星
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も見に行ってしまいそう。
クオリティの高いミュージッククリップを大量に集中して見ると、ものすごく疲れる。それにしてもミッシェル・ゴンドリーはおもしろいなあ。coolなアイデアとhotな技術力。音楽まで名曲に聴こえてしまうという罠。ところで、リンク先のDIRECTORS LABEL冒頭で彼自身が"Quantity Lasts, Quality Goes"と言っているのが僕は好きです。
23日のJonathan Glazer Retrospectiveも見に行ってしまいそう。
2004/11/19
会社や自宅といった拠点間の「線」で維持したいのは、強固なネットワーク(アドレスでサービスが制限されるようなのは論外)と思考速度に追いつくUI。携帯端末でメールを打ったりWebを利用したりするのは、まだちょっとありえない。このへんは、端末が高機能(もしくはプログラマブル)であるかどうか以前の問題なんだが。車もいっしょ。強固な停止・走行能力(ブレーキが効かないとかは論外)と思考速度に追いつくUI(だからオートマはきらい)。でも、本当はちょっと違うのかも。機能はソリッドなものがほしいけど、モノとしては色気が必要、というのが本音かもしれない。重火器なんて、そのお手本のように思えてしまう。あと、ウェグナーの椅子とか。しかし、モノとしての色気なんて、しょせんは主観にすぎないのだった。
2004/11/18
酒を飲んだ翌日は、軒並み気鬱。
モノを作っていると、それが商売になるかどうかという問題に直面する。この問題をビジネス化問題と呼ぶことにしよう。ビジネス化問題に絶対に直面しないモノ作りは幸せそうだけど、そういう世界は左のほうに行きがちだからいや。でもこれはまた別の話。
ビジネス化問題の痒いところは、ただ単に他人の求めるモノを作れば商売になるわけではない、とういところにある。サラリーマンの平均的な生涯年収が3億円として、それを稼ぐには粗利1万円のモノを3万人に売らなければならないわけで、毎日約1人、年間300人とすると、100年かかるってことだよ。裏を返せば、どうやって「平均的なサラリーマン」が3億円の生涯年収を獲得しているっていうんだろう。ただし、3億円と言われているサラリーマンの生涯年収が平均値なのか中央値なのかで話が変わるな。平均値だとすると、一介の会社員では3億なんて達成できない値という可能性が高い。やっぱり家建てるのなんて無理なのか。早く週末にならないかなあ。
モノを作っていると、それが商売になるかどうかという問題に直面する。この問題をビジネス化問題と呼ぶことにしよう。ビジネス化問題に絶対に直面しないモノ作りは幸せそうだけど、そういう世界は左のほうに行きがちだからいや。でもこれはまた別の話。
ビジネス化問題の痒いところは、ただ単に他人の求めるモノを作れば商売になるわけではない、とういところにある。サラリーマンの平均的な生涯年収が3億円として、それを稼ぐには粗利1万円のモノを3万人に売らなければならないわけで、毎日約1人、年間300人とすると、100年かかるってことだよ。裏を返せば、どうやって「平均的なサラリーマン」が3億円の生涯年収を獲得しているっていうんだろう。ただし、3億円と言われているサラリーマンの生涯年収が平均値なのか中央値なのかで話が変わるな。平均値だとすると、一介の会社員では3億なんて達成できない値という可能性が高い。やっぱり家建てるのなんて無理なのか。早く週末にならないかなあ。
2004/11/16
2004/11/15
2004/11/14
2004/11/05
神保町のカレーについてのまとめ(2004/11/5版)
- チキンカレーが食べたい
→カーマ。ただし、よりインドっぽのが食べたかったらトプカかデリー。トマトの新鮮味がほしいならカブール食堂。 - ポークカレーが食べたい
→トプカ(スープはチキンと同じ)。 - 魚のカレーが食べたい
→トプカ。 - マトンカレーが食べたい
→トプカ。マトンカレーにはチキンカレーとは根本的に異なる何かを求めているわけで、その欲求を満たしてくれるのはトプカのマトンだけかも。 - ココナッツミルクのカレーが食べたい
→ティーヌンでグリーンカレーを食べるか、メーヤウでカントリーカレーを食べる。でも、ティーヌンに行くとガパオ食べちゃうんだよね(200円でグリーンカレーのミニを付けられる)。メーヤウのカントリーカレーは 、パイマックルーの千切りっぽいのが旨い。メーヤウは、12:30前に入るともれなく ラッシーが付く。 - ジンジャーの効いたカレーが食べたい
→デリーでコルマカレーを食べる。 - クローブの効いたカレーが食べたい
→エチオピア。ジャガイモが食べたいときもエチオピア。 - キーマカレーが食べたい
→カブール食堂。 - 変わったカレーが食べたい
→櫓の日替わり。
2004/10/24
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
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ページの表示フォントはとってもきれいになったのに、メニューのフォントは変わらない。なぜ?
移行そのものは、
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ページの表示フォントはとってもきれいになったのに、メニューのフォントは変わらない。なぜ?