2005年04月27日 水曜日

訃報と…

先日の列車事故で直接の知人が亡くなったという話は僕の場合はないけれど、以前より世話になっていたドキュメントを書かれた方がなくなられたそうだ。Matzにっきによると、今回の尼崎の事故で石井 勝さんがなくなられたそうだ。(Object Clubの追悼 BBSあたりも参照のこと。)
石井さんは凄く早い段階でXP(eXtreame Programming)を取り上げて分かりやすい記事を書かれており、OOP(Object Oriented Programming)やDesign Patternに関する記事にも、非常に創意工夫のある記事があって、良く参照させていただいてました。このような事故で素晴らしい技術的な記事を書かれる方がなくなられるのは、非常に残念でならない。これまでたびたび役に立ってくれた記事を書かれたことに関して深い感謝と、ご冥福をお祈りします。
あと今回の訃報で思ったのはまつもとさんの日記にもあるように、自分と同世代の若い、まだこれから先がある人が亡くなったことを聞くのは凄く切ないし、悲しい。それともうこのような年になって、死がそんなに遠いところにはなくなってしまったと言う気がしてならない。
またこのように多くの人に役立つ文書を書かれている人は本当に少なく得難い存在であるし、またその書かれた文書が電子媒体の場合は、著者の死ととも(もしくはそう遠くない将来に)にそれらの文書が失われてしまう(石井さんのページの場合はNiftyとの契約が切れたところで無くなってしまうかもしれない)ことについて、何とか永続性を持たせてあげられないものかと考えてしまう。その人が生きてきた証をなんとか残してあげられないものか… この辺がネット媒体、電子媒体の情報の脆弱な部分かなと思わずにいられないのである。(良い方法があればいいけど。)

2005年04月26日 火曜日

Alexandria

本棚を管理するソフトで良いものがないかなあと思っていたが、Unix Userの05年02月号を読んでいると、Alexandriaというソフトが紹介されていた。Debianな環境に早速インストールである。apt-getでサクッと入るのは何とも気軽なものだ…
さて使おうと思ってAmazonの設定をして、ISBN検索(ASIN検索)を行ったところ、なぜかamazon.comの方に検索に行くようだ。どうやら_うまくLocaleが認識されない模様_。で、ソースを眺めてみた。alexandria/book_providers/amazon.rbをBug Tracker #1633に乗っていたパッチのように書き直し。さらにASINでURLを返すメソッドの返り値をamazon.jpに置き換え。とりあえず、現在のsidに納められているバージョンがsargeに反映されるまで、これで使うことにしよう。
で、ISBNを入力してみたのだが、なかなか良い感じ。サクサク入力するかぁと思いきや、目の前に広がる本の山。バーコードリーダーを買うしかないのかな。やっぱし…

2005年04月25日 月曜日

今週の目標

とりあえず、今週の目標は10月以降に穴が空いている記事の補完だな。全部ネタがいっぱいあるのだけど写真の加工を要するものばかりなので、時間がかかるというのもあって手が回ってなかったのですね。昨日もちょっと穴を埋めてみたり… 古いものほど忘れちゃっているけど、写真はアップしておかないとなあ。

2005年04月24日 日曜日

mltermの設定

最近新しい多言語ターミナルエミュレータとして名前を良く聞くようになったmltermであるが、README.jaを読むと、多言語表示だけではなくアンチ・エイリアスなども使えるようになっているので、早速使わねばと言う気になった。設定のメモ。基本的にアンチ・エイリアスを使用し、プロポーショナルな字詰めはしないという設定を行ってみる。設定すればいいのは以下の2つ。

## General setting
use_login_shell=false
termtype=mlterm
ptys=1
ENCODING=auto
use_bidi=false
use_combining=false
big5_buggy=false
copy_paste_via_ucs=false
## font
fontsize=18
font_size_range=6-30
step_in_changing_font_size=1
use_variable_column_width=false
use_anti_alias=true
use_cp932_ucs_for_xft=true
not_use_unicode_font=false
only_use_unicode_font=false
iso88591_font_for_usascii=false
compose_dec_special_font=false
## appearance
use_transbg=false
use_scrollbar=true
scrollbar_mode=right
scrollbar_view_name=sample
## fg_color=black
## bg_color=white
sb_fg_color=white
sb_bg_color=black
## others
use_xim=true
open_xim_in_startup=true
tabsize=4
logsize=500
word_separators=*",.:+/@
mod_meta_mode=none
bel_mode=sound
daemon_mode=none
icon_path=/usr/share/pixmaps/mlterm-icon-wmaker.png
conf_menu_path_2=mlterm-zoom
ISO8859_1 = 18,-unknown-tarisaka-medium-r-normal--0-0-0-0-p-0-iso8859-1
ISO8859_1_BOLD = 18,-unknown-tarisaka-bold-r-normal--0-0-0-0-p-0-iso8859-1
JISX0201_ROMAN = 18,-unknown-tarisaka-medium-r-normal--0-0-0-0-p-0-jisx0201.1976-0
JISX0201_ROMAN_BOLD = 18,-unknown-tarisaka-medium-r-normal--0-0-0-0-p-0-jisx0201.1976-0
JISX0201_KATA = 18,-unknown-tarisaka-medium-r-normal--0-0-0-0-p-0-jisx0201.1976-0
JISX0201_KATA_BOLD = 18,-unknown-tarisaka-bold-r-normal--0-0-0-0-p-0-jisx0201.1976-0
JISX0208_1983 = 18,-unknown-tarisaka-medium-r-normal--0-0-0-0-p-0-jisx0208.1983-0
JISX0208_1983_BOLD = 18,-unknown-tarisaka-bold-r-normal--0-0-0-0-p-0-jisx0208.1983-0
JISX0208_1990_ROMAN = 18,-unknown-tarisaka-medium-r-normal--0-0-0-0-p-0-jisx0212.1990-0
JISX0208_1990_ROMAN_BOLD = 18,-unknown-tarisaka-bold-r-normal--0-0-0-0-p-0-jisx0212.1990-0

これは、Osaka互換フォントのOsakafontスレから貰ってきたtarisakaの場合の設定。(MacOS9のOsakaとWindowsのTahomaを足したセットだからかなりやばい配布物だと思うけど…)

2005年04月23日 土曜日

無線LANを使えるようにする

今日の攻略目標は我が家のノートPCの無線LANアダプタ。以前は、NdisWrapperを使っていた。これはWindowsのネットワークドライバをLinuxで使えるようにするという何とも凄いドライバなのだが、でかいファイルの転送(apt-getなど)を行うとドライバごとお亡くなりになる痛い問題があった。(メール読むくらいだったら全然OKだけど。) 最近ネイティブのドライバの安定しているという話を、先週のMozilla Party 6.0で三浦さんに聞いたので、早速インストール。手順は以下の通り。ちなみに我が家はDebianです。

  1. Intel PRO/Wireless 2000BG Driver for Linuxからドライバをダウンロード(正確には、apt-get install ipw2200-source)
  2. module-assistantを実行。手順に従ってipw2200を選択、ビルドまで行う。
  3. http://ipw2200.sourceforge.net/firmware.phpからファームウェアの最新版をダウンロード。
  4. ダウンロードしたファームウェア ipw-2.2-*.fwを/use/lib/hotplug/firmware/ にインストール。
  5. 先ほどビルドしたdebパッケージをdpkg -iでインストール
  6. /etc/init.d/hotplug startするとipw2200がeth3として見えるようになる。
  7. あとは/etc/network/interfacesを適当に設定
  8. 必要に応じて/etc/hibernate/hibernate.confなども修正
  9. これで、ifup eth3 するとネットにつながるはず。
    /etc/network/interfacesの書き方はこんな感じ
auto eth1
iface eth1 inet dhcp
wireless-essid ESS_ID
wireless-mode Managed
wireless-key s:Key

ESS_IDとKeyはそれぞれ各自の無線LANアクセスポイントで設定しているものを入れる。Keyの前にs:を付けるのを忘れないこと。

2005年04月22日 金曜日

国際化 R(GNU R-2.1.0)

4月18日にリリースされたR-2.1.0では正式にI18N対応になってますね。これまで日本語を使うだけで、それなりの苦労があったけど、今後はそんな苦労も無くなるのね。ああっ、すばらしい… 国際化をされた皆様ありがとうございます。これからがんがん使わせて貰います。ということで、ダウンロードしてみた。

Excel、有効桁が足りないみたい…

昨日の問題を乗り切ったかと思ったら、新たな問題を与えられてしまった。今日の課題は2個の独立変数(x, y)に対する測定値 z を、xとyの3次項までの多項式で当てはめを行いたいとのこと。xとyは10^8程度の大きさなので、3次項まで計算すると3次項の係数を計算するための必要な桁数は結構な桁数が必要だ。Excelで多重回帰してみたけど、欲しい値から若干ずれている。他の系での計算結果と比較すると言うことで、Mathematicaの非線形回帰(NonlinearRegress関数)とRの非線形回帰(nls関数)で計算した結果はほぼ欲しい値と一致しており、Excelでの計算で有効桁がまるで足りてないようだ。この手の計算にはExcelはやっぱ使うべきではないのかもしれない。
まぁ今回の場合は、xとyの値適当にスケールすればいいだけの話だけど…

2005年04月21日 木曜日

久しぶりにExcel VBA

今日は午後から頼まれたExcel VBAのマクロ書き。1つのファイルに10個くらいのデータ系列があって、それぞれに対して単回帰分析をしたいらしいのだが、そんなファイルが100個くらいあるんだそうな。ということで、作りためていたライブラリを組み合わせて、ちゃきちゃき作ってみた。2.5時間で完成。
マクロを渡したところ… _動かないんですけど!_というご意見をいただいたので調べてみたところ、マクロはExcel2002で作ったのだが、実行環境はExcel97で、その部分の非互換性な部分だった。身の回りにExcel97は残しておく必要がありそうだ。(だれだよ、互換性でMS Officeが優れているなんていったのは、些細な非互換性が非常に腹立たしいのだけど…)

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つのファイルを処理する適当に書いたシェルスクリプトはこんなかんじ。あんまり考えないで書いたので、動作の通りそのまんま。