Entries from 2009-09-01 to 1 month
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章。 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 オブジェクトのライフサイクル
SRFI 101: Purely Functional Random-Access Pairs and Lists list-ref とか list-set のアクセスが普通の pair だと O(n) になるんだけど O(1) に近いとうれしいよね。 だからそういう list というか pair? を R6RS 互換で実装しようぜという話。(だと思う…
Erlang Forum - Trap Exit ~ View topic - gen_server call and replyのメーリングリストで、多くのレスポンスをさばけるように gen_server がなるべくブロックしない方法について書かれている。 要約すると レスポンスを返す処理が必要な情報を渡しつつ spa…
Intel 64 and IA-32 Architectures Software Developer's Manual を読んでも ModR/M や SIB が理解できない。 x86系CPUのネイティブコードを解析する(2/3):CodeZine を読んでやっと理解できた。日本語でまとまっているのは大変ありがたい。 例えば以下の…
新しい QEMU を利用して Mona で音楽再生したところ再生が遅く、実質聞けない。 最初は Mona 側の変更のせいかと思ったのだが、使用する QEMU のバイナリによって違う。 QEMU 0.8.2 (おそらく QEMU for Windows さんからダウンロードしたもの) QEMU 0.10.5…
クォータニオン 2割 J2EE Goals 2割 以下10割 ドメインを分離する モデリングの core に何を使うか? スレッドセーフとは? 契約による設計 Modules Domain Model
insert_op において構築中に、各レベルにおける左右のノードが矛盾した状態になる。その状態が公開されてしまっているため、gen_server:call の循環が発生しデッドロック。 原因も対処方法も分かったが、Erlang 的にどうやって実装しようか。
ひげ太に空前の寝返りブームが訪れた。仰向けに寝かせた 0.3 秒後には寝返り動作を開始。あっというまにうつぶせになる。 首を持ち上げてキョロキョロするという、うつぶせの姿勢で一番楽しい部分は 5 分くらいで終了。首が疲れるのだと思う。それ以降は、う…
いつの間にか nasm のバージョンがすごく上がってた。最後に見たときは 0.99 だったような。 export ディレクティブの位置が text .section より前だと SEGV するようになったみたいなので修正。
スレッドセーフとは 0割 がんばりましょう PP 正しいプログラムを書く OOSC ループ不変表明
スレッドセーフとは 0割 以下10割 Basic Transform2 OOSC クラス Light Source type
以前から探していた思考の整理学、天才柳沢教授の生活の8,9,10,13巻を各105円で購入。
遅めの夏休みをとり、ゆったりと過ごす。 寝返りブームのひげ太を連れて、無印にノートでも買いに行くかな。
珠玉のプログラミングの5章。 5.8.1 コードは古いが擬似コードは勉強になる。 5.8.2 コード参照 5.8.3 ( 5.8.4 コード参照。 sorted? を定義し assert を入れた。 5.8.5 ソートし忘れているのだから、部分的にソートされている可能性は少ないことを利用して…
(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:now() を使う方がボトルネックを見つけるのが速かった。
実装した事がない難しめのコードを書く事に。 いきなり抽象化して書くのは無理なので、まずは手探りでべたっと書いてみよう。その後抽象化すれば良い よしよし苦労したが、べた書き完了。 うんうん。うまく動いてる。 さて次の機能を実装するか(あれ?抽象…
SRFI 100: define-lambda-object http://srfi.schemers.org/srfi-100/srfi-100.html コード例。ドキュメントには参考実装も載っているのですが、あえて実装を想像すると楽しいですね。SICP に似たようなのがあったし。 ;; The `x' is a mutable required fie…
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章。 偶然にも OOSC でも表明の部分を読んでいたので補足できて良かった。 4.6.1 0 による割り算 割り算は中間値を求めるところでのみ使われる。必ず定数 2 で割るので起きない。 配列の添え字範囲を超える 有効な配列の添え字は 0 .…
dummy node がいつの間にか Level 5 の Skip Graph から外れてしまう。孤独。 まずは再現させないと。
Value Objects 10割
ひげ太が今日生まれてから一番の「ぐずり」をみせた。 噂には聞いていた「抱っこしていないと泣く。泣きやんだと思って、ベッドに置いたら泣く」の状態。 会社から帰宅後、妻からバトンタッチして子守。遊んでやったり、抱っこしてやったりにも限界を感じた…