Akihito Nagataの |
永田 章人が管理するページです。 なんでもいいのでメール下さい。 Akihito NAGATA
- (2003.10.31)
「よくぞ日本人に生まれけり」
ふいに飲みに行った。 そのへんにいた5人で。
本郷のチムニー。 ビールもおいしかったけど、 日本酒がやたらおいしく感じました。
日本酒があって、イカの塩辛があって、ほっけがあって、松茸の土瓶蒸しがあって。
幸せ。
日本人に生まれてよかった。今まで酒といえばビールが一番だと思っていたけど、日本酒もよいことがわかった。 どうせ量はあんまり飲めないんだから、おいしい日本酒を買って家で飲もうか。
- (2003.10.30)
「今日も作業か」
今日は先生の部屋のLANケーブルの取り替え。 なんかケーブルがごちゃごちゃになってる場所があって、 そこをどうにかきれいに整頓しようと頑張ってたら時間かかった。
藤本くんが頑張って作ったLANケーブルもうまく動かなかったし。
なんだか時間がやたらかかった。疲れました。先生の部屋に手動の計算機があった。
数字を設定して、ハンドルを手でグリグリ回すとかけ算とわり算が計算できる。 そろばんと電卓の中間に位置するような感じ。
昔はこれでいろいろ計算したらしい。 ルンゲクッタ法を使って一つの計算を並列計算できるようにして、 人数集めてみんなでグリグリと計算して微分方程式を解いたらしい。
なんか楽しげ。 かけ算のためにグリグリ。 ルンゲクッタ法がパソコンよりも前にあったというのも密かに驚き。イギリスに3カ月勉強しに行ってて、帰って来た人間が最初に発した言葉が
「ジョジョ第7部がまだ始まってなくてよかった。」
陸上部の先輩で実家がお寺の方が、1年間休学して住職になるための修行をしていらっしゃいましたが、 修行を終えて戻って来た時に 「合コンしたい」と言っていました。
なんかふと思い出してみた。 - (2003.10.29)
「大工事」
ケーブルを515から415まで通しました。 415の学生総動員で頑張りました。 でも米澤研にはこういう作業が大好きな人間が数人いるわけで、 僕はそんなにでもないので、周りをうろうろしてお茶を濁すより他ありませんでした。 楽しかった。
Haskellの勉強として、 メールが来てるかどうかを知らせてくれる GUIアプリケーションを作りました。 GHCと wxHaskellライブラリ。
→ メール来ないかな メール来た!
これから毎日使います。
このプログラムが20行強くらいで書けた(最低限の機能しかないけど)。 これも Haskellの力か。なんか今日は415部屋においてTSG色が非常に強くて…。 強くて…。
- (2003.10.28)
「ふるせさん comes」
Ocamlの作者の一人のふるせさんが来てくださった。 OcamlにGenerics(いわゆるオーバーローディング)の拡張を加えた G'camlの研究をしていらっしゃる。 今日はその話を聞かせて頂きました。
Ocaml(というかML)にはParametric Polymorphismしかないので、関数のオーバーロードはできない。 例えば 任意の型の値を受けとってその値の文字列表現を返す関数 "toString"を考えてみる。 この"toString"は
toString 1 → "1" toString 2.5 → "2.5" toString [1;2;3;] → "1,2,3"
という感じに動く関数であって欲しい。 Ocamlではこういう関数は書けず、 intの場合は string_of_int、 floatの場合は string_of_float、という感じに使い分ける必要がある。 別に使いわければいいわけだから、"toString"のような関数は必要ないけれど、 こういう関数が書けた方が便利であり、 この例以外でもこういう関数が書けた方が便利な場合というのは多々ある。Gcamlは Ocamlに新しいSyntaxを加えて、こういった関数(generic 関数)が書けるようにしようというもの。 上記の"toString"はGcamlでは次のように書くことができる。
let rec toString = function int -> string => string_of_int | 'a list -> string => function [] -> "" | hd::tl -> (toString hd) ^ "," ^ (toString tl)
この関数は、「 toStringが "int -> string" という型で使われている場合は "string_of_int"と同じ働きをして、 "'a list -> string" という型で使われている場合は リストを文字列に変換する関数 として働く。」 と読む。このようなGeneric関数はプログラム変換によって実装できる。 型を表現できる値を用意しておいて、 実行時にGenericな関数に、型によるパターンマッチングで必要となる型の情報を 引数として渡してあげるように 変換する。
(変換後言語では、 型の情報ををファーストオーダーで扱えるわけです。)この方法で無事にML likeな言語でGenericな関数が定義できるようになるし、 さらにプログラムが安全であるかどうか(型が正しいかどうか)を静的に確かめることもできる。
しかし問題としては、推論だけでは型が決定不能の場合があり、 Genericな関数がどう動作するかが決定出来ない場合があるので、 場合によってはプログラマがプログラム中に明示的に型を書いてあげなくてはならないような状況が起こる。
また、一般のGenericな関数の型はMLの型だけでは書くことができない。 例えば 任意の深さのリストのを平らにする関数 "flatten"を考える。 この"flatten" の型は "int list list -> int list" であり、 "string list list list list list -> string list" でもなくてはならない。
ここで "flatten"が "∀αβ. α list -> β list" という型であると仮定すると、 α = int, β = string とinstantiateされることはflattenの実装上あり得ないはずなのに、 静的に型付けができてしまうので、誤りである。
つまり、型の中でαとβの関係をうまく記述できなくてはならないわけだが、 この記述はMLの型の表現の範囲ではできない。
Gcamlでは "flatten"の型は∀αβ. α list -> β list ただし、 α は β のリストのリストのリスト…
というような型が与えられる。 "α は β のリストのリストのリスト…"の部分は、 αとβのinstanceとして与えられた型が妥当かどうかを判定できるオートマトンを、 形式的に表現した式により表現される。
この∀のついた型に関する制約部分は推論で作ってくれるので基本的にはよくわからなくても使えるのだが、 signatureに書く場合はプログラマがこの制約も記述しなくてはならなず、 Generic関数を完全に使いこなすには、プログラマがこの型システムを正確に理解することが要求されてしまう模様。個人的な意見ですが、3年の時に parametric polymorphism もなかなか理解できなかった思い出があります。 Cとか(Javaもか?)あまり複雑な型システムがない言語を使っている人が、 いきなりこういう複雑な型を扱うのは少し敷居が高いかもしれないという感じがしました。 でも "toString"ぐらいの関数なら型システムがよくわからなくても使えるので、 特別難しいことをしなければ、非常に便利に利用ができて、 Ocamlにこういう機能が入ると非常に便利である。 というのが僕の結論です。
このgeneric関数が使える Ocamlである G'camlは、ここでダウンロードできるみたいです。
ふるせさんは非常にいい人でした。 日本から Inriaに行って Ocamlの開発に携わってしまうくらい優秀な人なんだけど、 僕の研究の話も楽しげに聞いてくださいました。 ありがとうございました。 是非是非また来てくださいませ。
今回は頑張って書いたのですが、 内容に誤りがあるかもしれません。 指摘していただけたら訂正します。
- (2003.10.27)
「阪神」
野球はあんまり興味のない人間だけど、なんとなく阪神を応援。
がんばれー。 でも福岡での戦いは苦手のようだ。 困ったねぇ。ほんのちょっとだけ秋葉原のゲーセンへ。 駅の近くにGIGOが出来てた。 でも新しく出来たGIGOが閑散としてた。 近くにクラブSEGAがあるからねぇ。 というか同じSEGA系列なのにどうしてこんなに近くに作るのだろう。
鉄拳やってる女の子がいた。 かなり珍しい。 しかもうまい。 この人がどういう経緯でこれほどまでに鉄拳がうまくなったのか いろいろ考えた。
今日はやなことがありましたが、 それに関していろいろやっているうちに楽しくなってきました。
少ない情報でもよーく考えるといろいろ出てくるもんだな。鬱金茶が以外にうまい。
日記を一気に書いたら疲れた。
- (2003.10.26)
「頭痛が」
なんだか風邪が悪化。 頭痛が止まらない。 咳が止まらない。 早めに帰らないと他の人にも迷惑かけそう。 すでにうつってたらごめんなさい。 果物を取った方がいい気がして、リンゴと柿を食べた。
Eiffelの勉強を少し。
手続き型。オブジェクト指向。
組み込みのSyntaxでAssertが書ける。 公理的意味論(だっけ?)に似てる。
Assertを書かなくてもいいようなプログラムを書くべきだ!と、今まで思っていたのですが、 Assertを使うとよいような場合とかあるのかな。 Assertをうまく書けばプログラムの停止性が保証できるようなプログラムが書けるかも。
と、思った。
でも、Assertって大事なのかな〜?? イマイチ納得できず。 動的な情報が扱えるのはいいけど、動的な情報ってデバッグに使いにくいと思うし。 あんまり凝ったAssert書くと、そっちにバグが生まれそうだし。 - (2003.10.25)
「粕汁」
を作った。 めっちゃおいしかった。 あったまります。 酒粕も200円か300円そこらだったし、大量の野菜と豚肉でかなり満足。 また作る。
微妙に風邪らしき状態になった。 咳が止まらない。 喉飴をなめつつ長時間睡眠。
起きたら頭痛。やられた。トリックの続きみました。 だんだんトリックの内容がいい加減になっていくような。 最初の話はかなりすっきりしたのに、 最近のは見終わった後に疑問が残る。
笑いがメインになっていくような。 - (2003.10.24)
「停電」
POPLで発表する論文を漁る。静的なメモリ解析関連がいいなと思って漁る。 リージョン推論系もいっぱいあるけど、たまには違うのがいい。
夜中に学校に来たらログインできなかった。仕方ないので学科無線LANでつないだ。
一人でぐだぐだやってたら 急に真っ暗になった。
ブレーカーが落ちたのかと思ったけど、 よく考えたら今日は停電の日でした。 なんとなく貴重な体験。 真っ暗な7号館。 でもなぜか階段の電気は消えないんですね。停電のせいでNISもNFSも止まったので日記が滞った。
- (2003.10.23)
「プログラミング言語 Icon」
についてちょっと勉強してみる。
Iconの特徴は動的型付き言語。 手続き型。
インタプリタの上でも動かせるし、バイトコードにコンパイルしてVM上でも動かせる。 その上で動くGUIも提供されてるし、 その辺はJAVAっぽい。テキスト処理に特化。テキストの中身を触るのに適したインタフェースが用意されていて、 今テキストのどの部分を見ているか、とか気にせずに書くことができる。 でもIconは他の特徴の方が強力すぎで、テキスト処理の特化っていうのは Iconのメインの特徴ではないように見える。
大きな特徴として、関数が失敗することがあること。 関数が失敗すると、その返り値を利用しようとした関数も失敗する。 これに加えて 上流で失敗した場合に次の値を返すような関数を定義することができる。 これらを利用すると、バックトラックとか多値関数がものすごく自然に定義できそうです。
あとそれらに関連したおもしろい機能がいくつかある感じ。 あんまりフォローできず。 今後やる気がある時にでももうちょっと深く読んでみたいです。
あと、ちょっと勉強しただけの感想なので、間違ってるところもあると思われます。
- (2003.10.22)
「実装と担々麺とイソップと」
K正規化とClosure変換やった。 次にC言語へを吐くのを作ろうかなと思ったけど、 Schemeのletrecの仕様がうまく決めれず先に進まなかった。 Schemeのletrecは自由過ぎる。Ocamlみたいに制限してくれたら楽なのにねぇ。 Schemeの汚いところか。 R5RS読んでもなんだかはっきりしないし。 逆にコンパイラの腕の見せどころなのかもしれない。 悩む。
秋葉原の中華料理屋で担々麺を頼んだ。 そしたら担々麺ではないものが出てきた。 まず担々麺なのにスープが醤油だ。 担々麺は胡麻とかカシューナッツが入ったトンコツみたいな色のスープだと思っていたのに。 メニューに載ってる写真はどうみてもトンコツ系の色だ。 写真と見比べて、葱が乗ってない。 チンゲンサイもない。 砕いたナッツも乗ってない。 どうみても隣のマーボー麺の方が近い。
「これはマーボー麺じゃないですか?」
と講義したけど、片言の日本語で押し切られた。 写真と全然違うといっても、「スープは写真がそう見えるだけ。ネギはもうなくなった。チンゲンサイはなくなった。」と言われた。 昼時にネギがなくなってやっていけるのか。 あと、「マーボー麺ならば豆腐が乗ってるはずだ」と言われた。 じゃあこの辛く炒めた挽肉が乗ってるだけの醤油ラーメンはいいとこ無しだ。 もうあの店には行かない。またスクールウォーズ見た。 泣き虫先生見てるとこっちまで泣けてくるぜ。 熱い。イソップがまた熱かった。頑張れイソップ。 お前こそ本当のラガーマンだ。
その後またアリーマイラブ見た。
「振られた女性が別れたことに納得がいかず、 振った男に対して、公共の場で 自分は孤独で寂しいと大声で皮肉を言って、 今度はその男に訴えられる」という話。
やだやだ。なんかまたネットワークが切れてる。研究室の外に出られない。
- (2003.10.21)
研究のページを作成した。
実装がもうちょっと進んだらここにおける。 目標は今週中に現状のものを置ける状態にする。 available soon って書いちゃったし。 早いとこやらねば。4年生の卒論の内容が固まりつつある感じ。 半年でやんなきゃいけないから大変ですね。 頑張れー。 自分もな。
北斗の拳 読む。とうとうラオウが。
英語の勉強。TOEICの文法のテキストに、 「文法の問題で重要なのは直感力」と書いてあった。 大丈夫か このテキスト。
前にO山さんが「関数型言語は終わった」と発言した。 というのは僕の勘違いだったようです。よかったよかった。
- (2003.10.20)
「イソップぅぅぅーーー」
入社後の配属先の希望を考えてたら帰るのが遅くなってしまい、 内村プロデースを見逃したので、 勢い余って「スクールウォーズ3巻」と「アリー my Love 2nd 1巻」をビデオレンタル。
スクールウォーズは熱い。やっと噂のイソップが登場してきた。 イソップはいい奴だった。頑張れイソップ。
それにしてもこのドラマは名場面揃いだ。 3巻には3話分入っていたけど、ずっと名場面だ。 涙が止まらないぜ。 ドライアイが治る。
青春万歳! ラグビーは素晴らしい。 若いって熱いな。スクールウォーズに感動して、その勢いのままアリーに突入。
「16歳の少年と39歳の女性が愛人関係にあって、 少年の両親が強姦罪で女性を訴える」話。
やだやだ。 - (2003.10.19)
「給与明細」
って番組が好き。 ちょっと前にやってたのと内容が変わって、 最近は " その辺りでやってる怪しげな広告に、そのまま釣られてみたらどうなってしまうのか? " って企画をやってる。
先週は、街角でやたら勧誘してる「絵を見ていきませんか?」っていうのについていったらどうなるか?ってのだった。
今週はポストに入ってるチラシで、「二度お伺いしましたが、お留守でした。 折り返しこちらまでご連絡ください。」って 女性っぽい丸文字で書かれてる奴。 ここに実際に電話してみて、相手が誘う通りにしてみたらどうなるのか?って話。
非常に興味深い。
絵画の方は僕も実際に中まで行ってみたことがある。 僕が行った限りでは健全。絵が高過ぎて学生には手が出ないし。 田舎だとああいうのって街角で勧誘してなくて、新聞の広告に混ざってる気がする。 天野ヨシタカのポスターをくれるっていうから見に行ったことがある。
中に入っても、アンケートを書いてくれっていわれるくらいで特に何もなし。あと、こないだ携帯に見知らぬ番号から電話がかかってきたから出てみたら、 「英会話がスムーズにできるようになってみたいと思いませんか?」っていう電話でした。 どこから僕の電話番号を知ったのか教えてください、と聞いてみたら、 「私まだ新人なのでわからないですー。」とかわいく言われました。 上の人に聞いてくださいって言ったら、電話を切られた。
怪しい誘いはいっぱいあるけど、落ちが得れらるところまで乗ってみる勇気もなくて、どれも中途半端で終わってしまう。 最後まで乗ってみたことのある人、話を聞かせてください。
- (2003.10.18)
「」
を見た。 仲間由紀恵と阿部寛。 適当に見られる内容で楽しかった。 笑える。 口調を真似したくなる。
"仲間由紀恵がかわいい"って みわかちゃんの意見が理解できました。 かわいいです。
それとなく科学的っぽいような感じを漂わせてるけど、 トリックを説明されても なんだかツッコミどころ満載の説明。 でも そんなのどうでもいいやって思ってしまう大筋。
雑談しながら 適当に見るのがよいかと思いました。楽しかった。生瀬が好きになりました。
とりあえず5話まで見た。続きを見たいです。
- (2003.10.17)
「乱入。」
昔の友達とかが集まってカラオケに行くという企画があったけど、 来れなくなった人がいて、 人数的に寂しくなり気になっている会に 誘われたので行ってみました。
もともと適当に声をかけてみた会だったようだが、 人が来なくなったり、僕が呼ばれたり、来ないと言っていた人が やっぱり来れたりしたので、 なんだかよくわからない会になっていた。
でも初対面の組が少しあったせいか、 終始穏やかでなんとなく楽しく話せた良い会となりました。 楽しかった。 もう社会人になっている人が 学生会計なのを喜んでいた。 勉強になる。
新宿のプリクラコーナーには 「女性、もしくは女性を含むグループ以外の入場はお断りしています。」 って書いてあった。 ひどいひどい。 これじゃ情報科学科でプリクラがとれない。
- (2003.10.16)
「ポエム」
今 僕は 東工大の小林先生の部屋に居ます。
例の西8号館East棟です。
西なのに東棟です。先生に論文の最後の仕上げをしていただいております。
先生の手により、僕の意味不明の英語が 慣れた文章に変換されていきます。僕はよく "a" と "the" を間違えるようです。
なんとなーくで書いてちゃ駄目でした。
あと忘れてはいけないのは "data" の複数系は "datas" ではないということです。
情報の人間はここは要チェックです。Texの使い方もいろいろ学ばせていただきました。
Texはif文が使えます。先生は今日お忙しいらしく、3時間しか時間がないらしいです。
明日はアフェルトさんの論文も見るそうです。
つまりフランス人の英語を直す日本人です。
さすがです。そろそろ論文が完成して参りました。
前の論文を住井さんに推敲していただいた時(Scheme2002のやつ)よりは、 僕の書いた文章の面影が残っているような気がします。
僕も多少は成長したような気がしました。最後に、小林先生の部屋は全体を見渡すと非常にきれいな部屋だけど、
なぜかテーブルの上だけが散らかっています。 山積みです。
テーブルの上だけ、もう一人の小林さんの机の上と似ています。先生お忙しい中、本当にありがとうございました。
では I submit it to ESOP04. - (2003.10.15)
「論文の締切が明後日に迫る。」
ので、当然論文を頑張る。 だいぶできてきた。 今日は間違い探しと、足りてないところをちゃんと書いた。
プログラミング言語について書いてあるページをいろいろとだらだらと読む。 非常に面白い。やっぱこういうの好きかも。
シンタックスとかセマンティクスを幅広い言語を対象として説明してある。 知らない言語がいっぱい。勉強したい。 なんとーなくの意味で使ってた単語の意味をちゃんと知ることができて、頭スキリー。 分類の仕方とかも 今まで自分は適当に分類してたことがわかり、恥ずかしい限り。
しばらくの間、これ系の文章にはまりそうな予感。こういう文章を日本語で探そうとすると、 C と VBを比較して述べてあったりする。 あとこれに C++, Java, Pascal, Perl あたりが入ってるページがせいぜいといった感じで、 極端にレベルが下がる気がする。 ちゃんと書いてあるページが見つけられなかっただけかもしれないけど、 やっぱり日本は情報科学に関して遅れているのかも と思った。 他の分野はどうか知らないけど。
日本人プログラマは古いものに固執し過ぎのような気がします。 プログラムといえば C だ! と思い込んでたら、 Javaが成功しちゃったわけだから、 今 プログラムと言えば手続き型だ!って思い込んでたら、 アメリカが今度は関数型で成功しちゃいますよ。
僕の希望が八割くらい入った意見だけど。今 ふと思い出したけど、 前にO山さんに 「関数型ってもう終わったんじゃないの?」って言われた時はショックだった。
違います! 「これから」です! - (2003.10.14)
本屋で式場を見た。今日はそんなに寒くないのにマフラーしてた。 マフラーしてるのは式場しかいなかった。 でっかいリュックも背負ってた。 何気に厚着っぽかったし。ものすごくなべっぽかった。
2食で西谷を見た。この肌寒い中、半袖とハーフパンツだった。 2食の中はあったかいので半袖の人はいたが、 家から半袖ハーフパンツでくるような奴は西谷くらいだと思った。 ヒロシっぽい。
季節感の無い二人。 陸上部の後輩。
今日 米澤先生から「人体の不思議展」の使用済みチケットをもらった。 ミーティング中に。 多少困った。 でも行きますと言ってしまったから、行こうか。
7号館エレベーターの中で「パーマソキターーーー!!」って叫ぶ人に会った。
以上。 本日の"よかった探し"。
- (2003.10.13)
「グレムリンはおもしろかった。」
かなりローカルにグレムリンのもの真似が流行った。多分今日一日で廃れますが。
こういうもの真似ができるのも、日本語吹替えならではだ。 日本語だと不自然だから字幕がいいって人もいるし、僕も時々そう思うこともありますが、 世の中には日本語吹替えで見た方が俄然おもしろくなる作品もあるのです。
その最たる例が「ギャラクシークエスト」です。
これは字幕スーパーでも十分おもしろいが、日本語吹替えはもっとおもしろい!(僕は両方見た)
これの吹替え作った人 大好き。 宇宙人が話すだけでかなり笑える。
これの宇宙人のもの真似も流行ったな。ローカルに。こないだの白木屋で食べた 焼きうどん がおいしかったので、作った。
やっぱ 焼きうどん はうまい。安いし。幸せ。今ならマザーの好きな食べ物に 焼きうどんって入力しそう。
こうして僕の写メール集には着実に食べ物の画像が増えていく。 - (2003.10.12)
「昨日頑張ったから今日は休憩してしまえ。」
映画を見るぜ。「グレムリン」。
昔、見たことあるけどもうストーリー忘れたからまた楽しめる。 モグワイはかわいいけど、 どう見てもファービーだ。 ぱくられたね。「モグワイに真夜中過ぎてから食べ物を与えるとグレムリン化する。」 という設定だったのですが、 その真夜中過ぎたらってのが曖昧で、理系はどうしてもそこが気になる。 何時何分何秒からが真夜中で、その真夜中は何時何分何秒に終わるんだろう。ちゃんと決めてくれないと飼えません。
乱馬にちょっとだけ水をかけたらどうなるんだっていう昔の疑問を思い出した。 つまり高橋留美子並の適当な設定。「モグワイは水に触れると増殖するから、水に触らせてはいけないし、飲ませてもいけない」って、 水を飲まずに生きていける生物がいるのか。
「グレムリンは光に弱い」って設定だけど、グレムリン達は"七人の小人"の映画は平気でみるけど、 マッチの炎にはビクビク。変なの。
序盤に、銀行を経営する金持ちの婆さんと、そこから金を借りて借金に苦しむ母と子が何回も出てきたけど、 それっきりで、後半 何のフォローもなし。
伏線じゃなかったの? まるで ジョジョ4部。グーニーズを見た時も思ったけど、スピルバーグの作品は今見ると結構適当。
MVPは、 グレムリンを包丁でずたずたに切り裂いたり、 ミキサーでぐちゃぐちゃにしたり、 電子レンジで温めて破裂させたりして倒した 主人公のお母様。 エグい。
- (2003.10.11)
「コンパイラコンパイラ。」
2、3日前からの話。
「もっと大きいプログラムを動かせ」とお達しが出たので、 Schemeの大きいプログラムを探してみた。
相変わらずレイトレしかなかったが、仕方がないのでそれのコンパイルに挑戦。
とりあえずライブラリが全然足りないので浮動小数点まわりのライブラリをいっぱい追加。ベクター型とポート型、文字型、文字列型、IOのサポート。
レイトレのコンパイルに必要なライブラリを全部実装するのに一日かかった。ocamlのプロファイラの使い方がいまいちよくわからない。 マニュアルをもうちょっと詳しく書いて欲しかったです。 gprofを使う方はできたけど、関数の呼出し回数を知るのはどうやってやるんですか?
コンパイルが終わっても実行してみるとエラー続出。 emacsの横のバーのツマミが、かなり小さくなってしまうような、でかいログファイルを見ながら、原因追求。やだやだ。
bugfixして、もう一回実行してみる間はずっと神に祈ってる。 もうバグは出さないでください。
でも神は僕に何度も試練を与えたもう。やっとできたーと思ったら、今度は遅すぎでコンパイルが終わらない。 どうも何も考えずに実行時に生成される変数の数を増やし過ぎた模様。
よって最適化。 泥くさい最適化はしない。ocamlじゃできないし。
プロファイラとかデバッガを駆使して、ボトルネックを探して、 データ構造の変更とか、実行時の不要な情報を随時削るようにしたりとかして、 そこだけが早くなるように改良。
結果かなり早くなりました。(それでもまだ遅いけど)。
新たなバグを出さずに最適化できたのは、 隠蔽と参照透過に気を付けてプログラムを書いていたからだと思います。 参照透過に気を付けると、プログラムが多少遅くなるかもしれないけど、 これのおかげで見通しがよくなるし、ちょっとした変更にも強くなって最適化もしやすい。 関数型バンザイ!でもまだまだ続くデバッグ。結局まる3日かかってやっと動いた。疲れました。
困憊ラ。
- (2003.10.10)
【今日も】 飲み会 【またですか】
2年からM2年までの IS飲み会やってきました。
赤門前に集まってる人達が全員情報ってのが笑える。わかってきた。だいぶ。3、4年の人間関係が。いい人材が揃ってる。 あんなにはっちゃけてる東京人を関西の人は見習って欲しい。
僕の中の3、4年全体の印象は、4年生は米研に研究室まわりで来た人達、 3年生は席が同じだった2人で ほぼ固まった。 サンプリングとしてどの程度正しいのか。2次会。やっぱり3、4年の皆様は(tngchと比べて)若いなーと思いました。 見習いたいです。
学部の方々は心の底から地下室が好きみたいだ。
僕も好きです。地下に泊まった回数はかなり上位のはず。
僕が地下にいた頃は。
マシンが古かった。大部分が Sparc Station 20 で Ultra 5(今のise0-8)がちょっとだけ、だった。数も足りなかったし、取り合い。SS20は同時に出せる色が少なくて、xkoboとかやると、他の部分の色が変になった。プライベートパレットってやつ。ウィンドウマネージャも fvwmか qvwmあたりが限界。
一生懸命ゲーム作ってました。ボンブリスとミスタードリラーとチューチューロケット。ネットワークでみんなで対戦する機能とかついてた。
全館冷房が故障して、夏場はサウナ状態だった。
今のサーバールームに学生室があった。
そこで繰り広げられる様々なドラマ。ふぅ。まめ氏は癒し系の予感。米研には今までいなかったな、そんな人。 強く生きて欲しい。
噂によると米澤研に来た皆様は優秀な方々のようだ。 これからもっと絡んでいかねば。多くの人と話せてよかったです。2次会まで来てた人は結構名前と顔が一致。
これから先に何かの機会で共同研究とか開発とかできたらいいですな。いやー楽しかったなと思いつつ、学校に帰ってきたら、 アクセス禁止を食らってたはずの2ちゃんねるを、なぜか見れるようになってた。
いい日です。
やっぱりこじんまりとやるより、大勢で話すと楽しいです。
卒業までにもう一回くらいあるといいなと思いました。 誰かが幹事をやってくれるといいな。と。
あと酒がない席でも話してみたい。酒があるとすぐ酔っちゃうし。 - (2003.10.9の夜中)
浅野キャンパスの前で人が倒れてた。
ほっとくわけにもいかないので、一応声をかけてみたら ただの酔っ払いだった。 見た感じ 東大の学生。
近くの住人が警察を呼んで保護されていた。 かなり酔って千鳥足もいいとこなのに、 警察の前では酔ってないように振舞う姿が滑稽。
トイレに行くといってマンションの隙間にはさまった。 - (2003.10.9)
同じ研究室の同じ学生部屋にいる仲間の一人が、メールを読んでいて、 突然
「やっぱ オレの彼女はものすごーく優しいとよ」
って、誰に言うでもなく、でかい声でつぶやいたら、僕はどうしたら良いのか。
勘弁してください。僕のHPは左側の写真とメニューを埋めるために、手書きのHTMLを適当に読んで、適当に整形してるんだけど、 この適当具合が本当に適当で、だんだん嫌になってきた。 しかもこの適当Perlスクリプトを2年間も使ってしまった適当っぷり。 これぞO型のあるべき姿か。
まぁここまで使ったら卒業まで使いますが。ひとつのlexerを複数のParserで使い回すことはできないのでしょうか。 ひとつのParserで使用できるトークンはParser内で定義せなばならないようで、 Lexerが返すトークンはどっちかのParserのものになってしまうために、 一つのParser専用のLexerしかできない。無理なのかな。
- (2003.10.8)
「昨日話題にあがった母の誕生日。」
Schemeのライブラリを追加して、対応できるプログラムを増やす。
Schemeのベンチマーク集を使ってるんだけど、どうもあんまりよくない気がする。 似たようなの多いし、SyntaxがR5RS準拠じゃなかったりするし、 同様にR5RSにない関数をいっぱい使ってるし。 biglooとかのベンチマークも見つけたけど モジュールとか使ってて、 そんなの簡単に対応しきれないし。
弱ったな。自分で作るしかないのか。論文読み。リアルタイムJava。 よくわからない。 というか知りたいことがどこにも書いてない。 ケムにまかれた感。
最近また昼夜が逆転してきてしまった。よくないなぁ。体を壊す前にちゃんと直さないと。
今日は学食で食べた 鰤大根が 非常においしかったので、今度自分でも作ってみようと思いました。
思ったこと。 凝ってる掲示版ほど廃れやすいように思います。 シンプルなのがいいのかも。
- (2003.10.7)
「新米研メンバーの歓迎会」
って書くと新米って読めてしまいそう。新・米研メンバー。
今日は隣にアフェルトさんとフレデリックさんがいた。
二人が話すフランス語が、ちょっとだけ聞き取れてときめいた。 アトンアトン。
アフェルトさんがこの日記を見かけたらしく、この日記は是非お母さんにも見せてあげなさい と言われました。
最近ネットができるようになったと豪語する母ですが、見てるのかな。 わかりません。すんなりと米研に馴染みそうな4年生方だった。宜しくお願いします。
歓迎会で上の方々もいっぱいいて、おとなしくしていたように見えるが、 濃ゆいということは伝わってきた。 僕の存在感が消されぬよう頑張らねば。
また一緒にカラオケ行きましょう。次は忘年会か、もしくは前田さんが帰って来た会か。そんなこんなでまた今日も飲んでしまいました。
あと、米澤先生はやっぱりHaskellがお嫌いらしい。 - (2003.10.6)
内村プロデースと、モーニング娘。+ナイナイの体育祭をビデオで見た。 (ビデオを撮ったのは僕ではないです。一緒に見ようと言われたのでつき合いました。)。
カバディのルールを初めて知りました。 楽しそうだけど、あれってスポーツなのかな。昔ああいう感じの遊びはいっぱいやった。Sケンとか。
モーニング娘。は新しい人が覚えられない。 なんか年をとったような気がするけど、まぁいいか。
あんなに力いっぱいダンスをしてるのに、太る人は太るんですね。
紺野さんがかわいいと思いました。 - (2003.10.5)
「子供が生まれました!」
友達に。
ぷくぷくでかわいかった。おとなしくて愛想のよい良い子だった。また会いに行きます!
京大戦だ。4年生は最後の大会。OBとして観戦。
力及ばず。東大も京大も力には波がだから仕方ないですね。
でも4年生が団結して頑張ってて非常に見てて気持ちがよかったです。 2年前に引退した時のことを思い出します。
4年の最後の話を聞いててこの学年は、気の合わないのとか、すぐへこむのとか、扱いにくいのとか いろいろいたなぁーっと思いふけてしまいました。 これからはOB同士仲良くしていきましょう。4年が仲良くしてるのを見たら、うちの代とも仲良くしたくなってきた。 今度、食事会をやろう。↑のお子様の出産記念だ。
- (2003.10.4)
秋葉をぶらっと。アクセサリーショップのお姉さんに声をかけられる。 いや僕はアクセサリーなんてつけたことないっすよって言ってるのに、 これまた話の長いお姉さんで長々と世間話をしてしまった。
結局アクセサリーの話は最初の1分くらいしかなかったんだけど、あの店はそんなんで大丈夫なんでしょうか。 僕は楽しく話せてよかったけどね。
フリフリのメイドさんの格好の人でした。さすが秋葉原。夜。Schemeのベンチマークをコンパイルするために、頑張ってライブラリを追加。
新しいプログラムをコンパイルしようとする度に最低一つのバグに遭遇します。大丈夫か永田コンパイラ。
しかも、また"今までよく動いてたな"レベルのバグに遭遇した。
もうバグなんて出ないなんて、言わないよ絶対。 - (2003.10.3)
HaskellのGUIはないかなっと思って探してみる。
結構いっぱいある。tcl、gtkっていうよくあるものもあったけど、なんか全く聞いたことないものいっぱい。 しかも、リンクを辿ると論文付だ。純粋な関数型言語に対するGUIの設計ってのは、論文ものみたい。
あんまり変なライブラリを入れると、他にいろいろインストールする必要があったり、 動かない上にアンインストールがめんどかったりすると思ったので、厳選。
最終的に、wxHaskellってライブラリを使ってみることに決定。 あっさり動いた。 gtk2hsでもよかったけど ghc6.0xでコンパイルができなかった。さあこれでHaskellで実用性のあるアプリケーションが作れるような環境が整ってきた。 これをHaskell演習の最終課題します。
- (2003.10.2)
「3年生の勢いはすごいな。」
どうやらIS新2年生の歓迎会の日だったらしく、 TAをやっていたおかげで歓迎会に呼んでいただいてしまいました。
IS新2年生はすごかった!
っていう内容の日記を書きたいところだけど、それより3年がすごかった。
今まであんなにはっちゃけた学年はあっただろうか。いやない。 どの代もマニアックな方にははっちゃけてたけど、飲み会であんだけ盛り上がれるなんて、いい学年だ。地下のリフレッシュルームでチョコバナナを作ったとかいう噂を聞いたことがあるけど、 その噂は多分真実なんだろうと思わせるくらいの勢いの3年生でした。
よく考えると2、3人が異常に盛り上がってただけのような気もするけど。まぁいいか。
人間関係も絶妙で見所満載。
2年生も是非見習って盛り上がっていって欲しいものです。3年生に限らず、なんとなく名前を知ってた4年生とも話ができて楽しかったです。IS飲みの話も上がったし。 一つの学年だけじゃなくて、学年を越えて幅広くつき合っていきたいですな。
平木先生の寛大さには猛烈に感動した。
- (2003.10.1)
「今日は内定式」
就職先の内定式があったので、いってきました。
なんか、心理テストとかやった。会社に入ってから自分がどう進んでいくか、今のうちから心構えをさせておくのが目的のようです。
あと英語が重要だってのをきっつくいわれた。 英語だけのミーティングでも自分の意見がいえないような奴は駄目だって。あと、失礼な英語を話して相手に気を使わせるような奴は駄目だって。
就職前に勉強ができるように、 会社が教材とか個人指導の人を用意してくれるらしい。
英語苦手だからがんばらなきゃねぇ。内定者懇親会。
内定者の中の有志が幹事をかってでてくれて、開催してくれました。
内定者300人のうち200人が参加。すごい。 参加者が予想以上だったせいか、店は多少狭めでしたな。 おかげで反強制的にたくさん話せてよかったですが。
内定者懇親会でだらだら話してたらかなり懐かしい奴に遭遇。
こいつ。僕の高校の時の同級生です。
高校卒業してから一回も会ってない(ICQでは話してたけど)。5年半ぶりだな。すげー偶然。
これからもよろしく。そんなこいつと盛り上がって、その勢いで、 コンパの会場の原宿から大塚まで歩いて帰ってきちゃいました。 若げの至り。
所要時間2時間くらい。つかれた。
永田家についたころには疲労困憊。即就寝。