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

emacs magitでソース管理

cygwin上のemacsから使い易い gitクライアントが無かったので、
Windowsでの開発では、ソースの編集はemacsでやっていても、
バージョン管理には TortoiseGit を使っていた。

TortoiseGit は GUIが上等なので、それはそれで便利なのだけど、
いちいちマウスを持つのが面倒なので、
編集に関わる作業は全部emacsの中で連続してやってしまいたい。

で、 magit を使うことにした。

今迄 emacs内でgitを触りたくなかったのは
cygwinのファイルアクセスが異常に遅いのが理由なのだけど、
最新のemacs-win64(25.0.50)とmagitの組み合わせなら何とかなる範囲。

で、インストール。

一旦、magitをGitHubからダウンロードしたものの、
中のドキュメントを見たら、 emacsのパッケージからインストールできる、
という事だったので、そっちに方針変更。

ドキュメント内では、 Melpa と Marmalade のパッケージが説明されていたけど、
結局、 Elpa 内の magit を使うことにした。

使用している git は 2.5.0、emacsは25.0.50 なので、
動作条件は満しているものの、 emacsがHEADのせいか、
こういう状況だった。

  • Melpa は、パッケージ自体に問題がちょいちょい起こるのでリストから外している
  • Marmalade の Magit は、バージョンが 1.2 だったけど、エラーで動作せず
  • Elpaの Magit は、バージョンが 0.8.1 で、かなり古いけど、問題なく動作する

Elpaのパッケージは更新されそうにないので、
そのうち GitlHub の Magit 2.1.0 に乗り換えるかも知れない。

で、Magitの使用方法は、とても簡単。

で、今のソースの更新状況が表示される。

これが emacs に出るのが本当に嬉しい。
うっかり編集や、気の迷いでチョット修正したのを忘れてしまう、
という、本当におバカなミスを防いでくれる。

TortoiseGit だと気付くタイイングが大分後になってしまうし、
そもそも作業が億劫なので、こまめに commit しなくなるから
gitの有難味が、ちょっとそがれてしまう。

emacs の magit-status 画面で普段使う機能は以下の通り。

  • s でファイルを一つ add
  • S 全ファイルを全てadd(git add -A)
    • 実際には C-u S とする
  • c コミット
  • u addの取消
  • l ログ一覧表示
  • L ログ一覧詳細表示

Macでの作業は、基本個人のローカル運用なので、コレで十分。

Windowsの開発案件で必要な pull/push/merge などは、
今のところ TortoiseGit を使っている。
外部と関わる重要作業は、GUIがしっかりしていた方がちょっと安心なので。

emacs org-modeで画像をインライン表示する

などして、
(org-toggle-inline-images) の所で C-c C-c とすると
インライン画像が表示される。

上にやり方だと、トグル動作の状態が

とか

とか、orgファイル上に勝手に追加される。
それがイヤな場合は、 M-X org-toggle-inline-images でOK。

としておけば、常のインライン表示されるけど、
普段は邪魔なのでトグル動作にしてる。

この書式のままで、
画像ファイルの転送も含めて WordPress の記事が書けると、
ブログを書くのが楽になるんだけどなぁ。

プラグインを書くのに、
またWP-MarkDownとケンカするのを解決するのが面倒そうだ。
WordPressでは MarkDown書式が一般的だしなぁ。

いっそMarkDownをやめて、
全て org-mode で書くプラグインを作るか…

emacs の起動時間が遅いと感じたら initchart.el。 これは面白い

initchart.el が素晴しい。
解り易さと、面白さで。

load-path の通った場所に initchart.el を置いて、
init.el の先頭に下記を追加して実行すると、
起動時間を計測してくれる。

initchart バッファに測定結果らしきものが出て来る。
ここでうっかり、initchart バッファを削除すると、
emacs が正常終了できなくなるので要注意!

emacsが起動したら、

を実行すると、 SVG filename: と聞かれるので、
~/initchart.svg など、適当なファイル名を入力すると、
そのファイルに計測結果が出力される。

~/initchart.svg をブラウザに読ませると、
起動中にかかった時間を各関数ごとのチャートにして、
綺麗に表示してくれる。

僕のemacsの計測結果は、こんな感じ。
表にしてしまうと initchart の面白さは無くなってしまうけど…
svgで表示してくれるので、時間がかかっているパッケージが
一目でで確認できるのが良い。

|————+———-+———————|
| パッケージ | 起動時間 | メモ |
|————+———-+———————|
| helm | 3.1秒 | ほぼ helm-files |
| howm | 1秒 | howm-varsが 0.4秒 |
| magit | 0.9秒 | ほぼ log-edit/messa |
| org | 0.6秒 | |
| w3m | 0.6秒 | |
|————+———-+———————|

主に履歴やメモ類のファイル読み込みに時間がかかっているみたいだ。
どれも必要な手順だから、しょうがないか。

howm/magit/org/w3m あたりは遅延呼び出しにしても良いけど、
それでも半分程度にしか短縮できないし、
どうせ朝に一回、数秒待つだけだから、このままにしよう。

ちなみに。
全く同じ設定ファイルでも Macのemacs は、 ほぼ瞬間で起動する。

MacBook はSSDだからね。
むしろ、OSXのウインドウのアニメーションを止めたいくらい。

2015年、お盆の円高は来るのか?来たのか?

来たと言えば来た。

ここ10年くらい、ドル安・円高傾向が強いようだけど、
実際のところ、そんなに高い確率ではないように思う。

今年の盆の円高も1円くらいのもの。
原因は、主に中国の形振り構わない金融施策と人民元の切り下げ。

日本からの買い支えが無いので、何かあったら円高に転び易いのだろう。

一時的な要因なら、盆明けに戻す可能性が高いだろうから、
収益チャンスと考えた方が面白い。

今年も、多分すぐに戻すと思うので、
ドルとトルコリラはポジションを追加しておいた。

さて、本当に戻すかな?

レバレッジネタ

面白いサイトを見付けた。

FXのレバレッジについて。


試しに計算してみましょう。スワップ派のサイトによると、USDJPYのHVはσ=6.95%であるので、今回は確実に安定して運用するために95%の確率で収束する2σを採用します。またμの値はUSDJPYのスワップポイントである、2.1%を採用します。そしてdを50%とすると、Lの値は
L = 50 / (6.95*2 – 2.1) = 4.24[倍]
となるので、レバレッジが4倍以内であれば、およそ95%の確率で安全圏に収束するということが分かります。

他のサイトや本でも、いろんな計算やシミュレーションがあるけど、
大体 3〜4倍に落ち着く。(みたいだ)

僕の場合は数式ではなくて、
2007年以降の為替データの最悪値に対して、
安全目に見積ってる。

その結果、今日現在の口座のレバレッジを計算すると 4.32倍だった。
予備の予算を加えたら、大体3倍位になる。

僕の今のポジション上の式に当て嵌めて計算すると、
2σで L = 6.7 、3σで L = 3.3。

今のポジションは 99.7%以上の確率で安全、ということだ。

だけど。
実際の取引では、 落ちきったところで仕掛けるのが一番いい。

攻めるためにも、普段のレバレッジはもっと低めの方が良い。
金融緩和が怪しくなってくる前には、しっかり撤収しとかなきゃ。

箱根の干物屋さんの猫達

毎年2、3度は行く箱根湯本

2015年の6月には、白黒のはち割れの兄弟が居た。
柄は似てるけど、吊り目と垂れ目で見分けがつく。

吊り目の方は、顔付きとは違って人懐っこく、
近寄るとスリスリと挨拶してくる。
観光客が大勢居ても、全然物怖じしないで寄ってくる。

垂れ目の方は臆病で隠れてばかり。
カメラを向けると猫パンチして来る。

以前は、大人の猫と白地の子猫もいたけどなぁ。
今回はこの二匹だけ。

干物屋さんに聞くと、この猫達はのら猫だそう。
母猫が居なくなったので、面倒をみてるとか。

でも、店に入ろうとすると怒るようにしてるので
外の干物焼きのところにいつもいる。

8月に行った時は、臆病なはち割れと黒猫しかいなかった。
滞在中にあもう一度覗いたけど、やっぱりこの二匹だけ。

吊り目の営業担当に会いたいなぁ。

python K-means法の結果が毎回異なると困るので

クラスタ分類に、pythonのkmeans()を使っていたのだけど、
毎回結果が異なるので、解析結果の資料を残すのに具合が悪い。

Kmeans法は初期クラスタを乱数で決めるので、
とりあえず乱数の種の方を固定しようと。。。

しても、実行する度に結果が変わってしまう。

正解は

でした。

使用している kmeans() が scipy.cluster.vq の物だったので。

OpenCV や scikit-learn にも kmeans があって、
それぞれ使っている乱数の関数が違うかも知れない。

それぞれで使っている乱数を調べないとね。

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

org-modeで書いたテーブル

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

という訳でプラグインを自作したものの、
org-modeで書いたテーブルがあると
WP-MarkDownが書式を壊してしまって動かない。

プラグインの優先度を上げて先に編集すれば、
最初の編集ではどうにかなるけれど、
再編集ができない。(トホホ)

かと言って
WP-MarkDownを使わないのも不便だし
自分でMarkDown機能を実装するのも面倒臭い。

という訳で、
WP-MarkDownに対抗する暫定対応を加えた。

で、こんな感じに動作する。

ヘッダがある場合。

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

ヘッダが無い場合。

|——–+——|
| あっち | 100 |
| そっち | 1000 |
| こっち | 99 |
|——–+——|

めんどいなぁ。

org-mode モバイルでは orgzly で!Dropbox経由で簡単同期

これを待ってた!

org-modeと快適に連携できるモバイルアプリ orgzly。

本家とも言える MobileOrg も試したけど、
最初の設定が面倒だったり、同期や日本語がうまくなかった。

ちょっと orz っぽいけど、orgzlyはイイ。

Dropbox経由で使ってみて、とても快適に使えてる。
もちろん日本語もOK。

編集がコンフリクトしてDropboxがファイルを複製した時に
orgzly がどういう動作をするのかが、ちょっと心配。

まぁ、スマホで編集することは、ほとんど無いと思うから大丈夫だろう。

Mac Homebrew OpenCV3をインストール その2 Airでは…

Mac Homebrew OpenCV3をインストール

と同じ手順で、Airにも OpenCV3をインストール。

と思ったら。
同じ手順なのに、 こっちは OpenCV2の最新版 2.4.12 になってしまう。

あるし! opencv3!

もう一度 MacBookProの方でもやってみたら、
やっぱり opencv3 が出て来た!

なんだそりゃ。

MacBookProの方は、間違いなく opencv –HEAD で
3.0.0-dev になってるんだけどな。

homebrew-science/opencv.rb

を見ると、確かに head はopencvの 2.4 ブランチを見ることになってる。

brew update のタイミングが微妙だったのかも。

てな訳で、SSDの逼迫している MacBookAir の方は、
潔く opencv を uninstall して、 opencv3 を入れることに。

せっかくなので gcc も ビルドし直しておく。

opencv3 のオプションは…

適当にオプションを選んで。

–with-contrib は失敗するので外した方が良い。

指示通りに opencv3 のパスを登録して

pythonから確認。

ちゃんと、’3.0.0-dev’になりました。