2016年1月31日日曜日

Mac OSX El Capitanの日本語入力について

MacのOSX、El Capitanにしてみました。(いつも通り、しばらく様子を見ていました。brewとかなんだかんだ入れているので、いきなりは怖いです)

こちらはWindowsほど劇的な変化はありませんでしたが、使い勝手で一番戸惑ったのが「日本語入力」です。デフォルトが自動変換になってました。Google日本語入力でもありましたが、強力な予測変換で、ユーザーが変換の意思を「スペースキー」を押さなくてもいいようにしてくれるんですが、自分的にはこれ大嫌いです。

OSが勝手に漢字変換を、意図しないタイミングでしてしまうのと、その瞬間どうしてもPCの動きが止まります。よどみなくタイピングしている最中に、意図しない漢字変換されてしまうとものすごいストレスを感じます。もうすぐに「自動変換」をオフしてしまいました。
MSとかApple、Googleはこの辺どう考えているんだろう?仕事でPC使っている人間には、どう考えても今の予測変換の実装はマイナスにしかなりません。(まだ、ガラケーやスマホの予測変換みたに、別領域に変換候補がでてきて、ユーザーが必要ならそれを選ぶ方式なら我慢できますが、入力しているカーソル部分で強制的に第一候補を表示してしまうのは困る。)変換候補を別領域に表示、選択はファンクションキーがいいと思うんだが、どうなんだろう?日本語意外の他の「非英語圏」のUIはどんな使い心地なのか気になります。

windows10について

自分のメインPC(Core2 Quad win7 64bit)を何時かwin10にしないといけないと思いながら、タイミングを計ってきました。他のPCは特に考えずに適当に更新をトライしてましたが、こいつだけは銀行のHP見たりするヤツなんで慎重です。
win10も発表から何度かUpdateがされ、金融機関から最初は出ていた更新を待ってくれという警告もなくなったので、そろそろ試してみるかとやってみました。

最初に感じたのが、とにかく時間がかかること!まあ、OSのメインバージョンの更新なんだから、当たり前なんですが問題は更新後です。
自宅のPCで、EPSONのノートPC(Win7)がWin10に更新できませんでしたが(最後に問題が発生しました。HDDのパーティションの切り方が特殊なようです)、プリンタ・スキャナのドライバが最初は対応してくれず、ドライバの再登録などして何とか使えるようになりました。
後、更新後しばらくは「無茶苦茶遅い!」と感じました。Win10にしたら快適になると聞いていたんですが、「ダメじゃん」という感じ。調べてみると、暫くの間は「自動メンテナンス」で調整をする時間が必要なようです。数時間から1日くらいPCの電源入れっぱなしにして、MSとデータ交換しないといけないようです。

また、安定しても基本認証にMSとインターネットで通信しまくる仕様のようで、パフォーマンスモニタとか見てると、いつもネットワーク通信しています。そうそう、PCへのログイン・アカウントがそれまでのから、強制的にMSのアカウントに切り替えられてしまいました。(設定の途中で、MSのアカウント入力をさせる箇所があり、そこで入力してしまったせいでしょう)これではネットワークがない状況だとどうなるんだろう、という感じです。(最初から、ネットワークなしの状況で設定してればいいんでしょうが、一旦ネットワークがある状況で設定してしまうと、その後はタイムアウト待ちをするしかない?)

前回のWin8がひどい出来だったので、ほとんどWin7の操作に戻った感じですが、全体的に「常時オンライン」が前提のOSになってしまったようです。これはこれで、鬱陶しい!反応が鈍くなるんですよ。しかし、セキュリティの事を考えたらWin10に更新せざるをえません。付き合い方を考えるしかありませんね。

後、困ったのがウイルス対策ソフトのDefenderです。Google Drive等からファイルをDLすると自動的にスキャンしているようなんですが、時間が10~20秒くらいかかり、その間ファイル名の変更ができません。(Defenderがファイルをつかんでいるから)ちょっとこれにはまいりました。何とかなりませんかね。(時間がかかりすぎ。もしかしてパターンチェックか、データをMSに送っているのか?)

2016年1月6日水曜日

python:virtualenvメモ

ここのところchainer, TensorFlowとpythonを使ってみることが多かったのですが、他の方はよく

$ virtualenv

というコマンドを使って、そこに環境を構築していました。名前からすると「何らか」の仮想環境を構築するものなのでしょう。ちょっと調べてみると、python専用のライブラリを「試しで」作るときに、メインの環境にダメージを与えないようにするものでした。要は、VMwareやDocker(こっちの方が間隔的に近い)の様な仮想環境ですが、python限定なのが特別です。(ただ、試しにやってみたら、頑張れば、その中でのみ連携して動くJavaやc++のライブラリ、プログラムも入れれそうな感じです。ただ、Javaやc++のライブラリが特別な別のパッケージを要求していると、かなり大変そう。)

1.インストール
pipコマンドが使えるようになっているなら簡単です。

$ pip install virtualenv

これだけです。(中身は10行くらいのpythonスクリプトです)

2.仮想環境の構築
以下のコマンドだけです。

$ virtualenv testenv

これで、testenv/というディレクトリが作成され、配下に以下のディレクトリが作られます。

bin/ include/ lib/ local/

ここに当該OS環境におけるpython環境がコピーされてきます。(後で追加したpackage等は入っていません。使いたい場合はここで再構築です。)

3.仮想環境の実行
この環境でpythonのあるpackageを試してみたくなったら、以下の手順になります。

$ cd testenv
$ source bin/activate

この"activate"は先ほどコピーされたbin/以下に入っており、これを実行することにより、pythonバイナリ、ライブラリはtestenv/以下のものを参照するようになります。(プロンプトにtestenvの文字が追加され、仮想環境下で動いていることがわかります)
つまり、この環境下で"pip"コマンドでインストールすると、testenv/以下にインストールされることになり、本体OSのpythonには影響を与えません。

4.仮想環境の終了
以下のコマンドです。

$ deactivate


5.仮想環境の削除
お試しが終了して、必要なくなったらディレクトリ毎削除すればOKです。

$ rm -rf testenv/


と、非常にお手軽に色々なpythonのパッケージを試すことができます。