emacs21 and emacs22
utf8に対応
以前はxemacs21を使っていたが、それまでのemacsとなんか違う気がして、emacs21に移行した。debian lennyとubuntu9.04になってから、emacs22というのがあることには気がついていたが、特に必要に感じなかったので、emacs21を使い続けていた。
Ubuntu Weekly Recipeでemacsのことが書いてあり、emacs22を薦めているようだったので、emacs22を使ってみた。すると、以下の二点でemacs21よりも使いやすいことが分かった。
まず、utf8に対応したということ。最近、utf8のテキストが増えてきていたが、emacs21では読めなかった。nkfで変換すればあまり苦労しなかったので、気にしてはいなかったが、当然読めた方が便利だ。
また、マウスのスクロールが使えるようになった。page up, page downはキーボードでもできるし、横のスクロールバーを使えば問題無かったのだが、他の多くのソフトでできることは、ついくせでやってしまっていた。
emacsの主な不満点が解消されたことになる。
rubyとGPIB
“ruby gpib"で検索
研究室の自作の測定システムは、rubyで構築している。最初はwindows上で誤魔化していたが、徐々にLinuxに置き換えていき、今ではすべてがLinux上のrubyで動いている。残念ながら市販の測定系はWindowsとして残っている。いずれはWineにしたいのだが。
ふと思い出して、rubyとgpibで検索してみたら、自分のサイトがトップに来ていて驚いた。磁気空間群とかのマニアックな単語ではトップに来て、密かに喜んでいたのだが、こんなメジャーな単語でトップになるとは。逆に言うと、rubyでGPIBを使っている人がそれほどいないということを表しているのかも知れない。もしそうだとすれば、悲しいことである。
確かに、debianに関して言えば、ruby-gpibはパッケージになっていないのに対して、libgpib-perlやphp5-gpibやpython-gpibはあるので、これらの言語で制御する方が標準的なのであろう。pythonでGPIBを試しに使ってみようとしたことがあるが、アドレスでは指定できず、gpib.confで指定した装置の名前を使う必要があって、不便に感じたものである。一方、ruby-gpibでは、数字だとアドレスと解釈し、文字列だと名前だと解釈してくれて、便利である。pythonに慣れていないので、アドレスでの指定が分からなかっただけかも知れないけど。
いずれにせよ、rubyで計測をする人がより多くなってくれると良いと思う。homepageに計測機器のclassのソースでも載せようかとも思ったこともあるが、まだ載せていない。正確には数えていないが、これまでに20種類ぐらいの装置を扱うクラスを書いているようだ。しかし、あまり綺麗なソースではないので、公開したくないという気持ちもある。その時の気分で書き方が違うし。
アニメーションの作成
gif,mpeg,and flv
gifアニメは、imagemagickのconvertで簡単に作ることができることは知っていたが、同様にgifアニメからmpegを作ることができる。
convert temp.gif temp.mpeg
さらにこれをffmpegでflvに変換すれば、画像からflvの動画を作ることができる。
ffmpeg -i temp.mpeg temp.flv
本当は直接ffmpegで画像からflvを作ることができるようなのだが、うまくいかなかったので、今回はmpegを介して変換を行った。
inspiron miniシリーズの違い
mini9とmini10v
inspiron mini10vが出て、VGAの外部出力ができるようになったが、mini9が終焉の兆しを見せてきた。mini10vの細かい仕様の情報があまりないので、内部を見ればだいたいわかるだろうということで、デルの分解のサイトを調べてみた。
四機種すべてについて解説のページがあり(mini9、mini10、mini10v、mini12)、サービスマニュアルを見ると分解の仕方が説明してある。mini10vは、基板の形はmini10と似ているが、メモリ等はmini9に似ている。また、HDDは2.5inchのSATAのようだ。拡張性をかうならば、10vが一番優れているだろう。
cronでntpdate
時刻のずれ
久しぶりに
sudo ntpdate-debian
を実行してみたら、三分もずれていた。ntpを入れてからは、PCの時刻を正確だと思っていたのだが、予想よりもずれるようだ。そこで、cronに登録して、自動的にntpに問い合わせるようにした。/etc/cron.daily/ntpdateを作成して、
#!/bin/sh ntpdate-debian
と内容で保存して、
sudo chmod +x ntpdate
として実行権限を与える。これで、一日一回、時刻を合わせてくれるはずだ。一時間に一回ぐらいの方が良いかな。
n進法表記
linuxでの16進数の計算
WindowsとLinuxのソフトを比較すると、多くの点でLinuxの方が使いやすい。しかし、標準で入っているソフトの中で、唯一Windowsの方が勝っていると感じるのが計算機である。binaryをいじっていると、16進数の計算をしたくなるが、Windowsのcalcでは計算できるが、Linuxのxcalcだとできない。kcalcだとできるようだが。
そこで、rubyを使って計算することになる。これまでは、
ruby -e 'p "%x"%(0xa+0xb)'
とやっていたが、実はもっと便利なmethodがあることを知った。to_s(n)で、n進数の表記に変換できるのだ。すると、
ruby -e 'p (0xa+0xb).to_s(16)'
とすれば良いことになる。でもこちらの方がbyte数が多いな。ちなみに、1-zまでで表せる36進数まで対応しているようだ。99じゃなくてffの表を作るプログラムはこんな感じ。
n=16
for i in 1...n
for j in 1...n
print "%2s "%(i*j).to_s(n)
end
puts
end
これで、nを変えるだけでzzの表まで作ることができる。
lennyのtex
ptex-jisfontsとrevtex
論文を書くためにaptitudeでrevtexを入れたら、文句を言われた。ptex-jisfontsとかちあうとかなんとか。すると、platexが使えなくなってしまった。まあ、英語の場合はlatexで問題ないだろうが、日本語のprosperが動くのか心配だ。
texのパッケージも日々変化していると思うので、lennyになったときにどれを入れようかと迷って、結局ptex-bin, xdvik-ja, ptex-jisfonts, gs, gv, gs-esp, gs-cjk-resource, xpdf, xpdf-japaneseを入れた。しかし、revtexを入れたことによって、ptex-binとptex-jisfontsがはずれたはずなので、何が残っているのやら。
いつか、インストールすべき適切なパッケージが何かを調べなければ。
PCの不調
家のPCの一台が起動できなくなった。
問題のPCは、二番目に速いマシンで、使用頻度は一番高いものだった。HDDも三つぐらい積んでいたと思う。しかし、最近はmini9を家に持ち帰って使っていて、立ち上げる回数が減っていたので、すねてしまったのかも知れない。
発見した初日は、途中まで立ち上がって、いきなり再起動を繰り返すという症状だったが、今はbootの初期画面で止まってしまうようになった。最初は、電源が不調になって、途中で供給電力が不足してrebootするのかと予想したが、今は初期段階で止まるようになったので、マザーボードを疑っている。もしかするとHDDの問題かもしれないが、それならそのようなコメントが出る気がする。電源はいくつか予備があった気がするが、故障しているものもあるので、正常なものをいくつ持っているのか定かではない。近い型番のマザーボードもどこかにあった気がするが、捨ててないことを期待する。ほとんど同じマザーボードなら、うまくいくとOSも再インストールしないでそのままつかえるし。
良い機会なので、中身から一層して、組み直すべきかもしれない。しかし、そんなことをしている時間も気力も無いかもしれない。
2009/6/15追記 なかなか寝付けなかったので、問題のPCを開腹してみた。電源を別のものにつなぎ変えても症状は変わらないので、電源はとりあえず大丈夫だと判断した。マザーボードにも一見何の異常も無い。そこで、メモリを疑うことにした。メモリは四枚挿さっているが、これをいろいろと挿し替えると、起動することを確認して、これが原因であることが分かった。一つのメモリが死んだのかと思って、一つ一つ挿して調べてみたが、どうやら死んでいないようだ。マザーボードの仕様としては、四枚挿す場合には、二つずつ同じ規格のものを使わなければならない。しかし、そのPCを立ち上げた時には、良いペアが見つからなかったので、その辺りを適当にしていた。しかも、512M3+256Mという構成である。メモリをあさって同じ規格のものを探すと、512M2+256M*2のペアが見つかったので、これに付け替えると、無事起動するようになった。まあ、メモリの量は減ってしまったが。
PCManFileManager
lennyとxubuntu
lennyのPCManFileManagerでCDROMにアクセスしようとしたら、簡単にはできなかったので、結局コマンドからmountして使った。また、その後いろいろといじっていたら、ドライブの自動認識部分が死んでしまったようだ。どうやって復活させるのだろう。
別のPCだが、xubuntuでは、CDROMは自動で認識された。その当たりはubuntuの方がきちんとしているのだろうか。