2012年
2月
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

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|

2012-02-07 pdfeditでpdfの加工

_ pdfのロック

pdfを編集する必要が出てきたので、linuxで使えるpdfの編集ソフトを探すと、pdfeditというのがあるらしい。debianなら、aptitude install pdfeditでインストール完了である。

これを使って、あるpdfを編集しようとしたら、read-onlyだからダメだと言われる。属性は大丈夫なのだが、pdfの中でロックがかかっているようだ。webで調べたら、pdf2psでpsにしてから、ps2pdfでpdfに戻せば良いと書いてあった。試してみたら、ファイルサイズがかなり大きくなってしまったので、これは適切では無いようだ。さらに調べると、Tools-Delinearizeを選んで、ファイルを読み込んで、セーブすると良いらしい。この方法でも少しはファイルが大きくなったが、問題無いレベルである。


2012-02-09 wine0.9.25をsqueezeにインストール

_ 古いwineのインストールは大変だ

windowsで動かしているプログラムが、うまく動かなくて困っていたら、どうやら、windowsのversionが悪さをしているらしいということが分かった。それまではwindows98で動かしていたのだが、windows95かNT4.0でしか動かないらしい。なんでこんな状態になっているのだろう。今更、windows95も無いので、linux上のwineで動かしてみることにした。

squeezeの上で、最新のwineから、winecfgを使って、windows95とかNT4.0仕様で動かすように指定しても、うまくいかない。以前、似たようなことをやったときに、wine0.9.25で動いたことがあったので、これをインストールすることにした。

まずはソースをdownloadして、展開する。そして、コンパイルに必要なbuild-essential flex bison libx11-dev libxext-devをインストールする。しかし、signal_i386.oに関するエラーが出る。いろいろと調べてみたら、wine-0.9.25/dlls/ntdll/signal_i386.cを書き換える必要があるようだ。

/* signal context platform-specific definitions */
のすぐ後に
#define VIF_MASK 0x00080000
#define VIP_MASK 0x00100000
を入れるらしい。やってみたら、wineのインストールには成功した。

2012-02-18 スプライン補完

_ ruby-gslでspline

離散的なデータの間の値を補完しようとしたのだが、関数でfittingすると非常に複雑なものになりそうだったので、スプライン曲線で補完することにした。

スプライン曲線を計算して書こうとすると、意外に難しいらしい。GSLでできるのでは無いかと思って調べてみたら、やはりできた。というわけで、ruby-gslでspline補完するために書いたプログラムがこれ。

require "gsl"
data=[
[2.0144,7.8956747],
[109.2747,0.9246663],
[216.3775,0.6455773],
[319.6925,0.3726170],
].sort_by{|t,v| v}.transpose
ya=NArray.to_na(data[0])
xa=NArray.to_na(data[1])
spline = GSL::Spline.alloc("cspline",xa,ya)
puts spline.eval(4.5)

xaは小さい方から大きい方に単調になっていけないようなので、sortが必要だったが、あっさり動いた。さすがruby。


2012-02-20 download old debian

_ sargeをdownload

古いLinuxでしか動かないプログラムがあったので、仕方無く古いDebianを入れることにした。しかし、ネット上になかなか見つからない。Swedenのsunetやhttp://cdimage.debian.org/cdimage/archive/で一部のisoやjigdoが見つかるのだが、うまく落とさなかったりする。また、aptの設定にも困る気がする。

結局、jigdoでrikenから落とすことができることが分かった。まず、.jigdoで必要ならプロキシの設定をする。そして、jigdo-liteでjigdoのファイルを指定すると、何か聞かれるが、一つ目は蒸ししてリターン。二つ目にサーバーを聞かれるので、http://ftp.riken.jp/Linux/debian/debian-archive/debian/を指定したら、動きだした。

もしかすると、apt-lineにも、これを指定したら良いのかも知れない。それならば、netinstのCDでも良い気がするが、どうなのだろう。


2012-02-21 sargeのインストールに成功

_ 古いdebianのインストール方法

ようやく、debian sargeのインストールに成功した。しかし、古いOSはネット上からデータが無くなってくるので、難しかった。結局、netinstのCDを使ったのだが、ネットワークからデータを取りにいく前に一端インストール作業を中断する必要がある。今回は、rootとユーザーの設定をした直後にquitして、loginをしてaptとproxyの設定を行った。/etc/apt/sources.listを編集して、
deb http://archive.debian.org/debian/ sarge main contrib non-free
とし、archiveから取ってくるように設定する。そして、/etc/apt/apt.confを
Acquire::http::Proxy "http://proxy:8080/";
Acquire::ftp::Proxy "ftp://ftp-proxy/";
とし、proxyを設定する。その後でtaskselを実行すると、インストールできる。つまったのは、X11の設定である。PS2のマウスに対してpsauxのps2を選ばなければならなかったのだが、久々だったのでそれを間違えていた。あとは、日本語の表示がおかしかったので、ttf-sazanami-minchoやttf-sazanami-gothicをインストールしたら、まともになった。でも、日本語入力の設定は面倒なので、しなくても良いかな。