ぼうメモ帳

2003-11-29 土日に無駄にネットをして終わるひきこもりとは私のことです

PurpleEye

| PurpleEyeを含むブックマーク

http://www.phoenix-c.or.jp/~ishikawa/metatron/

2chまとめページにて、150MBという数字に思わずダウンロード。ところが不思議なことに、1分かからずダウン完了。光ってすばらしいと改めて思った。

で、ゲーム内容だけど、俺の好きな「近未来」「退廃的」というキーワードにジャストヒットしてます。ただ、それ以上でもそれ以下でもないです。

出だしは最高でした。普段ゲームをするときに、私は最初の5分でその後を続けようか続けまいか決めるというひねくれ者です。そんなひねくれ者も積極的に遊んでみようかなと思わせる雰囲気は持っています。

ストーリーは???なところが多いです。なにしろ、プレイ時間は2時間ほどなんですが、開始10分でその後の展開が読め切ってしまうほどの単純さです。もうちょっとヒロインとの生活を濃く描いたり、過去のことをじっくりと抉り出したりして、プレイヤーの感情に揺さぶりをかけても良いんじゃないかなと思いました。また、文章についても、私の主観ですが、どうでも良いところや描くべきでない表現を書きすぎ、描かなきゃいけない描写を書いてない場合が結構ありました。ここをしっかりと絞めれば、もう少しストーリーにメリハリを持たせることもできたんじゃないかなと思います。

トラックバック - http://d.hatena.ne.jp/susumu/20031129

2003-11-28 ただいま読書期間中

マンガ 化学式に強くなる

| マンガ 化学式に強くなるを含むブックマーク

ISBN:4062573342

どこかの書評で、「ブルーバックスもとうとうマンガになったか」なる記事を読むや否や何も考えずに速攻で注文しました。

ストーリーはというと、生徒役である女子高生の幸ちゃんと、先生役のつくば研究者であるお兄さん(名前が分からん)が、交友を深めつつついでに勉強もしちゃうというものです。正確には勉強を教わっているうちにだんだんと交友を深めていくという感じなのですが、私には化学式の解説という本題よりも、微妙な小ネタのほうが面白くて仕方がありませんでした。

で、肝心の化学式に強くなれるのかというと… 教科書が分からないやつが読んでも結局無理じゃね〜の、これじゃあ、ってな感じです。教科書に書いてある内容を相当省いたうえで、文章の代わりにマンガにしただけで、教科書と本質的な難しさは変わってないと思います。もちろん、教科書に比べれば幾分分かりやすい表現にはなっていますけどね。なんだかんだ言っても、手を動かし頭を動かして化学式を実際に追いかけていかないと、理解できないということです。

しか〜し、この本の最大の魅力は、やはりマンガで書かれているということかもしれません。本題ではないマンガの部分も微妙に読ませる魅力を持っているので(少なくとも私はこの手のものは好きです)、ついうっかり手にとってぱらぱらとページをめくってしまうという魔力をこの本は持っています。そしてぱらぱらとめくったが最後、次第にこの本の本題部分も脳みそに染込んでいくのではないでしょうか。

で、私は結局モルは分かるようになったかと言うと…

理系の大学院生なのに!!>俺

トラックバック - http://d.hatena.ne.jp/susumu/20031128

2003-11-24 研究用ツールの要求仕様について今更まとめてます

コンピュータ科学者がめったに語らないこと

| コンピュータ科学者がめったに語らないことを含むブックマーク

ISBN:4434036173

読了。

難しいことは良く分かりませんでしたが、それなりに楽しめました。内容は、コンピュータ科学の神であるクヌース先生の、MITで行われたコンピュータ科学と神学を絡めた講義の講義録です(変な日本語)。まあ、ほとんど宗教話がメインです。残念ながら、私は特に何かを信仰しているわけではないので、向こうの人が感じる信仰および神や運命等そういった物事に対するイメージというのが良く分かりませんでした。おそらく、それが分かると、この本をもっと面白い読み方ができるのだろうと思います。

で、この中で少ないながらに語られているコンピュータ科学の部分は、非常に興味を持っちました。ほとんど語られてはいないけど、コンピュータ科学の考え方について(序論P11ぐらい)、もっと詳しく知りたい。「抽象のレベル間で高いレベルの抽象と低いレベルの抽象をほとんど無意識にすばやくジャンプできる(12ページ4〜5行目引用)」、「ケース1、ケース2、ケース3のように認識される一様でない構造を扱える(12ページ6〜7行目)」と記述されています。正直、これだけを書かれていても実感がわかないので、よくわかりません。例が欲しいです。

しかし、コンピュータ関連の本で、これほど神という単語が頻繁に出てくる本がいままであったかな、という感じです。これが、多神教をベースとする文化と一神教ベースとする文化、そして考え方の違いでしょうか。

オブジェクト指向システム分析設計入門

| オブジェクト指向システム分析設計入門を含むブックマーク

http://www.sra.co.jp/people/aoki/IntroductionToOOAOOD/index.htm

2年前に一度読んだものの読み直しです。絶版のためWEB上に公開されています。私自身、クラス指向よりもインスタンス指向の方が強いので、若干内容に違和感を覚えつつ読んでいました。

2年前に読んだときには、前半に特に面白さを感じ、後半はぜんぜん面白くもなんともなく読むのを断念しました。しかし、今回はむしろ面白さが読むにつれてだんだんと増していきました。

面白さが上がりはじめたのは第2章からで、特に構造主義・機能主義などは、私自身の最近の一番の関心ごとをまさに言い当ててくれた内容なので、特に面白かったです。おもわずアマゾンで、「初めての構造主義」を注文してしまいました。

第4章もかなり盛り上がりました。オブジェクト指向プログラム(クラスライブラリ)を定量的な評価方法についてです。

で、5章6章と少しばかりトーンダウン(個人的にはどうでも良い)して、第7章でキターです。オブジェクト指向で組織論を展開するなんて…

そんな感じで、2年前とは違った読み方ができたと思います。読みづらい日本語訳の洋書を読むより、最初から日本語で書かれた文章がやっぱり一番という方向で。

トラックバック - http://d.hatena.ne.jp/susumu/20031124

2003-11-21 研究用ツールGUI一新

研究用ツール

| 研究用ツールを含むブックマーク

GUIswingベースからpiccoloベースに変えました。で、現在そのデバッグ中です。piccoloベースにしたので、グラフのズーミングができるようになりました。まあ、今回のツールにしても少し機能が大げさかなとは思っていますが。

トラックバック - http://d.hatena.ne.jp/susumu/20031121

2003-11-17 リフレクションとswingが遅い

リフレクションが重い

| リフレクションが重いを含むブックマーク

研究用のシミュレーションツール、内部のシミュレーションの状態を逐一表示していました。そしたら、とても重いです。それで、逐一表示をやめました。そしたらどうでしょう、やっぱり重いです。

そして、昔の速かったバージョンと、いまの遅いバージョンを比べてみました。そしたら、リフレクションか!! という結論に達しました。

これから、詳細なプロファイリングをしていきたいなと思われます。

プロファイリング結果

| プロファイリング結果を含むブックマーク

プロファイリングをしてみると、リフレクションでメソッドを呼び出しているのが全体の4割。再描画が全体の2割。えっと、全部でたったの100行もない部分でで全体の6割の処理時間を消費してる…コード全体としては、もう数千行あるのに…

かなしいとき〜

プロファイリング結果2

| プロファイリング結果2を含むブックマーク

上記の部分のうち、リフレクション部の修正は終わりました。これで、残るは描写部分だけだろうと思っていたら…

キター

スレッド間のデータ通信に使っているsynchronizedされたLinkedListと、Thread制御用に使っている同期オブジェクトが全体の5割の処理時間を占めだしました。

同期オブジェクトは仕方がないとはいえ、LinkedListはどうにかしたいなあ。

トラックバック - http://d.hatena.ne.jp/susumu/20031117

2003-11-16 だらだら

素人のように考え、玄人として実行する

| 素人のように考え、玄人として実行するを含むブックマーク

ISBN:456962457X

ずいぶんと前(インターン中)に買った本だけど、今頃読了。というより、すっかり存在を忘れていた。まあ、かなり斜め読みをしたから、もう少し読み深めたいかなと思う。あっさりした文体で書かれているので、すんなりと読めてしまうが、内容は十分に濃いと思う。

内容についてどうこう言うのはおこがましいから、一言だけ感想を書くとすると、「この時期に読めてよかった」です。どういうことかというと、私はいま、大学院に入り、自分の研究テーマを具体的に決めて、そこに走り出そうとしてるけど、その第一歩がなかなか踏み出せないという状況です。そんな私に、その第一歩を踏み出す勇気を与えてくれたということです。そして、走っているときに注意をしなければならない事を教えてくれたということです。

たとえば、”12.アイディアは「人に話して」で発展する”なんていう項目です。昨年までの自分は、アイディアはみみっちく隠すようにしてました。で、それが最近は話したもん勝ち、宣言したもの勝ち、と自分に言い聞かせて、少しでも面白そうなアイディアを思いつくと、なるべく人に聞いてもらうようにしています。でも、やっぱり人に盗られないかが不安になります。しかし、この本では、アイディアを盗られて成果を持っていかれたら、自分が相手に及ばなかっただけだから諦めろと書いています。これを見たときは笑ってしまいました。弱肉強食の非常に単純な理論です。まあ、気に病んでも無駄って言うことなのですかね。

それと、”21.例題を考え、解くことが理解を深める最も良い方法である”なんてのは、私を基本に立ち返らせてくれました。昔は、分からなくなったら基本中の基本に立ち返って、簡単な問題から考え直したものです。しかし、最近は頭の中で抽象的な問題のまま一般解を求めようとし、うまくいかないということが、微妙に多々ありました。特に今の研究テーマについて、そういう傾向が強かったので、走り出す前に基本に立ち戻ることができてよかったです。

まあそんなこんなで、現在の自分を見つめなおすにはちょうど良い本だったと思います。

トラックバック - http://d.hatena.ne.jp/susumu/20031116

2003-11-14 久しぶりにコーディング

Threadの管理

| Threadの管理を含むブックマーク

Threadの細かい制御にJDI(Java Debug Interface)を利用するか、wait/notifyをラッピングした同期オブジェクトを使って簡易的なThreadマネージャを作るか迷っています。

JDIを使うと、Threadを細かく制御できるようにはなると思うんですけど、日本語の資料があんまり見つからなくて…。

wait/notifyをラッピングした同期オブジェクトを利用して簡易的なThreadマネージャを作る場合、Thread管理をしたくない場合の実行時の速度低下がだいぶ気になります。実験しているわけではないのでなんともいえませんが。それに、これはOSで言うところのスケジューラを自力で書くようなものだし、うまく書かないと激しくデッドロックが起きそうなので、ちと設計するのがちょっとめんどくさそう。

う〜ん、どうしたものか。

トラックバック - http://d.hatena.ne.jp/susumu/20031114

2003-11-10 最近は研究用ツールの開発をもっぱらしてます

Javaのスレッドについて

| Javaのスレッドについてを含むブックマーク

最近は、研究用のツール開発を主に行っています。簡易モデルシミュレータとその表示系です。で、現在はモデルシミュレータの拡張を行っています。

モデルシミュレータはThreadを使った並列処理をベースに動いています。各々のモデルオブジェクトが並列に相互作用しながら動くというものです。まあ、本来はThreadなんていう怪しいものではなくて、きちんとシミュレーションモデルを定義して並列処理させるべきなんですが、そのあたりが簡易モデルシミュレータである所以です。

それで、どうしてもThreadを止めて終了させなければならなくなりました。また、ある任意の地点で止められたコードから、前回の状態を継続して状態で、任意の時刻に再開できるようにもしなければなりません。このあたりはwait/notifyでなんとかできます。いままでも何とかそれでしのいできました。

しかし、いまもっと細かく制御しなければならない事態に陥っています。すなわち、どのスレッドだけを起こすとか、ある条件が満たされているときにのみ起こすとか、うんだくんだという感じです。とうわけで、スレッドの細かい制御を行いたいわけです。

で、scheme等にあるcall/ccがJavaにないかと調べ始めました。こいつをThreadから得ることができたら、つまらないwait/notifyの大量生成から開放されます。必要な継続オブジェクトを見つけて、そいつを再開するだけですから。

しかし、ありません。いくら探してもありません。ということで、これから恐怖のwait/notify嵐に突入しようかと思います。

言語変えようかなあ…

トラックバック - http://d.hatena.ne.jp/susumu/20031110
269352