tyokota.lab

適当に綴ります

ノートアプリ探しの旅(Evernote, Boostnote, Inkdrop, esa.io)

ノートアプリ探しの旅

今までノートアプリはEvernoteを使用していました。これはこれで昔から使っているというのもあり、すごく便利でした。
で、最近はMarkdownでノートを取ることが多いのですが、Evernoteは対応していません。
そのため、他のノートアプリを探し始めた次第です。

試したアプリ

Boostnote

日本製のノートアプリで、一応マルチプラットフォームです。

  • 良いところ
    • 見た目がシンプルで使いやすい
    • Dropboxで同期できる
    • ノートにスターをつけられて、後で重要なものを見返すのが楽
    • 無料で使える
  • 良くないところ
    • iOSアプリでDropboxと同期してあるノートの編集はほぼ不可能(できるっぽいのですが、動作的に無理でしょう、、、)
    • エディットとプレビューの2段表示のときにスクロールするとどちらも追従して動くのですが、スクロール中は止まっています。そのため、確認がワンテンポ遅れる。気にしなければいいのですが、なんか気になってしまう、、、
    • pdfへのExport機能はなく、印刷画面の保存をしないといけないので少し手間がかかる
    • Dropboxの同期通知がひっきりなし

Inkdrop

こちらも日本製のノートアプリで、マルチプラットフォームです。

  • 良いところ
    • 見た目がシンプルでおしゃれ(←意外と重要)
    • 同期が独自サーバーなのでシンプル
    • 各ノートにStatusをつけられて、書き途中のノートがひと目でわかる
    • エディットとプレビュー画面のスクロールが同時に動く
    • pdfへのExportができる
    • プラグインによる拡張ができる
  • 良くないところ
    • 月額料金約$5かかる(作成者の方もブログで言っていましたが、有料にする方が、ユーザー側にもメリットが大きいとのこと。基本的に有料でも良いという人種は一定数いる←私)
    • Tagがサイドバーに羅列されるので折りたためるようになっているとすっきりする

esa.io

ブラウザで使用できるノートアプリ。これは仕事で使用していて、ドキュメントとか共有事項、議事録などを保存しています。
基本的にチームで使用する感じなので、個人利用はあんまりしないんじゃないかなーとか思っています。

結論

シンプルだし、使い勝手は問題ないのでInkdropを使ってみようかなと。今後アップデートもあるだろうから期待して待ってます。
と思っていましたが、ランニングコストがかかるのはどうなのか...と思い始めてしまいました。 使用感としてはBoostnoteもInkdropもさほど変わらず、値段相応の何かを感じることができませんでした。
なので、とりあえずはBoostnote使って、不満があったらその時にInkdropへの移行を考えようかなと思います。
とかいいつつすぐにInkdropがいいなーとか思ってます...

Macbook Air 11inch にインストールした ubuntu にてコマンドキーでIMEのオンオフを切り替える

Macbook Air 11inch モデルに ubuntu16..04をインスールして使用しているのですが、コマンドキーでのIMEオンオフに慣れてしまったせいでついつい押してしまいます。そこで、インプットメソッドを変更してMac同様IMEのオンオフを切り替えたいと思います。

Environments

How to install fcitx

sudo apt purge ibus ninja-build ibus-mozc
  • dconf editor
    • desktop > ibus > general
      • delete preload-engin, version
    • org > gnome > desktop > input-sources
      • delete sources
  • remove ibus integlation
gsettings set org.gnome.settings-daemon.plugins.keyboard active false
  • install fcitx
sudo apt install fcitx fcitx-mozc
  • create profile
vim ~/.xprofile
  • contents of profile
export GTK_IM_MODULE=fcitx  
export QT_IM_MODULE=fcitx  
export XMODIFIERS=@im=fcitx  
export DefaultIMModule=fcitx
  • setting startup application fo /usr/bin/fcitx
  • reboot
  • setting shortcut key
    • fcitx configuration (show advance option)
      • Global Config > Active input method > Super_L
      • Global Config > Inactive input method > Super_R
  • setting skin
    • right click to menubar icon > skin > dark

参考URL:

http://archlinux-blogger.blogspot.jp/2016/02/ibus-mozcfcitx-mozc.html

Ubuntu 16.04 + CUDA 9.1 + cuDNN 7.0.5 + Tensorflow 1.4.0

Tensorflow をインストールしたので、その備忘録。

環境

  • Ubuntu: 16.04
  • CUDA: 9.1
  • cuDNN: 7.0.5
  • python: 2.7.12
  • Bazel: 0.9.0

CUDA 9.1

  • CUDA install

    $ sudo dpkg -i cuda-repo-ubuntu1604_9-1-local_9.1.85-1_amd64.deb
    $ sudo apt-key add /var/cuda-repo-9-1-local/7fa2af80.pub
    $ sudo apt-get update
    $ sudo apt-get install cuda

  • CUDA PATH

    export PATH=/usr/local/cuda/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
    export CPATH=/usr/local/cuda/include:$CPATH

cuDNN 7.0.5

  • cuDNN install

    $ sudo dpkg -i libcudnn7_7.0.5.15-1_cuda9.1_amd64.deb
    $ sudo dpkg -i libcudnn7-dev_7.0.5.15_cuda9.1_amd64.deb
    $ sudo dpkg -i libcudnn7-doc_7.0.5.15_cuda9.1_amd64.deb

  • cuDNN sample

    $ cp -r /usr/src/cudnn_samples_v7/ $HOME
    $ cd $HOME/cudnn_samples_v7/mnistCUDNN
    $ make clean && make
    $ ./mnistCUDNN

Bazel 0.9.0

Tensolflow

まずは必要なパッケージを一応インストール

$ sudo apt-get install python-numpy python-dev python-pip python-wheel
$ sudo apt-get install python3-numpy python3-dev python3-pip python3-wheel
$ sudo apt-get install libcupti-dev

  • math_functions.hpp error
    Tensorflowのbuild中にmath_function.hppがないってエラーが出たので対応。"cuda/include/crt"の中まで見にいってくれていないようなので、include用のファイル作成

    $ sudo cp -a /usr/local/cuda/include/crt/math_functions.hpp /usr/local/cuda/include/
    $ sudo vim /usr/local/cuda/include/math_functions.hpp
    中身を全部消して、以下を追加

    #include "crt/math_functions.hpp"

  • Tensorflow install

    $ git clone https://github.com/tensorflow/tensorflow.git
    $ cd tensorflow
    $ ./configure

configureは自分の環境にあったものに設定

$ bazel build -c opt --copt=-mfpmath=both --copt=-msse4.2 --config=cuda -k //tensorflow/tools/pip_package:build_pip_package
$ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
$ sudo pip install /tmp/tensorflow_pkg/tensorflow-1.4.0-cp27-cp27mu-linux_x86_64.whl

で、インストールできているか確認

$ python
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> sess.run(hello)
'Hello, TensorFlow!'
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> sess.run(a + b)
42
>>> sess.close()

TX1にswap領域追加

PCL-1.8のビルド中に"internal compiler error"になってしまいました。
この時になってやっと気づきましたが、swapがないじゃないですか!!
ビルド中のメモリ使用量を監視してみたらMain Memoryの4GB超えちゃってますね笑

てことで、swap領域を確保します。
前回接続したSSDにswap領域を確保したいと思います(eMMCの容量って16GBが目一杯なんですかね)
パーティションラベル等は自分の環境に合わせてください

まずは、前回パーティション振り分けちゃったのでgparted使って領域を確保します
確保した領域のフォーマットは"linux_swap"でOKです
(swapの容量はMain Memoryの2倍ぐらいが目安らしいですが、リソース的に余裕があれば多めに積んどいたほうが良いそうです)

sudo mkswap /dev/nvme0n1p5

上記コマンドでUUIDとか情報が表示されるのでコピーしておきます

sudo swapon /dev/nvme0n1p5

最後に起動時にも反映できるように"fstab"を書き換え

sudo vim /etc/fstab

"UUID=0000000000000000000 none swap sw 0 0"

システムモニタを見ると追加されているのがわかります
以上で完了です
ちなみにswapはファイルとして持っていてもOKらしいです

やり方はほとんど変わらないのですが、

sudo fallocate -l 4G /swapfile
sudo shmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

OKです
fstabの書き換えを忘れずに...

TX1のkernelをビルドしてJ120の PCIeSSDをつかえるようにする

kernelのrebuild
Build TX1 Kernel and Modules - NVIDIA Jetson TX1 - JetsonHacks

git clone https://github.com/jetsonhacks/buildJetsonTX1Kernel.git
cd buildJetsonTX1Kernel
./getKernelSources.sh

この時に起動するconfigureGUIで"CONFIG_BLK_DEV_NVME=y"にしてビルドするとJ120のPCIeSSDが使える
User mode SPI device driver support=yでSPIデバイスが使えるはずでしたが...他のところも変えないといけなさそう

./patchAndBuildKernel.sh
./copyImage.sh 
sudo reboot

これでnvmeが見えるようになりました

このあと/home, /usr, /var, /optをSSDに移行して、容量の問題は解決


SSDをgparted等でフォーマット(ext4

パーティションをマウントして、データをコピー

sudo cp -a /home/* /media/ubuntu/data_home
sudo cp -a /opt/* /media/ubuntu/data_opt
cd /usr
sudo tar cpvf - . | sudo tar xpvf - -C /media/ubuntu/data_usr
cd /var 
sudo tar cpvf - . | sudo tar xpvf - -C /media/ubuntu/data_var

fstabを書き換えてDone

あとはROS, Oencv-3.1, Opencv-3.2, PCL-1.8, ZED関連をいれてセットアップ完了

tyokotabb.blogspot.jp

tyokota.hatenablog.com

OpenCVとかPCLのライブラリでバージョン違いを共存させる方法

バージョン違いで保持していたい時の備忘録
(ZEDがopencv3.1.0依存だったので...)

OpenCVもPCLもやり方は同じ

今回はOpenCV-3.1.0とOpenCV-3.2.0の共存です。

それぞれGitで取ってくる(名前は変えておくこと)
gitでopencvのバージョンを3.2から3.1に下げる場合は

git reset --hard 92387b1ef8fad15196dd5f7fb4931444a68bc93a

でリビジョン下げる

cd /home/username/libs
cd opencv-3.1.0
mkdir release
cd release
mkdir installed
ccmake ..

cmakeの設定
CMAKE_INSTALL_PREFIX=/home/username/libs/opencv-3.1.0/release/install

opencv3.1.0とcuda8.0の組み合わせの場合、
GraphCut deprecated in CUDA 7.5 and removed in 8.0 by jet47 · Pull Request #6510 · opencv/opencv · GitHub
上記場所を書き換え

cmake.
make -j8
make install

opencv-3.2.0でも同じようにする(ソースの書き換えは不要)


次にパスを通す

通常利用はopencv-3.2.0を使って欲しいので.bashrcに3.2を後に書き込んでおく

CV_LIB_PATH=~/libs/opencv-3.1.0/release/installed/lib
export PKG_CONFIG_PATH=$CV_LIB_PATH/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=$CV_LIB_PATH:$LD_LIBRARY_PATH

CV_LIB_PATH=~/libs/opencv-3.2.0/release/installed/lib
export PKG_CONFIG_PATH=$CV_LIB_PATH/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=$CV_LIB_PATH:$LD_LIBRARY_PATH

これでまずopencv-3.2.0を見に行って、なければopencv-3.1.0を見に行くようになる。
順番大事。

ホントはコンパイルごとにスクリプト起動のほうが良いけど、いちいちめんどうなのでこれで。

参考:http://d.hatena.ne.jp/taksei/20160903/1472875112

PC setting ubuntu 16.04 ROS kinetic

PCのセッティング備忘録

環境:ubuntu 16.04, ROS kinetic, cuda 8.0, GPU TITAN X(Pascal)

ubuntuを入れたところから始めます

■ cuda 8.0のインストール
CUDA Toolkit | NVIDIA Developer

自分の環境に合うものをダウンロードしてインストールします

sudo dpkg -i cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda
vim ~/.bashrc

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

sudo reboot

※cudaを入れる場合はsecure bootはオフにしておきます.BIOSの設定にあると思います

■ ROS kineticのインストール
ROSwiki参照
kinetic/Installation/Ubuntu - ROS Wiki

■ catkin_makeのalias
.bashrcをvimで開いて

function cmk(){
    currentpath=$(pwd)
    cd ~/ros_catkin_ws
    catkin_make
    cd $currentpath
}

■ Deep Learning関連(chainer, caffe, tensolflow)のインストール
・cuDNN(v5.0)
NVIDIA cuDNN | NVIDIA Developer

tar -zxf cudnn-8.0-linux-x64-v5.0-ga.tgz
cd cuda
sudo cp lib64/libcudnn* /usr/local/cuda/lib64/
sudo cp include/cudnn.h /usr/local/cuda/include/
sudo apt-get update

・chainer
Chainer: A flexible framework for neural networks

sudo apt-get install -y python-pip
sudo pip install --upgrade pip
sudo pip install chainer

・caffe
GitHub - BVLC/caffe: Caffe: a fast open framework for deep learning.

sudo apt-get install -y build-essential cmake git pkg-config
sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install -y libatlas-base-dev 
sudo apt-get install -y --no-install-recommends libboost-all-dev
sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev
cp Makefile.config.example Makefile.config

OPENCV_VERSION := 3
PYTHON_INCLUDE := /usr/include/python2.7 /usr/lib/python2.7/dist-packages/numpy/core/include
WITH_PYTHON_LAYER := 1
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial

cd /usr/lib/x86_64-linux-gnu
sudo ln -s libhdf5_serial.so.(version) libhdf5.so
sudo ln -s libhdf5_serial_hl.so.(version) libhdf5_hl.so
cd python
for req in $(cat requirements.txt); do sudo pip install $req; done
vim ~/.bashrc

export PYTHONPATH=(caffe内のpythonがあるディレクトリ):$PYTHONPATH

cd .. (caffe master dir)
make all -j8
make test
make runtest
make pycaffe
make distribute

・tensorflow
Download and Setup  |  TensorFlow

export TF_BINARY_URL=(select the correct binary to install)
sudo pip install --upgrade $TF_BINARY_URL

■ PCL-1.8
GitHub - PointCloudLibrary/pcl: Point Cloud Library (PCL)

sudo apt-get install cmake-curses-gui
cd pcl
mkdir release
cd release
ccmake ..

with_cuda=ON

cmake .
make -j8
make
make install

■ OpenCV3.2
GitHub - opencv/opencv: Open Source Computer Vision Library

sudo apt-get install cmake-curses-gui
cd opencv
mkdir release
cd release
ccmake ..

with_cuda=ON

cmake .
make -j8
make
make install