必要べからざる失望。
きょう、ふと鏡をみたら前より自分のオデコが大きくなっているような気がした。 オレってこんなにデコ広かったっけ?? これは生え際が後退してきたということなのだろうか。 でもつむじまで一緒になって後退することってある? それとも本当にオデコが拡大してきた (顔が伸びた、あるいはマユゲから下がさがった) ということなのだろうか。 それとも、単に自分がいままで自分のデコの広さに気づいていなかった、ということだろうか。 わからん。そういえばオレは生まれてからずっと前髪をおろしていたので、 こういうことはほとんど意識しなかった。しかし…中学のときに同級の なにヒロ だかいう人物を 「デコヒロ、デコヒロ!」と呼んでいた記憶があるのだが、もしかしてそのときは 前髪おろしてて気づかれなかっただけで、真のデコヒロはオレだったのかもしれない。
「ツムジが逃げていくわ!」 (想像)
トルネードでたつまきな被害 (同じこと) にあった方には心よりおわびもうし上げます。
クシャミがでた。人はそれを「地獄からの支社」と呼ぶ。
説明より「なぜ?」の数のほうが圧倒的に多いので、 もう自分はただひたすら溺れるばかり、であるわけ、です。ヤスミ。
[
, ]
: (square) bracket
<
, >
: (angle) bracket
{
, }
: brace
ところで、キーボード使用歴が長くなってくると 英単語の音や意味からくる印象のほかに、 QWERTY配列からくる「タイプ印象」が生まれると思う。 たとえば "asada" とかいう文字列はおもに左手小指と薬指しか使えないため、 非常に打ちづらく、なにか邪悪な意志が働いているように感じる。 速く打とうとすると確実に指がからまってしまう。 "yusuke" よりも "euske" が好きなのは「えう」という語感のよさのほかにも 1文字ごとに右手文字と左手文字が現れるためにたいへん「打ちやすい」こともある。。。
オレは納豆に長ネギをたくさん入れるのが好きだ。1パックにネギ1本は使いたいところ。 つーか、これやると納豆よりネギのほうが多いようなかんじ。
長ネギは 3〜4本で $2.99 とそんなに高くないのだが、長持ちしないため あまり一度に沢山は買ってこれない。おまけにこっちのネギは時々ものすごくコワい (「(野菜などの繊維が) 濃い・固い」の意だが、これって方言か?) ことがある。 包丁で切ると「ボりっっ」て感じになるときがあるもんね。 やはりアメリカで栽培すると日が当たりすぎてしまうのだろうか…? もっと安価で手に入るものとしては普通のスーパーでも売っている scallion (エシャロットみたいなやつ) があるが、 これはちょっとニオイが独特で日本食とあまりあわないんだな。
結論: 「ワカメ」はひらがなで書くほうがよいということ。 漢字で書くと「若布」となり、なんだかわからない。 布かよ! そういえばまえカザフ出身の友人に海苔せんべいをすすめたら、 「この黒いシートは何? はがさなくていいの?」と聞かれて笑ったな。
ところでディスペンサー漏れ対策は何もなされていなくわっとわ。 つまりそれは言いだしっぺの法則ってこと??
そういえば、オレはいまだに学生であるので、“健康診断”というものをやたことがない。 人の健康なんて死んでから判断すりゃいいんよ。 しかしバリウムは一度飲んでみたいなあ。で、ゲップしたらもう一度飲まされるのね。
「…」
「…とりあえず Perl でやっか。…」
C-x C-f context.prl RET
#!/usr/bin/env jperl @words=(); while(<>) { next if (/^[\#\!\*\;]/); if (/^EOS/) { doit(@words); @words=(); } else { chomp; split; push(@words, \@_); } } sub doit($) { my @w1=$$_[0];
(ここまで打って手を止める)
「。。。。」
「。。(つまり1行をさらにsplitして渡すわけだから、 リファレンスにしなきゃいけないわけだな、でもPerlで配列渡しをすると$じゃまずいから…)。。」
「。。。。。うが〜〜〜 !」
3病沈黙。
C-x C-f context.py RET
#!/usr/bin/env python import fileinput words=[] while 1: for s in fileinput.input(): if (not s) or (s[0] in "#!*;"): continue if s.beginswith("EOS"): doit(words) words=[] else: words.append(Word(s.strip())) class Word: def __init__(self,s0): self.s0=s0 f=s0.split(" ") self.s=f[0] (..以下略)
「。。。(ニヤニヤ)。。。」
「。。。(ニヤニヤニニヤヤニヤ)。。。」
オタクとはこのようなものです。
(注: 上のプログラムには明らかなミスがあります。どこでしょう?)
\verb
コマンドと \verbatim
環境だ。
たとえばこんなの:
は青文字の部分がすべて正当なリテラルとして出力される。この変態 !! Knuth きらい。\begin{verbatim} foo %bar \end {ve \end{begin} \end{verbatim e} \end{verbatim}
\verb
問題を (なんとか) 解決したと思ったら、
説明書をみて \makebox(width,height)[position]{...}
なんていうのがあるのを見て、
やはり世の中はすべて SGML に統一されるべきだと凶暴に感じた。フム。
オレの欠点はライブラリを作るときに あまりに一般化しようとしすぎて使いものになんなくなることだ。よくある。
今寝ると朝になったら何もかも忘れてそう。夢の中でもプログラミングするか。
でもまだなんかすこしバグってるなあ。 おまけにすごい遅い・汚い・最悪。
しかもこれはまだほんの 1モジュールにすぎないのだった。
終結。
さてこれで今年度の学生としての (公式な) 本分はすべて終了…かと思ったら まだあとひとつあるんだよ。つぎのノドモトな締め切りは 5/15 です。 というか、つーか、お前はいったい何やってたんだ、この1学期は、と。 伊東へいくならハトヤ。そういえばうちのシャワールームの窓によく ハトがとまっていて、
おまえきらい。おまえだよ、畜生。
追伸: ディスペンサーがリークしました。か?? (これは暗号でぁ(=だ)る)
そう、自分がいまやっていることは、まさに型を身につけることだ。 そのためにわざわざ rigid なことをやろうとしているといえる。 そういう意味ではオレってひどく堅実派だなあ、自分で言うなってかんじだけぞ…。 しかし型を身につけなくてはたとえ優れたアイデアがあっても一発屋で終わってしまう。 そしてそのあとは自分の過去を後生大事に守って暮らすようになる。 やだやだ、そんなの。自分はつねに現場にいたいし、「まっとうなこと」をして 暮らしたい。しかし型を大事にしすぎるのもアレなので、結局は つぎつぎに「習っては捨てていく」ことになりそうだ。 つまりいつまでも食いつづけ、そして出しつづけるという人生。 健康そー
ところで「コンピュータセキュリティの専門家」ってのは いまやいろんな種類がいすぎて一言で「セキュリティ」っていっても ワケがわかんないのですが、具体的にはどういう階層に分かれているんでしょうか?
こんなかんじだろうか…。
ところでこれは完全に個人的主観なのですが、新山は 「寂しい」は「さびしい」と読み、「淋しい」は「さみしい」と読むようです。 ついでにいうと「寂しい」は「景色がさびしい」というときに使い、 「淋しい」は「人がさみしい」というときに使いたい気がするが、 なぜか考えてみた。思うに、たぶん「寂」という字は 「閑寂」や「寂寥」といった単語を連想するので「風景」の印象がつよいのだと思う。 いっぽうこれに対して「淋」が使われてる熟語って新山は 1つしか知らない。 それに「淋」はなんかいかにも人が泣いてるっぽいじゃないですか。 見てるだけで悲しくなる。ところで瀬戸内寂聴ってときどきラジオとかに出るとすげーよく喋ってて ぜんぜん「寂聴」ってかんじじゃないよな…と思っていたのですが、いま辞書をひいてみたら 「寂」という字には「煩悩をはなれ、涅槃に達する」という意味があるようです。
「ニチベエ首脳」にはかずかずの謎があった。 当時の新山は「首脳」が「大統領あるいは総理大臣」を意味することはわかっていたし、 「ハチ兵衛」「どん兵衛」など、「-兵衛」というサフィックスが人名を あらわすこともわかっていた。しかしこの 2つの事実を組み合わせると奇妙な 疑問が浮上する。いったい「日兵衛首脳」とは何物か?
まず、こいつは「-兵衛」なんてついてるんだから日本人にちがいない。 でも総理大臣はふつう「鈴木首相」とかいう名前で呼ばれていたから、 こいつは総理大臣とは別人であることになる。しかも、 ニュースを聞いているとこいつの扱いは総理大臣以上に重要らしく、 さらにこいつだけなぜか苗字でなくてファーストネームで呼ばれているのだ! いったいこいつは何物なんだ? どっかの国の日系人首相なのか!? …と疑問に思っていたが、あるときふと「ニチベエ」はじつは 「日米」のことだ、と気づいてがっかりした…。 それがいつのことであるかは覚えていないけど。
でも「台風一家」とかはよく間違えてる人が多いが、 「ニチベエ首脳」は人に話してもほとんどわかってもらえない。
AI の試験終了。時間ぎりぎりでなんとか全問完答した。 まあ A- はくるだろう (博士学生は最低でも A- をとることが要求されている)。 となりでまだしぶとくネバっていたへれんを残してさっさと教室から出てくる。 だってお茶ののみすぎですげーションベンしたかったんだもの。
ただ「成績だけいい優等生」にはなりたくない。 たとい成績は悪くてもぶっとんでる奴のほうがえらいのだ。
人ゆえに
人から出でて
人さらい
まあ、世ん中てきにゃあね。
そしてみんなはすこし安心する。「すこし」というのがいいと思う。
すこし。
結論。そんなに簡単じゃないよね。
ひとつにはそういう理由が (自分のまわりで) あったのだ。
そしてそれがそれを忌み嫌っている理由でもある。
いま思うことは、そんなムカついてもしょうがないので
ひたすら自分のすべきことをするしかないということ。
そうすればおのずと時間が喋りだすだろうという、それが信仰。
ただしそのためには電波に (すくなくともあと10年くらいは) 自分の中から出つづけてもらう必要がある。
まあしかしそれが変わるころにはもうだれもそんなことは覚えていないだろう。
そのときに自分は、さみしいと思ったりするのだろうか? いや、しないな。
というかそんなことはむしろ忘れている (他の人と同じように)。
最近「忘れるってことは、とてもすてきだ」と思えるようになってきたけれど、
誰もかれもそうなるのな。(なぜならそれは、誰も罪というものを感じなくてすむようになるから)
だいたいそんなところ。
自分には (自分を含む) あらゆるものを否定する傾向があるが、 たいていの場合その直感は…。
とにかく今日は朝から寒いよ。この寒暖の差はなんだ。
罪悪感というのは自己愛の裏返しでしかないと。
そして East Village あたりにいる日本人のヒップホップ好き (らしき人) は なぜあんな目を覆うばかりの貧相な格好 (装飾は黒人のマネだが身体はヒョロヒョロ) ばかりするのかも謎である。
AA support? (Score:5, Funny) by Libor Vanek (248963) on Monday May 05, @06:46AM (#5879981) Does it support AA and alpha chanell? .-) [ Reply to This ] Re:AA support? (Score:5, Funny) by listen (20464) on Monday May 05, @06:58AM (#5880028) Yep, full ascii art support.
グランドピアノは食べられません。
しかしやっぱりさ、矢野顕子ってオリジナルの曲より他人のやつを アレンジしてるほうがうまいの多いな、と思う。大貫妙子とか細野晴臣のドンくさい曲 (彼らの曲がつねにドンくさいといってるわけではありません、 アレンジされる原曲がたまたま個人的にパッとしなかったのです) をとってきて、 蘇生させてることが多い。なんか「細野→矢野」という流れに 当たりが多いような気がする。「相合傘」とか、 「ここーはどこなーのかーどーでもいいことーさー」ってやつ (名前失念) とか結構いいし… このアルバムでは「終りの季節」とか泣ける状態になってるし (でも人によってはこういうアレンジはおセンチにすぎるかもしれず、 原曲のアノ野太い歌い声のほうが泣けるという人もいるかもれない)。 でもハリー細野は「はらいそ」が一番好きだな。なぜならインドだから! インド!
(また[今度は逆方向に]年齢錯誤な話を書いてしまった)
人間「きょう、上司に怒られちゃってさあ…」
猫「なんだそりゃ? 大動脈ねらってかみつけよ馬鹿。犬歯あんだろが? 去勢されてんのか?」
かっこう「そいつの家にあんたの子を忍びこませて一家惨殺させなさいよ、基本でしょ」
カエル「…あのーおーー…、おるこるるれれらる(舌を巻きすぎてしまう)ッテ、何…?」
かといって、人間界のしがらみを完全に理解している動物ってのも、またこわい。 「あーわかるわかる、だけどな、やつも最近息子さん浪人したんで機嫌悪いらしいからよ、 ま、そんなこた忘れてさ、パァーっと風俗でもいってこいや、な」とか カエルに言われたらどう反応する?
そういや新山は実物を見たことないのだが、 「シーマン」とかのソフトウエアが売れたのはそういう要求からだろうという気がする。 しかし彼らは「計算機」にそれをさせて満足なんだろうか。まあいいけど。
(追記) あ、そうか。つまりオレはそういう話し相手がいないからこうして 「海」に向かってつぶやいてるんだ。あはは (自嘲的な、)
いま翻訳しててなんとなく思ったんだけど、日本語では「すべて」は 連体修飾よりも連用修飾 (つまり副詞) として使われるほうが多いような気がする。 つまり「すべての〜は…」という言い方よりも、「〜はすべて…」と訳すほうが自然な気がした。それだけ。
考えてみれば自分はものごころついたときからつねに 「単純さ」を追いもとめていたよーな気がする。これは親の影響もあるのだが、 とにかく「自分が面倒みきれないようなもの/量を持つ」のが嫌なんだな。 コンピュータにしてもそうだし、家にしてもそうdasi, 自分の身体にしてもそうだ。 いつも何か余計なものを「そぎ落とす」のがうれしいらしい。 そのうちこいつは「目も一個ありゃあいいや」とか言いだすのでは? それは冗談としても、つねに身のまわりの生活を単純にしておくというのは 無意識のうちにクセがついているようだ。人間関係でさえそうかもしれない。 まあ人間関係でいえば日本よりもアメリカのほうが単純でいいやな。 しかしこいつらはモノをもちすぎるという欠点がある。 まえに Owen と何かのテレビを見ていて、でかい家が出てきたのだが、 彼が「いつかこういう家に住みたいよな」と言ったのに対して、 オレの意見はまったく逆であった。 「オレはぜんぜんいやだがなあ、だいたい広すぎる、あんなの自分で掃除もできないよ?」 「でもおまえ、金モチになれば掃除するヘルパーぐらい簡単に雇えるんだから、 そいつにやらせりゃいいじゃん…」 しかし「自分の家を他人に掃除させる」というのがそもそも 恥ずべき行為と新山には見える。そこまでして部屋を増やすというのは本末店頭だ。
だいたい、そんなに場所が必要な理由ってのはよくわからない。
新山の場合、本置き場程度はたしかに欲しいけど、それももし近くに
すげー便利な図書館があったら本当にてもとに置いておきたい本なんて
そんなにないよな。「所有」をふやすことにあまり興味がないというのは
これは性質的なものなのか? そういえば人からもらったメールもばんばん消すし
(が、気に入った人のだけは何年も保存してあったりする)。
これとは対照的に、つねに「所有」を拡大したいという人も
世の中にはいて (たとえば某T氏とか) …でもさー、どーせいまから 100年後には
あんたの持ち物なんて何ひとつ残ってないんだよきっと。
彼にとって生きるプロセスはかき集めることなのかもしれないが、
新山にとって生きるプロセスとは流れて消えることである。
でもじつは自分で一番気にいっている比喩は
「人生は UNIX のパイプ (|
) のようなもの」というやつだ。
なにかのプロセスで一瞬だけ作られ、なにがしかのデータを過去から未来へ流し、あとかたもなく消えるという…。
ちなみに data processing inequality の則によれば X → Y → Z という独立した過程があるときに
mutual information I(X; Y) >= I(X; Z) とゆうことですので、
我々は祖先からのエントロピーを増すことはできないわけです。
つまりそれは最初から右さがりの人生ってことかい?
♪おーれはアリョーシャだぜ〜
兄貴はどちらもバカばかり
ゾシマ長老信じるぜ〜
ひとり爆笑。ドミートリィやイワンではなく、 アリョーシャの歌、というところが気に入っている。このギャップ。
ワれながら病気ダ。
/etc/hosts
に
追加してもだめなのだ。しょうがないので、smtproutes
をいじってなおす。
でも作詞は糸井重里だtta…。
"It's a mutual, joint-stock world, in all meridians. We cannibals must help these Christians."
まったくオレってやっぁーあたり前のことを何度も何度も。
もしかすると自分の意識はキーボードの右シフトキーにあるのではないか?
はてさて。
「意識が…にある」というのは、その上にあるのか、あるいはその中にか。
その上でもその中でもない、そこ「に」だ!!
「に」あるといってruのだ!!!!!!!
じゃあなにか??
(ハミガキ粉を食べすぎたために口腔がヒリヒリしました。)
そしてオレは電車のなかで目玉のおやじをみた。ものすごいのだ。 そいつは通常の人間の 1.5倍ぐらいの目玉の大きさがあった。 いまにもその眼球がポロっとはずれて足が出てきてテコテコ歩いて、 「オイ、キタロウ!」とか言いそうなくらいに、でかいのである。
あなたの左手は凍りついたようにその場から動かない。
ファラオののろいだ!! と人々はいった。
ど
うでもいいけ
ど
<、幼稚園時代のミルクはなんであんなにマズかったんだろう。まさか脱脂粉乳じゃあるまいし。;
かっんだろうって??? いま久しぶりにそのことを生まれて始めて考えた。
さて、本当のところは何がそんなに落ちこんだのかというと、 Solarwolf に燃えすぎて疲れた。。。
これ、曲が中毒調なのよねー。なんとなくやってしまう。TuxRacer もそうだけど、 なんかオレはゲームにはまっているというより、音楽にはまっているのかもしれない。 そーいえば Tetris もあの初代 Mac 版のオロシヤ民謡じゃないとだめだな。 それでいきなり 13段とかから始めて「うひゃー死ぬ、死ぬ、死ぬ〜!!!」とかいってるのね。 まあ「デンデデデン」とかいうのもあったけど (これは、なぜか、かたかな)。 歴史は歴史です。
オレは最近そんじょそこらに増えてきた web 上のサービスをあまり利用しない。 はてなアンテナとか Yahoo! Calenderとか 関心空間とか はいぱー日記しすてむ (これはちょと違うか) とか ぜんぜん使いたいと思わないのだが、今日その理由がなんとなくわかったような気がした。 どうも技術的に不満があるとか、思想的にダメだとかはあまり関係がないらしい。 というか、それらは副次的な理由で、実際そういうのって使えばきっと便利なんだろうと思うのである。 しかしオレにはどうやらもっと別のこだわりがあって、 とにかく新山は人のつくった既製品をそのままでは使わないのだ。 これは単なるマーキングか、あるいはあまのじゃくの行きすぎともいえるのだが、ちょっと違うと思う。 既存のシステムに自分をあわせるというのが、なにかを失う行為(?)のように感じる。
たとえば、こういうこと。Yahoo! のスケジューラとかを頼りにしだすと、 自分の思考スタイルがそのスケジューラの制約によってある程度 影響されるようになってくる (でしょう、たぶん)。実際には新山は web ベースどころか、 システム手帳も PDA も使わないんだけど、つまりスケジューラやなにかの手帳やソフトウエアを使うと、 きっと日々の計画そのものが「そのシステムのルールを意識する」ようになってしまうと思うんだな。
同じようにアンテナ類その他ポータルサービスも、それを使うと自分の興味のひろげ方や web サイトの巡回方法にある一定の「体系」が入ってくるようになる。そのシステムに 頼るようになればなるほど、自分の行動様式は影響を受けていくだろう。 そして「これが絶対に優れている方法論だ」と確信をもって言える人なら それは別にいいのだが、実際には人間のスケジュール管理や興味のもち方というのは もっとずっと乱雑で体系立ってないのだ、と思う。少なくとも、新山の場合は。 そこにあえて体系を導入しようとするので、無理が生じるのは自然である。 これは新山の勝手な想像だが、たぶん My Yahoo! や関心空間を使っている人も 実際にはシステムの「おしつけ」を感じているのだが、 きっとやや“無理して”使ってるのだと思う。ちまたにはその手の サービス売りがあふれているので、「これを使えばあなたの生活はもっと合理的になり、 有効に時間を使えるようになりますよ」という宣伝文句がそこらじゅうにあふれている。 しかしそれはほんとうか? そもそも、ほんとうにそんなに時間を合理的に使い、 合理的に楽しみを発見する必要があるのか。だれも本心ではそんなものほとんど望んでないのは明らかなのに。 そして、実際には自分の行動がシステムの枠組みとは微妙にズレてることなんていくらでもある。 たとえばアンテナを使っていれば、興味があるものに対してはとにかく早く更新を チェックできるだろう…が、やがてそれは「チェックしなければならない」という惰性に変わる。 たぶん。でも、興味がなくなったらどうすんの? わざわざ手で登録をはずすのだろうか。それとも放っておくのだろうか。 どっちもめんどくさい。それに、「自分はこれに完全に興味がなくなった」ということを 確信的に判定できるもんだろうか。オレにはできない。結局は、 ブックマークを適当に気分で選んでたどっていくのと変わらん、 ということになる。言いたいのはつまり、「多くのヒトの行動様式は システムの枠組みではとらえられない」ということだ。 にもかかわらず、なぜ人はわざわざ自由度の低い形式システムに自分を「はめこみたがる」のか?
もちろんここにはトレードオフがあると思う。いくら「便利な機能」を使わないとはいっても、 たとえば新山はブラウザの ブックマーク程度の機能は使う (実際には lynx のブックマークが html を生成するので、 それを一箇所においといてあちこちに持ち回って Mozilla や IE からも参照するということをやる)。 ポータルとして利用しているのは「Google でインスピレーション検索」というところか。 このくらいの機能なら「思考方法が制約をうけない」程度に自由度がある、と思うのだが (実際にはそんな大げさなこと考えてないけど)、 それでも、多少なりとも影響はうけるかもしれない (が、まあそんなことを言いだしたら http を使ってるとこからしてすでに影響されてるんだから同じことだ)。 しかし、いずれにせよシステムの機能が単純明快ほど使う側の自由度は高く、一般にシステムが賢く 複雑になればなるほど (調整可能なパラメータが多くなればなるほど) ユーザの自由度は少なくなる。 なんか逆説的だけどそう思う。
そして、さっき考えたのだが、こういうのって人が「一戸建てをほしがる感覚」に似ていると思ったのだ。 都心のマンションに住んだほうが便利かもしれないのに、その四角いフレームに はめこまれるのが嫌、という人は多い。なのにネット上では画一的なサービスを求める人が多いというのは、 おかしい。たぶんこれはまだネットの使い方を「自分のライフスタイルの一部」とまでは とらえてない人が多いせいだと思うが、実際にはこれはもうライフスタイルの一部になっている人が多いだろう。 新山の場合も気づいたらそうなってたし。そもそも自分がこんな低容量の回線で サーバたてて、(dyndns で我慢しときゃいいのに) ご丁寧にドメイン名まで取って、 ログもろくに残らん不便な httpd を走らせているのは一体なぜなのかといえば、 ひとえに (ネット上だけでも) 「一戸建て気分」にひたりたいからだと思う。 庭の手入れをするようにサーバを手入れしてなにが悪いのか? おかしなサイト構成もヘンな httpd も味である。 「自分で家を建てる (これはうちの親の夢でもある)」ってのはそれなりに 重視されるのに、コンピュータの DIY はいまひとつ認知されないな。 日記書くにしても、なにかそれ用のソフト使ったほうが便利なんじゃないかとは思っても、 スキンで見た目をちょい変えられる程度ではしょせん「団地住まい」でサンゲツのカーテン変えてるのと 大差ない (いや、それでいい人はそれでいいのです、バカにしてるわけじゃありません)。 つまり新山にとって web サイトとは、そのサーバや回線速度までもが 総体的な個性であるらしい…。田舎で不便でも一戸建てがほしい! ということなんだろう。 現実の世界でも一戸建ては欲しいしな (これは生まれ育った環境も大きく影響していると思われる)。 …しかし、またも思うのだが、将来的に「平均的な部品」をめざすべき人間が こんなことをいっててほんとに大丈夫んだろうか?
そういやー話は変わるけど、この部品うんぬんの話って銀河鉄道999と同じじゃん、 ということにさっき思いあたった。 たしかあのアニメでは、鉄郎は最後にネジにされる予定だったんだよね (ちなみにこのアニメ、新山自身はリアルで映画を見にいったけどほとんど覚えてないのだが、 なぜかうちのオヤジが大好きだったのです、ヘンな親だよまったく)。 すばらしい、松本零士! しかしあれもまた中央集権的なところが気にいらぬ…。 どうしてあの惑星メーテルをもっと“桃源郷風”に描かなかったのであるか? あれこそまさにわが心中民族がいま実際にめざしつつある姿であるというに…。 まったく、中途半端に欧米的個人主義なんか崇拝しやがって。 だいたい性格によって適性な部品が決められるなんて、よくないよ。 部品は一種類だけ、それも「細胞」とかいう単一のブロックだけにすべきだ。 そうすれば誰もかれも区別がなくなり、「みんなしあわせ (かどうかも実はよくわからない)」な 状態が実現するとゆうのに。…つうか疲れてきました。寝ましょう。
現実は夢と夢とをつなぐハブのような世界だ。 別の世界へ抜けるには一度現実世界を通らなければならない。 夢は夢で、また独立しつつあやしい存在と非存在の間を漂っている。
でもそれはほんとうかっ。
統合環境への道、というわけ。
「え、もう食ったっけ、オレ…?」
いずれ何もかも忘れさられ、放り出され、波打ち際に打ちあげられる運命にあるのだ、なにかは…。 それならば今のうちに忘れておいたほふが身のためであると思わ内科医?
おれはウンシューミカニスト (オレハ温州みかんist)。
UserString
を拡張して自分がどのファイルの何行目何文字目から
読みだされたものであるかを覚えているというものだが、
一応スライスではちゃんと自分が切りとられたことを認識するんだけど
split
や re.search
を
使うとただの str
に戻ってしまう。これじゃおいしくねーよな。
もうひとつは「LaTeX 文書のパーザ」で、これは sgmllib
を
ちょっといじれば簡単かと思っていたら、じつは LaTeX は SGML よりも
ずっとヘンテコな構文なのだった。最初のアイデアでは、
\begin
〜 \end
のような環境を
SGML の開始・終了タグと同じ方法で処理し、
\section
とかは <hr/>
と同様の
「引数つき 1度きりタグ (何ていうんだっけこういうの)」として処理すればいいと思っていた。
ところが TeX の場合はたとえば \section{...}
の引数 {...} の中にも
さらにコマンドが書けるのね。だから \section{hoge$exp_1^2$}
なんてのもできる。
そうすると \section
そのものもじつは木構造を持っていて、
開始・終了処理が必要になってしまう。でもこうすると作るほうも使うほうも
すんげーめんどくさい。たしか Perl には LaTeX 用のパーザがあったはずだけど、
あれはどうなっていたっけ? しかもじつは \section
は
\section hoge
などと { }
をつけずに書くこともできるのだ。
こうすると TeX では「hoge」の最初の 1文字だけが引数とみなされ、
"h" というセクションの中に「oge」という文字が入るという
変態的な仕様になっている。まったく、なんだよ。
それほど完璧に仕様に従うことはないにしても、
やはり使いやすいライブラリをデザインするのはかなりむずかしいのだ。
sgmllib はかなり使いやすいからあのデザインは気にいっているんだがなあ…。
ようやくノドモトな生活が終わったので、またプログラミングのことで頭を 70% ぐらい 浸しておけるのはうれしいことである。いや、うれしいことかもしれない。いやまて、 ほんとにオレはうれしいんだろうか?
お前のような欠陥的人間、およびその派生型に類するものは、すべて キカイのことのみを考えていればよい。なんたって部品だから。 そしていつか頭をコンピュータのカドにうちつけだして出血多量で逝ぬのだ。それが運命づけだ。
新山はマッチ某のようなウデをしているが、それをさして弱 (ジャク!) などとは呼ばせない。 それはみせつけか!?
Perl 用の LaTeX パーザを見てみた。ものすごくヘボかった。 まあ、パーザといえばいえるようなものかもね。
GCC/gcc/config/alpha/*.c
参照、つーか、 Alpha ってまだ作ってんの?)。
といっても見た目は 50こえてるハゲたおやじなんだけど、
あの歳でそんだけ精力的にコード書いてるってのがカッコいい。
しかし、すごいよあれは。まず最初に (collection としての) GCC の
規模の話があったが、いまよりだいぶ前の時点ですでにパッケージ全体のコードが
計 100万行あり、そのうち約半分が共通の backend で、のこりの約半分が
アーキテクチャ依存のコードだあ?? キチガイ的。
言語依存のコードはどこに入ってんのか聞き逃がしたが、
そのあとの説明がまたもおそろしい。
もともと新山はコンパイラなんてあまり詳しくないので、 きっと適当に字句解析して構文主導定義でなんかやって、あとはできたコードを ルールベースで最適化すんだろなー、程度に考えていたのだが、 実際にはとてもとてもそんなレベルではないことがわかった。 構文解析はほんの「最初の段階」にすぎない。そのあとのコード生成までに 長い長いプロセスが存在する。まず CSE (Common Subexpression Eimination) があり、 Lisp に似た中間コードの生成があり、 中間コードの各アーキテクチャごとへのチューニング、 ジャンプ命令最適化、そのあとデータフロー解析 (Richard いわく、こんな時期にこれをやるのはあきらかに遅すぎるので、 最近のバージョンではデータフロー解析はもっと早いステージでやるように改造しているそうな)、 グローバル CSE、レジスタ割り付け、実際のコード生成、さらになんかの最適化…。 なんという沢山のステージだろう。オレは聞いていて頭がクラクラしていた。 全部は理解できず。
そもそも GCC はその昔まだ gcc (GNU C Compiler) の時代から、
いろんなアーキテクチャに対応させることができる先進的なコンパイラだった。
で、GCC の特徴のひとつは、アーキテクチャの specification に
「どうやってターゲットマシンのコードを生成するか」ではなく、
「ターゲットマシンの命令体系の記述」を書くところらしい。
で、実際のコードとそれがアセンブラレベルでどのように対応づけされ、
最適化されるかの詳しい説明があったのだが、めんどくさいのでここには書かない。
とにかく GCC では中間的な S式のコードをまず出力して、
それをあれこれいじってターゲットのアーキテクチャの命令セットを
もっとも効率的に利用できるように変形していくらしい。が、ここには
多くの自明でない問題があることが想像できる…。基本的にはこれは
規則を死ぬほど用意しておいて、それの適用でもってやっていくのだが、
とにかく最適化のケースの多いこと多いこと。
ちなみにこのターゲット用の S式とルールの集合は gcc/config/なんとか/*.md
という
ファイルで見ることができる (ちなみに、いま見てみたら i386.md
が
2万行あった…これ、コードじゃないですよ、ルールだけですよ)。
たとえば、if (x==0) return 0;
とかいうのを最適化する場合には、
x がレジスタ割り当てなら immediate 0 指定よりも x の 0 値をそのまま
使うほうが速いとか、ただしこれはターゲットが CISC のときのみで
RISC チップのときにはこの法則はあてはまらんとか、x*10
という定数のかけ算を
加算命令を利用して mov t,x; add x,x; add x,x; add x,t; add x,x;
などとやるのは
アセンブラの常套手段だが (i.e. 10x = (x*2*2+x)*2、これ新山もむかしよくやりました)、
定数がある一定以上の場合 CPU 組み込みの乗算命令を使ったほうが速くなるとか
(これもステート数を数えないといけないから単純ではない)、
一部の除算命令を乗算命令で代用したりとか、そんな話が山ほど出てくる。
頭ふやける〜〜〜。オレにはコンパイラの研究はむりだと思った。
それでも gcc はまだまだ (最適化という面から見ると) 低機能なところもあり、 たとえば IBM などのコンパイラではデータフロー解析が異様に強力で、 gcc が吐くコードよりも通常 2割ぐらい速いのだが (IBM はたったこれだけの スピードアップのために何10人年も! かけているらし)、マシンコードレベルの アーキテクチャごとの最適化では規則ベースという原始的な方法にもかかわらず、いまんとこ gcc に勝るものはないとか。つまりこれは各開発者の重点が違っているためらしい。 「しかし何人年もかけてたった 2割の速度向上がうれしいものか? マシン性能はその何倍も進化しているのに」と Dewar (教授) はいってた。
あと GCC をいかに C 以外の言語に対応させるかという話。 Richard はいまは gnat.com で働いており、おもな仕事は Ada がらみとのことだが、 GCC は基本的には C のコードのために設計されたため Ada やら Java やら やや C とは違った構造をもつ言語はマシンコードに落とす部分でいろいろと 小細工が必要なのだそうな。そういやーいまは GCC は COBOL もサポートしていたっけか? あれはどうやってるのだろう ("IDENTIFICATION DIVISION")。 …で、そういったかなり爆発的な話のあとに (ここまでの時点ですでに新山は教室が暑くて狭くて酸欠っぽいのと頭痛でかなり参ってた) こんどはセケン話になり、Eli が「GCC っていまは RedHat の連中とかも 開発してんじゃないの? 彼らがプロジェクトの方向をゆがめちゃうってことはないの?」とか ききだし (Richard によると「彼らはおもにドキュメンテーションとかデバッグとかの つまんない仕事を金もらってやってて、新機能の追加はつねにボランティアなので心配ない」)、 そのあとは果てしなく国防と航空機関係の話 (Boeing も Airbus も制御システムは Ada を使っている) になっていった。 オレはいーかげん意識がモーローとしてきたので思ったのでホウホウのていで部屋から逃げだし終了。
しかし、話を聞きおわってから思った感想は、 とにかく GCC はひどいソフトウエアだということである。 これ一体これからどうすんの? 最後のほうで、だれかが「今後 5年間にソフトウエアの研究で 成果が上がるとしたらどの分野か? formalism か、verification か、あるいは compiler か」 というようなことを尋きだしたが、Dewar も Richard もどちらも「むずかしいねー」といって まともに答えられなかった。2人ともそれが重大な問題であることは認識しているようだったが…。 Dewar によると英国ではこの手の研究に formalism がはるかに重視されているという。 つまりソフトウエアを形式システムの枠組みでとらえようという試み。 これに対して、「アメリカ式」なほうはずっと大ざっぱで、工学と確率的リスク計算 (たとえば「MS Office は 0.4回/h の割合で落ちるから、損害は大きく見つもってこの程度…」云々) でソフトウエアの効用を判断しているようなところがあるらしい。どうよこれ? 新山は formalism のほうが本質的な解決っぽいと思うが、はたしてそんなものが ほんとうに発展するのかどうか、じつに暗い見通しだ。いつもこの手のことを考えると落ちこむ。
ところで「ステート数」って単語は現代ではもはや使われていない様子。 8080時代の遺物なんだろうか?
あ、それからこの授業ではみんな「やっぱコンピュータサイエンスを出てるくせに アセンブラも知らねえやつはダメだろ」的な意見で一致してて笑えた。 そうだそうだ。…が、それはひどく深刻な問題かもしれない。 上から下まで理解するのに必要な知識が肥大しているのを一体どうするのだ。