2005年04月21日 木曜日
久しぶりにExcel VBA
今日は午後から頼まれたExcel VBAのマクロ書き。1つのファイルに10個くらいのデータ系列があって、それぞれに対して単回帰分析をしたいらしいのだが、そんなファイルが100個くらいあるんだそうな。ということで、作りためていたライブラリを組み合わせて、ちゃきちゃき作ってみた。2.5時間で完成。
マクロを渡したところ… _動かないんですけど!_というご意見をいただいたので調べてみたところ、マクロはExcel2002で作ったのだが、実行環境はExcel97で、その部分の非互換性な部分だった。身の回りにExcel97は残しておく必要がありそうだ。(だれだよ、互換性でMS Officeが優れているなんていったのは、些細な非互換性が非常に腹立たしいのだけど…)
今日は家のPC関係はいったんお休み
ちょっと寝不足気味なのと、1日Excel VBAと闘ったので、久しぶりに疲れた… 今日はいろいろ追いかけるのはお休み。
もっと読む2005年04月20日 水曜日
久しぶりにカーネルコンパイル
今日は我が家のノートパソコンの無線LANを使えるようにするための下準備。とりあえずLinuxカーネルのバージョンを上げる。作業は以下の通り。
- カーネル2.6.11.7を展開
- Software Suspend 2 for Linuxのパッチを当てる
- 現状のカーネル2.6.6のオプション設定を元に足りない部分を設定(PCMCIA関係がごろっとかわっている。)
- カーネルのコンパイル
- 三浦さんのところにある Panasonic Hotkey Driverをダウンロード。(丸ごとまとまったtar ballをダウンロード)
- Panasonic Hotkey Driverをmake install
ということで、一応各種ホットキーが使えるようになったこと(前回のパッチではサスペンドだけだったけど、今回は全部使える。さすが素晴らしい…)とHibernateすることとHotkeyの動作の確認までOKのようです。(/etc/hibernate/hibernate.confの設定が多少おかしいので、今日のところはXからHibernateすると復帰しない。やっぱ一回テキストモードにした方がええのかな?) ALSAに変えたせいかどうかは分からないけど、さっぱり音が鳴らなくなったので、さらに調査中… おおむねいい環境になった!
2005年04月19日 火曜日
いろいろ調べもの…
いろいろ調べもの。今はこんなことを調べている。
XHTMLファイルの解析
SAXやDOMを使わずに、もっと簡単な方法での特定要素の中身を取り出したい。(たとえばh3要素やa要素)
プログラムコードのHTMLにおける引用の仕方
これまでpreでくくった中身をさらにcodeでくくっていたんだが、これはやっぱおかしい。もっと論理的に表現したい。
UTF-8でのファイルの保存について
1つはBOM(Byte Order Mark)を付けるべきか否か。本来UTF-8でのエンコードではエンディアン(卵を丸みがある方から食べるのが好きかのか、尖った方から食べるのが好きかとか言った区別だ)は関係ないはずなのだけど、Unicodeの規格を読むと署名として使っているらしい。BOMを付けるとおかしくなったり(たいていのエディタで付けてくれない)、無いとおかしかったり(IEは文字コードの自動認識が巧く行えない)するので、どうしたものか。2つ目は_変換表はどれが正しい?_ どれも同じ程度に微妙に違う。何を信じればいいのか… いずれにせよ全く何とかして欲しい。(それ以外はUTF-8の方が扱いやすいのよね。XMLの場合。)
X-Windowでの漢字変換
うちの環境ではGnomeもKDEもデスクトップ環境としては使ってません。(鬱陶しいんだもの。) ウィンドウマネージャはFluxboxを使っている。適当なディスプレイマネージャ(kdmやwdm)でウィンドウマネージャにFluxboxに指定してログインすると、kinput2が起動してくれないというか~/.xsessionを無視しているっぽい動作をするため、いろいろ不便な目に遭っている。なぜだろう?
2005年04月18日 月曜日
findメモ
この日記の記事(限りなくHTML4 Strictに近くて、ISO-2022JPで書かれているファイル)を諸般の事情により内容を再利用することを目的に、元の記事をを残しつつ、XHTML 1.0 Strict(UTF-8)に変換しようかと画策している。今回の見直しは結構大きめで、せっかくだからスタイルシートの指定も一気につもりつもりなのだ。
今日の努力で一日分の記事のファイル(index.html)について、上記の変換がshとsedとHTML Tidyでできるようになったのだが、変換したいファイルはyyyyが西暦年、mmが月、ddが日として
~/html/diary/yyyy/mm/dd/
と言うディレクトリに静的に入っている。個数を勘定(LS-lRしてindex.htmlを検索語にgrep書けて行数を数えただけ)してみたところ、1200個くらいのファイルがある。(足かけ5年分だとこのくらい?当然ディレクトリの個数がその程度ある。) さすがに手でやるのも気が遠いというか、そんなの人間のお仕事ではないので、再帰的にできないかなと思うわけだ。いったん1つのファイルを処理する適当に書いたシェルスクリプトはこんなかんじ。あんまり考えないで書いたので、動作の通りそのまんま。
#!/bin/sh
if [ -e $1.orig ] ; then
echo "既に処理済みです"
else
cp $1 $1.orig
sed -e 's/www\.ymzk\.org\/~kentaro/www.dabesa.org/' \
-e 's/diary\/diary\.css/standard.css/' \
-e 's/ align=\"right\"/ class=\"d_footer\"/' \
-e 's/<code><pre>/<pre><code>/' \
-e 's/<\/pre><\/code>/<\/code><\/pre>/' $1.orig > ~/tmp/tmp1
iconv -f ISO-2022-JP -t EUC-JP ~/tmp/tmp1 > ~/tmp/tmp2
tidy -output ~/tmp/tmp3 -config ~/TidyConf.txt ~/tmp/tmp2
sed -e 's/EUC-JP/UTF-8/' \
-e 's/<pre><code>/<div class=\"code\">/' \
-e 's/<\/code><\/pre>/<\/div>/' ~/tmp/tmp3 > ~/tmp/tmp4
iconv -f EUC-JP -t UTF-8 ~/tmp/tmp4 > ~/tmp/$1
rm ~/tmp/tmp[1-4]
fi
/html/diary までは同じだから、/html/diaryからの相対パスで変換したいファイル名のリストを作って、1つずつ食べていただけばいいのだろうか? と思ったのだが、たしか再帰的に呼び出すコマンドがあったようなと思ってTLUC-MLで質問したら、吉藤さんから「find?」と言うコメントをいただいたので、_ああ、そんな便利なコマンドあったなぁ_と思いだした。シェルスクリプトをnikki2xhtml.shとした場合、
find ~/html/diary -name index.html -exec ./nikki2xhtml.sh {} ;
とすれば良いわけだ。なんだか1年くらい前にもfindな話を聞いたのを思い出した… findは1年ぶり、sedに至っては12年ぶりだ… わすれるわなあ。と言うことでメモ。(なんか前回も吉藤さんにコメントをいただいた気がする…)