Entries from 2008-12-01 to 1 month

はいぺりおん

弾さんに先に書かれてしまった。ダン・シモンズ最高。

今日の復習

パタヘネ 性能の定義 10割 R形式データパスの構築 初回で10割 加算・減算 10割 2の補数 10割 Database Storage & Indexing 0割

天才プログラマの共通項

自分が全く歯が立たないと思う、同年代の天才プログラマ2人(OさんとAさん*1)に共通していることを発見しました。2人とも過去に全く違った形でリソースの限られた環境でのブラウザの開発に携わっています。サンプル数が少ないので根拠として弱いのですがし…

今日の英語

今使っている速読テキストの2周目に入った。1周目で2つ分かったことがある。 方法論を頭にたたき込む必要がある 方法論を元に練習が必要 これらを考慮して明日は方法論をマインドマップ一枚に収めることに挑戦。

ISAM とは?

sql

A variant of B+ trees, called Indexed Sequential Access Method(ISAM), offers the benefit of sequential allocation of leaf pages, plus benefit of fast searches. そうだったのか。MyISAM は ISAM を拡張したものらしい。色々つながってきた。

Outputzにおける アウトプット回数の多いWebサービスとプログラミング言語

Outputz に最近10日間に投稿された回数の統計情報を出力してみました。 Output 回数の多い Web サービス Output 回数の多いサービストップ10。ただ閲覧しているのではなくて、ユーザーがアウトプットというアクションを起こしているサービスが分かります。 …

シングルサイクル、マルチサイクル

パタヘネ。データパスと制御の学習終わり。次はパイプライン。 マルチサイクルの制御詳細部分は若干端折った。

disasm を定義

コンパイラ向けのコードたちが正しく最適化&コンパイルされているかを知りたい。この目的のために disasm を作った。 (disasm pass3/compile-arg) => LET_FRAME 12 REFER_LOCAL0_PUSH REFER_FREE0_PUSH DISPLAY 2 FRAME 17 REFER_LOCAL0_PUSH REFER_LOCAL1_…

強大なバグに苦しむ

うーむ。このバグは今週中に解決するのだろうか。 pass3/compile-arg に渡される CodeBuilder オブジェクトが特定のタイミングで別のものにすり替わっているように見える。なぜ!?。 pass3/compile-arg2 code-builder = <code-builder 140047984> refer_free = <code-builder 140047984> <= これが正しい pas</code-builder></code-builder>…

R6RS の exit が引数にオブジェクトを取る理由

また、 Plan9 などの OS ではプロセスの終了状態を文字列で表すため、 exit の引数には任意の値を渡すことができる。 (exit "success") なるほど。逆引きScheme便利! どなたかは存じませんが Plan9 を引き合いに出すところが OS 好きとしてはたまらない。

今日の復習

パタヘネ メモリクリア比較 pointer vs array 10割 WEwLC Introduce static setter 10割 Extract Interface 10割 Pinch point 10割 速読 0割

12/8

1980/12/8

4. Transforms を描いてみよう - Real-Time Rendering

Real-Time Renderingの 4章 Transforms。青が元の位置、赤が変換後の位置。 Translation x, y, z 座標がそれぞれ移動する。形は保持される。 Rotation z軸を中心にπ/4回転。 Scaling y軸方向に拡大。 Shearing ぐぐっと引っ張られたような剪断。 コード 行列…

Comparison of File Orgnization - Database Management Systems

Database Management Systems の 8章。 Heap Files, Clustered Files, Heap Files with Unclustered Hash Index などのデータ格納形式に関して scan search= searh range delete insert などのコスト概算。例えば Heap files with Unclustered Tree Index だ…

データパスと制御

制御って何?具体的には何なの?とずっと思っていた。今日やっと理解した。入力や出力から制御信号を作るのね。

困った

コンパイラがコンパイラを最適化すると動かなくなる。最小再現セットを見つけるのが難しそうだ。

現在追っている letrec バグの詳細

最小再現コード (letrec ([xx (lambda (k) (k) (xx (lambda () (yy))))] [yy (lambda () (cons '() (yy)))]) (xx (lambda () #f))) バグの内容 無限ループになるはずが *** ERROR: vector required, but got () とエラーになる。 参考:Gauche が吐く最適化…

Secrets of the JavaScript Ninja か

面白いタイトル。

今日の復習

Code Complete ルーチン 10割 本→マインドマップ 10割 WEwLC フィードバックを生かす 10割 あちこち同じコードを変更している 10割 パタヘネ Intel 浮動小数 10割

Re:気軽に3D描画を楽しめる何かが欲しい

「気軽に3D描画を楽しめる何かが欲しい」と書いたところ、たくさんのアドバイスを頂きました。みなさんありがとうございます。結局 Gauche-gl を使うことにしました。以前も SICP で使ったことがあったので触り始めて1時間ほどでコツがつかめました。これを…

毛布

数年ぶりに毛布と和解したので購入。歳をとり寒さに弱くなったのだろう。

今日の復習

WEwLC 11章 変更したいどのメソッドテストすべき 10割 21章 あちこち同じコード変更している 3割 パタヘネ Intel 浮動小数 5割 乗算 10割 IA-32概要 10割

R6RS 処理系間の差異吸収をどうしようか?

R6RS 処理系、例えば Ypsilon、 IronScheme、 Ikarus、Mosh で共通して動くライブラリを作って公開したいとしよう。その場合問題になるのは処理系間の差異をどう吸収するかということ。R6RSではこのあたりは決められていないので共通仕様を決めて各処理系が…

今日の英語

速読編が終わり速聴編へ。CDを聞き練習問題を8問解いてみた。ひどい成績。当初の目的は速読の能力向上だったのでスルーという方向もありだとは思うのだがどうしようか。この本をすすめてくれた M 氏に相談してみよう。

寝つけないのでデバッグ

pass2 の label 関連のバグをつぶした。あと1つバグをつぶせば恐らく一段落して速度測定に入れるはず。しかし letrec 関連のバグの多い事よ。

pass2 のデバッグを少しでも簡単に

pass2 のどこかでおかしな最適化が施されてしまう問題に悩まされる。2分法で調べるために適当にログをとりながら調べたが分からず。あの構造で再帰しまくるとデバッグが難しい。 ちょっと落ち着いて考える。適当に一部のログだけをとったのが分かりづらさの…

最適化バグ修正

またバグ1つ修正。このバグが直るまでは寝ないと誓ったらすぐに解決。誓いの効用。

Black bird はそろそろ次のステージへ

Black bird は以前よりうまくなっているがまだまだ。弾き語りの演奏としてはぎりぎり聞けるレベルだが単体で聞いたらひどい。そろそろ安いマイクでも買って客観的に演奏を聴いてみるかな。自分(達)の演奏を録音して聴くことは上達への近道だと経験的に知っ…

今日の復習

神の手によって選ばれた復習項目がきつめだった。 パタヘネ コンピュータの言葉 10割 コンピュータとは 10割 IA32 概要 0割 乗算 0割 Database Tree-based index 10割 初めてで10割か。興味を持つと違うのかね。

今日の英語

速読仕上げ問題1 9問中7問正解。12分/制限時間18分 速読仕上げ問題2 12問中12問正解。10分/制限時間20分 速読仕上げ問題3 12問中11問正解。9分/制限時間16分 やっと感じがつかめてきた。この感覚を逃したくない。