PukiWiki

28 Jan
以前Wikiについて調べたときは、PukiWikiは便利そうなプラグインが「ありそうでない」状態だった。 つまり、ToDoリストには入っているけど、存在しない状態だった。 そんなわけで、デザイン的に気に入ったのとPDF出力が標準でサポートされていたFreeStyleWikiを個人用メモに利用していた。 で、ふと気になってまたいろいろ調べてみたら、PukiWikiの”ToDo”が”Done”になっていた。TeX書式での数式入力とか、いろいろなものが実際に利用できるようになっていた。...
Read more »

レイトレを動かせ!

28 Jan
1/14にSRAMがちゃんと動くようになったのを受けて、1週間でレイトレを動かせプロジェクト始動。 たしかに多少ムリなスケジュールだけど、実現可能+αあたりを目標に据えるのは妥当な線だろう。 メモリ命令が実機に搭載されたのを皮切りに・・・ ソフトウェアで使用していた擬似バイナリ形式をBlockRAMの形式に変更するツールを作成。 ソフトウェアスケジューラで、IO命令周辺を余裕のある=nopで挟んだ形にして、BlockRAMからGCD動作。 メモリ命令周辺も余裕のある形にして、BlockRAMからフィボナッチ動作 IO通信やメモリ周辺のテストも動作。 ぼくが命令列のテストをしている間にLがインストラクションキャッシュを完成させたので、プログラムをロードするプログラムの実機テスト。最初はいろいろつまづいたが、ローダー動作。 FPUがシミュレータと実機とで違う動作をしていたバグを直してもらって、浮動小数点フィボナッチ動作。 これで、CPUをコンパイルしなおさなくてもプログラムのテストができる!と喜んでいろいろテスト。インストラクションキャッシュを溢れるような容量のプログラムのテストやらいろいろ。 しかしレイトレは動かず。調べてみると、スタックポインタとUSB通信周りが怪しい・・・。これは修正。 ここら辺で、目標の1週間。1週間で2回しか家に帰らなかったっぽい。学校に泊まったこと数回、L家にお邪魔したこと1回。 LEDにはプログラムカウンタの下位8bit(またはその上の8bit)が表示されるだけなので、止まっている原因が分からない。CPU内部の制御をよく分かっていないせいもあって、問題が発生した場所の特定にすら何時間もかかる。U野の力を借りて、レイトレコード中の該当箇所を見つけて、デバッグ出力をちりばめて検証して・・・・。なんてデバッグしにくいんだ! 結局、メモリ周りにバグがある可能性が高いということになったが、メモリ周りはすぐ書き直す予定だったから、先に書き直してから再びレイトレ動作を目指してデバッグということに。...
Read more »

誕生日

28 Jan
でした。ずっと前。19日。 19日になった瞬間は学校の地下室で作業をしていました。 その後その場で寝て、朝学校の地下室でおきて、夜終電ちょっと前に家に戻りました。 でも、一応家でちゃんとケーキを食べました。食べたときは既に次の日になってたけど;; 誕生日メールをくれた方はありがとうございました。そして、連絡が遅くなってごめんなさい。2,3日以内には誰にも返さなかった気がする・・・。久しぶりにメールくれた人もいたのに・・・。 はい。ごめんなさい。...
Read more »

WebCam

14 Jan
いままで家で試してみいたのは、パソコンの淵や横に置くタイプだったから、目線がどうしてもどうでもいい方向を向いてしまってよくなかった。 昨日、生協でコードが自由に曲がってかつ固定できる(意味分かるかな;)を見つけたので、購入。 学校で試してみたところ・・・いい。目線がちゃんと合うだけで、すごく自然になる。速度とかは、別に問題ない。...
Read more »

Mac mini

12 Jan
噂はあったけど、本当に発表。500ドルのMac。 そして・・・・小さい!!横幅がCDサイズ! いや、これは買いでしょ・・・・。でも、Tiger(OS 10.4)待ってからかな?この値段で、OS新規購入はできないもんなぁ。...
Read more »

GHCは意外と親切だった

8 Jan
この間から急にHaskellに興味を持って、いろいろやってみているわけだが、そのコンパイラGHCに関しての話。 quicksort :: [a] -> [a] quicksort [] = [] quicksort (x:xs) = quicksort [n|n演算子は使えませんよ。と。 でもって、(Ord a)をquicksortの定義部分に付け加えるとよいですよ。と。 おぉぉ。なんと親切な。こんなに親切なコンパイラは見たことないかも。...
Read more »

マインスイーパとxyzzyの関係?

7 Jan
マインスイーパーの攻略によれば、 X→Y→Z→Z→Y→shift→enterと押すと、ディスプレイの左上角に直径0.1mmぐらいの白い隙間が出来ます。(普通は絶対気づかない)GAMEを開始し、爆弾のあるマスの上にカーソルが行った時その隙間が埋まります。つまり、マウスポイントをのっけても隙間が見えている場合はセーフ...
Read more »