2001年08月の雑感

[トップページへ] [7月] [9月] [過去の雑感へ]

8月31日(金)

Dave & Andy 本

DaveとAndyのRuby本が翻訳されて出版された模様。 予想通り、原書を読み終えてしまう前に翻訳書が出版されました。

カウンター

うーむ。直接、このページ見にくる人が多いかと思ってたんですが、トップページを見る人の方が多いのか。 さすがに英語トップページは少ないですね。これは予想通り。


8月29日(水)

CSS

Cascading Style Sheet のことかと思ったら、Cross Site Scripting だそうな。 略語は難しい。 どっちも、HTMLと関係があるらしいから余計ややこしいぞ。

.addresses

メール出そうとして、.addresses ファイルが無いことに気付く。 あっ。バックアップも取ってない。 受信メールから取りあえずメールアドレスを抜き出した。 でも、一部の人のは消えて無くなりました。

細かい地味な復旧作業は、日々続く。


8月28日(火)

Just another Testing Framework for Java

UniteeというJUnitのようなTesting Framework。 なんか、sourceforgeっぽくないページだ。 JUnitと違うのは、テストデータとTestCaseは分離しているところらしい。 テストのデータを引数として渡せるのかな。

忘れてたけど、Javaの環境を復旧させるのが先決。 とりあえず、JDKだけでいいか。

Mondo Rescue (Linux)

ちょっと気になるバックアップツール。

反省

再インストールする前に、1回、フロッピーからのブートを試みるべきでした。


8月26日()

仕事

段取り良く進む。テキパキと順調に進めば、3時間で終わることが判明。 ということで、午前中で仕事は終わり。

『刑事ぶたぶた』 矢崎存美 著

購入、そして読了。 自分が、ぶたぶたに慣れてきたので、インパクトが薄れてきてます。 うーむ。そうか。ぶたぶたは刑事に向いていたのか。 じっとしてれば、目立たないし、無茶苦茶タフだし。

「思い出せない女」が好み。


8月24日(金)

復旧作業

ある程度、環境が整ってきたので、あとはのんびりやります。 慌ててやるとチョンボしそうだし。 必要なものからインストール、設定していくことに。 大きなもので残っているのは、CVSの設定とVMware(+ Sambaの設定)。 VMwareは、まとまった時間が取れるときにやります。 (ファイルが壊れてたら2000のインストールからやり直しなので。)

カウンター


8月23日(木)

たっ隊長!!

たっ隊長! 大変です! ls コマンドが見つかりません!

pathが通ってないだけでは?

cd してもホームディレクトリが無いと言われます!

とりあえず、exitして、リブートしてみろ。

駄目です! Kernel Panic です! 起動できません!

間違ってファイル消しちゃったんじゃないの?

確かに私、 find . -type f | xargs rm などと root で実行しておりました。 しかし、天地神明に誓って、. は / ではありませんでした。

そう言う奴に限ってやってんだよ。 とりあえず再インストールしてみれば?

隊長! インストール開始します!

隊長! /dev/hda1 /dev/hda7 /dev/hda5 のパーティションが表示されました。

/dev/hda1(/) と /dev/hda5(/usr) はフォーマットしてインストールしろ。 /dev/hda7(/home) はほうっておけ。

隊長! 指定した覚えのないGnomeがインストールされているようです!

いや、そう言い張る者に限って指定しているんだよ。

隊長! 焦って run level 5 で起動するように指定してしまいました!

仕方あるまい。

隊長! GUIなログイン画面です! ログインします! ログインしました。Gnome 遅いです!

Gnomeが遅いんじゃなくてマシンが遅いのだ。

隊長! /home の中身は無事な模様です! ファイルが残っています!

どうやら . は / では無かったようだな。

隊長! /usr/localに何もありません! JDKが消えました! Tomcat もありません! Rubyの最新版も! vmware もありません!

うーむ。やはり、/ /usr /usr/local /home の4つぐらいに分けておくべきだったか...

... という訳で何とか復旧中でありますが、元の状態に戻るにはもう少し時間がかかりそうです。

VMwareは消えたけど、仮想ハードディスクファイルは残っているので、 ファイルが壊れてなければ復旧はそれほど手間取らないと思われます。

でも原因が良くわからないし、ハードディスクが壊れつつあるんだったら嫌だなあ。 やっぱりいざという時のためにもう1台あるといいんだけど。


8月21日(火)

台風

幸い、直撃されなかったようだ。 台風というより、普通に雨。 いつもと違うのは、ちょっと風があることくらいか。


8月20日(月)

ltmodem (Linux 2.1.5)

せっかくなので、ヴァージョンアップに挑戦。

tar zxvf /soft/linmodem/ltmodem-6.00a.tar.gz
cd ltmodem-6.00a1
./build_module
./ltinst2
./autoload

lsmod しても何故か駄目だったので、1ST-READを読んで、

/etc/rc.d/rc.local の最後に

/sbin/insmod -f lt_modem
/sbin/insmod -f lt_serial

の2行を追加

/etc/conf.modules の `"$ALIASLINES"`をコメントアウトして

alias char-major-62 lt_serial

を追加。こんな感じ。でもこれで正しいのかどうか自信がない。

insmod_opt=-f
# lt_drivers: autoloading and insertion parameter usage
# `"$ALIASLINES"` 
alias char-major-62 lt_serial
# options lt_modem vendor_id=0x115d device_id=0x0420 Forced=3,0x130,0x2f8
# section for lt_drivers ends

再起動してちゃんと moduleがロードされていることを確認。

# lsmod
Module                  Size  Used by
lt_serial              17536   0  (unused)
lt_modem              314304   0  [lt_serial]

前より Size が小さくなった。無事に、モデムを使えることを確認。

/dev/ttyS14 から /dev/ttyLT0 に変わったのか(ずーっとlinux568.zipを使っていたのでした)。

台風

近づいてきているせいか、涼しい。


8月19日()

upx (Linux 2.1 & Windows)

Linux 2.1 へのインストール
tar zxvf ucl-0.92.tar.gz
cd ucl-0.92
./configure
make

cd ..
tar zxvf upx-1.20-src.tar.gz
src/Makefile の、ucl-0.92のディレクトリを変更

  UCLDIR=../../ucl-0.92

make target=linux

upx を引数なしで実行すると

This version supports: dos/exe, dos/com, dos/sys, djgpp2/coff, watcom/le,
                       win32/pe, rtm32/pe, tmt/adam, atari/tos, linux/386

と表示されるのだが、これは、Linux上でもWindowsのファイルを圧縮できるということか。

Windows へのインストール

Windows(Cygwin) へのインストールは、最後のところだけ

make target=cygwin

とすれば良い。

ついでに -mno-cygwin で作るには ucl-0.92 の configure で

env CC="gcc -mno-cygwin" ./configure i386-mingw32

として、最後の upx の make で

make target=no-cygwin

とする。

Vine 2.1.5 へアップグレード

何となくアップグレードしてみました。 アップグレードは何なく終了。 いくつか設定しなければならなかったので、メモ。

keymap

アップグレード時に何かへまをしたらしく英語キーボードの設定になってしまった。 /etc/sysconfig/keybordを編集。

KEYBOARDTYPE="pc"
KEYTABLE="jp106 jp106_Ctrl_CAPS"
ltmodem

再インストールしたらつながりました。

VMware の設定

Kernel のヴァージョンが変わったら、リビルドしないといけないらしい。 /usr/bin/vmware-config.plを実行。 途中でSambaを導入するか聞いてくるので、それだけはnoにして後はyes。 (Sambaは自前でインストールしたものを使っているため。)


8月18日()

カウンター

日本語トップページのカウンターは210(2001-08-12 〜 2001-08-18)。

glibc & javac (Vine Linux 2.1 Java2(JDK1.3))

javacが動かないのは、glibc のバグのせいらしいという情報を 得ていたので、やっとglibcをアップグレード。

glibc-2.1.3-16vl9
glibc-devel-2.1.3-16vl9

から

glibc-2.1.3-21vl3
glibc-devel-2.1.3-21vl3

にしました。これでちゃんと -hotspot が動くことを確認。


8月16日(木)

社員食堂

ラーメン頼んだらチャーシューが入ってなかった。 夏休みモードも明日までの辛抱。きっと。 こう毎日続くと段々ダメージが...。

『Emacs Lisp』 青柳龍也 著

読了。run-hooks の説明がほとんどなかったり、駆け足の部分があります。 これだけだとちょっとつらいので、次の1冊が必要です。 とりあえず、emacs-lisp-intro (の日本語訳)をinfoで読むことにしました。

『Java言語プログラミングレッスン上』 結城浩 著

読了。初心者向け。中級者にはちょっと物足りないかも知れません。入門書です。


8月14日(火)

C++

ifstream ifs("file.txt");
char buf[100];
while (ifs.getline(buf, sizeof(buf))) {
    cout << buf << endl;
}

とすると、1行が100字以上だとそこで読み込み処理が終わってしまう。 VC6, Cygwin ともにそうだった。 そういうものだったかしらん。

ifstream ifs("file.txt")
string str;
while(getline(ifs, str)) {
    cout << str << endl;
}

とするとOK。こういうのって富豪的? ちなみに

ifstream ifs("file.txt")
string str;
while(ifs.getline(str)) {
    cout << str << endl;
}

はエラーになります。

社員食堂

今日も休みモード。 明日のことも考えて3日続けてカレーは嫌なので、まだ残っていた焼飯を注文。 何か不味くないですか? 休みだと味まで落ちるんですか? カレーにしとけば良かった。


8月13日(月)

『屍天使学院は水没せり』

読了。うーん。ひょっとしたら傑作かもと期待しながら読んだのですが。 ある種の世界を構築して、その世界でしか通用しない論理による華麗なる推理というのを期待していたんだけど、 最後はちょっと腰砕けな感じがしてしまいました。

なんか期待しすぎた(違うものを期待した)のがいけなかったんだろうなあ。

社員食堂

が、お盆休みモードに入っていた。 いつもの小鉢の一品料理は無いし、日替定食は売り切れてるし、丼は並んでいる途中で売り切れるし。 全部売り切れで昼抜きになるんじゃないかと思って、ドキドキワクワクしてしまった。 (この「ワクワク」は、全部売り切れという初めての経験ができるかもというワクワクです。)

幸か不幸か、カレーが残ってたので、カレーにありつく。

うーん。この分だと、明日、明後日もカレーかな。


8月12日()

カウンター

期間限定でつけてみることに。 ハーボットは重いみたいなので却下。


8月11日()

友人

と大阪で会う。 Javaとか、XPとか、ハーボットとか。EmacslispUnitを作れだとか。 カウンターをつけてみるとか。 (今になって、EmacslispUnitって探せばあるんじゃないかという気がしてきました。)

書籍購入

友人につきあってもらって、書店へ。

XPの新刊は今回、見送り。また次の機会。

喫茶店

久々に入った喫茶店で、 「ミルクの味が新しくなりました。 よりイギリスの味に近くなりました。 ご賞味下さい。」 と店員さんに言われる。 アイスミルクティーを飲んでみたら、 ミルクの味がしっかりしてるような気がした。 (私は感化されやすいのです。)

でも、飲み終わったあと、しばらくして、 なんか気持ち悪くなってきてムカムカしてきた。 (いや。ミルクティーのせいじゃないかも知れないけど。)

『ぶたぶた』『ぶたぶたの休日』

一気読みしてしまいました。 最もミステリ色が強い「女優志願」が好み。『刑事ぶたぶた』も読んでみたいです。


8月10日(金)

Java言語プログラミングレッスン

支店には上巻しか売ってなかったので、 本店の方まで行ったのにやっぱり上巻しか無かった。 もうそろそろ上巻を読み終わるので、下巻を何とか入手しないと。 それにしても、上巻2冊も置いてあるのに、なんで下巻が1冊も無いんですか???

まんが喫茶

知らないうちにできてたので、時間つぶしにちょっと入ってみる。 アイスティー頼んだら、ビールジョッキ並みのでっかい容器で出てきた。 普通の喫茶店の2倍はあるんじゃなかろうか。

『修羅の門』の最後がどうなったのか知らなかったので読んでみる。 うーん。そういうことだったのですか。

JNI(Cマガジンより)

を利用すると、Javaから、Cのコードも利用できるらしいことを知る。 これは、RubyWinのJava移植で利用できるかも。 (RubyインタプリタはそのままCのコードを利用して、GUIだけJavaにする。)

JNIもそのうち触ってみなくては。

CodeRed

マイクロソフトからCodeRedに関するお知らせメールが来ていた。 (なんか違う形だけど、CodeRedに絡めて嬉しい。)

Tomcat & Apache

連携に関する情報ありがとうございます。 (例によって情報がすぐ消えるのでリンクしません。)


8月8日(水)

CodeRed

あっちゃこっちゃで話題になってますね。 どうやら何回来たかという数とともに話題にしてる方が多いようですが、 数の多い方が勝ちなんですか? 少ない方が勝ちなんですか?

えっ? 私? 今のところそういうのとは縁の無い環境なもので。 仕事では管理してないし、自宅は、PPPだし。

あっ。電話かけてる間だけ、Apache立ちあげればいいのか(←Apacheの用途を激しく間違えてます。) それにしても、私、無意識のうちに絶妙のタイミングでApacheをインストールしてますねえ。 (ちょっと出遅れてる?) うーむ。これはCodeRed戦線に参加せよとの神さまのお告げか?(←だからやめなさい。)

いや。ちょっと参加できなくて寂しかったもんで、無理矢理絡んでみました。


8月7日(火)

RubyWin

デフォルトコンストラクタを定義してないからエラーなんですね。 定義しましょう。 これ以上は、WEB交換日記形式(←何やそれ?)はやめて、直接パッチをメールで送らせていただきます。

ところで、本当は、デフォルトコンストラクタを定義するのが正しいのでしょうか? 手元の本を調べたけどはっきりしませんでした。

vector<TEXTCOLOR> textColor(100);

とする場合には、デフォルトコンストラクタが無いとエラーになると手元の本には書いてありました。 でも、

vector<TEXTCOLOR> textColor;

の場合はどうなのか見つけられんかったです。

VC5のデフォルトコンストラクタを定義しろというのは正当な要求のようにも思えます。 でも、CygwinもVC6も要求しないんですよね。Borlandはどうなんだろ?

C++(STL)は私も良くわかってないのですが、わかってないからこそ、勉強を兼ねて、 開発当初からRubyWinはC++で実装ということになってます。 (でも、今さらC++か?という気がしないでもないです。)


8月6日(月)

RubyWin

なるほど。 Ruby 1.7 と VC6での話でしたか。 すいません。 基本的に、私は開発版Rubyのことを考慮しないことにしてます。 特にRubyの機能を組み込むRubyWinとか、拡張ライブラリのWin32OLEについては。 正直、そこまで手が回らないのです。 (個人的にLinux上で日常使っているスクリプトは、ほとんどRuby1.7に移行しているんですけど。)

でも、パッチはありがたく頂戴して組み込ませていただきます。 ありがとうございます。


8月5日()

JDE (Vine Linux, Emacs)

これだけでも覚えておくとそれなりに便利。 結城さんの『Java言語プログラミングレッスン』の問題を自分でやるには、これで十分です。 (まだ3章までしか終わってませんが(笑)。)

Ant(Java)

JSP への道第2弾。どうもAntをインストールしないといけないらしいのでインストール。

mkdir /usr/local/jakarta
cd /usr/local/jakarta
tar zxvf jakarta-ant-1.3-src.tar.gz
ln -s jakarta-ant-1.3 jakarta-ant
cd jakarta-ant
export ANT_HOME=/usr/local/jakarta/jakarta-ant
export JAVA_HOME=/usr/local/jdk1.3.0_02
./build.sh install

JSSE(Java)

JSP への道第3弾。 SSL対応のためのJSSEのインストール。 (J2SE SDK 1.4には最初から含まれているみたいだ。)

unzip jsse-1_0_2-gl.zip
cp jsse1.0.2/lib/*.jar /usr/local/jdk1.3.0_02/lib/ext
export CLASSPATH=$JAVA_HOME/lib/ext/jcert.jar:$JAVA_HOME/lib/ext/jnet.jar:$JAVA_HOME/lib/ext/jsse.jar

Java Servlet API(Java)

JSP への道第4弾。

cd /usr/local/jakarta
tar zxvf jakarta-servletapi-3.2.3-src.tar.gz
ln -s jakarta-servletapi-3.2.3-src jakarta-servletapi
cd jakarta-servletapi
chmod +x build.sh
export CLASSPATH=$ANT_HOME/lib/jaxp.jar:$ANT_HOME/lib/parser.jar:$CLASSPATH
./build.sh dist

Tomcat(Java)

JSP への道第5弾。ようやくTomcatなり。

cd /usr/local/jakarta
tar zxvf ~/webtmp/jakarta-tomcat-3.2.3-src.tar.gz 
ln -s jakarta-tomcat-3.2.3-src jakarta-tomcat
cd jakarta-tomcat
chmod +x build.sh

jaxp-1.0.1でなくて、Antと一緒に配布されているjaxp.jar, parser.jarを利用するように build.xmlを編集する。

diff -u1 build.xml.org build.xml
--- build.xml.org     Tue Jul 17 23:25:27 2001
+++ build.xml Sun Aug  5 22:21:23 2001

@@ -7,3 +7,3 @@
   <property name="j2ee.home" value="../../j2ee/build/unix"/>
-  <property name="jaxp" value="../jaxp-1.0.1" />
+  <property name="jaxp" value="../jakarta-ant/lib" />
   <property name="optimize" value="true" />

編集できたら

build.sh

あとは

cd /usr/local/jakarta/build/tomcat
./bin/startup.sh

で起動すれば、OK。

さらに、http://localhost:8080/ にアクセスしてJSPのサンプルを実行できれば完璧。

停止は、

./bin/shutdown.sh

疲れた。

このような複雑怪奇なインストール作業が一発ですんなりできるはずはありません。 都合5回くらいは最初からインストールし直してますです、ハイ。 途中であきらめて、Tomcatのバイナリのインストールもしました。 実行して、Tomcatが動くことを確認して、アンインストールし、 気分も新たに再挑戦したら最後まで進みました。

次は、Apacheとの連携です。 (ハマったらすぐにあきらめることにします。JSP入門するのに絶対必要って訳でも無さそうだし。) で、その次に、やっと自分でJSPなページを作ってみると。 果してそれまで気力、体力は続くのか!? 次回乞うご期待。


8月4日()

Apache (Vine Linux)

make install して、httpd.conf を自分の環境に合わせて変更。 問題なく動作することを確認。RWikiを動かしてCGIも使えることを確認。


8月3日(金)

『夜のフロスト』 R.D.ウィングフィールド

ちびちびと200ページくらい読んでいたんだけど残りを一気に読了。 うだつの上がらないフロスト警部が段々格好良く思えてくるから不思議。 何だかんだ言いながら、人間フロストとしてのスジを通そうとし、部下をかばうところがいい。

やっぱり、今回も、読んでいる途中で、どの事件の関係者なのか、 どの事件の話題なのか、わからなくなってしまいました。 全部の事件がちゃんと解決 ... したんだよな。多分。

警部の奥さんがどんな人だったのか興味があります。

RubyWin

別に、VC5のサポートをやめた訳じゃなくて、VC6の環境しか手元に無いのでした。 VC5でもコンパイルできるのならできるようにしたいです。

ということで、VC5だとこう修正したらできたとか、こういうエラーが出るとかいう情報も歓迎します。

うーん。でもVC6でも駄目ですか? 0.0.3.6だと大丈夫だと思うんですけど。 キャストって、RUBY_METHODFUNCの問題とはまた別の問題なんでしょうか?


8月2日(木)

RubyWin

cygdrive じゃ駄目なのか。 [rubytalk:18879]のパッチをありがたく頂戴して組み込む。

ついでに、VC++でコンパイルできなくなってたそうなのでそれにも対応。 さらに、SJIS と UNICODEの変換は、WindowsのAPIを使うように修正。

Apache(JSP)

ふとJSPを触ってみたいなあと思ったので、環境を作るべく、Apacheをコンパイル。 (最近、Apache + Tomcat というのがJSPの王道らしいということを知りました。)

tar zxvf apache_1.3.19.tar.gz
cd apache_1.3.19
./configure --enable-rule=SHARED_CORE --enable-module=so
make

インストールと設定は、また今度。


8月1日(水)

Rubyでお仕事

何故か、夜間に動いてとっくに終わっていなくちゃいけない処理がまだ動き続けている。 前から時間がかかっていて、ちょっと気になっていたので、少し気合いを入れて調べることに。 (この処理が終わってくれないと、本日予定していたはずの本来の仕事ができないのです。)

この処理はいくつかの小さな処理単位に分かれていて、それぞれの終了時刻がわかっている。 そこで、終了時刻を元にして、小さな処理単位に所要時間を算出して、多い方から順に並べてみることにした。 こういうときは、Rubyの出番。適当にスクリプトをでっち上げる。便利ですね。 もちろん(?)RubyUnitを使ったテストファーストプログラミング...は、やりません(笑)。 だって、使い捨てだから。

ネックとなっている処理(複数)がわかったので、後はこれをいかに高速化するか。 試しに別のツール使って同じ処理をやらせたら速かったので、遅い処理のいくつかをこのツールを使うように変更。

結局、時間切れになって、本日予定していたはずの仕事はできなかった。 今日やらなきゃいけない訳でもないし、まあいいか。


[トップページへ] [7月] [9月] [過去の雑感へ]