作成者別アーカイブ: somof

python min/maxで、リスト中の最大/小値の場所も知りたい

備忘録。 なにげに便利な pythonのmin/max。

max(nums, key=abs)

とするだけで、絶対値の最大値を探してくれたり。融通が効く。

リスト中の最大値だけでなく、最大値があった添字(場所)も知りたい場合は

item = max([(v,i) for i,v in enumerate(list)])
item[1]

とか。

ネットで検索すると、辞書に変換してから key を出す人の方が多いみたいだ。

max(dict, key=(lambda x: dict[x]))

とか、

max([(v,k) for k,v in dict.items()])[1]

とか。

でも、 enumerate の方が可読性が良くて好きだな。

cygwinのファイルアクセスが遅い件:もっと解決編

magit を更新したら、表示が綺麗になった代わりに、反応がとても遅くなってしまった。

ファイルの更新情報を色々と表示してくれるのは助かるのだけど ファイルアクセスが遅い cygwin 上では、かなりストレスに感じる。

もちろん macやlinuxでは問題なくて、快適そのもの。

そこでもう少し、Cygwinのファイルアクセスの速度を改善してみる。

;; vc無効化は出きないけど、無力化が出来る
(setq vc-handled-backends ())
(eval-after-load ""vc""
  '(remove-hook 'find-file-hooks 'vc-find-file-hook))

まだ動作がモッサリした感じだけど、大分快適にはなった。

2015年の11月と12月の取引まとめ

不吉な「暗黒の10月」をしのいで、円安回帰になるかどうか?の年末。
年末の爆上げも爆下げもなく、静かに手仕舞いを終えた2015年。

市場の2016年の予想は、円高と円安に割れている様だ。

8月の大暴落はあったものの、終わってみれば、年間変動幅の小さな年だった。

# 市況
## 米国
十分に良好な経済指標が出てきていたこともあり、
17日に発表されたFOMMCの結果は、大方の予想通りの利上げだった。

今後じわじわと少しずつ利上げを継続することも合わせて発表されたが、
それも想定の範囲内。

あまりにも市場の予想のど真ん中だったためか、
一瞬ドル高になった後、それを帳消しにするドル安の動きになっている。

これ以上のドル高要素がないので、どちらかと言えば、ドル安の雰囲気だ。

2016年は、何度、どの位の利上げを継続するのか?
といったところが話題になりそうだ。

## EUの経済破綻と難民問題
あちこちで酷い状態になっている。
今のところ実需に大きな影響はないようだが、
じわじわ下がったかと思えば、それなりに反発する展開を繰返している。

ユーロ高になる要因もないので、基本的には下げていくのだろう。
中国との連動が強いことも気になるところ。

### フランス
11月13日金曜日に発生した連続多発テロで厳戒令が出ていたが、
騒ぎは治まりつつある。

影響は未知数。

### ドイツ
フォルクスワーゲンの不正が、テロ騒ぎで霞んでしまったけれど、
4兆円~8兆円とも言われる対策費用をどう捻出するのか?

移民問題と合わせて、問題が積算。
ユーロへの影響もあるだろう。

### トルコ
ロシアとのトラブルをどう決着するか不透明なまま年明け。
楽観的なトルコに対して、ロシア側の対応が強情な感じ。

### ギリシャ
もう話題にも上らない。

## 中国
今度は個人の為替取引の規制にまで乗り出した様だ。
中国が沈むと、ユーロとオセアニアを道連れにしてしまう。
多少のズルには目を瞑りつつ、早く軟着陸して欲しい、というのが市場の見方だろう。

## オセアニア
じわじわと値を上げてはきたが、これ以上になる大きな材料もない。
むしろ、中国に引き摺られて、落ち目が続きそうだ。

特に、NZDはしばらく面白みがない。

## 日本
12月18日に発表された日銀の追加緩和は、もう大した話題にも登らず。
そろそろ万策尽きた印象。

短期的にはともかく、長期的にはオリンピック以外に上げ要素が見付からない。

# 裁量取引の成果と課題
発注スタイルをIFD+OCOに変えて、必ずロスカットを最初に設定しておくことにしたが、
どうも、却って利食いの機会を逃した上に、損をすることが多かった。

年末のポジション調整を除けば、概ね計画通りに3〜5万円の利益を達成した。
年間では、丁度100万円位。

2016年は、自分のルールをキッチリ守って取引をしよう。

# トラリピ/ループイフダン成果
今年の後半は殆どスワップ収益で、リピート益が少なくなってしまった。
それでも、年末のポジション調整を除けば、安定的に30万円位の利益を続けてくれた。
年間の利益率では裁量取引と変わらないけれど、浮き沈みが少ないのが嬉しい。

dyerware.com



dyerware.com


# 今後のトラリピの課題
トラリピと言えども、損切りが重要だと言うことを実感した。
高値ポジションを整理して、安全圏を維持する。

来年中には、身軽にしておきたい。
特に、利益率の落ちた、AUDJPYとNZDJPYを縮小していく。

# 今後のループイフダンの課題
トラリピよりも利益率が高いものの、リスク管理が難しいので、維持率は高目にしておく必要がある。

損益がバランスしたところで、AUDJPY_B20 を廃止する。
USDJPY_B15_15 を、127円を目処にS15に切り替える予定でいたが、
もう少し早め、124円くらいの方が良いかも知れない。

# 今後の計画
MT4の売買を始める。

2015年の10月末までの取引まとめ

中国株式から始まる世界株安をキッカケに散々だった9月から
不吉な「暗黒の10月」へ。

中旬までダラダラと狭い範囲のレンジ相場が続いた後、
一段円高方向にシフトしたまま、再びレンジ相場で月末を迎えた。

とは言え、
ここから更に円高に荒れていく様なら炸裂するはずの黒田バズーカと、
米国の利上げを折り込み続けて数ヶ月のドル高期待が、
市場を疑心暗鬼にさせて、方向感を失なってしまっている。

レンジ抜けする材料が無いまま、
10月のFOMCと日銀金融政策決定会合でも動きはなく、
材料が無いまま月末を迎えた。

# 市況
## 米国
9月の良好な指標には市場は動かなかった。

10月に入って発表された米雇用統計は、予想よりも大幅に低いものだった。
一気に株安、ドル安か!と思った瞬間
結果的に原油高になる事を見越した買いと、原油高を好感した関連株高から
全体的な株高に繋がり、ぐるっと回ってドル高になるという、
唖然とする展開になった。

FRBは年内に利上げをすると宣言したものの、
その後の10月の指標もイマイチで、
年内利上げの可能性は、徐々に薄れてきている。

貿易赤字拡大も合わせて、急速に米国の指標が冷え込み
ますます年内利上げは困難に見える。

## EUの経済破綻と難民問題
## ギリシャ
もう話題にも上らない。
ただ、健全化は近い、とのニュースを上旬に見掛けた。
EUは、もうそれどころじゃない。

## ドイツ
フォルクスワーゲンの不正がどう決着するのか。
発覚当初、対策費用は2兆円とも4兆円とも言われていたが‥
今月は4兆円~8兆円と、とんでもない金額になってきている。

更に、シリアからの難民はドイツを目指している。
これが、どう転ぶのか。

## トルコ
シリア空爆と政治空白で泥沼化。
米国の誤爆もあいまって、トルコ国内の治安も悪化している。

その中で、リラはじりじりと反発修正してきたが、
11月の再選挙も与党が勝つ見込みはなく、
どうなるのか不透明なまま月末。

## 中国
相変わらず、都合の良い時だけ先進国を主張し、現実味のない事を良い続ける中国。

未だに6.9%の成長率を達成する見込みだと報道されているが、
中国政府が好評する経済指標を、もう誰も信じていない。

実質3%程度だろう、というのが市場の見方。

このまま官製相場で収束するか、構造改革しつつ軟着陸できるか?

## オセアニア
オセアニアとしては、通貨安を望んでいたのだろうが、そろそろブレーキがかかる頃合い。

一時の高金利通貨への過熱が消えて無くなったので、
政策金利を下げ続ける大義名分が無くなった。

オージは、RBAが金利を据え置いたことで急反発。
キューイは出遅れたものの、乳製品の価格上昇に合わせて反発中。

自然と半値戻し位にはなる流れ。

## 日本
そろそろ黒田サプライズがあっても良い頃合い。
だけど、じわじわと株価も戻し、円高圧力が弱まって来ているので、
バズーカは温存される可能性が高まってきた様に感じる。

米国の利上げが来年まで先送りになるとすると、
尚更日本は何もする必要がないので、
年内はこのまま動きの少ない状態が続くかも知れない。

米国が利上げを強行した場合、
最悪は市場が混乱して、急激にドル高円高方向に振れる可能性がある。
ただこれも、
もう長い事盛り込み済みの話なので、市場は白けた反応をする可能性も結構ありそう。

# 裁量取引の成果と課題
ポジション整理の結果、10月末には取引を再開できた。

レンジ相場的な動きが強く、結果騙しになるケースが半分弱。
しばらく、打診買い程度で様子をみている。

利益は5万円程度。

# トラリピ/ループイフダン成果
今月は、通常通り30万円以上の利益を上げることが出来た。

dyerware.com



dyerware.com


dyerware.com



dyerware.com


# 今後のトラリピ/ループイフダンの課題
## ループイフダン
ループイフダンは、損益をみつつAUDJPY_B20 を廃止する。

USDJPY_B15_15 を、当初の予定通り 127円を目処にS15に切り替える。
それまでは放置。

## トラリピ
トラリピは、高値ポジションを徐々に解消していく。
あとは、通常通りの仕掛けに戻していく。

## 裁量取引
TRYJPYのナンピンを継続。

この数ヶ月、トラリピに頼り過ぎていたのを反省し、
テクニカル指標に従った裁量取引を本格的に戻していく。

為替予想再開への準備運動 その2

この3ヶ月間のバックテストの結果をレビューしてみる。 その2。

通貨別バックテスト結果のまとめ (30日、60日、90日)

それぞれの通貨のシグナルの回数と、勝敗結果。

通貨 回数     利益機会     勝敗    
  30日 60日 90日 30日 60日 90日 30日 60日 90日
USDJPY 4 1 1 1.78 2.18 4.23 LLLW W W
AUDJPY 1 4 6 3.60 7.50 10.20 W WWWW WWWWWW
CADJPY 2 9 1 1.75 3.00 8.25 WW WWWWWWWWW W
EURJPY 2 3 7 4.28 5.28 1.93 WW WWW LWWWWWW
GBPJPY 4 5 1 3.80 10.72 7.20 WWWW WWWWW W
NZDJPY 2 1 3 6.85 6.55 11.60 WW W WWW
TRYJPY 1 7 7 1.91 2.85 4.80 W WWWWWWW WWWWWWW
ZARJPY 0 1 1 0.00 0.23 0.23   W W
AUDUSD 1 6 2 1.66 3.96 5.10 W WWWWWW WW
EURUSD 2 9 12 5.84 5.85 7.50 WW WWWWWWWWW WWWWWWWWWWWW
NZDUSD 2 4 7 6.15 4.55 2.10 WW WWWW WWWWWLW
合計 21 50 48 37.62 52.67 63.14      

今週までの3ヶ月間を通して、それなりに値幅が取れて予測可能だった通貨は、 AUDJPY、EURJPY、NZDJPY、AUDUSD、EURUSD、NZDUSDあたり。

USDJPYは見事なレンジ相場で、テクニカル指標はダマシが多い。

細かくバックテストの結果を見て行くと

3種類のバックテストの結果を定性評価してみた。

通貨 sim1 sim2 sim3 メモ
USDJPY ×     少し前の水準に戻ったところ、慎重に
      10/23 BUY 121.430 T 123.250 L 119.900 D -1.530 +1.820 (36) エネルギーはかなり貯まっている
      × 10/23 BUY 121.430 T 127.600 L 119.600 D -1.830 +6.170 (31) エネルギーはかなり貯まっている
AUDJPY ×      
       
      10/23 BUY 87.610 T 89.000 L 86.500 D -1.110 +1.390 (14) いびつなシグナル
CADJPY     92.3 を越えれば 93.5 まで
      92.3 を越えれば 92.975 まで
      ×  
EURJPY     10/23 SELL 133.720 T 132.900 L 135.600 D -1.880 +0.820 (8) ターゲットに至らず大幅反落中
    ×   10/23 SELL 133.720 T 131.600 L 136.400 D -2.680 +2.120 (11) 綺麗な反落中 132.6 くらい有り得そう
      10/23 SELL 133.720 T 134.950 L 135.600 いき過ぎ感のある反落中
GBPJPY     10/23 BUY 185.920 T 185.500 L 182.500 ターゲットを越えて上昇中 187.45 も有り得る
      10/23 BUY 185.920 T 185.850 L 181.200 丁度ターゲット水準
      × 10/23 BUY 185.920 T 188.800 L 181.200 D -4.720 +2.880 (7) 今度こそ 189円のせするか?
NZDJPY     10/23 BUY 81.950 T 82.300 L 79.400 D -2.550 +0.350 (4) 持ち直して再度上昇中
      10/23 BUY 81.950 T 83.200 L 79.400 D -2.550 +1.250 (6) 微妙に有り得そうな形
      × 10/23 BUY 81.950 T 82.650 L 79.350 D -2.600 +0.700 (5) 82.65くらいは有りそう
TRYJPY     ターゲット到達後の反落中
      ターゲット到達後の反落中
      ターゲット到達後の反落中
ZARJPY      
      8.85 を下れば 8.0 まで大幅下落
      8.85 を下れば 8.0 まで大幅下落
AUDUSD     10/23 SELL 0.721 T 0.712 L 0.736 D -0.015 +0.009 (9) 綺麗な反落
      10/23 SELL 0.721 T 0.719 L 0.736 D -0.015 +0.003 (6)
      10/23 SELL 0.721 T 0.707 L 0.735 D -0.014 +0.015 (10)
EURUSD     10/23 SELL 1.101 T 1.091 L 1.127 D -0.025 +0.011 (7) ターゲット到達後の大幅反落、行き過ぎ感あり
      10/23 SELL 1.101 T 1.127 L 1.147 到達済み 大幅に行き過ぎ感あり
      10/23 SELL 1.101 T 1.127 L 1.147 到達済み 大幅に行き過ぎ感あり
NZDUSD     蓄積中 0.6690 より下げれば 0.651 、 0.678 より上げれば 0.700 まで
      蓄積中 0.6700 より下げれば 0.664 、 0.679 より上げれば 0.686 まで
      蓄積中 0.6703 より下げれば 0.683 、 0.679 より上げれば 0.682 まで

週末に大きな動きがあったばかりなので、シグナルの出方はまちまちで方向感が明確じゃない。

USDJPY が更に上昇するか、いつも通り反落するかで、変わってきそうなので、 来週は様子見かな。

考察

sim1〜sim3 は、最適化する期間が違うだけなのだけれど、 これだけバラつくのは、過学習してしまってるんだろうなぁ。

ターゲットへの値幅が小さ過ぎるのが多いし、 最適化の都合でシグナルが消滅してしまうのは扱いにくい。

最適化の方法から見直した方が良さそうだ。

El Capitan のその後: Homebrew と pip の不都合修正

El Capitan をインストールした後 Homebrew や pip で新規インストールや update/upgrade が出来ない事に気付いた。

/usr/local の所有者が root になっていて書き込めないのが原因。

brew update / upgrade できない

/usr/local の所有者をユーザに変更する。

sudo chown -R $(whoami):admin /usr/local

パーミッションに書き込み許可を追加

/usr/local の所有者をユーザに変更すれば凡そ解決なのだけれど、 うちの Mac は、 MacBook Pro も Air も numpy が更新できなかったので、 これも修正する。

書き込み付加のパーミッションが無いために upgrade できないが問題。

なので。

find /usr/local/lib/python2.7/site-packages/numpy -type f -ls -exec chmod 0755 {} \;
sudo chown -R $(whoami):admin /Library/Python/2.7/site-packages
find /usr/local/Cellar/numpy/1.10.1/lib/python2.7/site-packages -type f -ls -exec chmod 0755 {} \;
find /usr/local/Cellar/numpy/1.10.1 -type f -ls -exec chmod 0755 {} \;

為替予想再開への準備運動

2015年も秋の収穫期に突入してしまった。 相変らずテクニカルの指標は不揃いで 自信を持てるシグナルが少ない状況に変化なし。

ただ、バックテスト上で個別の通貨を見ていると、 良い結果を出すシグナルが増えてきた。

そこで、この3ヶ月間のバックテストの結果をレビューしてみる。

この3ヶ月の利益機会 (30日、60日、90日)

テクニカル指標の売買シグナルに全て対応出来たとしたら、利益機会はこれだけあった。 単位は円(100pips)。

  30日間 60日間 90日間
買い 30.720 31.010 25.285
売り 18.550 44.950 72.705
合計 49.270 75.960 97.990

休場しないで真面目に取引していたら、そこそこ利益になってたんだなぁ。

あくまでバックテストなので、どの位将来まで使えるかどうかは分からないけれど、 ボラリティが復活しつつああり、買いエネルギーの方へとバランスが移動しているみたいだ。

通貨別バックテスト結果のまとめ (30日、60日、90日)

それぞれの通貨のシグナルの回数と、勝敗結果。

通貨 回数     利益機会     勝敗    
  30日 60日 90日 30日 60日 90日 30日 60日 90日
USDJPY 4 2 1 0.65 2.35 3.60 LLLW WW W
AUDJPY 1 4 6 3.60 7.50 10.20 W WWWW WWWWWW
CADJPY 2 3 1 1.75 2.70 8.57 WW WWW W
EURJPY 4 4 6 4.85 4.22 1.70 WWWW WWWW WLWWWW
GBPJPY 1 6 1 3.80 13.05 7.20 W WWWWWW W
NZDJPY 1 1 3 5.20 6.00 11.05 W W WWW
TRYJPY 3 5 5 1.32 1.96 2.80 WWW WWWWW WWWWW
ZARJPY 1 4 2 0.41 0.56 1.12 W WWWW WW
AUDUSD 3 2 3 0.02 0.06 0.07 WWW WW WWW
EURUSD 2 9 11 0.04 0.06 0.07 WW WWWWWWWWW WWWWWWWWWWW
NZDUSD 2 5 7 0.06 0.04 0.02 WW LWWWW WWWWWLW

こうして見ると、この3ヶ月間を通して、それなりに値幅が取れて予測可能だった通貨は、 AUDJPY、EURJPY、NZDJPY、TRYJPY、ZARJPY、AUDUSD、EURUSD、NZDUSDあたり。

USDJPYは見事なレンジ相場なので ループイフダンで儲かっているけれど、 USDJPYのテクニカル指標はダマシばっかりだったんだなぁ。

細かくバックテストの結果を見て行くと

バックテストは3種類計算しているので、それぞれの様子を定性評価してみた。

通貨 sim1 sim2 sim3 メモ
USDJPY × 短期はダマシ多い/戻りが弱い/最悪117〜113円
AUDJPY  
CADJPY  
EURJPY  
GBPJPY     10/14 BUY 184.200 T 186.400 いい感じのシグナル
      10/17 BUY 184.470 T 185.850 いい感じのシグナル
      × 10/17 BUY 184.470 T 188.800 いい感じのシグナル
NZDJPY ×     10/17 BUY 81.400 T 81.900 頭打ち/延びれば84.1
    ×   10/17 BUY 81.400 T 82.200 頭打ち/延びれば84.2
      × 10/17 BUY 81.400 T 81.900 頭打ち/延びれば84.2
TRYJPY  
ZARJPY     10/17 BUY 9.062 T 9.135/9.24 ターゲット到達済み
      10/17 BUY 9.062 T 9.120/9.24 ターゲット到達済み
      × 10/17 BUY 9.062 T 9.960/9.33 良い形だけど遠い
AUDUSD  
EURUSD  
NZDUSD 10/17 BUY 0.681 T 0.684/0.702 頭打ち/抜ければ…

なんとなくまとめると。 AUDJPY、EURJPY、EURUSD、NZDUSDあたりは、そこそこ予想が当っていて利益機会も多かった。 予測は余り当らなかったけれど、そこそこ利益がとれたのは GBPJPY、NZDJPY、ZARJPY。

今現在は、その微妙な3通貨にシグナルが出ている。

  • GBPJPY 買い 185.85, SL 181.2/182.4
  • NZDJPY 買い 81.90, SL 75.8/79.2/79.4/79.35
  • ZARJPY 買い 9.120, SL 8.595/8.82 (10/19ターゲット到達済み)

少し打診買いしてみるか。

もはや ドル安=円高 ではない

この1〜2年は、ドル安=円高 と考えて不都合なかったけど、 この1ヶ月で様子が違ってきた。

対ドルで円高になった日でも、 他の通貨に対しては変化なしか円安に振れることが増えてきた。

リスク回避とドルの金利上げ期待に振り回されて、 円とドルで資金がピンポン状態で移動していたのが、変化してきている。

リスク選好とまでは言わないけど、 高金利通貨に資金が戻り始めたという事なんだろう。

アベノミクスの株高演出も終わって、正常化していくのかな。

恐しいのが USDJPY の円高リスク

テクニカル指標上では、113〜117円の円高ドル安に相当するエネルギーが貯まっている。

ドルの金利期待が徐々に薄れてきているし、黒田バズーカへの警戒も根強いから、 うやむやになる可能性はあるけれど、瞬間117円到達なら十分にありそう。

117円位なら基本は静観。113円だとキツイなぁ。 ともかく、ドルのポジションには要注意。控え目にしておこう。

MacBook Air 2014 / MacBook Pro Retina15 2015 に OS X El Capitan を上書きインストールした結果 その後

多少応答が速くなったような気がしていた El Capitan だけど、 1日もすれば、気のせいだったのかなぁ、と思う位の違い。

大した機能追加もないので、ささいな不具合の印象の方が強い。 ちょっと、使用感をまとめてみた。

El Capitanのその後: 毎度毎度 Wi-Fi の不具合

一番直して欲しい不具合。

主にDHCPの不具合で、サスペンドした後などにネットが不通になる問題で、 大抵は一旦WiFiを切って再接続するか「DHCPリースを更新」すると直る。

ルータ側のDHCPリースタイムは無制限にしてあるので、Mac側の問題のはず。

「主に」と言うのは、たまにPCを再起動しないと戻らない事があるためで、 これが本当に大迷惑。 Yosemite からの問題がそのまま。いい加減対策してほしい。

El Capitanのその後: サードパーティの対応、ESET と Paralles Desktop

ESETが未だに対応してくれなかったり、 Paralles Desktop でアップグレードする必要があったり、 サードパーティの対応が良くない。

Paralles Desktop にはアップグレード費用が必要。(しないけど)

El Capitanのその後: 日本語のライブ変換

機能的には便利なのだけど、キーの応答が遅くてストレスになるなので、 結局 Google日本語変換に戻して使っている。

El Capitanのその後: メニューバーを自動的に隠す機能

これは特に Airでは便利に感じている。

ただ、まだアプリ側の対応が十分でないらしく、 ちょいちょいウインドウの位置が下側にズレてしまう。

El Capitanのその後: Spotlight

インストール直後は便利そうに感じたのだけど、使用する機会がまだ無い。

うちのMacは開発用PCで、ソースファイルの検索方法は別にあるし、 包括的な検索手段ってのはあまり必要ないみたいだ。

cygwinのファイルアクセスが遅い件:解決編

もうmagit無しではemacsでコーディングできない体になってしまった。 さらに便利を求めて git-gutter-fringe+ をインストールしたところ、 Macではもう最高の使い心地。

だけども。 これをCygwinとntemacsで使うと、しょっちゅうプチフリーズしてしまう。 Cygwinのファイルアクセスが異常に遅いせいなのだけれど、 仕事上Cygwin環境は必須だし、git-gutterは手放したくないし。

いくら便利でも、作業中に30秒も固まられると、さすがに我慢できない。 いい加減、ちゃんとCygwinに対策をしなければ…

と言う訳で。

Cygwinの起動やファイルアクセスが遅くて怪しい場合に

CygwinのFAQサイト を検索してみた。

以下、Cygwinのページから引用。

4.2. Starting a new terminal window is slow. What’s going on?

There are many possible causes for this.

~snip~

For almost all its lifetime, Cygwin has used Unix-like /etc/passwd and /etc/group files to mirror the contents of the Windows SAM and AD databases. Although these files can still be used, since Cygwin 1.7.34, new installations now use the SAM/AD databases directly.

To switch to the new method, move these two files out of the way and restart the Cygwin terminal. That runs Cygwin in its new default mode.

~snip~

For the AD case, it can be slower than the old method, since it is trading a local file read for a network request. Version 1.7.35 will reduce the number of AD server requests the DLL makes relative to 1.7.34, with the consequence that you will now have to alter /etc/nsswitch.conf in order to change your Cygwin home directory, instead of being able to change it from the AD configuration.

If you are still experiencing very slow shell startups, there are a number of other things you can look into:

One common cause of slow Cygwin Terminal starts is a bad DNS setup. This particularly affects AD clients, but there may be other things in your Cygwin startup that depend on getting fast answers back from a network server.

~snip~

Another cause for AD client system is slow DC replies, commonly observed in configurations with remote DC access. The Cygwin DLL queries information about every group you’re in to populate the local cache on startup. You may speed up this process a little by caching your own information in local files. Run these commands in a Cygwin terminal with write access to /etc:

getent passwd $(id -u) > /etc/passwd getent group $(id -G) > /etc/group Also, set /etc/nsswitch.conf as follows:

passwd: files db group: files db

~snip~

Either in addition to the previous item or instead of it, you can run cygserver as a local caching service to speed up DC requests.

~snip~

A less preferable option is to create a static read-only cache of the authentication data. This is the old-fashioned method of making Cygwin integrate with AD, the only method available in releases before 1.7.34. To do this, run mkpasswd and mkgroup, then put the following into /etc/nsswitch.conf to make Cygwin treat these files as the only sources of user and group information:

passwd: files group: files

~snip~

If none of the above helps, the best troubleshooting method is to run your startup scripts in debug mode. Right-click your Cygwin Terminal

~snip~

4.3. Why is Cygwin suddenly so slow?

If suddenly every command takes a very long time, then something is probably attempting to access a network share. You may have the obsolete //c notation in your PATH or startup files. Using //c means to contact the network server c, which will slow things down tremendously if it does not exist.

要するに、ドメインで使っている会社のPCで遅くなる原因は。。。

  1. cygwinを 1.7.35 以降の最近のバージョンにする (古いのは遅い)
  2. DNSのIPアドレスが間違っていると、長い待ちがおこる
  3. ドメインじゃないなら、 /etc/passwd と /etc/group を消すと良いかも(知れない)
  4. ドメインなら、ドメインコントローラの返事が遅いのかも
    • その場合、passwd/group をキャッシュして高速化できる
    • cygserverでドメンインキャッシュサーバをたててみても良いぞ
    • そもそもドメインにアクセスするの辞めちゃえば? (ADが更新しても知らんけど)
  5. それでもダメならデバッグモードで起動してみな
  6. ひょっとして ‘//c’ とか書いてない?

DNSが関係しているのは分かっていたけど、 会社のドメインコントローラが遅いとは疑っていなかった。 Windowsでは困ったことないし。

でもやってみよう。

まずはバージョン確認

以下のどちらかで確認できる。

uname -a
cygcheck -c cygwin

2.2.0 だったので、問題なし。

/etc/passwd と /etc/group の削除

cygwinでドメインに関係するような事はしないし、 むしろ悪さしそうなので、まず削除して様子をみてみた。

数時間使ってみて、酷いフリーズは経験しなかったけれど、 プチフリーズが解決したかと言うと、ちょっと分からない。

AD情報のキャッシュ化

ドメインの情報を削除するのも危険な気がしたので、 一応キャッシュしておいて、様子をみてみた。

ドメイン情報のキャッシュは、こうしてとれる。

getent passwd $(id -u) > /etc/passwd
getent group $(id -G) > /etc/group

その後、 /etc/nsswitch.conf を編集して、 ADにアクセスするより先にキャッシュ(files)を見るように変更する。

passwd: files db
group:  files db

正直、これも良くなったのか悪くなったのか分からない。

そもそもドメイン情報を使わないようにする

いくつか試してみた結果、 /etc/passwd と /etc/group を削除してしまうことにした。

実はこの状態でも、ドメインでアクセス管理しているネットワークサーバの ファイルにアクセスできたのだった。しかも今迄よりもサクサクと。(汗)

まだ、たまにフリーズはするものの (キャッシュはあった方が良いのかも知れない)、 全体的にファイルアクセスが軽快になった。

無くて良いものは、無い方が良い。 この状態で、またしばらく使ってみようと思う。

MacBook Air 2014 / MacBook Pro Retina15 2015 に OS X El Capitan を上書きインストールした結果

10月1日に一般公開された OS X El Capitan。 2、3問題があって、配布当日のインストールは見送っていた。

  • 使用しているセキュリティソフト ESET がまだ未対応
  • 常用している Homebrew を消される可能性がある (あった)
  • Paralles Desktop が完全対応していない (アップグレード費用が必要)

配布から2日経った段階の評判が良かったので、上書きインストールしてみたところ、 全体的に動作が機敏になった以外には大きな変化もなく、ESET以外の不安が無くなった。 少し触ってみた感触では、Yosemiteと何にも変わらない。

MacBook Air 2014 については、 Snow Leopard,Merberick,Yosemite と上書きインストールして来ていて、 毎回SSDの残り容量が減ってきていてたのだけれど、El Capitanでは空きが 5GB 増えた。 これだけで、El Capitan をインストールした甲斐があったかも知れない。

MacBook Pro Retina15 2015 については、 Airに比べて動作が機敏になったのが体感し易いが、基本的にはYosemiteと変わらない。

念の為、変わったはずの部分を確認しながら、これは重要と思ったものから順に ファーストインプレッションをまとめておく。

上書きインストールに必要な時間

インストールプログラムを起動し、途中で何か選択肢が出るだろうと、 ボタンを押して進めていったら、あっさりとインストールが始まってしまい、 後戻りが出来ないので、何となくインストーラを起動するのは要注意。

MacBookAirの場合、大体40分で上書きインストール完了。 MacBookProでは20分くらい。(SSDが倍速いというのは本当らしい)

/usr/localの使用量が多いとインストールに時間がかかるという前情報があったが、 どちらもHomebrewで /usr/local を 1.7GBほど使用していて、この位の時間で終了した。

El Capitanの感触: ESET

非対応と言われていた ESET は、特にエラーやワーニングも出さず、 普通に動いている様に見える。

正式対応までは、リアルタイム保護とファイヤウォールを無効にしておくことにする。

El Capitanの感触: PDFの表示が高速化(素晴しい)

今迄がWindowsより遅過ぎたのだけど、PDFの表示が恐しく高速化した。 やっとSSDらしい速度になって、これは便利になりそう。

SSDが高速な MacBookPro2015だけでなく、 MacBookAir2014でも かなりの高速化を体験できる。

これは、出先で資料を確認するのに、すごく助かる。

El Capitanの感触: メニューバーを自動的に隠す機能

システム環境設定>一般に「メニューバーを自動的に隠す」オプションが。

画面が11インチのMacBookAirでは、これで1行多く表示できるようになるので有難い。

El Capitanの感触: Spotlight

以前のSpotlightは今いち中途半端だったし、emacsとキーバインドが被るので 使っていなかったのだけど、今回のは使い易そう。

システム環境設定>キーボード>Spotlight でShift+Command+Space に割り当てて、 しばらく使ってみる。

El Capitanの感触: 日本語のライブ変換

ATOKみたいに、どんどん勝手に変換してくれるようになった。 日本語だけの文章は、大分快適に入力することができる。

全般的には快適だけど、アルファベットが混じった文章は苦手なので、 技術的な報告書には向かないかもしれない。

しばらくGoogle日本語変換の代わりに使ってみようと思っている。

El Capitanの感触: ターミナルのバージョンアップとショートカットキー

最近のターミナルと同じ様にタブが使えるようになり、地味に便利。

別のターミナルをインストールする必要が減る。

あと。 Command + ↑/↓ ショートカットキーで、コマンドの履歴がハイライト表示される。

El Capitanの感触: パフォーマンス改善

AirもProも、 Blenderが、気持ちサクサクと動くようになった気がするけれど、 Matplotlibの表示(元々Airは遅い)には変化は感じられなかった。 特に Pro の方では、ウインドウの切り替えが早くなった気がする。

どっちにしても、明日には差が分からなくなる程度の違いだと思う。 「倍速くなった」と言うのは、言い過ぎだと思う。

どちらかと言えば、バッテリーの持ちへの効果の方を期待したい。

El Capitanの感触: 新しいMission Control

もともと微妙な使い勝手だったのが、大分見易くなった。 Split View 機能を設定するのにも、Mission Controlを使うのが分り易い。

ただ、普段は Command + TAB でアプリを切り替えているので、 今後もあまり使わないと思う。

El Capitanの感触: Split View 機能

そもそもOSXはマルチウインドウなので、同じ様なことは元々出来る。

Split View では、メニューバーの幅の分、画面を広く使える効果はあるのだけど、 上述の「メニューバーを自動的に隠す」オプションも追加されたので、 Split View のメリットが良く分からない。

Webページを見ながら、テキストエディタに何か書くような状況では便利かも知れない。 Split View にするまでに何ステップかの手間がかかるので、それなりに時間がかかる 作業でないと、使う気にはならないだろうし。

また、 アプリ毎のフルスクリーンやCommand + TAB 操作と完全には連動していないのが残念。 元々のフルスクリーンアプリと Split View が混在していると、 望みのアプリに切り替えるのに混乱することがある。

直感操作に拘りのある Apple にしては、ツメが甘い印象。

El Capitanの感触: マウスポインタをシェイクして大きくできる

これは微妙。 1秒くらいシェイクしないとカーソルが大きくならない。 この1秒を短縮するオプションは無いみたい。

El Capitanの感触: 新しいフォント関係

新しく、綺麗なフォントになったらしいが、 常用しているソフトでは恩恵を受けられない。

フォント関係では、文字単位で表示が乱れる不具合をたまに見付ける。 表示を更新すると正しく表示されるので、さほど深刻ではない。 アプリ側の対応がしっかりしてくれば、徐々に無くなるのだと思う。

El Capitanの感触: 新しいSafari

バッテリーの持ちが良いというのが売りだけども、その分モッサリ。

使い勝手は、やはりChromeの方が上だなぁ。 今回もSafariは使わない予定。

El Capitanの感触: 新しいメール

インストール直後に新規メールを取り込んだ後、何故か更新できず。 今迄も設定した後使っていなかったから実害はないから良いけど。

他所の人にも不具合が起っている様なので、メールアプリを使っている人は要注意。

El Capitanの感触: 新しいNotesアプリ(メモ)

クラウドのメモを使っていると、特に必要は感じないアプリ。 Appleに囲われてしまうのはチョットいやなツールでもあるので 多分今後も使わないなぁ。

El Capitanの感触: トラックパッドの新しいジェスチャー操作

対応しているのはメールアプリだけのようなので、関係なし。