2007-04-01から1ヶ月間の記事一覧

デストラクタ非virtual最適化でGCCが怒る

派生クラスのデストラクタはvirtual指定して仮想関数にしてやらないと、上位クラスポインタからdeleteしたときに正しくデストラクタが呼ばれません。 ただ、上位クラス、下位クラス共にPlain Old Objectよろしくデストラクタの処理が全く必要ない場合があり…

Emacs風Ctrl+A, Ctrl+Eキーバインド

vim

コマンドモードで^, $で行頭、行末移動ができるのだけれど、これが結構打ちにくい。そこでEmacs風にCtrl+AとCtrl+Eを有効にしてみる。 inoremap <C-A> <Home> inoremap <C-E> <End> と、設定したあとIで行頭から、Aで行末から編集モードというのを見つけた。これがあれば不要な気</end></c-e></home></c-a>…

現在の開発環境

結局Mac Proに移行して、片方のディスプレイにVim、もう片方のディスプレイにVisual Studio(on parallels)です。右クリックして「定義を参照」が便利すぎて抜け出せない。

Trampolined Style

http://citeseer.ist.psu.edu/ganz99trampolined.htmlConcurrent.Threadのキモらしい。さっとみただけではわからず。末尾再帰するときにbounceを噛ませてやるらしい。関数型言語の勉強もしないとなぁ。Erlang面白そうだし。

風邪で2日ほどダウンしてました。

strncpy does NOT guarantee to NULL terminate itself.

strlcpyとか使おう。標準じゃないから定義されていない場合の独自実装も用意しておくこと

昨日のアルゴリズムの見直し

質優先最適化の場合はマスターノードのみ有効にして、他のノードはマスターノードに計算を依頼したほうがかえって早いかな。

タスク要求先決定アルゴリズム実装

やっぱりアルゴリズムはそれぞれ共通のインターフェースを持つように設計して、自由に差し替えられるべきだ。実行速度に影響を及ぼさない範囲でどこまで柔軟性を持たせられるか。

レンダラ向け分散計算アルゴリズム

明日朝みて問題なかったらこれでいく。いかに計算時間が最小になるように処理を分散してやるか。ノード選択アルゴリズムを2種類に分ける。 質優先計算時間最適化 前提:タスクの粒度が荒い。発信元ノードはマスターノードまたはそのバックアップのみで少数…

めっちゃ日数開いたー。コードは月曜から可能な限り書いてますが、予定から大幅に遅れていて微妙なかんじ。しかしこのサイトのデザイン飽きてきたなー。短文をできるだけ長く見せるデザインにしようとして作っていたのだが、コードや表が折り返されてしまっ…

Vim Plugin

いろいろ入れてみた。 OmniCppComplete MiniBufExplorer NERDTree

porting fecti to MacOSX

さっきコンパイルが通った。テストはまだ。追記:テストも通った。

続・イテレータループ内でのerase

d:id:nyaxt:20070326の続き。eraseの戻り値がない場合*1は、i++でも問題ないっぽい?要検証。 *1:Mac OSXのstd::map::eraseとか

今日の作業

libcoroutine now builds with autotools. minor fixes for MacOSX fecti MacOSX port 明日午前中に開発環境の移行は完了させたい。

GCC:静的ducktypingもどきでテンプレートメンバ関数を利用

GCCだとうまく解析してくれないので、明示的にtemplateキーワードを指定してやる。http://ml.tietew.jp/cppll/cppll/thread_articles/8828

websvn復活

viewvcでの運営に移行。http://websvn.nyaxtstep.com

chartreuse: debian sarge -> etch

昨日やった。ここの記事をものすごく参考にさせてもらいました。 http://kmuto.jp/d/index.cgi/debian/upgrades-from-previous-releases-etch.htm

今日から復活します。

水、木は作業時間がほとんどとれないなー。設計・調査をしてます。

Fiber

他スレッドで作られたFiberにはSwitchToFiberできない模様。fectiではWorkerProcのインスタンスを複数もたせれば解決できるな。

Twitter

GTalkにうまく登録できず。 Twitterアカウントがオンラインにならないってなぜ。追記: 一日おいてみたら問題なくいけた。

NetSolve

うーん。計算時間予測を導入して最適なスケジューリングを図るっていう基本的なアイデアは同じですね。

Coro patch

こっそり入れ替えました。amd64でSEGVでるけどとりあえず無視。

土日だらけすぎた。反省。

もうemacsには戻れない

CEDETがいい感じかなぁと思ってCarbon Emacsの設定をしていたのですが、.emacsを編集中に手がhjkl移動をしてしまって仕事にならない…。Emacs移行はあきらめました。おかしいな。2年前まではばりばりEmacs使ってたのに

Coro: Coroutine library written for IoVM

リファレンスをでっち上げてみる試み。 Coro* Coro_new(void); Coro構造体をメモリ上に確保し、初期化します。 void Coro_free(Coro* self); Coro_newでメモリ上に確保されたCoro構造体を破棄します。 void* Coro_stack(Coro* self); Coroスタックへのアクセ…

coroutine library

d:id:shinichiro_h:20041019パッチ(id:shinichiro_hさん作)を試してみるも、Intel Macではうまくいかない模様。パッチの元ネタであるIo言語のVMソースコードを探っていると、なにやらCoroutineライブラリらしきものが。 http://www.iolanguage.com/scm/git…

libpcl on darwin

動かない。困った。

続々・mt-daapd

mac

ただ単に、--enable-oggしてないだけでした。あとはautomakeが通ればいいのだけれど、謎エラーで止まってしまう。automake-1.9を使うようにして解決。追記: これで、ID3日本語表示とOGGトランスコードが一応できるようになったが、日本語ID3の後ろに「タイ…

続・mt-daapd

メモリ食いつぶして異常終了する問題はあるmp3のid3タグが壊れていたため。ogg-transcodeはsscのプラグインは認識されている。日本語ファイル名でもogg拡張子は確認されている。ファイルパスもinodeから参照しているようなので無問題。 どこだろう?今日はこ…