電圧のモニタ
nohupを使って
装置の調子がおかしいので、その状態を常時監視しようということになって、そのためのシステムを作った。と言っても、ただ電圧を定期的に読み込んで保存するだけなのだが。とりあえず、問題の解決にどのくらいの期間かかるか分からないので、長期運用体制である。raspberry piにusbtmcのデジボルをつないで、それをrubyで読み取って保存するようにした。sshからログインして使用することにしたが、ログアウトできなくなるので、nohupで使うことにした。nohup ruby volt.rb &として、exitすれば、あとはひたすらデータを保存してくれる。ざっと計算すると、一年で2Mbyteぐらいなので、このまま続けても大丈夫だろう。
英和は無いけど
gnome-dictionaryのオフラインでの使用
Linuxで使える英語の辞書が無いかと思って探したら、gnome-dictionaryというものを見つけた。しかし、netにつながっていないと使えないようなので、offlineで使えるにはどうしたら良いかを調べてみた。dictdとdict-gcideをインストールして、gnome-dictionaryの設定で、ソースを追加して、hostを127.0.0.1としたら、offlineで使えるようになる。
これで、英英辞典は使えるようになったが、英和はあまり無いようだ。stardictというものもあったようだが、著作権の問題でなくなっているようだ。でも、stardict-3というのがあるので、これが使えるかも知れない。
半年経ってまだバグが残っていた
ubuntu13.04のimpressive
プレゼンをしないといけないということで、impressiveを起動しようとしたら、ubuntuをupgradeしたせいで動かなくなっていた。調べてみたら、/usr/bin/impressiveの186行目の
import TiffImagePlugin, ...
を
from PIL import TiffImagePlugin, ...
に書き換えると良いらしい。最初はindentを無視して書き換えたら、エラーが出て、pythonはindentが重要なのを思い出して書き直したら、うまく動くようになった。これでプレゼンができるようになった。
ubuntuのアップグレード
遅ればせながら、13.04へ
ノートで使っているubuntuが12.10だったのだが、ようやく13.04にした。そろそろサポートが切れる気がしたので。lubuntuだからか、それほど変化した気がしないので、良い感じである。パッケージの構成が一部変わっているので、動かないアプリケーションがあるかも知れないので、しばらく使って様子をみよう。
メーリングリストサーバー
macからUNIXへ
現在研究室で運用しているメーリングリストのサーバーを入れ替えたいと思って調べているが、なかなか良いソフトが見つからない。現在はMac上でMacjordomoというソフトを使っているが、これをUNIX上のシステムで動かせるようにしたいのだが。
UNIX上で動くものとして、Mailmanやquickmlを試してみようとしたのだが、メールサーバも同じマシンにあることを想定した使い方が主なようで、別のマシンがメールサーバーになっている場合の設定が分からなかった。
quickmlはrubyで書かれているようなので、ソースを読めば使い方はわかる気がするが、長いと面倒だ。
raspberry piでwebサーバー
apache2のCGI
現在PCで動かしているWebサーバーをraspberry piで置き換えて、コンパクトにしようと思い、インストールしてみた。apache2とlibapache2-mod-rubyをインストールして、rubyでCGIを動かせるようにするまでの設定である。まず、
/usr/sbin/a2enmod userdir /etc/init.d/apache2 restart
として、ユーザーのディレクトリを見えるようにする。次に、 /etc/apache2/mods-available/userdir.confのOptionsにExecCGIを加えて、/etc/apache2/mods-available/mime.confの
#AddHandler cgi-script .cgi
という行のコメントアウトをはずす。そして、
/etc/init.d/apache2 restart
とすれば、CGIが動くようになる。以前と設定の仕方が違う気がするでお、まあうまくいったので良いか。注意しないといけないのは、rubyは標準では1.9になっているので、CGIの一行目で指定しているプログラムをruby1.8にしなければならない点である。しかし、実際にCGIを動かしてみると、かなり遅い。これでは思いCGIを動かす目的には使えないかも知れない。
rubyで計算
平均の計算
ルービックキューブを揃えるタイムには、いくつかの種類がある。単発のタイム以外に、12回計測してその中から最も速かった回と最も遅かった回を除外した10回の時間の平均や、5回計測してその中から最も速かった回と最も遅かった回を除外した3回の時間の平均などがある。そのうち、最後のものを計算するプログラムをrubyで書いてみた。
p data.split(/\n/).map{|l| l.to_f}.sort[1..3].inject(:+)/3
ううん。以外に長くなってしまった。
tdiaryの更新
tdiary3.1.3へ
wwwサーバーが更新されるということで、tdiaryも更新することにした。rubyは1.8.7になった。最新のtdiaryは4.0.0だったが、こちらはruby1.8では動かないということで、3.1.3にした。
設定ファイルとして、tdiary.confや.htaccessと.htpasswdをいじったり、権限を変更したり、blogのデータを移したりしたら、ようやく動くようになった。また、以前tdiaryのversionを下げたときに、表示できなくなっていたページもうまく表示できるようになった。
今月は忙しかったので、なかなか更新できなかったのだが、ようやく完了した。
ruby1.8からruby1.9へ
ruby1.8とruby1.9の違い
OSの入れ替えに伴い、普段使っているruby1.8のプログラムを、1.9に書き換えていくことにした。一応、いくつかの違いは理解しているつもりだったが、まだまだ知らないものがありそうだ。
昨日書き換えたプログラムでは、stringの[n]をgetbyte(n)に変えた。
今日は、require “file"をrequire “./file"とした。
さて、次はどんな変更が必要なプログラムが出てくるだろうか。