バックアップソフト

I, newbie ≫ バックアップならBaculaでしょ

Bacula? 知らんかった。
文書が充実しているらしく、バックアップについて学べそう。


階層型状態遷移機械実装してみた

HSM - GameObj - Trac (http://gameobj.issei.org/trac/wiki/HSM)を参考に階層型状態遷移機械を実装してみたらしい。以下のように使える。多分、メソッド自体に各状態をメソッド自体で表現して、なおかつ振る舞いも持たせたかったんだと思う。LimeWireなんかのソースを見ると非同期IOで状態遷移機械を使っていて、あぁやっぱり同じ事考えるんだなぁとか思ったけど、この実装は埋もれたままだったのでどうせなら公開しておく。
class ExampleStates
  : public StateMachine<ExampleStates>
{
public:
  void Opened(Activity a) {
    switch (a) {
    case FSM::SM_ENTRY :
      break;
    case FSM::SM_EXIT :
      break;
    case FSM::SM_DO :
      transit(&ExampleStates::Closed);
      break;
    }
  }

  void Closed(Activity a) {
    switch (a) {
    case FSM::SM_ENTRY :
      break;
    case FSM::SM_EXIT :
      break;
    case FSM::SM_DO :
      transit(NULL);
      break;
    }
  }
};
...
ExampleStates* fsm = new ExampleStates();
fsm->startUp(&ExampleStates::Opened);
while (!fsm->isFinalState()) {
  fsm->perform();
}
ソース

NTEmacsにskkをインストールしたかった

ちゃんとインストールしたかったのだけれど家のPCだとうまくインストールできなかった。 結局Meadowのからsite-lispにコピーした。
以下、試行錯誤について

cygwin+mingwでOpenGLコンパイル

Cygwin上でOpenGLを試してみた。コンパイル方法を忘れないように以下に Makefileをメモ。このMakefileだとカレントディレクトリの.cファイルを 全て.exeにコンパイルするというもの。チュートリアルとかを実際に試し てみるときに使った。

参考:2007.09.20(::memolet | cygwin+mingwでOpenGLコンパイル)

また、Cygwin上でOpenGL ESを試してみる場合、 ::memolet | OpenGL ESサンプルでも言及したlibGLES_CM.dllを使って以下の Makefileのようにすればコンパイル可能。

CC       = gcc
CXX      = g++
SOURCES  = $(wildcard *.cpp)
TARGETS  = $(patsubst %.cpp,%.exe,$(SOURCES))
CXXFLAGS = -mno-cygwin -DWIN32
LDFLAGS  = -L./GLES/lib/win32  -llibGLES_CM
INCLUDES = -I./GLES/include

all: main.exe

print:
	@echo $(TARGETS)

#%.exe: %.cpp
main.exe: $(SOURCES)
	$(CXX) $(CXXFLAGS) -o $@ $^ $(INCLUDES) $(LDFLAGS)

clean:
	rm -f *.exe *.o

leet speak

Leet - Wikipedia

leet speakというのがあるらしい。
スラングとはいえ、アルファ ベットを数字で表すのがイカす。変数名とかポート番号を決める時とか パスワードとかユーザー名に使えそう。
leetspeakは、流行とかあ りそうなので、どんどん新しいのが出てくるかも。なので、leetspeakだ け覚えておいて、後でleet speak を Googleで検索するなりすればよい。


最近のCppUnit ちょっとした Roundup

the forgotten CppUnit

VisualStudio2008でCppUnitをビルドする方法を紹介してらっしゃるので メモ。CppUnit自体がVisualStudio2003.NETまでしかソリューションファ イルとか用意してないので、かなり助かる。
CppUnit駄目かもしれ んと思って、他のC++のテストフレームワークを探してみた。以下の記事 にリンクがいっぱいある。


link集/eXtreme Programming - NomisoBraaan Wiki

本当にいっぱいリンクされている。
また、CppUnit以外にもたくさんの技術情報のリンクがある。すごい。


CppUnitについて調べた - suzukyuの勉強日記

上のリンクサイトは、ここから参照しました。


圧縮フォルダーの無効化

hail2u.net - Weblog - 圧縮フォルダを使わないようにするとエクスプローラがキビキビ動く

以前この記事見て圧縮フォルダーを使わない設定にしたが、元に戻って しまった。そこで再設定しようかと思ったが、方法を忘れたので、検索 して探し出した。またこんなことがあると思うので、メモ。


PythonでRSSを扱う

Universal Feed Parser

3000の単体テストした、とのこと。色々パースできる。URLを引数にその ままパースできるみたいなので、簡単に扱えそう。
ここのパーサー がPythonでは標準なんだろうか、ちょっとGoogleで検索した限りでは他 のは見あたらない。


Python で RSS をパースする方法について調べる:ある nakagami の日記:So-net blog

ここで上記サイトを知ったわけです。けれど日付が2005年とのことなん だけど、Googleでは上位にヒットした。


MiniUPnP

MiniUPnP Project HomePage

NAT-PMPって何だよ?って調べてて見つけた。UPnPやBonjourによる ポート開放ライブラリ。KTorrentでも使われてるみたい。


PCなしでディスクコピーできる

ストレージ関連製品:これdo台PRO:KD25/35PRO

これあれば、簡単にディスクコピーが出来そう。PCなしでもできるのが うれしい。クラッシュしたディスクでもエラースキップ機能で短時間で コピー出来たりするのか?

Related: ::memolet | HDDのサルベージ