ユーザー領域に zsh をインストールした
共用のサーバに zsh をインストールした時のメモ。
現時点で最新のバージョンは 5.2 らしい。sourceforge からダウンロードする。
インストール先は /home/username/local
を想定している。
$ wget http://downloads.sourceforge.net/project/zsh/zsh/5.2/zsh-5.2.tar.gz?r=https%3A%2F%2Fsourceforge.net%2Fprojects%2Fzsh%2Ffiles%2Fzsh%2F5.2%2F&ts=1470114499&use_mirror=jaist $ tar xvfz zsh-5.2.tar.gz $ cd zsh-5.2 $ ./configure --prefix=/home/username/local $ make $ make install
ログインシェルを変更するには
$ chsh -s /path/to/shell
とやるが、共用サーバなので
chsh: "/home/username/local/bin/zsh" is not listed in /etc/shells.
となってしまう。この場合は、ログインシェルは bash(ウチの場合)のままで、.bashrc
に
exec ~/local/bin/zsh
と書いて対処するしかないらしい。
しかし、これをやると scp
や rsync
を使ってファイルがコピーできなくなるので致命的である。
何か代わりの良い方法はないだろうか?
X11 connection rejected because of wrong authentication でハマった話
いつもどおりリモートに接続し、X を飛ばそうと思ったのだが
remote$ xeyes X11 connection rejected because of wrong authentication. X connection to localhost:11.0 broken (explicit kill or server shutdown).
と出た。
remote$ xauth list
は何も返してこない。困っていた時にネット上で発見したのが以下。
answers.launchpad.net
リンク先の最後のポストにあるように、ディスク容量を 100% 使いきっていたのが原因だった。$ rm hogehoge
で綺麗にしたら、詳しくは知らないが xauth のクッキーなるものが自動的に生成されるようになった。これで X が飛ぶようになってめでたく解決。
matplotlib のフォントを Helvetica に変える
matplotlib のフォントはデフォルトで Bitstream Vera Sans というものになっているが、特に数字の見栄えがよろしくない。 そこで、Helvetica に変えてしまおうというのが主題。 環境は python3.5、OS X 10.9.5 上で走っている。 まずはこのポストを参考にした。How to set Helvetica as the default sans-serif font in Matplotlib // Science, meet productivity // A computational RNA biologist exploring productivity, python, and reproducibility. しかしこれではうまくいかない。 結局たどり着いたのがこれ。 osx - cannot change font to Helvetica in Matplotlib in Python on Mac OS X 10.6 - Stack Overflow
fondu は homebrew で入れておく。
$ python3 -c "import matplotlib ; print(matplotlib.matplotlib_fname())" /Users/***/.matplotlib/matplotlibrc $ mkdir ~/Desktop/font_copies $ cp /System/Library/Fonts/Helvetica.dfont ~/Desktop/font_copies $ cd /Users/***/.matplotlib/fonts/ttf/ $ fondu -show ~/Desktop/font_copies/Helvetica.dfont $ rm ~/.matplotlib/fontList.py3k.cache
この手順でめでたく Helvetica 化に成功した。
Raspberry Pi 2 で Apple Magic Mouse を使う
単に Raspi で startx
してみたかったという動機で Apple Magic Mouse が使えるのか試すことにした。
買ってきた Bluetooth アダプタは ELECOM LBT-UAN05C2 という製品。
ヨドバシで 1350 円(税込)だった。
無線 LAN 用のバッファローの WLI-UC-GNM と今回の Bluetooth アダプタ
の両方を挿して起動してみたが、一応問題なく動いている。ただ電源的には厳しいみたいで、
右上にずっと虹色マークが出たままになってしまうが、気にしない。
今回参考にしたのは次のページ: Raspberry PiでBluetoothを扱う - c-bata web
まずはパッケージのインストールから始める。
$ sudo apt-get install bluetooth bluez-utils blueman
続いて Bluetooth アダプタが認識されているか確認する。
$ lsusb
良さそうだったら、ここで Magic Mouse の電源を入れて Bluetooth デバイスの MAC アドレスみたいなやつを調べる。
$ hcitool scan
アドレスが分かったらペアリングする。PIN コードの入力を求められるが、0000 にしておけば OK だった。
$ sudo bluez-simple-agent hci0 XX:XX:XX:XX:XX:XX
恐らくここからが Magic Mouse を使う際のポイントで、以下の手順を素早く行う必要がある。
$ sudo bluez-test-device trusted XX:XX:XX:XX:XX:XX yes $ sudo bluez-test-input connect XX:XX:XX:XX:XX:XX
モタモタしていると bluez-test-input connect
で Failed とか言われてしまう。
これでめでたく startx
できたのであった。
左右クリックとスクロールも問題なく使えていることを確認。
Raspberry Pi 2 Model B を買った
Raspberry Pi 2 Model B を秋月で買ってきた。ケーブルとか SD カードとか諸々含めて 7000 円くらい。 ケースは要らないだろうと思って買わなかった。
まずは Raspbian のインストールから。 NOOBS のダウンロードは JAIST のミラー
が利用可能。バージョンは現時点で最新の v1.4.1 を落とした。 zip を展開して中身を SD カードにコピー。ファイルは SD カードのルートに配置する。 NOOBS のインストラクションには Mac ユーザーは SD Association からフォーマット用のツールを落として使えと書いてあるが、 FAT32 ですでにフォーマットされていたので気にしない。 寧ろそんなツールがあったんだという→SD Formatter for Mac Download - SD Association。
英語配列の HHKB と普通のフル HD ディスプレイを接続し、電源の USB ケーブルを接続するとすぐに インストーラが立ち上がる。USB 接続のマウスを持っていないことに気がついたが、無くても問題ない。 ちなみにインストールには 10 分ぐらいかかる。 面倒なので日本語環境の整備とかはしない。
次に無線 LAN が使えるように設定した。昔買ったバッファローの WLI-UC-GNM を使う。
認識されているかどうかは lsusb
で調べられる。
ifconfig
で wlan0
があるかどうかを見てもよい。
次にスーパーユーザ権限で
# iwlist wlan0 scanning
を実行して ESSID を調べる。あとは
# wpa_passphrase [ssid] [passphrase] >> /etc/wpa_supplicant/wpa_supplicant.conf
を実行しさらに /etc/wpa_supplicant/wpa_supplicant.conf
の内容を書き換える。
WPA-PSK TKIP ならば
proto=WPA pairwise=TKIP group=TKIP
を network={}
の中に追記する。
解説ページによっては auth_alg=OPEN
などと設定していることもあるが、
よく分からない。まあネットワークには繋がったので良しとする。
/etc/network/interfaces
も書き換える必要がある。DHCP を使う前提で
auto eth0
の先頭に#
をつけてコメントアウトwlan1
に関する部分は削除iface wlan0 inet dhcp
と書き換えiface default inet dhcp
を追記
これで設定おしまい。# reboot
して IP が取れていればめでたし。
参考ページ
ifstream での >> 演算子の振る舞い
久々の更新になってしまった。
C++ でファイル読み込みがしたかったら ifstream を使うのが普通。
ググると出てくるサンプルコードにはgetline()
による方法が多い気がする。
けど、オーバーロードされた>>
演算子を使うという方法もある。
ただ、その振る舞いに謎な部分があったのでメモしておく。
結論から言うと、>>
でファイル読み込みするときは
1個以上の連続したスペース、タブ、改行は1つのデリミタだと見なされるので注意すべし
ということだ。
>>
の用例としては
ifstream ifs("input.dat"); while(!ifs.eof()) { string word; ifs >> word; // まあいろんな処理、例えば cout << word << endl; }
といった感じになる。ここに
15.250 92.000 15.350 90.000 15.450 102.00
みたいな、多数のスペースと改行で区切られたデータを入れるとどうなるのか?実行結果は
15.250 92.000 15.350 90.000 15.450 102.00
となる。このサンプルデータではレコードの区切りはスペースと改行だけだが、タブ文字が入っている場合でも同様。
ここで示したようなデータなら、この動作は好ましい。
ただ、空のレコードが存在する場合などは困ってしまう。そんな時はgetline()
で string に一度詰めて、それから整形という風になるだろう。
LaTeX のダミーテキスト lipsum を使ってみる
今回は LaTeX ネタ。
文書のレイアウトの確認とか、テンプレートを作るときとかに使うのがダミーテキスト。
英語圏では Lorem ipsum というのがよく使われるそうで、LaTeX なら\usepackage{lipsum}
で
lipsum.sty を読み込んだ上で、\lipsum
で出力される。オプションで段落を指定できて、
例えば第2段落なら\lipsum[2]
とすればよい。
これを使えば「ここに本文が入ります。」みたいなダサいやつを増産する必要がなくなってよろしい。
ついでに、lipsum とは関係ない話。画像がまだ用意出来ていないけど、挿入位置とかサイズの確認がしたい場合には\rule{横}{縦}
を使って黒い長方形を描ける。
\documentclass{article} \usepackage{lipsum} \begin{document} \lipsum[1-2] \begin{figure}[h] \centering \rule{8cm}{6cm} \caption{Rectangle} \end{figure} \end{document}
タイプセットするとこんな感じ。
はてなブログでの LaTeX 数式がちょっとおかしい
先の記事では、LaTex 数式の挿入で
を参考にした。 例えば、一番最初の数式では
[tex: \displaystyle \sum\_{n=-\infty}^{\infty} f(n) = \sum\_{n=-\infty}^{\infty} \tilde{f} (2\pi n) ]
と入力した。
はてなブログでは、何故かアンダーバーをエスケープ \_
しないと数式が表示されない。
ハットについてはエスケープしなくても今のところ問題は生じていない。
Markdown モード固有の問題かどうかは知らないが、取りあえずの処方箋としてはアンダーバーは全てエスケープ、で良さそう。
他にも問題があって、MathJax のレンダリングモードを HTML+CSS にしたとき、
これは環境のせいでした。\frac{1}{T}
の表示がおかしい。
よく分からないが、分数の横棒が消えている。これはウチの環境の問題かもしれないが。