Entries from 2009-09-01 to 1 month

続:ES1370 の音質が QEMU 0.8.2 と 0.10.5 で違う

ES1370 の音質が QEMU 0.8.2 と 0.10.5 で違う - ひげぽん OSとか作っちゃうかMona- -net nic,model=virtio #-redir tcp:8080:10.0.2.15:80 -net user 系の net オプションを有効にするだけで音質がおかしくなる。uIP の起動は関係ない。 IRQ 競合と思ったが…

今日の復習

再利用性へのアプローチ 1割 以下10割 storage indexing Anti-aliasing Erlang マルチコア データで決まるプログラミング構造 DDD Entities ひげ太がふがふがいうので早起きした。

今日の復習

Layered Architecture 10割

6章「パフォーマンスに関する考察」- 珠玉のプログラミング(Programming Pearls)

珠玉のプログラミングの6章。 6.4.1 天体数 m とすると m^2 = n^2 * 1000 だから m = n * sqrt(1000) m = 31 n 。 n = 10000 なので 310000 を扱える。 6.4.2 文字列内での大きな部分文字列の探索。 アルゴリズムの変更や、アセンブリでの書き換えとか。 6.4…

今日の復習

全て10割。 B+ Tree dynamic index structure クォータニオン J2EE goals オブジェクトのライフサイクル

Scheme: SRFI-101 Draft が公開されています

SRFI 101: Purely Functional Random-Access Pairs and Lists list-ref とか list-set のアクセスが普通の pair だと O(n) になるんだけど O(1) に近いとうれしいよね。 だからそういう list というか pair? を R6RS 互換で実装しようぜという話。(だと思う…

Erlang gen_server の call/reply ベストプラクティス

Erlang Forum - Trap Exit ~ View topic - gen_server call and replyのメーリングリストで、多くのレスポンスをさばけるように gen_server がなるべくブロックしない方法について書かれている。 要約すると レスポンスを返す処理が必要な情報を渡しつつ spa…

Intel64 の ModR/M の仕組みをやっと理解した

Intel 64 and IA-32 Architectures Software Developer's Manual を読んでも ModR/M や SIB が理解できない。 x86系CPUのネイティブコードを解析する(2/3):CodeZine を読んでやっと理解できた。日本語でまとまっているのは大変ありがたい。 例えば以下の…

ES1370 の音質が QEMU 0.8.2 と 0.10.5 で違う

新しい QEMU を利用して Mona で音楽再生したところ再生が遅く、実質聞けない。 最初は Mona 側の変更のせいかと思ったのだが、使用する QEMU のバイナリによって違う。 QEMU 0.8.2 (おそらく QEMU for Windows さんからダウンロードしたもの) QEMU 0.10.5…

今日の復習

クォータニオン 2割 J2EE Goals 2割 以下10割 ドメインを分離する モデリングの core に何を使うか? スレッドセーフとは? 契約による設計 Modules Domain Model

Skip Graph デバッグ中

insert_op において構築中に、各レベルにおける左右のノードが矛盾した状態になる。その状態が公開されてしまっているため、gen_server:call の循環が発生しデッドロック。 原因も対処方法も分かったが、Erlang 的にどうやって実装しようか。

空前の寝返りブーム

ひげ太に空前の寝返りブームが訪れた。仰向けに寝かせた 0.3 秒後には寝返り動作を開始。あっというまにうつぶせになる。 首を持ち上げてキョロキョロするという、うつぶせの姿勢で一番楽しい部分は 5 分くらいで終了。首が疲れるのだと思う。それ以降は、う…

nasm 2.07

いつの間にか nasm のバージョンがすごく上がってた。最後に見たときは 0.99 だったような。 export ディレクティブの位置が text .section より前だと SEGV するようになったみたいなので修正。

今日の復習

スレッドセーフとは 0割 がんばりましょう PP 正しいプログラムを書く OOSC ループ不変表明

今日の復習

スレッドセーフとは 0割 以下10割 Basic Transform2 OOSC クラス Light Source type

ブックオフ探索

以前から探していた思考の整理学、天才柳沢教授の生活の8,9,10,13巻を各105円で購入。

遅めの夏休み

遅めの夏休みをとり、ゆったりと過ごす。 寝返りブームのひげ太を連れて、無印にノートでも買いに行くかな。

5章「あと少しの事」- 珠玉のプログラミング(Programming Pearls)

珠玉のプログラミングの5章。 5.8.1 コードは古いが擬似コードは勉強になる。 5.8.2 コード参照 5.8.3 ( 5.8.4 コード参照。 sorted? を定義し assert を入れた。 5.8.5 ソートし忘れているのだから、部分的にソートされている可能性は少ないことを利用して…

Mod R/M

(test-equal '(#x48 #x89 #xe3) (assemble '(movq rbx rsp))) (test-equal '(#x48 #x89 #xeb) (assemble '(movq rbx rbp))) (test-equal '(#x48 #x89 #xc4) (assemble '(movq rsp rax)))

アセンブラ書く準備

シンタックスは Sassy 互換にした方が良いのか迷う。 若干アドレッシングが気持ち悪い。 (add ecx (& edx)) (mov edx (& (* 8 ecx))) (add eax (& #x64)) (mov eax (& foo (* ebx 4) edx 1000)) (add eax (& -1 2 -3 4 ebx -5 6 -7 8)) あと Intel のマニュ…

今日の復習

スレッドセーフとは 2割 コンピュータとは 10割 Basic Transform2 1割 キャッシュの性能と速度改善 10割 Testability

Erlang におけるパフォーマンスチューニング

自分は結果として、プロファイラより Erlang:now() を使う方がボトルネックを見つけるのが速かった。

このパターンに名前を付けたい

実装した事がない難しめのコードを書く事に。 いきなり抽象化して書くのは無理なので、まずは手探りでべたっと書いてみよう。その後抽象化すれば良い よしよし苦労したが、べた書き完了。 うんうん。うまく動いてる。 さて次の機能を実装するか(あれ?抽象…

SRFI 100 が提案されています

SRFI 100: define-lambda-object http://srfi.schemers.org/srfi-100/srfi-100.html コード例。ドキュメントには参考実装も載っているのですが、あえて実装を想像すると楽しいですね。SICP に似たようなのがあったし。 ;; The `x' is a mutable required fie…

JIT 予備実験1

CONSTANT 命令 CONSTANT 命令 を -S で見てみる。 ac_ レジスタにオペランドを放り込む。 CASE(CONSTANT) { asm volatile(" \t # -- CONSTANT start"); ac_ = fetchOperand(); asm volatile(" \t # -- CONSTANT end"); NEXT1; } .loc 9 50 0 movq 80(%rsp), …

今日の復習

Rendering Pipeline 10割 ubiquitous language 10割 総称性 10割 Services 10割

4章「正しいプログラムを書く」- 珠玉のプログラミング(Programming Pearls)

珠玉のプログラミングの4章。 偶然にも OOSC でも表明の部分を読んでいたので補足できて良かった。 4.6.1 0 による割り算 割り算は中間値を求めるところでのみ使われる。必ず定数 2 で割るので起きない。 配列の添え字範囲を超える 有効な配列の添え字は 0 .…

dummy node が孤独

dummy node がいつの間にか Level 5 の Skip Graph から外れてしまう。孤独。 まずは再現させないと。

今日の復習

Value Objects 10割

エルゴ抱っこひも最強説

ひげ太が今日生まれてから一番の「ぐずり」をみせた。 噂には聞いていた「抱っこしていないと泣く。泣きやんだと思って、ベッドに置いたら泣く」の状態。 会社から帰宅後、妻からバトンタッチして子守。遊んでやったり、抱っこしてやったりにも限界を感じた…