Entries from 2009-09-01 to 1 month

typing-outputz.el 来た

id:hayamiz さんによる typing-outputz.el 来た。 typing-outputz.el は、その名の通り、Emacs上での打鍵によって文字が入力された数を計測してOutputzに記録します。具体的には、self-insert-command が実行されるたびに1文字とカウントするようになってい…

uIP と virtio のコード整理

動作が安定したのでコード整理した。

今日の復習

Modules 10割 DDD を読んでいて気づいたのだが、速読法で読むことをすっかり忘れてた。悪い意味で熟読している。深く反省し速読を意識しよう。

JIT コンパイルまとめ

Mosh のパフォーマンスを向上させたいので JIT コンパイル周りを調べてみました。誤りや不足がありましたらご指摘いただけると助かります。 何か? Just in time コンパイルの略。実行時に必要になった時点で動的にコードを生成する仕組み。 VM 型のインタプ…

第2弾 今 Mona OS 上で動いている Web サーバーにアクセスしてみてください

今 Mona OS 上で実際に動いている Web サーバーを公開しています。アクセスしてみてください。(uIPのコネクション数制限のため、接続がリセットされることがあります。その場合は時間をおいてアクセスをお願いします) http://test.monaos.org (公開終了)…

今日の復習

DDD モデルと実装結びつける 10割 ONE PIECE 55巻購入。ニューカマー!

Mona OS の Web サーバー落ちなかった

公開から約2時間40分、短時間に急激なアクセスなどもありましたが無事落ちることなく乗り切りました。 (予想通り最大接続数により、接続しづらくはなっていましたが) みなさん本当にご協力ありがとうございました! KVM virtio-net driver 書きはこれにて…

今日の復習

10割。 DDD Entities DDD Value Objects PP 問題の正確な定義 PP データで決まるプログラミング構造 DB Heap file format

Transcoder のデフォルト EolStyle のバグを修正

id:mtakuya さんから Windows の Mosh で GET リクエストがうまくいかないとバグ指摘を頂いていた件の修正。 string->utf8 際に Transcoder を使っているのだが、これのデフォルト EolStyle が CRLF になっていた。 utf8に変換するさいに、LF が CRLF に変換…

FFI callback のサンプル

libc の qsort を呼び出してみる。こんな感じの API はどうでしょうか?>id:mjt さん Ubuntu AMD64 で確認しています。 ;; Mosh callback example *draft*. (import (mosh) (mosh ffi) (rnrs)) (define array (u8-list->bytevector '(6 5 3 4 1 7 2))) (let…

今日の復習

汎用イベント処理 Java のメモリモデル ああそうかアルゴリズム コピペあり? 外部接続

print-buffer - ごくまれに使用する Emacs コマンドシリーズ

ごくまれに使用する Emacs コマンドを不定期で紹介。 print-buffer:バッファを印刷する。 Emacs のバッファを印刷する事なんて滅多にないが、半年に一度くらい役立つ。 そういうコマンドに心当たりがある方はぜひご紹介ください。(トラックバックなど歓迎…

続:VirtualBox を利用してローカルにErlang 分散テスト環境を構築する

VirtualBox を利用してローカルにErlang 分散テスト環境を構築するの続き。 先日紹介したデモ環境のように VirtualBox で Host-only I/F を利用している場合に注意すべき事がある。 Host が完全にオフラインだと、Host-only I/F を利用している Guest が起動…

解決 : QEMU 突然死を追う

virtio-net ドライバで状態を保持している lastUsedIndexRead_ の型が int ではなく uint16_t であるべきだった。 virtio 内部では used->idx は uint16_t で保持されているので、idx が 16bit を超えると 0 に戻る。このタイミングで異常な受信をしているの…

virtio の問題点

主要データ構造を「連続物理アドレス」に配置することが要求されること。 ドライバ開発後は問題ないが、開発時はデータ転送が境界をはみ出してデータを壊してしまうことが良くある。 構造が分かれていれば、問題の切り分けや検知のための仕組みも用意できる…

今日の復習

ああ。そうかアルゴリズム 5割 以下10割。 時間がない オブジェクト共有 オブジェクトを抽象的に見る 総称型 月 総称性 Services

生後 3ヶ月のおもちゃを購入

明日で生後3ヶ月。物を握れるようになったので掴めるおもちゃを購入。 選び方のポイントは 赤ちゃんが持てる重さであること(50gぐらい) 掴める構造を含むこと(細い部分) 赤ちゃんが掴んでなめたくなる物 音が鳴る、色が分かりやすいなど興味を引く物 な…

FFI callback 実装

ようやく動き出した。結局 Ypsilon のコードをほぼ移植した形になりそう。 signatures が NULL terminated な文字列ってのは工夫してあるなあ。

QEMU 突然死を追う

現象 QEMU 異常終了。 Guest moved used index from 278 to 1532 再現方法 % ~/mona/tool/qemu/start.sh % ab -n 30000 -c 20 http://localhost:8080/ 調査 virtio.c で breakpoint virio_net_receive で起きている これは Mona から見ると受信 2カ所でログ…

今日の復習

時間がない 0割 crunching knowledge 10割 volume texture 10割 オブジェクト共有 1割 キャッシュの基礎 10割 なぜパターン紹介するか 10割 可視性という単語が出てこなくてへこんだ。記憶力やばい。

Shibuya.lisp テクニカルトーク #4 の発表者募集中です

Shibuya.lisp » Blog Archive » Shibuya.lisp テクニカルトーク#4 発表者募集!

Erlang 付属プロファイラ fprof の出力結果の見方

参照 Erlang の公式マニュアル。fprof 手短なコツ プロファイラ結果を上から見ていき、ACC が大きいものをたどっていく。 % がついたマーク付きの関数に注目して、calling, called 関数の ACC を見比べていき、時間を消費している関数を特定する。 Emacs な…