2010年12月29日水曜日

美優ちゃんを救う会

同級生から「美優ちゃんを救う会」への募金のお願いが届いた。
なんでも拘束型心筋症という病気らしい。


趣旨を要約すると
中学一年生の要美優ちゃんが拘束型心筋症(平均寿命1〜2年)だと診断されました。
日本でも臓器移植が認められるようになりましたが、人工心臓をつけた極めて重篤な患者が優先なので、美優ちゃんは移植のチャンスが殆どありません。
幸いアメリカの病院で受け入れてくれることが決まりましたが、それには一億五千二百万ほどかかります。
なので「皆さんの善意にすがるしかない状況をご理解いただき、何とぞ温かいご支援とご協力を賜りますようお願い申し上げます。」
ということらしい。


関連ニュース:

ネットに毒されてる俺はついつい訝しんでしまうわけだが、規約もしっかりしてるようだし、費用の内訳や現状の報告もあるし、あまったお金は他の”救う会”に寄付すると明示されてるのでそれなりに信用できるかもしれない。

送金はまぁサイフが空なので勘弁してもらうとして、とりあえず”ダイヤル募金”を聞こうとしたら携帯からだとダメらしい。あとで聞いてみよう。

ダイヤル募金の番号:0990-500666

詳細は”美優ちゃんを救う会”のホームページ、美優ちゃんに心臓移植を!



思うところがあるとすれば、代表者のプロフィールや連絡先くらいあるといいとおもう。それともそんなの必要じゃないくらい有名な人なのかな?
あとは月毎の収支報告とかあると信用度もうなぎのぼりだと思うんだ。

と、純粋な心をどっかに落としてしまった俺が言ってみる。
だれか見つけた人いたら教えてください。

2010年12月24日金曜日

[Kinect] build Nite library in Mac (try memo)

[2010/12/28]
全然ダメだったので題名変更


あとPlayersとSceneAnalysisはNiteのライブラリをリンクする必要なかった、、、
(リンクしなくてもエラーなし)
てことは下記のエラーはNiteとはまったく関係ない?

他のサンプルはリンクしないとエラーが出る。(あたりまえだけど)

----

すごくあやしい英語もつけてみます。
Warning!! I can not write english well

こないだからMacOSXでKinectを使えるように頑張ってたんだけど、やっとできたのでメモなんかうまくいかない。
(I tried to use Kinect on MacOSX in several days. and success.  not success)

OpenNIとSensirKinectはroxluさんがMacでコンパイルできるようにしてくれた。
(You can build OpenNI and SensirKinect on Mac tanks to roxlu)
http://www.roxlu.com/blog/entry/116/openni-and-sensorkinect-driver-for-mac-/page/

しかし現状、インストール先が選択できず、ヘッダファイルもコピーされないので不便で、Niteライブラリのbuildにも支障が出る。
(but, can not select install prefix and do not copy headers. so,  very inconbinience and but inflence to build Nite Library)

そこで、CMakeLists.txtを修正して、任意の場所にインストールできるようにしてみた。
ついでにniLicenseでエラーが出るのも修正。
(so, fixed CMakeLists.txt to can install optional install path and fixed niLicense)

https://github.com/yosilove/OpenNI
https://github.com/yosilove/SensorKinect

でもまだ「CMAKE_TEST_BUILDがOFFの時にインストールパスが絶対パスじゃないとエラーが起きる」というバグがあるのでpullリクエストはしない。
(but , now have bug "occur error when install path is not absolute path when CMAKE_TEST_BUILD is OFF", so does not pull request now.)


そして。。。
(And...)

Niteライブラリのインストールとサンプルプログラムのコンパイルに成功しました!たぶん。。。
(Success to install Nite Library and sample program! maybe...)
https://github.com/yosilove/Nite-for-Mac

ただ、このサンプルを実行してもエラーがでるのでもしかすると失敗かもしれない。
(But, this sample program occur error when execute, so, Possibly DONT SUCCESS)

実行時エラーのメッセージはこんなの
(here is running error message)
%Sample-Players
.....
XnXMLConfig::xnConfigureCreateNodes(): call to xnProductionNodeTypeFromString()
ProductoniNodeType (see Include/XnTypes.h): 2
XnXMLConfig::xnConfigureCreateNodes(): call to xnEnumerateProductionTrees
The pContext->pNodesMap is empty
The pContext->pNodesMap is empty
........
We did not find any items in the NodeInfoList
XnOpenNI::xnEnumerateProductionTrees() line 1050, fails!
We did not find any items in the NodeInfoList
XnOpenNI::xnEnumerateProductionTrees() line 1050, fails!
.....
InitFromXml failed: Can't create any node of the requested type!

XMLファイルの生成に失敗してるのか?それともデバイスが見つからないのが原因??
(Failed to create xml file? or can not detect device??)

だれか助けてくれ。。。
(Please help me...)


てゆうか、英語が非常に怪しいので詳しい人いたらツッコミくださいな。

2010年12月17日金曜日

携帯からてすと

携帯からの投稿に対応したらしいのでテスト投稿

携帯用のテンプレートも設定できたよ

Homebrewの使い方

パッケージ管理ソフト Homebrewの使い方

brewではほしいパッケージのビルド方法を記述したファイルのことをfomulaと呼びます。おおまかな流れは以下のような感じらしいです。

(誰かが)fomulaを書く→fomulaを探し、インストール開始→(自動で)すでにインストールされてないか調べる→(自動で)fomulaの記述に沿ってビルド&インストール

なので利用者がやるのは2番目のfomulaをさがすことだけになります。
fomulaファイルは比較的簡単に作成できるようになっているので、少し詳しい人(configureオプションのつけ方が分かる人)なら「fomulaを書く(or修正する)」からはじめることもできます。

今流行っているMacPortとの大きな違いとしては、、、
MacPortsはすべて自分でインストールしないと気が済まないので、たとえばあるパッケージ(MacPortsの場合はportと呼ぶ)をインストールするのにrubyが必要な場合、Macにデフォルトでインストールされているrubyを使わずに、自分でRubyをダウンロードしてきて自分でコンパイルします。

まぁパッケージのバージョンによる依存関係なんかも考えると、portのようにしたほうが正しい場合もあるけれど、大抵の人はそんな依存関係がめんどくさいのは入れないと思うのでbrewの方が早いです。

とはいえ、brewは別にportをディスってるわけではなく、両方入れても別に困らないので使い分けるといい感じ。
(brewには、MacPortsやFinkにパッケージが存在するかどうか検索する機能があります。)


[メモ]MacPortsとHomebrew

パッケージ管理システム(ようはコマンドとかライブラリとかを簡単にインストールするやつ)MacPortsとHomebrewのメモ


MacPorts(portコマンド)はvariantsという機能があって、portファイル(コンパイル方法などが記述されてる)を作った人が用意しておいたいくつかのオプション(universalにするとか)を選んでインストールすることができる。
ただし、すでに存在するライブラリやコマンドをガン無視して自分で全部用意しようとするので死ぬほど時間がかかる上に、自分でいんすとーるしたものとごっちゃになる。

Homebrew(brewコマンド)はすでに存在するライブラリはインストールしない(/usrや/optを調べてくれる)ので依存関係で泣きそうになることは減る。
オプションを指定することもできるが、対応しているまだfomulaは少ない。

まぁこれくらいのファイルなら自作できるのでおけ?なわけないだろめんどくせぇw

まぁどちらも一長一短だけど、とりあえず両方入れとく。MacPortsが既存ライブラリを利用してくれたら万事解決なんだけどな、、、

2010年12月15日水曜日

琉球麺 茉家に行ってきた。

今日のお昼は叔母にすすめられたおそば屋さん、”琉球麺 茉家”に行ってきた。
開店時間前だったけど、看板見て諦めて帰ろうとしたら中に入れてくれた。やっぱ11時は早かったな。。。


食べたのは気まぐれメニュー(ろっぴゃく、、、いくらだっけ?)の”肉なしそば小の琉球麺”+”炙り軟骨ソーキ丼(だったかな?)”のセット。
うろ覚えでごめんなさい、、、

丼のほうは半分くらい肉、女性客には多いかも。
とてもやわらかくて美味しかったけど、焦げが苦手な人にはちょっとアレかもしれない。
たぶん薬味的ななにかを添えるといいと思うが何が合うのかはよくわからない。
(わさび付いてたけど、わさび苦手なんだ俺。。。)

肉なしそばのほうはあっさり系。麺を平麺か琉球麺(ちぢれ麺)か選べる。
あっさり系で女性向け、ただちょっと塩味が強かったような気がしないでもない。
肉なしなのでかまぼこしか載っていないが、ちゃんと三枚肉やソーキ、てびちそばもある。店内においてあったチラシによると三枚肉とソーキが自慢らしい。


Google MAPはこちら、いつのまにかお店紹介もやってるんだなgoogle、、、


そういや、首里駅近くのピタ屋さん(店名忘れたw)が潰れて別の店になってたな、明日行ってみるか。
あと首里高校の野球場の向かいぐらいにある靴屋が潰れてレストランになってた。あっちもそのうち行ってみるか。

2010年12月12日日曜日

Collada DOM 2.2をコンパイルしてみた。

Bulletでモデルファイルを読み込みたい!
というわけで付属のExtra/Serializeを頑張ってコンパイル(.blendや.bulletを読み書きできるような気がした)したが、使い方がさっぱりわからない上、修正しないとコンパイルが通らない、ドキュメントもな〜い!という糞仕様なので「もしかして自分で1から作ったほうが早いんじゃね?」と思いCollada Domの導入に挑戦。

そしたら余計ひどかった。。。
まず、Macでやると勝手にframeworkをつくるんだけど、そのframeworkをいつもどおり「-framework」で指定してもヘッダファイルがnot found、しかも、colladaのヘッダからcolladaのヘッダを見つけることができない! テストぐらいしろよ、、、

そこで自分でCMakeファイルを書いてコンパイルしようとしたら、、、
まぁ紆余曲折は続きで書くとして、とりあえず頑張ってMacでCollada DOM 2.2のコンパイルができるようになったので、途中経過だがGoogle codeにおいとく
CMakeLists.txtだけでもよかったんだけど、自分で分からなくなっちゃうので全部のせとく。

注1:Collada DOM用のCMakeLists.txtの例であって、Collada DOMのことがわかってるわけではありません。APIやドキュメント、バグなどについてはColladaの公式を御覧ください。
注2:ライセンスなどはCollada DOMのとminizipのライセンスに準じます。

2010年12月8日水曜日

OpenCV 2.2 をインストールしてみた。

というわけで、MacBookにOpenCV 2.2をインストールしてみた。
いろいろとパワーアップしたらしいが、個人的に一番嬉しいのはQt対応によって実装されたWindow機能の強化。設定ウィンドウを作れたり、OpenGLで3Dモデルの表示ができるようになったりしたらしい。

というわけで必要な人はインストールの前準備。
 - CMakeのインストール(必須)
 - ウィンドウ機能を強化したい人はQtを導入。
 - avi以外の動画も読み込めるようにしたい人はffmpegをインストール
 - GPGPUを使いたい人はCUDA(ただしCUDA対応はアルファ版らしい)

OpenCVの公式からソースコードをダウンロードします。
tarで圧縮されたのでもいいけど、CUDAを使いたい人はSubversionでリポジトリからダウンロードしましょう。ただし、CUDA対応はまだアルファ版らしい(ちなみにOpenCV的には”gpuモジュール”という名前らしい)

ダウンロードしたら展開して、ターミナルでcmake。以下はQtとQt OpenGLに対応させ、かつユニバーサルバイナリにするオプションのつけ方。
cmake -DCMAKE_BUILD_TYPE=RELEASE -DWITH_QT=ON -DWITH_QT_OPENGL=ON -DBUILD_SHARED_LIBS=ON CMAKE_OSX_ARCHITECTURES='i386;x86_64'
ちなみにCUDA対応させたい人は「-DWITH_CUDA=ON」もつける。

あとはmakeとmake installでインストール完了!
%make
%sudo make install
Qtを使ったサンプル(opencv/samples/cpp/Qt_sample)を実行した結果がこちら。

左が元動画(同梱のaviファイル)、右が動画像から画像処理でなんかあの棒っぽいやつを検出し、OpenGLで立方体を重ねあわせたもの。

これを実現するためのソースコードは260行ほど。わざわざOpenGL用の画像に変換して(ryとかやる必要もなく、とても簡単に実装できます。Qt対応まじおすすめ。
(ちなみにMacでのコンパイル時には「#include <GL/GL.h>」となっているところを「#include <OpenGL/gl.h>」にしないといけないので注意!)


ちなみに、行列計算なんかも改良されているらしい、まぁ厳密に比較してないからよくわからんがね。

Universal Binaryの作り方

Universal Binary(ユニバーサルバイナリ)といえば、Macで”複数のCPUアーキテクチャやOSに対応している"ことを示すもの。ようはUniversalの印がついてれば同じアプリケーションが32bit CPUだろうが64bit CPUだろうが問題なく動く。

正確にはクロスアーキテクチャを実現するための技術の名前なんだけど、まぁ開発者としては作り方さえわかればいいんじゃね?ってことで、仕組みの解説は他のサイトに任せて作り方の説明。
ただし、XCodeでのやり方はたくさん出回ってるのでコマンドラインからの作り方。


2010年12月6日月曜日

cmakeの使い方

ライブラリの導入時なんかにあちらこちらで見かけるcmake、よく使うけどどのサイトに行っても”「cmake .」とやれ”としか書いていない、それだとたまに困る。

というわけでcmakeメモを過去記事を元に再編集してみた。

ちなみに、cmakeとは
CMakeはソフトウェアのビルドを自動化するためのクロスプラットフォームなシステムである。 UnixにおけるMakeに相当するものであり、ビルドプロセスは設定ファイルCMakeLists.txtによって完全に制御される。 最終的なソフトウェアを直接にはビルドしない点がMakeとは異なっており、 代わりに、よく使われている標準的なビルドファイル(UnixにおけるmakefileやWindows Visual C++におけるプロジェクト/ワークスペースなど)を生成する。 by Wikipedia
みたいなもの 。
ようはダウンドードしたライブラリやアプリケーションのソースコードに「CMakeLists.txt」というファイルがあると、Makefileはもちろん、WindowsやMacの開発環境向けのプロジェクトファイルが生成できるという物。


2010年12月4日土曜日

講演会とか行ってみる

講演会にいくつか行ってきたのでまとめてメモ

マルチメディア通信と実用化 (NECの研究所の人?)
自然エネルギーを基盤とした近未来型農業への挑戦(玉城先生)
電気学会九州支部沖縄支所講演会

の3つに行ってきた。