Entries from 2009-07-01 to 1 month

lambda wiki 更新

長らく放置していた lambda wiki のコードを修正して最新版でうごくようにした。 #!/Users/taro/mosh/mosh (import (rnrs) (srfi :39) (lambda wiki)) (parameterize ([wiki-data-direcoty "wikidata"] [wiki-top-url "http://localhost:8001/wiki"] [spam-b…

Erlang の Memcached クライアント Merle

http://github.com/joewilliams/merle/tree/master を入れた。 注意点は 2 つ。 etap が必要 http://github.com/ngerakines/etap/ make test がメンテナンスされていない疑惑 テストの start_link を connect に、get を getkey にすると良い term_to_binary…

メモ:高速な gen_server 実装?

merle uses LShift's gen_server2 module/behavior for faster message queues. http://hg.rabbitmq.com/rabbitmq-server/file/b95f2fd4e3f6/src/gen_server2.erl 要調査。

Erlang Common Test メモ

今まで適当に使ってきたがマニュアルを読み返す。http://erlang.org/doc/apps/common_test/part_frame.html テストケースの特別な戻り値 {skip,Reason} スキップ {comment,Comment} ログにコメント {save_config,Config} 次のケースに Config 渡す 失敗と認…

Erlang Common Test の Configfile

{hoge, hogeValue} は parse error 。 {hoge, hogeValue}. が正解。はまった。

プール

ひげ太が生まれてから行けてなかったプールへ。久しぶり。いつの間にか夏が来てたことを認識。 ひやっとして気持ちよい。 天才プログラマ A 氏に出会い立ち話。負けました。

Re:Hash based Indexing

ハッシュベースのインデクシングとか条件キューってなんだっけ? Hash-Based Indexes これか。 それです。static hashing, linear hashing, extendible hashing などなど。DB の本で泣きながら(?)理解しました。

今日の復習

Hash based indexing 10割 フレネル反射 10割 7月分のノルマを達成。明日は英単語をやろう。

2章用の辞書作成 真珠貝を開いて - 珠玉のプログラミング(Programming Pearls)

珠玉のプログラミング―本質を見抜いたアルゴリズムとデータ構造の2章で辞書からアナグラムを列挙する問題がある。そのための辞書を英辞郎 第四版から作る。 付属ソフトウェア PDIC 起動 File - 辞書設定 Eijiro112.dic を選択右クリック 辞書の変換 変換先フ…

固いものの上の柔らかいもの

固い言語の上に構築されたメッセージパッシングの使い勝手は柔らかい。不思議。

これはかなり大切なことな気がする

ベンチャーはいつだって、非常に緊急な1つの問題を抱えていることが多い。つまり夜、床につくときや朝、シャワーを浴びるときに考えることだ。資金の調達を始めると、資金調達が考える問題となってしまう。朝にシャワーは1回しか浴びないし、その時、投資家…

今日の復習

Hash based indexing 2割 プログラマブル shader stage 条件 Queue フレネル反射

Mosh Bignum, Ratnum, Compnum のシリアライズに対応

これでほぼ全てのライブラリがプリコンパイル可能に。

GNU MP mpz_import の注意点

マニュアルには unsigned long a[20]; mpz_t z; mpz_import (z, 20, 1, sizeof(a[0]), 0, 0, a); と例が載っているが、z は mpz_init(z) と初期化しておく必要がある。ML でも指摘されているのだけどマニュアルが不親切なので注意。

今日の復習

満点。 Radiometry アトミック変数 concurrent control B+-Tree domain 分離する - layered architecture web tier

memcached の空間効率

memcached クライアントを実装してみて気づいたというか意識したこと。 オブジェクトのシリアライズはクライアントライブラリやユーザー任せなのだ。例えば Perl では Storable 。言うなれば汎用シリアライザ。 普段は全く意識せずに与えられた汎用シリアラ…

automake で bin_PROGRAMS ターゲット成功時に hook したい

automake で bin_PROGRAMS に指定したバイナリが生成後に hook してスクリプトを流したい。 install-data-hook だと root 権限で実行される可能性があるのでまずい。こういう場合はどうしたら良いんだろう。 マニュアルを読むと hook は用意されていないよう…

pidof コマンドを知った

% pidof apache2 6405 6404 6403 6402 6400 6112 普通に便利だ。

Windows における Mosh のコンパイルキャッシュ格納場所

%APPDATA%/.mosh にした。

今日の復習

Web tier 8割 radiometry 2割 以下10割 disk space management distributed database マルチサイクル

タオル大好き

FriendFeed の Imaginary friend

FriendFeed の Imaginary friend で shiro さんを作り reddit を購読。これは便利だな。 はてなも登録しようと思ったがユーザーが見つからないと言われるな。存在するのだけど

TCP bad checksum 問題 2

TCP bad checksum 問題のバグを修正した。 他に観察されていたおかしな現象も全て直った。 - readVring_->avail->ring[id / 2] = id; + readVring_->avail->ring[readVring_->avail->idx] = id;

TCP bad checksum 問題

現象 Mona 上で起動した httpd (uIP) に外からブラウザでアクセスすると「リクエストがリセットされました」と出ることがある。頻度は数回に1回。 uIP のログには TCP bad checksum と出ている。 調査 パケットの同定をする必要があるので、uIP に手を入れて…

今日の復習

web tier 0割 distributed database 3割 以下10割 プロセス間通信 query plan と最適化 ドメインを分離する

酢だこさん太郎

ひげ太が握りしめた手の指を広げると「酢だこさん太郎」のような酸っぱいにおいがする。 原因は分かっていて 手をぐっと握りしめたまま、汗をかく 最近覚えたおおざっぱおしゃぶり(指ではなく手全体をべろべろする) で手が汚れているのだ。 毎日の沐浴では…

virtio-net driver 課題

ある程度動くようになったのでリリースしようかと思ったがもう少し品質を上げよう。 課題は TCP bad check sum 問題 uIP の指示通り 500 msec 毎に uip_periodic を呼ぶと httpd のレスポンスが極端に悪くなる ping reply dup など。

今日の復習

distributed database 5割 プロセス間通信 2割 query plan と最適化 2割 Procedural texturing updating distributed data Testability

パケット遅延問題 原因判明

パケット遅延の原因が分かった。 QEMU が受信しているパケット Mona が受信しているパケット が異なっていたことが原因。 より正確には Mona が virtio queue 中の最新パケットではなく過去のパケットを参照していた。 過去のパケットではあるが、一度も受信…

今日の復習

Distributed Database 2割 updating distributed data 2割 以下10割 Tree based index simple さのわけまえ 3つのモデルの有効性 MIPS 命令実現概要