月別アーカイブ: 2015年8月

OpenCV 3.0 でハマった事

割りと軽いノリでOpenCV 3.0 に移行した結果、
あれこれハマった事や面倒だった事のメモ。

ビルドの問題に関しては、
cudaを使ってるのが主な原因の様な気がする。

contribでビルドできないmoduleが、いくつもある

gitでも3.00のアーカイブでも同様。
opencv-text や opencv-tracking は、試したかった機能なので残念。

cudaを使わなければビルドできてた様に覚えているし、
ビルドエラーは見れば直ぐに修正できそうな感じなので、
早晩対応されると思う。

pyton-bindingがビルドできない!

gitでも3.00のアーカイブでも同様。
OpenCV3のウリの一つだっただけに、これは本当に残念。

Windowsのpythonからは、今もOpenCV2を使ってる。

機械学習以外では困らないので、まぁ良いか。

CV_~の定数を、cv::~に置き換える

CV_~の定数は、まだ使えるみたいだけど
そろそろcv::~ のenumに書き換えた方が良いみたい。
CV_BGR2GRAY → cv::COLOR_BGR2GRAY とか

でも、どれが移行出来るのかとか、一覧できないので
順次、気がついたソースから修正中。

OpenCV 1.x 風マクロの置き換え

OpenCV1 APIからC++風APIに書き換えるのは、地味に面倒。
やっぱり、動いたり動かなかったりするので
ビルドしてみてエラーになった物から修正中。

とりあえず、VideoCapture や VideoWriter かな。
あと、画像処理のAPIのドキュメントが無かったりするので、
何となくエラーが出ないように場当たり的に修正している状況。
動いてはいるみたいだけど。

IplImage * と cv::Mat を暗黙で変換してくれなくなった

コンストラクタで暗黙変換しなくなったのが一番影響大きいかな。
そもそも、もう IplImage は使わない方が良いんだろうけど、
プロジェクト単位で見ると、地味に修正箇所が多い。

意を決っして全部修正する事にした。

どうしても IplImage を使いたいところは

とかしてる。

CV_RGB から cv::Scalar に置き換え

RGBの順番が変わるので要注意。

色指定はCV_RGB が便利なんだけど、
中途半端はイヤなので、cv::Scalar に修正中。
揃えるのも大事。

Macはどうしよう…

HomeBrewのOpenCVでは
opencv3が廃止されてopencvに統合されたので
使い分けが面倒になった。

どのみち移行するので、OpenCV3にしてしまった。
これからハマるかも知れない。

MAC標準のapacheでJenkinsを動かす 2015

アップデートしようとして動かなくなったJenkins。

今日は色々アップデートしたから、何が原因か分からない。
とりあえずインストールした時の記憶を頼りに再設定しよう。

脱MAMP 標準のapacheでJenkinsを動かす

前のMacBookProではMAMPでJenkinsを動かしていたけど、
ちょっと大袈裟だから 標準のapacheに変更してたのだった。

Jenkins自体の動作確認

アップデートしようとする前の古いバージョンのJenkinsが
/Applications/Jenkins にちゃんとある。

手動で起動すると。

となって、Jenkinsの標準的なアドレス

http://localhost:8080/

を見に行くと、ちゃんと動いている。

これを、デーモンにすればOK。

apacheとの連携確認

あぁ〜
原因はコレか。

デーモンの設定ファイルがゴッソリ消去されてる。トホホ

これは、何とかして Jenkinsを再インストールしないとダメだな。

Jenkinsの再インストール

調べてみたら、
今やJenkinsは、 Caskじゃなくて素のHomebrewからインストールできるのだった。

Cask版のJenkinsはbrewからアンインストールできなかったので、
手動でファイルを削除しておいた。(ややこしくなるので)

そして

で動作することを確認!

改めてapacheとの連携

言われるがまま。

よしよし。
動いた。

しかも apacheの設定が全く必要ないんだな。。
MAMPより楽ちんですわ。

HomeBrew CaskroomのアプリGAE/Jenkins/Gimp/firefox/Blenderを更新

OpenCV3のインストールのついでに、GAE/Jenkins/Gimp/firefox/Blenderも再ビルドしておこう。

CaskRoomのアプリは、 ~/Applications/ にリンクされる。

なんだけど、 Jenkins は、 /Applications/Jenkins に直でインストールされる。
デーモン化する時に、jennkins.war を毎回探してしまう。(汗)

あぁ… 何かダウンロードしたファイルが壊れてるらしい。
Jenkinsのインストールは、ちょいちょい問題を起すなぁ。

今日は、しょっちゅう brew udate してる気がする。

言われるまま。

結果は変らず。インストール前にダウンロードで失敗。

あれ? インストール済みの古い Jenkins も動かなくなった。

何だよぉ〜。

続く。

Mac Homebrew Emacsをgit-head版に更新

Windows版のemacs-w64のHEAD版が調子良いので、
Macもcsv-Head(いやgit-Headか…)に更新してみた。

気持ち、モッサリした気もするけど。
まぁイイか。

バージョンは殆ど変化なし。
今回:GNU Emacs 25.0.50.1 (x86_64-apple-darwin14.4.0, NS appkit-1348.17 Version 10.10.4 (Build 14E46)) of 2015-08-09 on mbpr15.local
前回:GNU Emacs 25.0.50.1 (x86_64-apple-darwin14.3.0, NS appkit-1347.57 Version 10.10.3 (Build 14D136)) of 2015-05-05 on MacBookPro.local

Mac Homebrew OpenCV3をインストール

インストールに時間がかかるものを、お盆前の暇なうちに入れ直しておく。

OpenCV3 に乗り換え

仕事用のWindowsは、OpenCV2とOpenCV3の混在環境になっていて、
cuda版も合わせて4種類でビルドしたライブラリを使い分けてる。
ちょっとイヤな感じ。

OpenCV3で心底困る事は無いし、機械学習には具合が良いから、
MacBookProの環境は OpenCV3 に乗り換えよう。

まずは、一応OpenCV2も更新しておこう。

gccも再インストールしたので、
ここまでで45分ほど。

ログを見ると、あれれ。

openMPを使えるように、gccを再ビルド

multilibは必要ないけどOpenMPは欲しいのでヤリ直し。

ログは省略。

さて。OpenCV3をのインストール

あれ?、 OpenCV3 が見付からない。
リポジトリを直接見ると有るんだけどな。

さっき brew update はしたし。。。

どうやら、opencvに取り込まれたみたいだ。

OpenCV3はリリースしたてだし、 3.0.0-rc1 よりは HEAD だよね。
ビルドオプションも、今のに合わせて再ビルド。

OpenCVのバージョン確認

インストールは10分ほどで終了。
念のためバージョンを確認しょう。

ちゃんと、 OpenCV3 になってました。

それにしても…
2015年の MacbookPro Retina 15は、2012年版よりもファンがやかましい。
Homebrewのインストールではファンが回りっぱなしで、膝がメチャ熱い。

Mac ImageMagick あれ? displayで画像を表示できない

pythonやblenderで作った画像を表示しようと。。。

XQuartz はインストール済みだしなぁ。

ググってみたところ、ImageMagickのビルドオプションが必要らしい。
Merberickまで、そんな事したっけな?

まぁ、いいや再ビルドも簡単だし。(本当HomeBrewは素晴しい)

ありゃ?

なんか、同じバージョンがもう公開されてないんだな。
brew update して、もう一度。

なんか根本的風なところで怒られてるけど、
気にしない。

いろいろ画像周りのライブラリがアップデートした後、
無事に画像が表示されるようになったよ。

emacs-w64 が最高! cygwinと組合せて更に最高になる話

emacs-w64 が最高な話。

もう1年くらい、emacs-w64 にお世話になっている。

emacs-w64 | 64-Bit GNU Emacs for MS Windows with optimization

これだと、macのHomebrewのemacsとバージョンが合わせられるので、
とても具合が良い。

最近のスナップショットバイナリは、十分安定してるし、
一番新しいリリース版よりも起動がかなり早いのが気分良い。

一般的なソフトと比べると遅いかも知れないけど。。。

emacsとしては、十分な速度だよ。本当だよ。

7/25時点のバージョンは

通常site-lispに入れるlispの類は ~/.emacs.d 以下に集めてあるので、
配布先からダウンロードして解答すれば、インストール完了。

mewやmigemoなどが呼び出すバイナリは、
cygwinの /usr/local にでも置いておけば問題なく使える。

日本語入力がSKKな人には、これで十分だろう。

gnupackにも一時期、
というかかなり長い期間お世話になっていたけど、
すっかり emacs-w64 + cygwin に復帰してしまった。

ただ。
gnupack や cygwin-emacsでも同じなのだけれど、
compile-mode からの make の起動がやたらと遅いことがある。

mewのhtmlレンダリングが異常に遅い事も良くある。
mew が w3m を呼び出すときの shell-command で躓いているらしい。

emacs の exec-path を最小限にしたり。
(C:/Windows/system32 とか、Program Files なんかも必要ないし)

たまに、bash_history を消したり。

WindowsのDNSのキャシュを削除してみたり。
コマンドプロンプトで、

と入力する。

自分自身をDNSで探さないように、LMHOSTS も設定だ。
(C:\Windows\System32\drivers\etc\hosts に書いとく)

emacsもcygwinも、
起動時やshellコマンド使用時にネットワークを見に行っている痕跡がある。
やけにキャッシュが膨れてる。

主犯は DNS だと考えてるのだけど、
再現性がイマイチだから、確証がない。

これさえ無くなれば、Windowsの開発環境には不満なくなるのだけどなぁ…

Visual Studioには、色々文句はあるけど。

cygwinが動かなくなった!プロシージャ エントリ ポイント~が見つかりません

emacsから一番頻繁に呼び出すマンド diff が、
この数日返事しなくなった。

emacsのshell-modeや、cygwinのbashから呼び出すと、
メッセージは何もなしで終了する。

まぁ良いか(「Windowsを再起動したらきっと直るさ…」)、
と思っていたけど、どうもそうじゃないみたい。

試しに、cmd.exeから呼び出すと、

「プロシージャ エントリ ポイント ~ ライブラリ cygwin1.dll から見つかりませんでした」

とか言ってるし。

心当たりはある。
この間 cygwin をアップデートした時に、何か怒られてた。

インストール先の c:\cygwin\bin を覗くと、
cygwin1.dll と cygwin1.dll.new のdllが二つある。

これが問題らしい。
cygwin1.dllのアップデートに失敗していたらしい。

やれやれ。

cygwin1.dll を削除して、
cygwin1.dll.new を cygwin1.dll にリネームしたところ、
無事動くようになった。

ループイフダン USDJPY B15の整理と、売りに方向転換する目安 まとめ

USDJPYは、130円付近までループイフダンの買いで攻める!
その後は、売りに転換。

毎年のお盆の円安には間に合わなそうだけど。。。

売りに転換する時期は、また別記事で検討するとして、
「重複あり」設定、50ポジ限定にしてしまっているB15の調整が必要。

B15の証拠金計算は。。

|——–+————–+———-+————+————–+————+———-+————+—-|
| 値動き | ポジション数 | 損失合計 | 取引証拠金 | 最低必要資金 | 500万円X数 | 復帰月数 | x5必要資金 | |
|——–+————–+———-+————+————–+————+———-+————+—-|
| 5 | 33 | 79200 | 181500 | 260700 | 19 | 0.8 | 1303500 | |
| 10 | 67 | 331650 | 368500 | 700150 | 7 | 1.6 | 3500750 | |
| 11 | 73 | 394200 | 401500 | 795700 | 6 | 1.8 | 3978500 | |
| 13 | 87 | 561150 | 478500 | 1039650 | 5 | 2.1 | 5198250 | ☆ |
| 15 | 100 | 742500 | 550000 | 1292500 | 4 | 2.5 | 6462500 | |
| 17 | 113 | 949200 | 621500 | 1570700 | 3 | 2.8 | 7853500 | |
| 20 | 133 | 1316700 | 731500 | 2048200 | 2 | 3.3 | 10241000 | |
| 25 | 167 | 2079150 | 918500 | 2997650 | 2 | 4.2 | 14988250 | |
|——–+————–+———-+————+————–+————+———-+————+—-|

140円まで円安が進むとは思えないので、
127円〜130円の辺りで、売りに転換する前提なら、
この半年くらいの間は15円の値幅で充分と思う。

USDJPYでは月200回程度のループが見込めるので、
500万円原資に対する利益は以下の様になる。

|—–+——+——+——–+—-|
| X数 | 月収 | 年収 | 利回り | |
|—–+——+——+——–+—-|
| 1 | 3 | 36 | 7.2 | |
| 3 | 9 | 108 | 21.6 | |
| 4 | 12 | 144 | 28.8 | |
| 5 | 15 | 180 | 36.0 | ☆ |
| 7 | 21 | 252 | 50.4 | |
| 10 | 30 | 360 | 72.0 | |
|—–+——+——+——–+—-|

利回り25%以上なら大満足。

x5ポジの場合。
であれば、年間180万円。
今年500万円の原資では、13円の値動きまで対応できる。
ざっくり 117円〜130円と考えれば、まずは充分。

1年後には原資が700万になるとすれば、
17円の値幅、多分 113円〜130円に対応可能になる。

翌年には 110円〜130円に対応可能になる。
ここまで来れば、まずは安泰だろう。

ただし、20円の値幅になると、167ポジにもなり、
マイナススワップもバカにできなくなる。
USDJPYの金利がどこまで上るかによるかな。

まとめ。
– B15の含み損が消えたところで、5倍重複無し、ポジ制限無し設定に変更する
– 資金 500万円、月間利益15万円、年間利益180万円、利回り36% が目安
– 127円〜130円の辺りでスワップを見極めて、売りのS15に乗り換える

wordpressのプラグインを作ってみる org-modeのテーブルをそのまま使いたい!

org-modeで書いたテーブル

みたいなのを、
blogに書くときにプラグインでHTMLのtableに加工したい。

雰囲気、こんなので良いみたい。

これを /wp-content/plugins/ に置く。

ん?
こんなエラーが出たぞ。

あ〜
WordPressの画面からは、ちゃんとZIPに固めてからでないと
アップロードできないみたいだ。

しょうがないので、サーバーに直接アップロードしよう。

おー。 動いた動いた。

↓こんな感じになった。

|——+——+————|
| 名前 | 価格 | 日付 |
|——+——+————|
| あれ | 100 | 2015/01/01 |
| これ | 1000 | 2015/02/01 |
| それ | 99 | 2015/03/01 |
|——+——+————|

|——–+——|
| 場所 | 距離 |
|——–+——|
| あっち | 100 |
| そっち | 1000 |
| こっち | 99 |
| ?? | 99 |
|——–+——|

変換する関数自体は通勤時間の間に完成したのだけど、
なんか、いろいろ他のプラグインとかち合っていて、
サーバー上で動くまで半日かかってしまった。

スタイルは、他のプラグインに取られたままだし。

記事を編集し直そうとすると、 WP-MarkDown が元記事を壊しちゃうし。。。

案外簡単にプラグインをつくれることは分かったけど、
人に公開しようと思ったら、
そうとう検証に時間をかける必要がありそうだなぁ。これは