Entries from 2009-05-01 to 1 month

Micro geometry - Real-Time Rendering

Real-Time Renderingの 7章 。 マインドマップから再構成したまとめ real surface はでこぼこ。反射に影響がある macro scale のでこぼこは Texture や Geometryで。 micro scale は BRDF micro scale でこぼこが細かすぎる(pixel サイズより小さい) 反射…

スレッド調査

Mosh でのスレッドのあり方を考えるにあたっての下調べ。 SRFI-18 をサポートするならば、dynamic environment あたりに手を入れないといけない。(サポートしないという可能性 もあるけど) SRFI-18 Thread Mutex Mutex にひもづくデータを持てる Condition…

Rod Johnson の味が分かってきた。辛辣でストレートな物言いが気持ちよいね。markitecture のくだりなどは笑ってしまった。 関係ないが、英語速読本に書いてあった「流れを予想する」と「読まずに済む部分を見つける」などが身体に染み付いてきたと。今日初…

ISR

割り込みで ISR を read するとクリアされるという動作は種々のデバイスで期待される共通動作という理解であっているんだろうか。

初音ミクと Perfume

ドトールにて。歌手を目指す女子大生へのアマチュア DJ のアドバイス。 「アキバに出るなら初音ミクと Perfume の間を目指すと良いよ。」 おそらく二人は初対面。ユニット組むらしい。

今日の復習

キャッシュの性能と速度改善 2割 以下10割 円高・円安 ノンブロッキングアルゴリズム コンピュータとは Erlang 分散プログラム

vring_avail->ring が分からない - virtio

virtio も大詰め。あとは vring_aval->idx と vring_avail->ring[n] の役割が分かれば OK 。 guest が host に「このリングを参照してよ」と通知する役割を担っているのは分かるのだが。 論文を読むと struct vring_avail { u16 flags; u16 idx; u16 ring[NU…

本を処分

何の気なしに、本棚から取り出して再読した小説が全く面白くなかった。一度目に読んだときも同じ気持ちだったのを思い出し、やりきれない気持ちに。 お気に入りの作家の「必ず読み返す」であろう本以外は、ばっさり売ることにした。ブックオフに出張買い取り…

今日の復習

どちらも 10割 Rendering pipeline Erlang マルチコア

モンキービジネス 2009 Spring vol.5

村上春樹の長編インタビュー。パラパラと立ち読みし、家に戻り二晩買うかどうか悩み、今日買ってきた。 自分は村上春樹と同じ長距離ランナータイプと自覚していて、彼の実践していることから学べる事が多いと判断し購入。この手の本を買うのはとても珍しい。

プログラミングErlang 読了

プログラミングErlang を読み終えた。読んだきっかけは、rui さんによる Erlang のすすめだったと思う。 java.util.concurrent に感動して、Shibuya.lisp の宴会で、同じくJava並行処理プログラミングを読んだ ruiさんと「あれすごいよねー。という話に」。 …

Re:Boehm GC の Repeated allocation of very large block 問題

Boehm GC の Repeated allocation of very large block 問題の続き。 以下のことを試してみた。 GMP の allocater はデフォルトを使う(つまり GC_malloc ではなくて malloc) Bignum クラスの親クラスを gc_cleanup にして ~Bignum() で必ず mpz_clear する…

今日の復習

Rendering pipeline 3割 以下10割 Dead lock ビヘイビアによるサーバ ETS DETS

継続

Scheme 後ろでの爆発音に続く処理を表すものが継続です。 やるなあ。

PostgreSQL における Index Scan と Bitmap Scan

PostgreSQL の Planner が Index Scan よりも Bitmap Scan を好む理由がやっと分かった。(Tom Lane さんに教えてもらった)。 Bitmap Scan が有利なクエリーはともかく select * from emp where emp_no > 10000; のような単純なクエリーでも、Bitmap Scan …

今日の復習

Dealing with dead locks - database management system フレネル反射 - Real-time rendering 並行プログラムにおけるエラー - プログラミング Erlang

Mosh gcc 4.4.0 で strict-aliasing

gcc 4.4.0 で warning: dereferencing type-punned pointer will break strict-aliasing rules と出ていたので対応。元のコードは *(reinterpret_cast<float*>p) みたいな感じでひどかったのだけど union を介してアクセスするようにした。 union { float fvalue; ui</float*>…

Boehm GC の Repeated allocation of very large block 問題

c.l.sで指摘されている件。以下のようなコードを 32bit 環境の Mosh で実行すると大量に「Repeated allocation of very large block」という警告が出る。 (import (rnrs)) (define (fact n) (let f ((n n) (r 1)) (if (< n 2) r (f (- n 1) (* r n))))) (and…

PFN - virtio

結局 QEMU を -O0 でビルドし直した。 が無くて快適。 id:kvm さんにアドバイスを頂き、PFN は物理メモリインデックスだと分かった。 ユーザーランドから virtio を使いたいので リニアアドレス → 物理アドレスへの変換システムコールが必要だったので追加。…

今日の復習

ノルマに追いついたので1つだけ。 selection 10割

Fresnel Reflectance - Real-Time Rendering

Real-Time Renderingの 7章 。 マインドマップから再構成したまとめ オブジェクトの表面は、2つの物質の境界である フレネル方程式は入射と反射の関係を示す 理想的な反射では 入射角、反射角は同じ エネルギー保存則が成り立つ θt は2つの物質の光学特性 n…

device probe - virtio

device の probe virtio-console は PCI のデバイスとして export されているので普通に見つかる。 PciInf pciInf; Pci pci; pci.CheckPciExist(PCI_VENDOR_ID_REDHAT_QUMRANET, PCI_DEVICE_ID_VIRTIO_CONSOLE, &pciInf); if (pciInf.isExist) { _printf("de…

Emacs + GDB チートシート

Emacs + GDB を利用したいならば、何よりも GNU Emacs Manual: Debuggers(英語) を読むことを強くおすすめします。 和訳も存在しますが内容が古く、マウスを利用した操作やグラフィカルな機能についての記述がありませんでした。 マニュアルを読んで理解し…

Build QEMU 0.10.3 on Ubunt 9.04

% sudo apt-get install libz-dev libsdl-dev % ./configure && make % sudo make install % # test % qemu -cdrom /home/taro/mona/tool/mkimg/mona.iso -fda /home/taro/mona/tool/mkimg/mona.img -boot d

今日の復習

全て10割。ついに復習ノルマが黒字に。明日は復習すべきものが無い日。オフ。 フィードバックを生かす Heap file format Erlang 汎用イベント処理、プロセス監視ツリー I/O コスト比較 並列化できる場所

忌野清志郎

忌野清志郎さんが亡くなった。残念。 2007年にジョンレノンスーパーライブに行き、認識を改めた人。 僕らよりもずっと上の世代の歌手で。奇抜な衣装で適当に反体制を歌う、おちゃらけた人。そういう印象だった。 でもライブで彼の歌う Don't let me down の…

今日の復習

並列化すべき場所を見つける 2割 以下10割 Erlang 外部接続 FreeBSD プロセス間通信とメモリ管理 BIF とビット構文 Photometry and Colormetry

Mosh 0.1.0 をリリースしました

Mosh 0.1.0 をリリースしました。これは大きな一区切りとなる安定版のリリースです。 Mosh は R6RS 完全準拠となりました。*1 ソースコードダウンロード。 Windows 用インストーラ。 追加・変更点は以下の通りです。 新しいリファレンスマニュアルを追加 Soc…

今日の復習

Photometry and colormetry 3割 タスクキャンセル 10割 Erlang 基礎 10割

今日の復習

crash recovery ARIES スレッドプールの利用 Concurrency control w/o locking Concurrency control with locking Erlang 関数・例外・内包表記