2008年
5月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

setup diary

2007|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|06|08|11|
2015|01|02|03|04|05|06|07|08|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|

2008-05-06 media

_ 昔のメディア

PCで仕事をする機会が増えてきたが、それに伴って古いメディアに保存されたデータを取り出す必要が出てくる場合がある。そのために、各メディアに対応したドライブを用意しておくと便利である。

個人的にはいろいろなドライブを取っておいている。FDとしては、3.5や5インチは当然だが、8インチも一応読めるようにしている。マイナーなところでは、PDとかZIPとかJAZZなんかもある。これらは現在ではメディアの入手が困難になっているが、ZIPは最近入手方法が開けた。MOもそろそろ過去のものになろうとしている。また、ezflyerというのもつい最近いただいたのだが、こちらはメディアが手に入るのかが疑問だ。

FDにしても、2インチや2EDなんかもまだ持ってないし、世の中にはいろいろなメディアがあるものである。

いろいろと調べていたら、MDもPCのメディアとして使えるらしい。しかし、そのようなドライブはかなりマイナーらしい。

USBメモリの普及に伴い、これらのメディアは徐々に姿を消していってしまうのだろうが、それぞれ個性があって面白いものである。


2008-05-11 Rで日付を用いたグラフ

_ x軸が日付のグラフ

あるものの経時変化を見たくなったので、プロットしてみた。rubyでデータを計算するところまでは問題ないが、何を使ってプロットしようかというところで迷ってしまった。日付を数字に直してからプロットしても良いのだが、面倒だし。Rでも日付を扱えるようだったので、練習してみた。基本的には、as.Dateで文字列を日付に変換すれば、適当に処理してくれるようだ。文字列としては、"2008.5.11"じゃだめで、"2008/5/11"とか"2008-5-11"としないといけないようだ。あとは軸のところで、axis.Dateを使って指定するぐらいかな。
d<-read.table("number.out",header=TRUE)
xl<-as.Date(c("2004-4-1","2008-6-1"))
yl<-c(360,480)
par(tcl=0.5,xaxs="i",yaxs="i",ann=FALSE)
plot(as.Date(d$date),d$num,type="l",xlim=xl,ylim=yl,axes=FALSE)
box()
axis.Date(side=1,at=
  seq(from=as.Date("2004-4-1"),to=as.Date("2008-6-1"),by="6 months"),
  format="%Y%m")
axis(side=2)
axis(side=4,labels=FALSE)
mtext(side=2,"the number",line=3)
mtext(side=1,"date",line=3)
グラフを書くときは、軸とかラベルとかははずしてplotして、後から書いているが、それをそのまま適応すれば、ほとんど問題なくできた。年号が変わったときにだけ年を表示したいと思ったのだが、
format=c("%Y/%m","%m")
としてごまかした。これだと六ヶ月おきだから使える方法で、任意の間隔の場合には問題になるだろう。

2008-05-16 ウイグル文字とutf-8

_ ウイグル文字でhtml

今週はウイグル語というよりウイグル文字の勉強をした。目的は、homepageのどこかを見れば分かるでしょうが。ウイグル文字はアラビア文字系で、右から左に読む。htmlでは、utf-8を使うのが良いのだろうということで、
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
として、コードは
&#1726;&#1609;&#1583;&#1585;&#1608;&#1711;&#1744;&#1606;
というように記述した。ちなみに、上の文字列は水素です。文字はアルファベットと対応がつけられているようなので、この変換スクリプトをrubyで書いて、いろいろ変換して表示させていくうちに、なんとなくは読めるようになってきた。 そうしているうちに気づいたのだが、ややこしいことに、前後の文字とのつながり方によって、文字の形が変わってしまいます。時には、元の文字が分からないぐらいに。ただ文字を並べるだけで、表示が変わるので、書くときにはそれほど意識する必要はないのだが、フォントはどんなしくみでこれを実現しているのだろう。しかし、困ったことに、いくつかの文字では、このつながったときに形が変わるべきなのに、変わらないということが起きている。おそらくこれは、アラビア語には無い文字の場合に、そのような処理が行われていないのではと予想しているが、確証は無い。ウイグル語のフォントも見付けたのだが、インストールするべきか迷っている。

2008-05-20 etchのSSL

_ DebianのSSLにセキュリティーホールが見付かった。

早速、研究室内のすべてのDebianマシンをdist-upgradeを行った。その過程で、実はsargeが一台だけ残っていたことが判明した。結果としては、この方がセキュリティー上は良かったわけだが。

今回のは、SSLというよく使われている部分だったので、影響は大きいだろう。


2008-05-22 rubyで行列

_ 整数の要素をもつ行列には注意が必要だ。

rubyでは行列も扱える。determinantや逆行列も簡単に求められるので、比較的便利である。しかし、注意が必要であることが分かった。例に次のコードを実行してみた。
require "matrix"
m=Matrix[[2,0],[0,2]]
p m.inv
結果は、零行列になってしまう。始めはなぜだか分からなかったが、実は整数の演算として計算するために起こることに気づいた。つまり、determinantを計算して、それが分母にくるので、すべて整数で計算した場合には、切り捨てられて0になってしまうのである。m.to_fとかのmethodが欲しいところであるが、それは無いようだ。/usr/lib/ruby/1.8/matrix.rbを見ると、collectはあるようなので、
m=m.collect{|e| e.to_f}
とすれば良いようだ。

2008-05-23 gpibとkernel

_ SSLを入れ換えたらGPIBが動かなくなってしまった。

DebianのSSLのセキュリティーホールを塞ぐために、先日dist-upgradeを行ったのだが、GPIBが動かなくなっていることに気がついた。新しいkernelがインストールされたので、それを使っていたのだが、GPIBのモジュールがそれに対応していないようだ。また、コンパイルし直すのも面倒だと思っていたら、古い方のkernelでbootしたら、動いた。まあ、しばらくはこのままでいこう。


2008-05-30 ROXの設定ファイル

_ ROXの挙動がおかしくなったので、初期化した。

~/に設定ファイルがあるはずだと思って探したが、あまりそれらしいファイル名がない。最初は.iconsかなと思って消したけどダメで、.configだということが分かった。これを消したら、当然前の設定は無くなって、うまく動くようになったけど、誤って消してしまった.iconsのために、アイコンが?と表示されるようになってしまった。まあ、使用する上では問題ないけど。