rcssserver3d on MacOSX MountainLion

rcssserver3dのmake
http://sourceforge.net/projects/simspark/

現在の最新は0.6.7だがこれだと以下のエラーがでる

Linking CXX shared module soccer.so
Undefined symbols for architecture x86_64:
  "boost::system::system_category()", referenced from:
      __GLOBAL__I_a in export.cpp.o
      __GLOBAL__I_a in agentstateperceptor.cpp.o
      __GLOBAL__I_a in ballstateaspect.cpp.o
      __GLOBAL__I_a in singlematiniteffector.cpp.o
      __GLOBAL__I_a in staticmeshiniteffector.cpp.o
      __GLOBAL__I_a in pantilteffector.cpp.o
      __GLOBAL__I_a in restrictedvisionperceptor.cpp.o
      ...
  "boost::system::generic_category()", referenced from:
      __GLOBAL__I_a in export.cpp.o
      __GLOBAL__I_a in agentstateperceptor.cpp.o
      __GLOBAL__I_a in ballstateaspect.cpp.o
      __GLOBAL__I_a in singlematiniteffector.cpp.o
      __GLOBAL__I_a in staticmeshiniteffector.cpp.o
      __GLOBAL__I_a in pantilteffector.cpp.o
      __GLOBAL__I_a in restrictedvisionperceptor.cpp.o
      ...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [plugin/soccer/soccer.so] Error 1
make[1]: *** [plugin/soccer/CMakeFiles/soccer.dir/all] Error 2
make: *** [all] Error 2

svnのr370だとmakeできました.
http://sourceforge.net/p/simspark/svn/370/tree/trunk/

Flashインストール時に「続行するには次のアプリケーションを終了してください」でSafariが消えない

MacOSXでFlashアップデート時に「続行するには次のアプリケーションを終了してください」でDockにSafariが無いのに実行されていることになっているとき,MenuTab for facebookなどの常駐を終了させる.

すごいHASKELLたのしく学ぼう!とLearn You a Haskell for Great Good!

KindleですごいHASKELLたのしく学ぼう!が売っていたので買った.
日本語訳である.

私が持っているAndroid tabletはioPad6Lといういわゆる中華パッドで,そのせいか乗数やその他の数学記号がうまく処理できず文字化けの豆腐が表示されている.
iPhone版のKindleアプリではちゃんと表示されているし,まぁフォントとかそのへんだと思う.

そんなこともあり英語版のLearn You a Haskell for Great Good!を読むこととなった.
実は英語版は公開されている.
http://learnyouahaskell.com/

英語版と日本語訳を読むと日本語訳は訳注が追加されていることに気づく.
例えば以下のページの末尾,直角三角形の三辺の長さを求める問題.
http://learnyouahaskell.com/starting-out

We'll also modify this function by taking into consideration that side b isn't larger than the hypothenuse and that side a isn't larger than side b.

と正しい直角三角形の性質について説明されている.
ここが日本語訳では

次に,ピタゴラスの定理(a^2+b^2==c^2)が成り立つかを調べる叙述を追加して,直角三角形でないものをフィルタしましょう.また,aが斜辺cを超えないように,bがaを超えないように,それぞれ変更を加えます.

ここでコードを挟み以下に続く.以下は英語版では無い.

リストのレンジをどんなふうに変更したかに注目してください.bが斜辺より長いような不要なトリプルを調べないような変更をしています(正しい直角三角形は必ず斜辺が一番長いのです).
また,辺bが辺aを超えないようにしています.このように変更しても問題ありません.なぜならば,

以下2ページ位続く.

こんなかんじで日本語訳のほうが比較的親切である.
無料で公開してるのが2800円するの…と思ったが日本語訳買って損はしないんじゃないかなぁと思う.

#豆腐で表示されるしiPad買うか〜

BitbucketからCloudBeesのJenkinsのビルドを実行する

BitbicketのプロジェクトにpushにしたらCloudBeesのJekinsをBuildを実行する設定.

  • CloudBees側の設定

各プロジェクトの「設定」を選択
「ビルド・トリガ」の「リモートからビルド」にチェックを入れます.
認証トークンに好きな文字を入れます.
f:id:YuK_Ota:20121209005032p:plain
保存します.

  • Bitbucket側の設定

設定を選択
f:id:YuK_Ota:20121209010032p:plain

「Select a service...」からJenkinsを選択,追加します.
Tokenはビルド・トリガに設定した認証トークンを入力します.
Project nameはJenkinsのプロジェクト名です
EndPointはhttps://your-email:your-password@username.ci.cloudbees.comです

CloudBeesのJenkinsプロジェクトのurlが以下の時
https://hoge.ci.cloudbees.com/job/fuga/
Project nameがfuga
EndPointはhttps://your-email:your-password@hoge.ci.cloudbees.com
になります.
your-emailの@は%40に置き換えてください.
f:id:YuK_Ota:20121209010747p:plain
Saveします.

後はpushすればbuildが走るはず.

CloudBeesのwikiだとEndPointのusernameはapitoken使えと書いてあるがこれだと認証で蹴られる.
http://wiki.cloudbees.com/bin/view/DEV/Bitbucket

最小二乗法による線形回帰

Scipyを使った最小二乗法による線形回帰
datasetは[(second,value),…,(second,value)]
な形式

seconds =[]
works = []
for datum in dataset:
    seconds.append(datum[0])
    works.append(datum[1])

#1次式でフィッティングする.フィッティングしたい式を書く            
fitfunc = lambda p, x: p[0] * x + p[1]
errfunc = lambda p,x,y: fitfunc(p,x)-y
#初期値.なんでも良い.
p0 = [0,0]
self._p1,success = scipy.optimize.leastsq(errfunc,p0,args=(array(seconds),array(works)))        

fitfunc(self._p1,x)が得られた式.