2012-01-01から1ヶ月間の記事一覧
uncurryThis 最近話題となっている uncurryThis 関数の仕組みが寝転がっている限りでは理解できなかったので,この寒い中を布団からはいだして手を動かした.uncurryThis を知らないという御仁は以下の記事をご覧頂ければ. http://wiki.ecmascript.org/doku…
Because of references being weak, WeakMap keys are not enumerable (i.e. there is no method giving you a list of the keys). If they were, the list would depend on the state of garbage collection, introducing non-determinism. https://develop…
strtok_r() 関数は strtok() のリエントラント版である。 saveptr 引き数は char * 変数へのポインタであり、同じ文字列の解析を行う strtok_r() の呼び出し間で処理状況を保存するために strtok_r() 内部で使用される。 http://linuxjm.sourceforge.jp/html…
三者での対談を「鼎談」と表現するが,この「鼎」という字が何を意味するものか気になったので調べた.鼎「かなえ」と読むそうで,中国古代の器物を意味するとのことだ.この鼎は上の写真のように足が三本となっていることが特徴のようで,そこから三者対談…
ちなみに全然オフトピだけど、GNU textutilsに入ってるsort(1)にはコア数によって動的にスレッドを生成してソートする処理が入ってるのでそういうの興味ある人はコード読むといいと思います。 http://mattn.kaoriya.net/software/lang/c/20120113100918.htm …
tmux に独自のコマンドを登録する手順を調べた.一番良いのは本家へのコミットログを参考にすることだが,文章化しておくのもよかろうということで,私の行なった手順を以下にメモしておく.tmux のソースコードは非常にまともなつくりをしているので,苦労…
新しめの Autotools (Autoconf&Automake) を使ってみよう素晴らしい. 自動的に作られるもの autoscanが現在のディレクトリの中身から configure.scanを作る aclocalが*.m4とconfigure.inから aclocal.m4を作る autoheaderがconfigure.inからconfig.h.inを作…
ES Harmony, ES.next という用語の使い分けについて Bendan Eich 氏が自身の解釈を述べている.以下に引用とその訳を載せるが,内容は薄い(本当は格好良い訳を載せるつもりだったが,三十分程かけてたったの三行程度しか訳せず,絶望したためにやめた). H…
http://www.geocities.jp/ky_webid/cpp/language/036.htmlふーむ.
http://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/offsetof.3.htmlへーこんなものが.
今DBMSをつくるとしたら、(page) buffer managerとloggingは落とすだろうな。少なくとも。Javaでpage bufferつくるの面倒すぎ https://twitter.com/#!/taroleo/statuses/157757342820216832 B+-tree (on disk)のconcurrent updateも素直には実装しないだろう…
Fusion-IO の Auto-Commit Memory が SSDAlloc という技術を用いているかもしれないとのことで,SSDAlloc の説明を読んでいた. SSDAlloc http://www.cs.princeton.edu/~abadam/ssdalloc.html要点を以下にメモ書きする.既存のプログラムで Flash-SSD を活か…
http://www.kniraj.com/vtable-and-vptr-how-it-works-in-c/ の図がとてもわかりやすかったので引用.例えば, class Base { public: virtual void function1() {}; virtual void function2() {}; }; class D1: public Base { public: virtual void function…
#include <iostream> template <typename T> class Tuple { T& wrapped_; public: Tuple(T& value): wrapped_(value) { } Tuple<T>& operator=(const T& rhs) { wrapped_ = rhs; return *this; } }; template <typename T> Tuple<T> tie(T& lhs) { return Tuple<T>(lhs); } int main(int argc, char** ar</t></t></typename></t></typename></iostream>…
http://linux.ikoinoba.net/index.php?UID=1295111839Yet Another Twitter Client KeySnail で有用.
Mendeley を見直した.PDF リーダー機能が素晴らしいのだ.特に,注釈とマーカーツール機能がいけている.気になった部分にパッとメモを記入でき,重要と感じたところはマーカーでハイライトしておく.これが,クラウドで他のマシンと共有されるというのだか…
UCB の Ph.D Student で Hellerstein 研に所属している Neil Conway 氏のサイト が素晴らしい.例えば,氏が 2003 年に Queens University の DBMS Internals という講義を受けた際に取ったメモがサイトに記載されている.http://www.neilconway.org/docs/db…
RTB について調べていて Scaleout.inc という会社を知った.以前は yugui さんも在籍されていたとのことで,退職にあたっての記事を読むと,そうそうたる面々がそろっていたことが分かる.RTB と CEP の今後やいかに.
(メモ途中)node.js では標準入力から同期的な読み込みをする方法がないと思っていたが,次のような抜け道があったようだ. node.jsで標準入力からまるっと読み込むには fs.readFileSync('/dev/stdin'); が一番簡単らしい。 https://twitter.com/#!/__gfx__…
Continuous Computation LanguageCCL is the primary event processing language of the Event Stream Processor. ESP projects are defined in CCL.CCL is based on Structured Query Language (SQL), adapted for event stream processing.CCL supports so…
tcmalloc を 64 bit 環境でビルドしようとする場合,configure 時に --enable-frame-pointers というオプションが必要となることがある.
Sybase Event Stream Processor マニュアル より引用. Operation Codes (opcodes) associate insert, update, and delete events with a window. They simplify development and improve performance by applying these events automatically.In many Event…
[:title=CRTP の noncopyable の例]に次のようなコード例があった. template <class T> class NonCopyable { protected: NonCopyable() {} ~NonCopyable() {} /// protected な非仮想デストラクタ private: NonCopyable(const NonCopyable&); T& operator=(const T&)</class>…
毎回やりかたを忘れるので,gem のアップデート方法をメモる. rake version:bump:minor # version:bump:major, version:bump:patch なども rake gemspec # gemspec ファイルの再生成 rake build # .gem ファイルの作成 git commit *.gemspec # .gemspec フ…
cc-mode で (c-set-style "stroustrup") としていると,インデントが次のようになる. Foo::ptr_t foo = Foo::ptr_t( new Foo( x, y, z ) ); 閉じ括弧の位置が気に食わなかったので,以下の設定を行なった. (aput 'c-offsets-alist 'arglist-close 0) 次の…