Entries from 2009-07-01 to 1 month
ICMP パケットの sequence number を手がかりに追ってみた。 Mona が ICMP Request 受信 Mona が ICMP Reply 送信 QEMU(virtio-net)がパケット送信 QEMU が tap デバイスに writev する までほぼ一息に実行されていることが分かった。 ところが tcpdump の出…
Light Source type 7割 以下10割 データ格納方法 Value Object 問題の正確な定義 Testability
珠玉のプログラミングの1章。 1.6.1 全てを配列(Scheme の場合はリスト)に読み込み list-sort する。 1.6.2 コード bits の実装参照。 1.6.3 メモリ上に全て読み込んでからソートしたほうが圧倒的に速かった。 これは Mosh 特有の false pointer 問題で bi…
今朝起きたら、ひげ太がメジャーバージョンアップしてた。 話しかけると「あー」、「めぇー」「うぇーー」とか返事をするようになった。明らかにこちらの言葉を入力に出力を返している。楽しくてたくさん話しかけてしまう。 昨日までは1時間に一度くらい気ま…
Light Source type 0割 データ格納方法 0割 IEEE 754 Intel 浮動小数 Texture mapping
handle_call({link_op, NodeToLink, Direction, Level}, _From, State) -> ok; と空実装を書いて怒られる。 handle_call({link_op, NodeToLink, Direction, Level}, _From, State) -> {reply, ok, State}; が正解。
Definition completion 3割 以下10割 ヘネパタ加算・減算 SQL の実行 ロックで concurrency コントロール Seam model
lists:map(fun({_, _, MVector}) -> MVector end, Level0Nodes) これはコーディングスタイルに影響しそう。Scheme でも match-lambda をもっと使おう。 case-lambda はアリティだけなので中途半端と感じる。getter 兼 setter 的な手続きを作るときくらいしか…
Common Test のログは端末に、その他の error_logger 経由のログはファイルに出力したいがうまくいかない。 run_test に -config elog.config を渡しすのはうまくいかない。 [{kernel, [{error_logger, {file, "log/hige.log"}} ]}]. xxx_SUITE の先頭で err…
psyntax のコードは R6RS Records を利用しているのだが、それを別のデータ構造にすげ替えることができる。実際に Ikarus では simple record で実装されている。 Mosh では R6RS Records よりも vector の方がアクセスが速いので、入れ替えてみた。1割ぐら…
ロックでコンカレントコントロール 2割 以下10割 Web Tier メモリクリア比較 ETS IoC
1> lists:nth(0, [1]) 1> . ** exception error: no function clause matching lists:nth(0,[1]) このエラーメッセージでは何が起きているか分からない。正解は index は 1 から始まるのでエラー。
Gauche:testについて で koguro さんがカバレッジ率の表示をリクエストされているんですが僕も欲しいな。 Mosh にもぜひ入れたい。どうやればうまくデータがとれるかな。寝る前に考えてみよう。
Web Tier 2割 以下10割 高校生の勉強方法 データパスと制御 Transaction and schedule プロジェクトがオブジェクト指向ではない 変更たくさん全てのクラスで BD 必要
send しているのに receive でブロックするの原因は変数の shadow が原因だった。 handle_call({search, ReturnToMe, Key}, _From, State) -> 上の handle_call の Key と下の receive の Key がかぶっているので別のノードから返ってきた Key が Key にマッ…
-define(L(), error_logger:info_msg("{~p ~p,~p}:~n", [self(), ?MODULE,?LINE])). -define(LOG(X), error_logger:info_msg("{~p ~p,~p}: ~s = ~p~n", [self(), ?MODULE,?LINE,??X,X])). -define(LOGF(X, Data), error_logger:info_msg("{~p ~p,~p}: "++X++…
send しているのに受け取り側でブロックするのはなぜだ。receive 条件を _ にしても受信できないので失敗しているのかな。 gen_server:handle_call から隣のノードに gen_server:cast しているんだけどこれが原因だろうか? 検索で 開始ノードが handle_call…
一人読書会 - WORKING EFFECTIVELY WITH LEGACY CODE (WEwLC)で読んでいた本の翻訳が出るようだ。 お仕事上の関係で「テストがないコード」とおつきあいをしなければいけない人は読むとためになると思います。 どれだけテストを書く事に力を入れるかの加減も…
uIP の ICMP 応答のコードを読んだところ Request ヘッダの一部を書き換えて Reply にして即座に応答を返していることが分かった。 一方 Wireshark 上では確実に 1-3秒ほど遅れて応答が出ている。 ここから考えられる仮説は 自分が書いた virtio ドライバの…
Transaction and schedule 1割 変更たくさん BD 必要? 0割 プロジェクトがオブジェクト指向じゃない 5割 データパスと制御 10割 pull up features 10割
R6RS expand 高速化の前に psyntax を最新のものに入れ替え中。 うまく動かないので実装を追う必要がありそうだ。
生まれてから1ヶ月が経ったので、少しずつ外に出そうということで散歩に連れ出した。 近所をひとまわりしただけだが、ひげ太には多くの刺激が入力されたようだ。 夕方の優しい陽の光、遊んでいる子供たちの声、少し強めの風、車やバイクの音など、家とは違う…
IA32概要 乗算 明示的なロック シンクロナイザ スレッドセーフクラスの作り方 全て10割。
来てくださった皆さん、TTer、LTer、スタッフの皆さん、お疲れ様でした。今回も楽しい会となって良かったです。 講演を聞いてトータルで感じたのですが、講演者それぞれのバランス感覚の違いが成果物やプレゼンに現れていて大変勉強になりました。 どこに注…
始まった。
昨日の分書き忘れた。 明示的ロック7割 Java メモリモデル5割 スレッドセーフクラスの組み立て 2割 以下10割 Erlang 外部接続 汎用イベント処理 並行プログラムにおけるエラー 速読 Ubiquitous Language コピペあり?
Record Accessor のエラーメッセージで詳細を出す目的で書いた数行のコードのために、Mosh 全体が4-5倍ほど遅くなっていた。 Record アクセスの度に、こんな事をしていたら遅くなるのは当たり前なのだが書いた当初は全く気付かなかった。 233 233 234 234 Ob…
どれくらい効果があるんだろう。実験してみようか。
gen_server::handle_call の State を構造体で表現しているとして -record(state, {key, value, left, right}). value だけ更新して、reply したい場合がある。今までは {state, State#state.key, myValue2, State#state.left, State#state.right} としてた…
みんな同じ感想を持っているようだが、とにかく分かりづらい。 内部実装がパターンマッチを多用しているからだろうか?