昨日は修論の製本締め切りだったので、33時間徹夜して何とか30ページ弱の論文を書き、 そして14時間寝た。 別にわざと寝たわけではなく目が覚めるとその位経過していたのだ。 すぎ氏の去年の修論製作日記には非常に勇気づけられたので謝辞に書きたいぐらいだ。
さて後は発表の内容を考えてパワーポイントで資料を作らなきゃね。 と言いながら久しぶりにファーレントゥーガを5時間ぐらいやる。 違う!やりたかったのはこんなことじゃない!
RPGのイベントなどを記述するスクリプト言語を独立したひとつのシステムにしたいものだと 以前からずっとずっと考えていた。 しかし私は千葉先生の授業で簡単なコンパイラの課題をやった程度の経験しかないのだ。
既にあるのならそれを利用したいものだ!と探し続けている。 今日は東大の大学院でそういう研究をしている人のページを見つけた。 私も言語研に入っていたらそれで論文が書けたかもなあ。なんて負け犬の呟きを漏らしてみたり。 所詮は他人の芝生。
ええいくそ、重要なのはこれからだ。 ECMScriptを解釈するJavaライブラリFESIの利用を 考えていたのだが、これはスクリプトを関数単位または式単位で実行(評価)するメソッドしか無いようだ。
そんなわけでGoogleで「RPG シナリオ スクリプト 言語」といった検索を繰り返すところからまだ進んでいないのだ。
2chの過去ログ「スクリプト言語の作成」なんかそのものずばりだ。
論文提出。2通必要な履歴書は片方コピーでもいいのだが、両方ではだめなようだ。 「筑波大学大学院修士課程理工学研究科理工学専攻」を書く欄が少し狭いなと思った。分野名が入らないのが救い。
今日はついに、私と同じ事を考え実践した人のサイトを見つけた。 私の今まで求めていたことは 白浜研究室のScheme処理系の制作で 全て述べられている。 さらにはスクリプトエンジンも実際に作られ、"VISM"という名前でDLL化されている。
しかしSchemeか……懐かしの情科IIAのページなんか探し出してみたり。 継続とか忘れてしまったし。そもそも習ったっけ? そういえば先のサイトを見ていて気が付いたのだが、私はC言語のsetjmp()とlongjmp()を知らなかった。 いやシステムプログラムの授業で触れられているから 多分習ったんだろうけどすっぱり綺麗に忘れていた。笑ってくれよハハハ、と虚空に呟く私だ。
そんなことでいちいち新城先生の授業ページを検索している場合ではない。 全ては発表が終わってからのことだ……まずはゼミで発表練習だな!
と言いつつもなおも検索作業を続けると、2chでも何度か話題になったようで「スクリプトエンジン」関係のログが見つかる。 そういうものを読んでいると、自分が低次元な悩みの中であがいているように思えてきて、さらに検索を続けるというドツボにはまってきた。
昨日のSchemeエンジンはどうも使い方が分からないので使用を一時断念。 というかドキュメントが見つからないのでソースのコメントに説明があるかもしれない……。
やはりCもどきが良い……ということでやねうらおさんのYaneuraoGameScript2000のソースを改造して使うことにした。 ここのサイトの天才ゲームプログラマ養成ギプスは読んでも(実力不足で)よく分からないので 敬遠していたのだが、この機会にYaneGameSDKを本格的に導入。
ここ数ヶ月人間的にも技術的にもあらゆる面で成長をやめていたボンクラぶりであった。 思い切ってVisual Studio .NETアカデミックパックを購入し、心を入れ替えることができたという錯覚に浸る。
C++ マニュアルを探し出してじっくり眺めたりする。 C++もJavaに負けず色々機能やライブラリがあるのだからこれから虚心に学ぼう。 それにしてもVisual Studio .NETは動作が重い。
せっかくC++を虚心に学ぶ気になっているのに発表があるのでその準備をしなければならない。 今日のゼミではパワーポイントの十数枚の作りかけスライドを見せて発表準備の骨組みを語ってみたりした。
シス情の博士課程にあるところの同級生は、30枚のスライドを使ったということで 「なるほど少なくとも30枚のスライドを作らねばなあ」と考えていた。 しかし今日、実際作ったのは50枚でそこから20枚間引いたということが明らかになり、 萎える心気を隠しつつ「そうかそうか」とうなずき続けるしかなかった。
デスクトップPCでYaneuraoGameScript2000のソースを解読しながらノートPCでスライドを作る。 yaneGameSDKはエラーメッセージをダイアログで出すせいか、コンソールアプリケーションで利用すると エラー時に強制終了してしまうことがあるのがちょっと不便。
さすがにまずいので余所事はやらずにパワーポイントのスライドを作る。
発表。 聴衆は主査たる指導教官と副査の先生二人。寂しい。 11時から30分間の予定が、前の発表が続いていたために11時17分からとなる。 ために11時半頃入ってきた次の発表の人とその関係者は私の発表を聞くはめになった。
YaneuraoGameScript2000の解読は無事に終了し、目的のスクリプトエンジンを作ることができた。 これを局地戦略のシナリオ機能に使うことができるが、そうなると画像や音声の処理のために yaneGameSDKも取り入れたいところだ。しかしYaneuraoGameScript2000は完結したひとつの アプリケーションとして設計されており、他のプログラムの一部として動かすことは 想定されていないようである。
スクリプトエンジン部は綺麗にモジュール化されているので純粋にそれだけを利用するのは 簡単な改造で済んだのだが、そこにyaneGameSDKを絡めた部分まで使うとなると、 開始処理や初期化処理がうまくいかず落ちてしまう。
イベントダイアログの内容をYaneuraoGameScript2000の機能で描画するという 虫のいいことを考えていたのだが、この分では地道な改造が必要になるようだ。 副産物としてWinMain()関数の引数の意味を初めて全部知ったりした。
すきやのQ&Aページで 「大辛をダブルで」というのがあるので食べに行く。 メニューに記載が見つからず注文に少し手間取った。
一応写真を撮ってから食べる。 汗と鼻水が出てそれなりにつらい。LEEで言えば10倍ぐらいのつらさか。 レシートを見ると「大辛トッピング」で30円増しになっていたが、 複合トッピングできるらしいことを考えると 大辛3倍とか4倍も可能なのかもしれない。
yaneGameSDKはアプリケーションがAppInitializerやらAppManagerやらで管理されていることを前提にして作られているようだ。 ……というかどうにもWindowsプログラミングに無知で偉そうなことは言えないのだが、 例えば「指定したデバイスコンテキストにこういう描画をしてくれ」といったつまみ食い的な使い方はできないようだ。
WinGLはウィンドウハンドルだのデバイスコンテキストだのをあまり隠蔽していない分、Windowsプログラミング時の 知識を要求されるが(これは先の記述と矛盾する感じだが)、 それだけに「ライブラリの特定の機能だけを少し使う」こともできた。
Visual C++だけを使うのならyaneGameSDKは非常に楽ということは言えるのだろう。 今度新しくVisual C++で何かを作る時にまた使ってみよう。
ともあれWinGLは既に古いライブラリ……なのでまっとうにWindowsプログラミングの勉強をしてAPIを呼び出すか、 あるいはWinGL的な使い方のできるライブラリを探すか、 はたまたBorland C++ BuilderのVCLにさらにどっぷりと浸かっていくか……のいずれかだろう。
そういえばSDL(Simple DirectMedia Layer)というのがあった。 SDLのライセンスは"GNU LGPL"というものらしいが、LGPLって何だ? ソース公開は全く構わないが、SDLを利用すると自分のプログラムもLGPLとやらにしなきゃいけないのか? 複雑なライセンス条項を付けるのは億劫だ。
ということで調べてみる。 「LGPL」を読むというページを見つけた。 このページの下の方の“ケース1: LGPLな『ライブラリ』はどこもいじらず、「著作物」はソースつきで配布する場合」”でやればLGPLにしなくてもいいのかな。
先週はずっと内定先での勉強会があって疲れた。 ずっと友人の部屋に泊めてもらって電車で通ったのだが、乗物が時刻表通りに運行されるって素晴らしい…… 高速バスが渋滞に巻き込まれて気を揉むのは実に嫌なものだからね。
この頃飛蚊症がひどく、室内でパソコンを使っていても目の中のゴミが見えるので 技短視覚部の近くの高田眼科に行く。 待合室のテレビでは眼球の手術映像が流されていた。はっきり言って見たくない。 そういえばエース・ベンチュラでジム・キャリーが自分の眼球をつついてみせるシーンがあった。
眼底検査の結果、特に異常はないと告げられて一安心。しかし原因は不明。 コラーゲンでも摂るかのう……
修論発表のことを日記に書いていなかったが、後に良い思い出になるかもしれない重要なイベントなので2月13日の所に書き加える。
引っ越しの準備で肉体的に忙しい。部屋が狭いので段ボール箱を積み上げるのも一苦労。 8平米ぐらいしかない宿舎部屋であるが、あの手この手で物を溜め込んだので引っ越しにはつらい。
AKIBA PC HotLine!によるとAthlon 1.33GHz(Thunderburd)が六千円ぐらいになっている。 2年前に2万円で買ったAthlon 1GHzと交換するか……? クーラーは1.33GHzまで、マザーボードは1.5GHzまで対応しているので問題無いのだが CPUクーラーは取り付けるより外す方が難しいらしいし…… 取り付ける時はかなり力を込めなければならず恐かった。
メモリーを128Mまで増設した9821V13と80Mまで増設したXa13は新居に持っていく。 98は頑丈なのだ!性能が悪くても値段が高くても融通が利かなくても頑丈さが取り柄! サーバーとか何とか使い道があるさ!
研究室で廃棄になったのを貰ったMMX Pentium 150MHzのノートパソコンがあるけど、これはメモリが32Mしかない。勝ったな。
昨日の今日でThunderbirdはAKIBA PC HotLine!の価格調査から外されてしまった。 マザーボードのBIOSをアップデートすればPalominoも使えるらしいが。正解など無い。
新居の近くにあるうどん屋で肉うどんを食べる。 ここは3学そば屋と大体同じような価格だが、麺に腰がありすぎる。 そばもそうだが腰が強い麺は苦手だ。それから長すぎる麺も。
学位授与式。の前後、宿舎の退去作業。 長年の汚れは拭いても拭いても落とせず、時間ぎりぎりまでやっても壁が黒ずんだ状態である。恐る恐る点検を受けたが、あっさりOKとなった。
つくば最後の飯はランランか富士泉か3学そば屋にしたかったが、忙しさのために平砂食堂にするしかなかった。 ああ……かつてはどうでもよかった事象が心残りだ。
秋葉原でDVD-ROMドライブを買う。 IO-DATAの製品で、とにかく多くの種類のメディアを読めるモデルにしようと決めて行ったが、どこの店も書き込み系ドライブばかり売っていてなかなか見つからない。 漸く一店で9,799円で売っているのを発見。が、クレバリーでDVDも読めるCD-RWドライブが8,800円だったのでそっちにしてしまった。 ただしこちらはDVD-RAMが読めない。
どこに行ってもDVD系ドライブは目立つ所に陳列されており、よほど注目されている感じだ。 それぞれのDVDメディアがどんな特性を持っていてどの程度普及しているのかまるで知らない私はおきざり……というか、今頃DVD-ROM読み込み環境を手に入れているって……確実に周回遅れだね。うむ。
一昨年このPCを組む時、同行していたまさを氏がDVDドライブにすることを勧めてくれたのだが、私はいつでも買えるとむげに退けてしまったのだ。 ともかく早速「ワイルド・ワイルド・ウエスト」を購入して見る。ディスプレイで見ているせいか字幕にジャギーのかかった感じが気になる。
なぜか荷ほどきが終わらない。引っ越しのことを考えていなかったので、収納ケースの類がまるで無いことが原因。 「いつでも引っ越しできる」ということを念頭に置いて物を収納していきたい。
さて、私は今さら、PC-98x1がUSBをサポートしていれば!と嘆いている。いや、していなかったわけではないが……。どうだっただろう。 まあとにかくスキャナーとMOドライブがSCSI接続の製品なのだ。
そういうわけでIO-DATAのUSB2-SCを6千円弱で買ったわけだが、 何故かEPSONスキャナーGT-7600Sが使えない。インストールは正常に終了してデバイスマネージャにも「このハードウェアは正しく動作しています」 と出るのだが、Pixiaなどのアプリケーションから「TWAIN対応入力機器が使えない」というエラーになってしまう。
そこで2つの道がある。
いや、全然不可解ではない。私はパソコンオタクになりたいと思いながらなりきれていない軟弱野郎というだけのことだ。そしてこれからもなれないだろう。 今日はこの件で検索していたところ、憧れだったマシンPC-9821Xv13をパワーアップし倒しているページ(無断リンク)を見つけた。 素晴らしいじゃないか……素晴らしすぎる。パソコンとは本来そういうものではなかっただろうか?(本来って何)
ふとスキャナーの側面を見ると、輸送時ロックが掛かったままだった。解除するとあっさり動作。 どうでもいいが今は後継機種のUSB2-SC2が出ている。タイミングが悪い。
会社に通っていると時の流れが速い。そうそう、幸運にも新人歓迎会のビンゴゲームで2等の折りたたみ自転車を貰った。 本当は3等のMDプレイヤーだったのだが2等を当てた人が交換してくれたのだ。 ただ着払いで送られて来たので生活費が削られてしまった。
自宅のFAXに電源が入らない状態になった。 コンセントの通電チェック、電源ケーブルの交換、電源スイッチの確認をする。 どうも本体の問題であると断ぜざるを得ない。
今こそMMX PentiumノートパソコンをFAXサーバにする時!と勇んでみたら、 何とこれにはシリアルポートコネクタが無い。赤外線ポートはあるが。PCカードのモデムは高いのよねえ。
つくばに居た時はカワチで当たり前のように買っていたから気づかなかったが、日清とんがらし麺を売っている店が見つからない。 日清食品のサイトを見てとんがらし麺が製品ラインナップにあることを確認してみたり。 ついでにLEE(激辛レトルトカレー)も見つからない。
そういうわけでこの頃辛い物を食べていないので、すき屋の公式サイトで店舗を探し、会社からの帰路に途中下車しておもむき、大辛牛丼+大辛トッピング。 しかしこの公式サイト、店舗一覧ページに店舗の住所を載せてあれば探しやすいのに。
日清とんがらし麺の新製品が発売されたようで、コンビニにもスーパーにも売られている。 小躍りしながら購入。やはり良い物だ。
それにしてもジャンクフードだけで辛食欲(造語)を満たすのはいかにも体に悪い。 輸入食品店でタイカレー缶詰でも買ってみるか?
申し込んでから3週間、NTTからADSLモデムが届く。
ADSL開通。実のところ@niftyのキャンペーン中に衝動的に申し込んだのであった。 低速回線の恨みは恐いというやつだ。
これでインターネットでの調べ物なども楽になり、色々な開発作業なども進むはず。 今はPHPがマイブーム。
通信環境がADSLになって以来、Yahoo!ショッピングを眺めるのが趣味のひとつになった感がある。 実際に買うのは本だけだが。 セブンイレブン代金引換受け取りにはまだ慣れず、サインするのを忘れて立ち去ろうとし、店員に苦笑されたり。
今さら大石まさる「みずいろ」を取り寄せで入手。 田舎はいいな……でもこんな所じゃFTTHは何年先でしょう。などと部屋で一人呟きながら読む。
PC-9821Xa13/W12にNICを追加し、FreeBSD 4.8Rを入れてダイアルアップルータにしようと思う。 秋葉原でもPC-98x1対応と銘打った100BASE-TXの使えるNICがなかなか見つからず、結局The Computer館で購入した。
インストール中、「転送中に書き込みエラーが発生しました」とメッセージが表示され、再起動しても途中で止まってしまう。 スキャンディスクをしてみたり、CD-Rを作り直したりしてみるが状況は変わらず。 ふとエラーの起きる箇所のファイルをFTPサイトの物と比べると、ダウンロードに失敗したと見られるファイルがひとつあった。
「書き込みエラー」はないだろうよ。HDDが壊れたかと思うじゃねえか。と八つ当たりしながらインストールをやり直す。 UIDE-98MとLGY-PCI-TXD(NIC)が付いている以外何も施していないので今度は当然ながらスムーズに終わった。
凡ミスで貴重な休日を費やしてしまった。 そういえばインストール時にダイアルアップすることもできるそうだが、例えばフレッツADSL(PPPoE)でも可能なのかしら? と思って検索してみるがどうも見つからず挫折。WindowsマシンにNICが2つ付いていれば話は簡単なのだが。
カーネルの再構築。UIDE-98を繋いでいるせいだろう、GENERIC98をそのまま使ってもmountrootに失敗することが判明。 3.xを使おうかとも考えたが、面倒くさいのでUIDE-98ははずして標準のIDEを使用することにする。 性能に不満が出たらSCSIを付ければいいのだ。
朝からNATとファイアウォールの設定。午後2時までかかる。 回線速度を計測するとWindowsから直接繋いだ場合と同程度でめでたし。 しかしこの連休は一体……まあいいか布団も干せたしな。
しかし結局、Windowsマシン側のDNSを(ppp接続時に自動出力された /etc/resolv.conf を見て)手動設定しているので あまりめでたくもない。ローカルでDNSサーバを動かすのがいいのだが、それにはppp接続時に /etc/resolv.conf ではなく /etc/named.conf に設定を書かなければならないわけで、 その方法を調べるのが面倒くさい。くそ!今日は散歩がてら辛口ラーメンでも食べに行くぞ!
POPサーバにメールが多めにたまった状態でPOPを実行すると、メール一覧の取得の途中で メールクライアントうんともすんとも言わなくなる現象が発生。 何やらMTUを適切に設定しないとTCPコネクションが繋がっても通信できないらしい。
てやんでいうちのFreeBSDはちゃんとMTUを1454にしてるわ!とふんぞり返るも、 Windows側のMTUが1500のままなのに気づいてしまった。 窓の手で1454に固定すると問題は解決。しかしMTUについて私が何も理解していないという問題は未解決。
9821Xa13のCPUをPentium 200MHzに交換して意味もなく消費電力を増やしてみる。 秋葉原で300円で買ったヒートシンクの冷却ファンが強力すぎて少しうるさい。 ついでにローカル用DNSサーバを動かすように設定する。
会社の昼休みに本屋に行って「Network Magazine」を買ってみる。面白い。
私は風呂で歯を磨く。風呂には洗顔フォームがあって練り歯磨きと同じ形のチューブだ。 間違えて洗顔フォームで歯を磨き、磨き終わって間違いに気づいた瞬間猛烈な吐き気がおそってきた。 磨きながら「この練り歯磨き不味いなあ〜腐ってるのかな?」と考えていた。睡眠不足?
ここ数週間、昼飯は会社の近くのうどん屋兼そば屋を利用している。 うどんもそばもまあまあ美味いのだが、ざるそばはあまりいただけない。 3学そば屋のざるそばは味とコストパフォーマンスでかなりいい線を行っていたのだ。と今さら実感する私。
今年も、グリコのゲテモノカレーLEE30倍がコンビニの店頭に並ぶ季節がやってきた。 私は30倍は食べたことがない。どころかその存在を知ったのも最近のことだ。 それを今日は購入してきた。
私はレトルトカレーを4分の3合……7勺半の米で食べる。 以前はちょうど一合で食べていたのだが、1年ほど前から減らしている。 この30倍もご多分に漏れず同じ量で食べることにした。
激辛カレーはあせらずゆっくりと着実に口に運ぶのがコツ……確かにLEE10倍の3倍といった辛さである。 抜けるのが早い、爽快な辛さで完食。 とはいえやはりゲテモノには違いないので、多分この夏あと一回食べるか食べないかだろう。 今度は市販されているLEE10倍のルーを使ってオリジナルLEEを作りたい。