Mac El Capitan で Jenkins がデーモンとして起動しなくなっていた件の修正

El Capitan にアップデートしてから
Jenkins が起動しなくなっていた問題の修正。

logフォルダの所有者を root から jenkins に変更


$ sudo chown jenkins /var/log/jenkins/

エラーメッセージの確認

で、 launchctnl start して結果のログを見ると、こんな感じ。

前半はオプション指定が無いと言っているだけで、
jenkins.war へのパスが通っていないのがエラーの原因らしい。


The domain/default pair of (/Library/Preferences/org.jenkins-ci, war) does not exist
The domain/default pair of (/Library/Preferences/org.jenkins-ci, JENKINS_HOME) does not exist
The domain/default pair of (/Library/Preferences/org.jenkins-ci, prefix) does not exist
The domain/default pair of (/Library/Preferences/org.jenkins-ci, httpPort) does not exist
The domain/default pair of (/Library/Preferences/org.jenkins-ci, httpListenAddress) does not exist
The domain/default pair of (/Library/Preferences/org.jenkins-ci, httpsPort) does not exist
The domain/default pair of (/Library/Preferences/org.jenkins-ci, httpsListenAddress) does not exist
The domain/default pair of (/Library/Preferences/org.jenkins-ci, ajp13Port) does not exist
The domain/default pair of (/Library/Preferences/org.jenkins-ci, ajp13ListenAddress) does not exist
JENKINS_HOME=/Users/Shared/Jenkins/Home
Jenkins command line for execution:
/usr/bin/java -Dfile.encoding=UTF-8 -XX:PermSize=256m -XX:MaxPermSize=512m -Xms256m -Xmx512m -Djava.io.tmpdir=/Users/Shared/Jenkins/tmp -jar Applications/Jenkins/jenkins.war
Error: Unable to access jarfile Applications/Jenkins/jenkins.war

/usr/local/opt/jenkins/libexec/jenkins.war
/Applications/Jenkins/jenkins.war

を探しにいって、見付からないので起動に失敗しているらしい。

agentを見てみると、jenkinsが二種類登録されていて、
古い設定が使われていたままの様だった。


~ $ launchctl list|grep jenkins
  • -9 homebrew.mxcl.jenkins
  • 78 org.jenkins-ci
  • ~ $ launchctl remove homebrew.mxcl.jenkins
  • ~ $ launchctl remove org.jenkins-ci
  • ~ $ launchctl list|grep jenkins
  • ~ $ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
  • ~ $ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
  • ~ $ launchctl start homebrew.mxcl.jenkins

またログファイルの所有者がrootになってしまうので
以下の様に、改めて登録と実行。


~ $ sudo chown jenkins /var/log/jenkins/
~ $ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkinsp.list
~ $ launchctl start homebrew.mxcl.jenkins

この状態で、コマンドで起動すればJenkinsを使えるのだけれど、
デーモンとして起動しない状況は変わらず。

デーモンとして Jenkins を実行する plist vs default

どうやら、
plistの値が使われず、
mac の defaultコマンドの値が使われているらしい。


~ $ defaults read ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist

で、defaultを上書きしてあげる。

これで、デーモンとして jenkins が復活してくれた。

ループイフダンの維持率の維持について

調子の良いときの利益率の高さに、ついつい調子に乗ってしまう
アイネット証券のループイフダン。

一部決済は出来るものの、新規発注を止めるには全決済しかないので、
裁量取引やトラリピの様な計画的なリスク管理が難しい。
アイネット証券が公開している「ループ・イフダン目安資金表」を元に、
USDJPY_B15_15の場合の、為替の変動幅と維持率の変化をまとめたのが下の表。

維持率10の列は円高に耐えらえる値幅が10円とした場合の維持率の変化の様子。
維持率20が20円、維持率30が30円の場合。
それぞれに必要な資金は 70万円、206万円、410万円。

維持率の変化をグラフにすると、こんな感じ。

dyerware.com



dyerware.com



dyerware.com



維持率2000%くらいで安心してはいけない、という事が良く分かる。

トレンドが反転したと判断したら、
即座に停止&全決済するのがベスト。

遅れて損切りしても、
追証までの限界値幅を下げる効果はあまりない。
ドル円の年間の値幅を30円とするなら、
維持率は10000%(証拠金の100倍)くらいないと安心できない。

ただまぁ。
100倍の予算も持ってたら、FXなんてやらない気もするよね。

という話でした。

emacs helm find-fileの設定を整理

emacsとhelmののアップデートで、
find-fileの動きが大分変わってしまったので修正する。

関数 いろいろ
find-file 標準の補完リストがバッファになり
操作がacejumpみたくなった (acejumpの機能?)
helm-find-file TAB補完の設定が効かなくなった
その代り → を使え、と言うことらしい

両方をしばらく使ってみたけれど、
どちらも、find-fileとしては、おせっかい過ぎる感じがする。

滅多に使わないコマンドを探す様な場合はhelmは最高だけども、
find-fileする時は目的のファイル名が頭の中にある訳なので、
候補が大量に出てきても有難味が薄いのだ。

emacs標準機能に慣れるのも良いかと、しばらく素で使ってみたけれど、
helm-miniと補完操作が違うのは、やっぱり気持悪い
そうは言っても helm I/Fが便利だし、補完操作は揃えておきたい。

関数 操作方法
find-file 水平リスト, ace-jump的選択
TAB: 補完 (複数候補があると確定しない)
C-BS: 直前の単語削除
helm-find-file helm I/F、垂直リスト、Action込み
→: 補完 (複数候補があっても何か確定できる)
C-l: 直前の単語削除
TAB: Actionの選択
C-j,C-z: 昔のTABの様な動作 (多分)

補完キーがカーソルになっているのは、 lynxスタイルというものらしい。

(defcustom helm-ff-lynx-style-map t
"Use arrow keys to navigate with helm-find-files'.
You will have to restart Emacs or reeval helm-find-files-map'
and `helm-read-file-map' for this take effect."
:group 'helm-files
:type 'boolean)

ただ、これを nil にしても、TABキーは元に戻らない。

昔のTAB相当の機能 helm-execute-persistent-action は
C-jとC-zに割り当てられている。

そもそもActionなんて使わないぜ!という男の中の男は。

(define-key helm-map (kbd "TAB") 'helm-execute-persistent-action)

とすれば簡単で良い。

僕は女々しいので、今後はC-jとC-zを使うことにする。

find-filesとhelm-miniの動作がちょっと違うのが
もやっとするけど、慣れられそうな範囲だと思う。

emacs helm の補完情報(ソース)を切り替えるキー操作

helmは、殆どの場合、タブキーで補完してくれるので、
操作方法を覚える必要はあまりない。

だけど、覚えなくて良いせいで
たまに補完の情報源を切り替えたい時に、
毎回検索することになる。

;; helm-20160321.959:
./helm-files.el:409: (define-key map (kbd "<M-left>") 'helm-previous-source)
./helm-files.el:410: (define-key map (kbd "<M-right>") 'helm-next-source))

カーソルキーの左右で切り替えられるみたいだ。

これで、ソースを recentf から buffers-list に
さくっと切り替えられる。

きっと
また忘れるだろうな。

macで既定のブラウザ(デフォルト Web ブラウザ)を設定する方法

バッテリーの持ちが良くなるというので、
Macbookでは Chrome Canary を使っていた。

その時に、既定のブラウザ(デフォルト Web ブラウザ)も
Chrome Canary に設定していた。

設定方法は
OS Xのシステム環境設定>一般>デフォルトWebブラウザ
で、リストからブラウザを選ぶだけ。

今現在は通常の Chrome で不都合ないし、
当時ほど体感速度も変わらなくなったので
通常版の Chrome に戻したのだけど。。。。

デフォルトWebブラウザのリストにブラウザが何も出てこない。
焦ったものの。

ふと思い出して。
通常版の Chrome の設定画面の規定のブラウザから
規定のブラウザを Google Chrome に設定 を選んで元通り。

ただ。。。。
OS Xのシステム環境設定>一般>デフォルトWebブラウザ
のリストには既にアンインストールしたブラウザまで復活してしまった。

消し方も分からないし不都合ないので、このままですが。

gitのローカルリポジトリをローカルで共有したい

gitでワークスペースを複数作って違う作業をしたい場合に、
リモートのサーバを用意して、リポジトリを共有していた。

バックアップも兼ねているので、それはそれで良いのだけど
もっとご気楽にローカルのリポジトリを共有する方法があった。

gitのローカル用の共有リポジトリ(?)を作る方法Add Star

workspace/orginal に既にgitのローカルリポジトリがあるところから。

$ cd repo
$ git clone --bare workspace/orginal/ # ← 元のリポジトリから新しい共有用リポジトリを作る

$ cd workspace/new/
$ git clone repo/orginal.git # ← 新しいワークスペースを作る

$ cd workspace/orginal
$ git remote add origin repo/orginal.git # ← 元のリポジトリに origin を設定

ポイントは2つ。

まず、
元のリポジトリから新しい共有用リポジトリをcloneする際に --bare オプションをつけること。
これで、リポジトリとして必要なファイルだけがcloneされる。

もう一つが、
元のリポジトリに、今作った共有用リポジトリをoriginとして設定すること。
これで、元のリポジトリのフォルダも、引き続きワークスペースとして使用できる。

為替のシグナルの確認 02/26

先月、1月29日に、黒田バズーカ第三弾が炸裂。
週明けにドルの買戻しが強まったものの、高金利通過への買戻しはそれ程でもなかった。

3日にドル円の急落があり、4日の時点でバズーカ前の円高水準に戻ってしまった。
オセアニア通過については、やや粘っていて、以前の天井が底値になった感じで推移した。

月初から、上海市場の動向が日米欧の市場に影響する傾向だったけど、
それも月末頃には大分柔らいできた様だ。

とは言え、意味の分からない乱高下を繰り返しながら、
気が付けばドル円は111〜114円の円高状態。

月末に開催されたG20で、自国の為替安誘導に対する非難声明が出されたが、
評価はマチマチの様で、今のところ効果は不透明。

そんな2月相場は、どうだったか。

年初の成績

通過 シグナル 売買勝 売買負 見送勝 見送負 無効 見送率 勝率
USDJPY 3 1 0 0 2 0 67 33
AUDJPY 2 0 0 0 1 1 50 0
CADJPY 1 0 0 1 0 0 100 100
EURJPY 1 0 0 0 1 0 100 0
GBPJPY 2 0 0 0 2 0 100 0
NZDJPY 3 0 0 0 2 1 67 0
TRYJPY 2 0 0 1 0 1 50 50
ZARJPY 0 0 0 0 0 0 0 0
AUDUSD 2 0 0 0 1 1 50 0
EURUSD 3 0 0 0 3 0 100 0
NZDUSD 4 0 0 1 2 1 75 25
合計 23 1 0 3 14 5 74 17

シグナルの正確さが6割強まで回復してきている。

のだけれど、日中の変動が大き過ぎて、良いタイミングで発注できなかった。

シグナルと発注状況

通過 買/売 日付 価格 Target LossCut 精度 シグメモ 発注メモ
USDJPY SELL 02/03 118.000 116.600 118.700 100% 見送り ×
USDJPY SELL 02/04 116.000 113.200 122.400 100% 売り x 5
USDJPY SELL 02/23 112.000 110.200 121.000 100% 見送り ×
02/24 111.000 二番底?
AUDJPY SELL 02/08 82.000 80.100 83.100 100% 見送り ×
02/11 79.880 ──── ──────
02/24 79.580 二番底?
AUDJPY BUY 02/25 79.580 84.450 80.400 100% 見送り
CADJPY SELL 02/23 81.450 79.350 83.400 100% 見送り
CADJPY SELL 02/23 81.500 79.900 83.400 100%
02/24 81.750
EURJPY SELL 02/16 127.150 126.450 130.000 100% 見送り ×
02/14 122.400 二番底?
GBPJPY SELL 02/08 168.400 163.200 169.800 100% 見送り ×
02/11 162.720
GBPJPY SELL 02/18 162.200 159.400 174.400 100% 見送り ×
02/24 154.680 底確認?
NZDJPY SELL 02/19 74.800 73.500 76.100 100% 見送り ×
NZDJPY SELL 02/23 74.400 72.500 75.600 100% 見送り ×
02/24 73.500 ──── ──────
NZDJPY BUY 02/25 75.700 76.850 74.600 100% 見送り
TRYJPY SELL 02/18 38.000 36.100 38.800 100% 見送り
02/24 37.600 ──── ──────
TRYJPY BUY 02/25 38.500 41.000 38.000 100% 買い x 2
TRYJPY BUY 02/25 38.450 40.000 38.050 100%
ZARJPY 02/02 7.390
02/24 7.060
AUDUSD BUY 02/03 0.7120 0.720 0.695 100% 見送り ×
AUDUSD BUY 02/25 0.7240 0.738 0.714 100% 見送り
AUDUSD BUY 02/25 0.7230 0.731 0.715 100%
EURUSD BUY 02/03 1.0950 1.119 1.080 100% 見送り ×
02/11 1.1318 ──── ──────
EURUSD SELL 02/15 1.1150 1.112 1.121 75% 見送り ×
EURUSD SELL 02/16 1.1130 1.096 1.120 100% 見送り ×
02/24 1.0956
NZDUSD BUY 02/03 0.6560 0.672 0.643 100% 見送り ×
02/04 0.6721 ──── ──────
NZDUSD SELL 02/12 0.6620 0.660 0.672 100% 見送り ×
NZDUSD SELL 02/16 0.6590 0.636 0.671 100% 見送り
02/24 0.6585 ──── ──────
NZDUSD BUY 02/25 0.6720 0.698 0.657 100% 見送り
NZDUSD BUY 02/25 0.6720 0.698 0.657 100%

Adobe DC/Readerの読み上げ機能がしつこいので

Adobe のpdfソフトが目紛しく更新されて、
段々と重くなっているなぁ、と思うこのごろ。

いつ頃からか、仕事のpdf書類を開くと
文章の読み上げ画面が表示される様になり、
特許資料などの大量に書類を見る作業の邪魔になっていた。

もう業務妨害と言って良い程。

設定画面を見ても、読み上げ機能を停める方法が分からず、
ネットで調べてみた。

職場で、pdfの読み上げ機能を使う事は無いだろうし、
以下の方法が確実で良さそう。

フォルダの場所は、バージョン毎に違いそうだけど
C:\Program Files (x86)\Adobe\Acrobat 11.0\Acrobat\plug_ins
にある、以下の2つのファイルを削除する。

  • Accessibility.api
  • ReadOutLoud.api

これで、読み上げ機能が無効化されスッキリ。

pdfファイルの読み込みが劇的に早くなるので
書類が沢山ある時の作業効率も、改善してラッキー。

というか、読み上げ機能のせいで、こんなに遅くなってたのか…
今迄の無駄に過した時間の長さを思うと、ちょっと残念な気分になる程。

OSX El Capitan のために Parallels Desktop をアップグレードして Windows10 を

MacBookPro Retina 2015 で使用していた Parallels Desktop 10 は
El Capitan と Windows10 に完全対応していなかったとか。

あまり気にせず Windows10をインストールしていたのだけど、
どうしてもExcelが必要な時以外は、実際には殆ど起動する事はなかった。

Parallels Desktop 11にアップデートしたところ、
非常に快適な事に気がついてしまった。

起動が早くなったので、ちょっとWindowsアプリ使いたい場面でも
さほど負担に感じなくなった。

そして、
Cortana の音声入力が地味に便利。

未体験だけど、
バッテリの持ちも改善したらしいので
起動しっぱなしでも良いかも知れない。

あまりに快適だったので、
MacBook Air にも Parallels Desktop をインストールしてしまった。

いちいちマイクロソフトにライセンス認証しないといけないのが
どうにかなれば、本当に快適。

emacs helm の設定を整理

2016/03/24 現在のhelmの初期状態が、
変更していた自分好みと殆ど同じになったので
設定を見直した。

;; ------------------------------------------------------------------------
;; @ helm
(require 'helm-config)
(require 'helm-command)
;;(require 'helm-descbinds)

;; 体感速度向上
;;(setq helm-idle-delay             0.2)
;;(setq helm-input-idle-delay       0.2)

;;(setq helm-candidate-number-limit 200)
(setq helm-mini-default-sources '(helm-source-recentf
				  ;;helm-source-files-in-current-dir
				  helm-source-buffers-list
				  ;;helm-source-buffer-not-found
                                 ))
(helm-mode 1)

;; Helm KeyBind
(define-key global-map [remap find-file] 'helm-find-files)
(define-key global-map [remap occur] 'helm-occur)
(define-key global-map [remap list-buffers] 'helm-buffers-list)
(define-key global-map [remap dabbrev-expand] 'helm-dabbrev)
(global-set-key (kbd "M-x") 'helm-M-x)

;;; helmで変更したい/したくないコマンド
;;(add-to-list 'helm-completing-read-handlers-alist '(find-file . nil))
;;  '((describe-function . helm-completing-read-symbols)
;;    (describe-variable . helm-completing-read-symbols)
;;    (describe-symbol . helm-completing-read-symbols)
;;    (debug-on-entry . helm-completing-read-symbols)
;;    (find-function . helm-completing-read-symbols)
;;    (disassemble . helm-completing-read-symbols)
;;    (trace-function . helm-completing-read-symbols)
;;    (trace-function-foreground . helm-completing-read-symbols)
;;    (trace-function-background . helm-completing-read-symbols)
;;    (find-tag . helm-completing-read-with-cands-in-buffer)
;;    (ffap-alternate-file . nil)
;;    (tmm-menubar . nil)
;;    (find-file . nil)
;;    (execute-extended-command . nil))



;; 自動補完を無効にする
;;(custom-set-variables '(helm-ff-auto-update-initial-value nil))

;; C-hでバックスペースと同じように文字を削除
;;(define-key helm-read-file-map (kbd "C-h") 'delete-backward-char)

;; TABで任意補完。選択肢が出てきたらC-nやC-pで上下移動してから決定することも可能
;;(define-key helm-read-file-map (kbd "TAB") 'helm-execute-persistent-action)


;; helm
;; minibuffer で C-k を押すと先頭から丸ごと削除され、kill ring に追加されないのを解決
;; → 今は不要
;;(setq helm-delete-minibuffer-contents-from-point t)
;;(defadvice helm-delete-minibuffer-contents (before helm-emulate-kill-line activate)
;;  "Emulate `kill-line' in helm minibuffer"
;;  (kill-new (buffer-substring (point) (field-end))))