Entries from 2009-03-01 to 1 month

R6RS における transcoded-port が binary port を close するとは?

R6RS の transcoded-port 手続きの説明で以下のような文章がある。 As a side effect, however, transcoded-port closes binary-port in a special way that allows the new textual port to continue to use the byte source or sink represented by binary…

BeOS - 既存のドライバモデルを調べよう

Mona のドライバモデルをきちんと決めるべく既存の OS のドライバモデルを調べていこう。 前回までのあらすじはこちら。(Windows - 既存のドライバモデルを調べよう) カーネルがドライバに提供する機能 割り込み disable/enable spin lock タイマー 割り込…

今日の復習

全て10割。 DDD services concurrency control B+ Tree シンクロナイザ SQL の実行 ISAM

gc-7.1 のテストが通らない場合がある

gc-7.1 のテストが通らない場合がある。 症状 make check が一つ目のテストで止まる。 テストの1つが通らない テストが通るときもある と不安定。 フラグ 通らないときのフラグは以下の通り。 -DDONT_ADD_BYTE_AT_END=1 -DLARGE_CONFIG=1 -DNO_CLOCK=1 -DGC_…

Windows XP on vmware 整備中

家のデスクトップマシンの Windows で Mosh をビルドすると 30 分くらいかかる。(超非力)。 Thinkpad X60 Ubuntu の Vmware に Windows XP を入れて、ビルドしたら3分くらいだった。

今日の復習

全て10割。 仮想記憶 全てのクラスでBD必要? dealing with deadlocks B+ tree in practice projection

Procedural Texturing and Texture Animation - Real-Time Rendering

Real-Time Renderingの 6章 。 マインドマップから再構成したまとめ Procedural Texturing 何? function を評価して texture value を得る方法 今はあまり使われない 計算のコスト 現代 GPU は Image Texturing の方が得意 将来は増えるかも 用途 Volume te…

早めにお勉強

今日は夕方から出かけるので早めにノルマを達成せねば。

正しくない文字列の parse エラーの修正

naoya_t さんから指摘されていたバグの原因は re2c に与えている正規表現の typo のせいだった。調べるのに数時間かかった。 正: UNICODE_ZL_ZP = [\X2028-\X2029]; 誤: UNICODE_ZL_ZP = [\X2028-\x2029];

Windows 版

herumi さんに「全く Windows の事を考えてないコード」と言われて、確かにその通りで申し訳ないと思ったんですが、それでも VC でビルドして動かすところまで持ってくるのが凄いよなあ。

Mosh の Windows 版が動き始めています

herumi さんがコミットしてくれた Windows 対応のコードにより Mosh が Windows で動き始めています。 Visual studio 2008 Express Edition で mosh.vcproj を開き、ビルドすると mosh.exe が作られます。 まだ I/O 周りが正しく動いていませんが bytevector…

今日の復習

Prjection 2割 以下10割。 デイトレ 光 Basic Transform Transaction and schedule 世界一分かりやすい株実践

Mosh の Boehm GC 7.1alpha3 から 7.1 へバージョンアップ

次回用に作業メモを残す CPU 使用率が 0 % のときに make bench し結果を取る。 mosh/configure.ac の以下の部分を gc の新しいバージョンに書き換える。 AC_CONFIG_SUBDIRS([gc-7.1 onig-5.7.0]) mosh/Makefile.am の BOEHM_GC_DIR を書き換える。 BOEHM_GC…

今日の一言

id:yamanetoshi さんの諦めないしつこい姿勢を見習いたいと思う。

今日の復習

Transaction and schedule 3割 以下10割 速読 高度なパイプライン プロセッサ入出力 I/F Vertex blending Projection

排気ガス対策に自転車用マスク レスプロ/RESPRO シティマスク購入

自転車通勤経路が、高速道路の下にある国道。車の排気ガスが多めなのが気になっていたので思いきって購入。 サイズは M でぴったりだった。鼻の形に合わせて調節できるのが良い。普通のマスクと違って、排気が眼鏡方面に来ないのがうれしい。 装着すると厳つ…

今日の英語 - Domain Driven Desgin Quickly その16

速読の練習。速読はしない。文の構造を意識しつつ読み進める習慣をつける。方法論はTOEFLテスト速読・速聴大特訓 基礎編で。ルールは以下の通り。 トピックセンテンスは黄色いマーカーで シグナルワードは緑の線Boundex Context と Continous Integeration

20. valgrind で PostgreSQL のメモリリークをみつけよう - PostgreSQL のソースコードを読む

db

環境は整ったので実験していく。 通常の select 1回 select * from person; リークしない 通常の insert 1回 リークしない drop table リークしない update リークしない create table リークしない CREATE TABLE person (social_no integer, name text, age…

R6RS port のテストが通るようになった

Port 周り担当のココサブさんの激闘の結果 port のテストが通った。お疲れ様でした!。 今日やった自分がした作業は herumiさん指摘による direct threaded が OFF のときに動かないバグを修正 使っていない getDatumOld を消す ucs4string::data() を誤って…

Mosh の Latin1 codec 用の資料

8859-1.TXT

Closure / PHP

briancarper.net :: Clojure 1, PHP 0 そろそろ誰かが Scheme で PHP のコードを置き換えたらこんなに短くなったというブログを書くべき。

R6RS における (string->symbol "0") の扱い

(write (string->symbol "0"))の結果を read する場合、そのまま 0 と write すると read 時に数値になって困る。R5RS ではこの辺りは決まっていなくて、Gauche では |0| と write する仕様になっている。 今日気付いたのだが R6RS においてはこのケースは \…

Mosh 実装追い込み

file-options のバックエンドを list ではなく enum-set に変更 UTF16Codec 周り bytevector-output-port の position call-with-bytevector-output-port の引数 $receive に関連した compiler のバグ修正 stdout を close していたのを修正

今日の復習

プロセッサ入出力 I/F 9割 以下10割 並行プログラム試験 Model driven design B+ Tree Dynamic INdex strcuture Volume texture 他

今日の英語 - Domain Driven Desgin Quickly その15

速読の練習。速読はしない。文の構造を意識しつつ読み進める習慣をつける。方法論はTOEFLテスト速読・速聴大特訓 基礎編で。ルールは以下の通り。 トピックセンテンスは黄色いマーカーで シグナルワードは緑の線マインドマップは明日以降。

UC マクロ修正

#define UC(a) (reinterpret_cast<const ucs4char*>(L##""a)) => #define UC_(x) L ## x #define UC(x) reinterpret_cast<const ucs4char*>(UC_(x)) herumi さんのアドバイスにより UC マクロを修正。 元の定義だと、優先順位の関係で L "" という UTF32 文字列リテラルと、x という ASCII 文字</const></const>…

Concurrency Control in B+ Tree - Database Management Systems

Database Management Systemsの16章。 マインドマップから再構成したまとめ Concurrency Control in B+ Tree naive な実装ではページ単位でロックを行う root に近い場所で競合が発生する ではどうする? Search 基本は検索経路のページに Shared Lock をか…

19. valgrind で PostgreSQL のメモリリークをみつけよう - PostgreSQL のソースコードを読む

db

再インストール apt-get で入れた valgrind は古かったのでソースから入れ直した。 余計なメッセージの抑制 PostgreSQL の起動時に ==27617== 32 bytes in 1 blocks are still reachable in loss record 3 of 15 ==27617== at 0x4C265AE: malloc (vg_replace…

valgrind で不要なエラー出力を抑制

Suppressing errors - Valgrind というのがある。 マニュアル読んで良かった。sed/grep で自作するところだったよ。

Codec の eqv?

Codec の eqv? を実現するために Singleton を使っていたがやめる。 同じ UTF16Codec でも little/big などエンディアンの違いで動作も異なるのだからインスタンスは分けよう。eqv? は type tag でやろう。 追記 UTF16 の実装が壊れたままで trunk にコミッ…