2015年10月17日土曜日

Evernote Webでtextを貼り付けると、行頭のスペースが削除されてしまう

Evernote Webで、テキストエディタからcopy & pasteすると、行頭のスペースが削除されてしまう。
Wordに入力したり、bloggerに一旦入力したものを貼り付けると、書式付きの貼り付けとなってスペースも残る。

2015年9月30日水曜日

TED: Alix Generous: How I learned to communicate my inner life with Asperger's を見て

TEDの「Alix Generous: How I learned to communicate my inner life with Asperger's」を見た。

アスペルガー症候群(ASD)の人の話。
ASDの人のコミュニケーションの訓練をするためのアプリを作っている
明晰夢を見る事が出来る
明晰夢の中では何でも思い通りになって楽しい
でも、明晰夢よりASDの人が能力を発揮できるのを助ける事の方が素晴らしい

フォトリーディング at Trump Soho In New York を見て

Youtubeの「フォトリーディング at Trump Soho In New York」を見た

[フォトリーディングの手順]
目的: 何の為に読むのか
予習: 本を買う前にやっている様な事。どんな情報が得られそうか
集中: 深呼吸やミカン集中法
見る: パラパラと全ページめくる。ところどころ抜けてもOK。見るだけ
トリガーワード: 適当に拾い読みしながら、気になる言葉を書きとめる(10-20個)
質問: 書き留めた内容から、自分が知りたい事を質問リストにする(10-20個)
(休憩)
拾い読み: 質問の答えを拾い読みで探す、マインドマップにまとめる

[ポイント]
読み方の選択肢を増やす
目的、本の種類によっては通し読みが必要な場合もある
パラパラと見る事で、その後の読みにくさを軽減する効果もある
トリガーワードも拾い読みで探す
拾い読みの方法の一つ?
記憶に残らない様な所まで読み込んでも意味が無いと言う事?
記憶に残るのはポイントだけだから、そこだけ読もうと言う事?

2015年9月17日木曜日

主観、客観、そして、主観

人は主観から始まり、客観的になろうとするが、結局主観に帰ってくると言う気がしてる。

幼い時は当然自分中心で、他人の事を意識する事はしない。
主観的で自分の視点からのみ世界を見ている。

少し大きくなって思春期も近くなると、他人を強く意識する様になる。
他人から自分がどう見えるのか、どう思われているかなどが気になる。
自分と他人を比べて、どちらが得をしている、損をしているとか考える。
公平性を求めて客観的なれるのが理想だと考えたりする。

年を取って色々な経験を積んでくると、そもそも自分と他人が比較出来ない事に気が付く。
自分が自分である以上、完全に客観的になる事も出来ないし、完全に他人を理解したり、理解されることも無理だとわかる。
人は主観的にしかなれなくて、頼れるのは自分の価値観だけだ。
自分の価値観が確立出来れば、自分とは異なる、他人の価値観を受け入れたり、尊重したりも出来るようになる。

その先は。。。?

2015年8月19日水曜日

英語tips

[too short a time]

a short timeのshortをtoo(副詞)が修飾するために語順変更

[toward, towards]

意味は同じ、towardがアメリカ、towardsがイギリス英語

[his or her, their]

his or her の代わりに、theirを使える(くだけた言い方)

2015年8月2日日曜日

Windows 8.1からVagrant⇒Virtual Box⇒Ubuntu経由でOctaveを使う

(0) 使用したソフトウエア

Windows 8.1 64 bit
Virtual Box 4.3.28
Vagrant 1.7.2
Ubuntu 14.04 LTS 64bit
Octave 3.8.1
Xming 6.9.0.31
PuTTY 0.64

UbuntuとOctave以外は既にインストール済だったものを使ったので、インストール方法は省略。


(1) 最小限のVagrantfileを生成する。
> vagrant init -m
Vagrantfileの中身はたったこれだけ。。。
Vagrant.configure(2) do |config|
  config.vm.box = "init"
end
VagrantfileはRubyで書かれているので、制御構造や変数、配列などはRubyのまま使える。


(2) ベースにするboxを設定する。

Vagrant Cloudにあるオフィシャルのubuntuの64bit版を使う。
Vagrant.configure(2) do |config|
  config.vm.box = "ubuntu/trusty64"
end
boxインストールされていない場合のURLも指定できるが、defaultのVagrant Cloudから持ってくる場合は省略可能。

ホストとゲストで64bit/32bitが異なるときは、他にも設定しないと上手く動かないらしい。
ここではホスト、ゲストとも64bitなので問題なし。


(3) とりあえず、vagrant upしてみる

ダウンロードが始まったが、残り時間が一時間弱。。。
> vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'ubuntu/trusty64' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: >= 0
==> default: Loading metadata for box 'https://atlas.hashicorp.com/ubuntu/boxes/trusty64'
    default: URL: https://atlas.hashicorp.com/ubuntu/boxes/trusty64
==> default: Adding box 'ubuntu/trusty64' (v20150609.0.10) for provider: virtualbox
    default: Downloading: https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/20150609.0.10/providers/virtualbox

    default: Progress: 50% (Rate: 95875/s, Estimated time remaining: 0:33:10)
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.

Recv failure: Connection was reset
ダウンロードに失敗してしまった。タイムアウト?


(4) upの前にbox addで追加してみる。
> vagrant box add ubuntu/trusty64
==> box: Loading metadata for box 'ubuntu/trusty64'
    box: URL: https://atlas.hashicorp.com/ubuntu/trusty64
==> box: Adding box 'ubuntu/trusty64' (v20150609.0.10) for provider: virtualbox
    box: Downloading: https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/20150609.0.10/providers/virtualbox.box
==> box: Box download is resuming from prior download progress
    box: Progress: 88% (Rate: 47705/s, Estimated time remaining: 0:02:58)
An error occurred while downloading the remote file. The error
message, if any, is reproduced below. Please fix this error and try
again.

Recv failure: Connection was reset
同じメッセージが出て今度は88%で失敗。


(4) ローカルファイルからbox addする。

下記を参考にして、Chromeでダウンロードしてからローカルファイルからaddする方法を試してみる。
http://hayachi617.blogspot.jp/2013/09/windows8-provargrant.html

vagrant box addの時に表示されたダウンロード元の下記を、Chromeでダウンロードする。
https://vagrantcloud.com/ubuntu/boxes/trusty64/versions/20150609.0.10/providers/virtualbox.box
> vagrant box add ubuntu/trusty64 trusty-server-cloudimg-amd64-vagrant-disk1.box
今度は無事にaddできた。


(5) もう一度upしてみる。
> vagrant up

(6) 更にゲストOS(ubuntu)にsshで接続
> vagrant ssh
ただし、Windowsのデフォルトではsshクライアントが入っていないので注意。
ここではGit Shellのsshクライアント使って接続している。
PuTTYの他のsshクライアントを使って、vagrant up時に出力されたアドレス/ポートに接続する事も出来る。
vagrant sshは上手く行かない事も多いようなので、PuTTYの方がおススメ。


(7) この状態でもゲストOSから外部ネットワークにはアクセス出来る。

例えば、下記の様にgoogleからwgetする事も出来る。
vagrant@vagrant-ubuntu-trusty-64:~$ wget http://www.google.com

(8) octaveを入れてみる。
vagrant@vagrant-ubuntu-trusty-64:~$ sudo apt-get update
vagrant@vagrant-ubuntu-trusty-64:~$ sudo apt-get install octave
300MB必要と言ってくるが構わず進める。ここもダウンロードに時間はかかるが成功。
vagrant@vagrant-ubuntu-trusty-64:~$ octave
で、octaveのcliが上がる。versionは3.8.1。
最新は4.0.0。aptのrepositoryを指定するとさらに新しいバージョンが取れるというのでやってみる。
vagrant@vagrant-ubuntu-trusty-64:~$ sudo apt-add-repository ppa:octave/stable
vagrant@vagrant-ubuntu-trusty-64:~$ sudo apt-get update
vagrant@vagrant-ubuntu-trusty-64:~$ sudo apt-get upgrade octave
versionは3.8.1のまま。ppaもまだ4.0.0には更新されていない様子(2015/8/1)
ソースからコンパイルする方法も紹介されていたが、今回は省略。
http://askubuntu.com/questions/645600/how-to-install-octave-4-0-0-in-ubuntu-14-04
sudo apt-get build-dep octave
wget ftp://ftp.gnu.org/gnu/octave/octave-4.0.0.tar.gz
tar xf octave-4.0.0.tar.gz
cd octave-4.0.0/
./configure
make 
sudo make install

(9) X経由でGUIを使えるようにしてみる。

Vagrantfileの内容は config.ssh.forward_x11 = true 一行追加のみ。
Vagrant.configure(2) do |config|
  config.vm.box = "ubuntu/trusty64"
  config.ssh.forward_x11 = true
end
Windows側のXserverにはXmingを使う。
無償版は少し古いがR6.9ベースのVer6.9.0.31が最新。
有償版ならR7.5ベースのモノがある。
XmingからPuTTYを使用してssh port forwardingを行うため、PuTTYも必要。
Xmingに付属しているXLaunchを使ってXmingを設定済の状態で起動する.xlaunchファイル作成する事が出来る。
中身はただのxmlファイル。
下記をoctave.xlaunch等の名前にして保存すれば、octaveのguiをいきなり起動出来る。
<?xml version="1.0"?>
<XLaunch xmlns="http://www.straightrunning.com/XmingNotes" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.straightrunning.com/XmingNotes XLaunch.xsd" WindowMode="MultiWindow" ClientMode="StartProgram" Program="octave --force-gui" ClientStart="PuTTY" RemoteHost="127.0.0.1" RemoteUser="vagrant" ExtraSSH="-P 2222" Display="0" Clipboard="true"/>

(10) octaveのインストールをVagrantfileのprovisionで実行できるようにする。

octaveのインストール用shell scriptをsetup.shに書いてVagrantfileと同じdirに置く。
Vagrantfileでprovisioning時にsetup.shが呼び出される様にする。

Vagrantfile
Vagrant.configure(2) do |config|
  config.vm.box = "ubuntu/trusty64"
  config.ssh.forward_x11 = true
  config.vm.provision :shell, privileged: false, :path => "setup.sh"
end
setup.sh
#!/usr/bin/env bash

sudo apt-add-repository ppa:octave/stable
sudo apt-get update
sudo apt-get install octave

(11) 公開鍵暗号を使った接続(PuTTY)

下記を見て設定を行う。
http://www.kuins.kyoto-u.ac.jp/news/47/putty-gen.html

PuTTYgenで公開鍵(id_rsa.pub)、秘密鍵(id_rsa.ppk)を作成。
pscpで公開鍵をWindowsからUbuntuに転送。
Ubuntu上のssh-keygenでid_rsa.pubからauthorized_keysを生成。
authorized_keysのパーミッションを600にする。
id_rsa.pubは削除しておく。
PuTTYのカテゴリの『接続』-> 『SSH』-> 『認証パラメータ』->『認証のためのプライベートキーファイル』に秘密鍵(id_rsa.ppk)を指定。
PuTTYのPagaentに秘密鍵(id_rsa.ppk)を指定しておけば、パスフレーズの入力をPageant起動時の一回のみに省略できる。

仮想サーバへのSSHログインは、PC内部ネットワークを使っている。
したがって、外部ネットからログイン時にパスワードを盗聴されるリスクは低い気がする。
何にせよ、やり方を知っておくのは悪くない。


(12) TODO

Vagrant=>Virtual Box=>Ubuntu=>Docker=>Octaveにしてみる。
Vagrant=>Docker=>Octaveにしてみる。

2015年6月28日日曜日

ipythonをgnupack-11.00にインストール

ipythonをgnupack-11.00にインストールした。
cygwinのバージョンが古いためかipythonも古いバージョンを入れたら動いた。

(1) eazy_install (setuptool 18.0.1)のインストール

下記からez_setup.pyをダウンロード
https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py

# python ez_setup.py

(2) pip 1.4.1のインストール

# easy_install https://pypi.python.org/packages/source/p/pip/pip-1.4.1.tar.gz

(3) pyreadline 2.0のインストール

# pip install pyreadline==2.0

(4) ipython 1.2.1のインストール

# pip install ipython==1.2.1

(5) インストール状況
# easy_install --version
setuptools 18.0.1

# pip freeze
freeze==1.0.9
ipython==1.2.1
pyreadline==2.0
rdiff-backup==1.2.8
six==1.9.0
wsgiref==0.1.2

# pip list
freeze (1.0.9)
ipython (1.2.1)
pip (1.4.1)
pyreadline (2.0)
rdiff-backup (1.2.8)
setuptools (18.0.1)
six (1.9.0)
wsgiref (0.1.2)


[ipython notebook インストール失敗]
次にnotebookのインストールも行ったがこちらは上手く行かなかった。
以下やった事のメモ。

# pip install https://pypi.python.org/packages/2.7/p/pyzmq/pyzmq-14.7.0-cp27-none-win_amd64.whl#md5=db1836d115dd25f9ba3ea2cd2bbd5d16
# pip install jinja2
# pip install tornado-4.2-cp27-none-win_amd64.whl
(http://www.lfd.uci.edu/~gohlke/pythonlibs/#tornadoから.whlをダウンロード)