shino's interests

Feb 01 2012
Fusion-IOがこのような戦略をとったのは非常に興味深い。Fusion-IOがioDriveを発表したときは、PCI Expressから直接SSDにアクセスすることでSATAという中間層のインターフェースをすっ飛ばすことでボトルネックを解消した!というのが非常に斬新だった。「中間層をすっ飛ばす」というのがポイントで、今度はさらにOSに存在するボトルネックをすっ飛ばそうという意図なのだろう。(Fusion-IOがどの部分をボトルネックだと認識しているのかは知らないが。)

Jan 31 2012
予防接種は必要?
東南アジアを旅行する私たち、予防接種は必要なのかな?そこで、財団法人日本検疫衛生協会横浜診療所(電話045-671-7041)に相談に行きました。
都会だけに滞在するなら予防接種はほとんど必要なし。でも、田舎の方に行きたいなら必要。先生が必要だと言ったのは以下。
種類1回の料金必要回数
A型肝炎¥8,7002回+追加
B型肝炎¥8,7002回+追加
狂犬病¥6,4002回+追加
日本脳炎¥3,0001回
破傷風¥2,8001回

先生に言われた予防接種を全部やるとナント1人当たり¥77,200!!!!!うっそ~。東南アジアで何日暮らせる?ってカンジです。結局A型肝炎の予防接種だけを受けることにしました。それでも1人¥17,400、トホホ痛い出費です。

Jan 30 2012

Bragging Rights - Change you are proud of

Paul put it well when he said to me: “The top of Maslow’s pyramid is self-actualization…in some ways I think we like to achieve self-actualization through our code, [such that] in years to come, maintenance programmers will stumble upon this architecture and exclaim, ‘Wow, Scott was here.’”

Are you writing software or crafting software? When does your craft become art?

This is a noble and certainly attractive goal, but is one that should be attempted only after the basic needs are met.

Jan 29 2012
Jan 28 2012

+
+
そんな中で、1964年にWijngaardenがAlgol60のgoto文をコンパイルする戦略として「継続渡しに変換しちゃえばgotoは消えて全部関数呼び出しになるじゃん」ってなことを発表する。ちなみにReynoldsによる上の論文によれば、DijkstraはWijngaardenのこの講演にインスパイアされてあの”Goto considered harmful”を書いたらしい。

+
映画やテレビと競争するスタートアップに融資したい理由の一つがそこにあるが、これが主な理由ではない。このようなスタートアップに融資する理由は世界をSOPAのような法律から守るためではなく、SOPAがハリウッドが死にかけているという事実を我々に気付かせたからだ。このような手段を使うということは死にそうだからに違いない。もし映画やテレビが伸びつつあるなら、彼らはその成長に意識を集中するだろう。フォワードペナルティーエリアファウルされてもボールをコントロールしている限り止りはしない。競り負けたときだけ審判に訴える。SOPAはハリウッドが負けたということを示している。

+

■他の言語になれた人がRubyに躓く n のポイント

Ruby はちょっと特殊なプログラミング言語なので,他の言語になれた人は,ちょっと戸惑うかもしれません.そんな躓きそうなポイントを紹介していきます.

□オブジェクト指向

Ruby はプロトタイプ型オブジェクト指向です.オブジェクトにメソッドを定義し,それを dup によって複製しながらオブジェクトを作っていきます.

+
Use mnesia:change_table_frag/2 to add new fragments
and apply the usual schema manipulation functions (such as
mnesia:add_table_copy/3, mnesia:del_table_copy/2
and mnesia:change_table_copy_type/2) on each fragment
to perform the actual re-distribution.

+
n_ram_copies
n_disc_copies
n_disc_only_copies

the number of replicas with storage type ram_copies, disc_copies and disc_only_copies respectively. The actual values are dynamically derived from the first fragment. The first fragment serves as a pro-type and when the actual values needs to be computed (e.g. when adding new fragments) they are simply determined by counting the number of each replicas for each storage type. This means, when the functions mnesia:add_table_copy/3, mnesia:del_table_copy/2 andmnesia:change_table_copy_type/2 are applied on the first fragment, it will affect the settings on n_ram_copies, n_disc_copies, and n_disc_only_copies.

+
At each record access mnesia_frag first computes
a hash value from the record key. Secondly the name of the
table fragment is determined from the hash value. And
finally the actual table access is performed by the same
functions as for non-fragmented tables. When the key is
not known beforehand, all fragments are searched for
matching records. Note: In ordered_set tables
the records will be ordered per fragment, and the
the order is undefined in results returned by select and
match_object.

Jan 26 2012
+
pw - (primary write quorum) how many replicas to commit to primary nodes
before returning a successful response

+
pr - how many primary replicas need to be online when doing the read
(default is defined by the bucket)

Page 1 of 361