2010-07-01から1ヶ月間の記事一覧

Stackless Python入門

Erlang,Scala,Goなどの並行プログラミング言語が注目を浴びているが,並行プログラミング言語の一つにStackless Pythonというものが存在する.Pythonで並行プログラミングが可能というのはとても魅力的なので,少し遊んでみた.元ネタは http://www.grant-…

コンパイラ・インタプリタを書く上での13の大罪

元ネタは,gccのwikiより. http://gcc.gnu.org/wiki/DeadlySinsP. J. Brownが1979年に書いた"Writing Interactive Compilers and Interpreters"(インタラクティブなコンパイラとインタプリタの製作)が出典らしいが,コンパイラやインタプリタじゃなくても…

正規表現で素数判定

追記:ハッキリ言ってこの正規表現はネタなので,実際に素数判定を行いたい場合は,もっと別な賢いアルゴリズムを使ったほうが良いです正規表現で素数が判定できるという記事を見たので試してみた. http://www.noulakaz.net/weblog/2007/03/18/a-regular-ex…

emacsでインテリセンス

CEDETなるものを使うとわりと簡単にできるらしいので,導入してみた. http://cedet.sourceforge.net/ダウンロードして解凍して,コンパイルを適当に行う. $ cd cedet-1.0pre7 $ make $ pwd /path/to/cedet-1.0pre7.emacsに設定を追加 ;; CEDET (load-file …

なぜ,/var や /etc が /etc や /cfg というディレクトリ名ではないのか?

Unixを使っていると,/usr が全然ユーザー用じゃなくどう見てもシステムのための物だったり,/etc が事実上設定ファイル置き場となっていたり,/var がログファイル置き場となっていたりと,名が体を現していなくて奇妙な感覚を覚える.もっと分かりやすい名…

Color Coherence Vector in C++

画像のフィンガープリントを計算する方法に,Color Coherence Vectorというものがあるらしく,その定義は以下のとおり*1The color coherence vector (CCV) is a refined histogram technique. However, instead of counting only the number of pixels of a …

ケンブリッジ大学のコピペがおもしろい

単語の頭と最後さえ合っていれば,中の順番が違っても人間は理解できるということが,ケンブリッジ大学による研究で明らかになったというコピペ. Aoccdrnig to a rscheearch at Cmabrigde Uinervtisy, it deosn't mttaer in waht oredr the ltteers in a wr…

gccでSSEを使ったベクトル演算を行う

n次元空間上にある二点間のユークリッド距離を計算する方法を考える.なお,それぞれの点は,n個の要素を持つfloatの配列で表されるとする.単純に考えると,以下のような関数で計算可能となる. float dist(const float *v1, const float *v2, int len) { f…