随感録 2000年8月

2000-08-05 (Sat)

最近の出来事つらつら。

異動。

# Nicolatter for X 1.7.0pre1

Tag(s): リリースノート

Q's Nicolatter for X Version 1.7.0pre1を公開。XEmacsでも使えるようになった。

# いろいろ

Tag(s): 今日のリンク Java プログラミング

今日のリンク:

きょうの森首相
森某の愉快な言動が楽しめる。ただし偏向某の記事なので全体像が歪められている恐れは多分にある。
いがぴょん の日記ウェブページ
Java関連の話題など。
プログラマー's研究所/研究日誌
こちらもプログラミング関連の話題など。

# OpenMotif

Tag(s): プログラミング Linux

Cマガジン2000年8月号に触発されてOpenMotifをインストールし直そうとした。が,失敗。不思議。LessTifをインストールした。

#include <Xm/PushB.h>
#include <Xm/Label.h>
#include <Xm/BulletinB.h>

void onExit(Widget w, XtPointer closure, XtPointer call_data)
{
    exit(0);
}

int main(int argc, char* argv[])
{
    XtAppContext app;

    XtSetLanguageProc(NULL, NULL, NULL);
    Widget top = XtAppInitialize(&app, "StrTest1", NULL, 0,
                                 &argc, argv, NULL, NULL, 0);

    Widget bb = XtCreateManagedWidget(
        "bb", xmBulletinBoardWidgetClass, top, NULL, 0);
    XtCreateManagedWidget("label", xmLabelWidgetClass, bb, NULL, 0);
    Widget pushButton = XtCreateManagedWidget(
        "button", xmPushButtonWidgetClass, bb, NULL, 0);

    XtAddCallback(pushButton, XmNactivateCallback, onExit, NULL);

    XtRealizeWidget(top);
    XtAppMainLoop(app);

    return 0;
}

Cマガジンではリソースの置き場所は環境変数で云々とか書いてたが,~/$LANG/<application_class>を見るので不要。

!StrTest1のリソース

*fontList: -misc-fixed-medium-r-normal--20-*-*-*-*-*-*-*:

*label.x: 10
*label.y: 10
*label.width: 160
*label.height: 30
*label.background: red
*label.labelString: ようこそMotifへ

*button.x: 10
*button.y: 50
*button.width: 50
*button.height: 30
*button.labelString: 終了

fontListの最後の':'が無いと正しくフォントセットが使われない。

#

Webサイトのデザインを見直し,日記も1999年8月から検索できるようにした。

2000-08-06 (Sun)

芦屋の花火に行ったり。こぢんまりしてるものの,間近で見れるのは吉。なんか宮小が全く違う建物になっててビックリしたり。

#

最近読んでる本:James C. Collins & Jerry I. Porras, Built To Last, 山岡洋一訳『ビジョナリーカンパニー』日経BP出版センター

金メダルを獲る企業と銀・銅メダルの企業との違いは何か,がテーマ。

follow-up(s): 2000.08.09

#

Excelのマクロを書いたり。複数のシートの値を一つのシートにまとめるもの。

Sub Macro1()
    Set outsheet = ActiveSheet
    
    Dim sheet
    dn = "c:\tmp"
    fn = Dir(dn + "\*.xls", vbNormal)
    If fn = "" Then Exit Sub
    
    i = 1
    Do
        Workbooks.Open FileName:=dn + "\" + fn, ReadOnly:=True
        Set sheet = Workbooks(fn).Worksheets(1)
        
        outsheet.Cells(1, i) = fn
        outsheet.Cells(2, i) = sheet.Cells(15, 2)
        i = i + 1
        Workbooks(fn).Close
        
        fn = Dir()
    Loop While fn <> ""
End Sub

メソッド呼び出しの引数の渡し方がattr:=valと選択的にできるところが興味を引くけど,それ以外あまり変わったところはないんだ。

しかしExcelのマクロが含まれているファイルを開くときの警告は全く役に立たない。だってマクロを有効にして開かないとそのマクロがどういったものか見れないんだもの。

#

Bug Tracking System(バグ追跡システム)を書いたり。今週中には公開したい。

follow-up(s): 2000.08.11/03

2000-08-09 (Wed)

今日から盆休み。

ファイルがどのパッケージに含まれているか探すための超手抜きスクリプト:

for i in *.rpm ; do
echo "   $i"
rpm -qlp $i | grep iostream
done

本を読み終わる。2000.08.06/02

キュベレイ完成。

2000-08-10 (Thu)

今日の買い物:

  • 小花美穂『パートナー』#2
  • CLAMP『カードキャプターさくら』#12
『パートナー』凄いことになってるねー。これが「りぼん」に連載されてるってある意味冗談? 主人公ら4人のうち二人が死んでまうし。でも楽しい。

さくら,みんなハッピーでよかったね。しかし小学生なんだよなぁ。何だか。

#

nicolatterの改良に勤しんだり。文字コード表でUnicode表を追加してみよう。

#

セキュリティ・ホール探し。Saint 2.1.2とNessus 1.0.4を試す。

セキュリティスキャナ

Saintの方はレポートの見方が分からなかった。Nessusはgtk+ベースのウィンドウから操作できて,レポートも読みやすい。でLinux機の結果:

Vulnerability found on port smtp (25/tcp)

It was possible to perform
a denial of service against the remote
Interscan SMTP server by sending it a special long HELO command. 

This problem allows a cracker to prevent
your Interscan SMTP server from handling requests.

Solution : contact your vendor for a patch.

Risk factor : Serious
うみゅ? メールサーバー動かしてないけど。

Windows機の方はセキュリティ・ホールは発見されず。でもブルースクリーンになってもうた。これはいいんか? まぁ,落ちれば踏み台にはされないだろうけど,面白くない。

Linux機の方が不思議なので,メールサーバーを立ち上げて再テストしてみる。

まずは/etc/inetd.confを書き換え。

smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/qmail-smtpd
# kill -HUP <inetdのpid>
# /var/qmail/rc &

で,再びNessus。SMTP関連で幾つか出てくるが,sendmail固有の問題よねぇ?

#

『シュリ』観たり。まぁなかなか。誰が誰だか途中まで,というか人間が減るまでよく分からなかったのは秘密。

2000-08-11 (Fri)

Netscape 6 PR2をWindows機にインストール。ふむ,Javaも動く。

public class FirstApplet extends Applet {
    public void paint(Graphics g) {
        g.drawString("はろーわーるど", 25, 50);
        g.drawString("バージョン:"
                + System.getProperty("java.version"), 25, 70);
    }
};
<table border=1>
  <tr><th>Java Plug-in <th>applet
  <tr><td>
<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
     width=150 height=100>
  <param name="code" value="FirstApplet.class">
  <param name="codebase" value=".">
</object>
  <td>
    <applet code="FirstApplet.class" codebase="." 
                      width=150 height=100>
    </applet>
</table>

IEでは1.1.4, NetscapeではPlug-in, appletのいずれも1.3.0が返る。

JavaScriptも試してみる。

http://www.tokumaru.org/JavaScript/

<script type="text/javascript">
<!--
var obj = new Object();
obj.i = 1;
obj.s1 = "10";
obj.s2 = "This is a pen.";
document.write("<p>");
for (var i in obj) {
  document.writeln("obj." + i + " = " + obj[i] + "<br>");
}
-->
</script>

ふみゅ,これはNetscapeでは完全に無視されてまう。ただし新しいページを生成するように書き直すと動くので,JavaScript自体がサポートされてないわけではない。

http://www.felix.or.jp/~yugo/js/test/index.html

<div id="js20000811" 
    style="border-width:2;border-color:black;border-style:solid">
hoge
</div>

<script type="text/javascript">
<!--
function add_text() {
  var field = document.getElementById("js20000811");
  var text = document.createTextNode("テキスト");
  field.appendChild(text);
}
-->
</script>

<form action="">
  <button onClick="add_text()">押して</button>
</form>

これならNetscape 6, Internet Explorer 5のいずれでもおっけー。今まではページにJavaScriptを埋め込んで,script要素をJavaScriptの生成したテキストで置き換えるように書いていたが,Netscapeでは美味くない。DOMを意識して書かないといけなくなってる。

getElementById()メソッドを持っているということはdocumentはHTMLDocumentかな。ちょっと確認。

  document.writeln(document);

Netscapeは[object HTMLDocument]を返す。当たり。IE5は[object]。やや謎。

でもってDOM Level 1によれば,HTMLDocumentはDocumentの派生クラスなので,getElementsByTagName()メソッドなども使える。

#

郵便局から最近使ってない口座があるけどどうする?通知が届く。ふむ,今の口座(やっぱり郵便局)に纏めてもらおう。

ついでに福徳銀行の通帳も発見。これは解約だな。しかし今何銀行になってるんだろう。

自動車安全運転センター(警察のいわゆる天下り先の一つ)からSDカードなるものが届く。平成4年4月から今まで無事故無違反ですって。ホント?

#

バグ追跡システムを開始。2000.08.06/04

Q's Bug Tracking System

2000-08-13 (Sun)

『TAXi 2』朝から観る。ニンジャー! 何が? 面白い。しかしなんか全然空いてた。

パンフレット,うっかり『劇場版カードキャプターさくら 封印されたカード』まで買ってまう。

Windows機の壁紙をM:I-2にしたり。Mission: Impossible 2

夕方から釣り。海釣り公園へ。5人で行って収穫はイカ一杯だけ。いや私は単に地球を釣っただけ。むー。

2000-08-14 (Mon)

昼から宝塚ファミリーランドへ。動物を見たり。

夜からLinux関係のオフ会へ顔を出したり。催し物をするときは客層というか目的をしっかり決めておかないと話がまとまらないよね,みたいな。

2000-08-16 (Wed)

今日から仕事。現場は今日まで休みなのだろう,のんびりした一日。定時でダッシュ。

昨日の買い物:

  • 森綜合法律事務所編『完全図解/事業再編ハンドブック』中央経済社,2000
  • 三輪芳朗,神田秀樹,柳川範之編『会社法の経済学』東京大学出版会,1998
  • 成毛文之『新訂版 株主総会・取締役会・監査役会議事録作成マニュアル』商事法務研究会,2000
  • 前田庸『会社法入門 第6版』有斐閣,1999
  • CLAMP著,ショート・みちる他訳『バイリンガル版カードキャプターさくら』#2, 講談社インターナショナル,2000
  • 細野不二彦『ギャラリーフェイク』#9,小学館,1992

けっこう重かった。値段も高いし(泣)

昨日は夜三時半までかかって『ハサミ男』を完読。このトリックは斬新っちゅーか,凄いよあんた。ネタ的には星新一が選者になってるショートショートの選集か何かで見たことあるけど,いやこれは驚いた。

#

携帯の留守録におもろいメッセージが。内容に関しては反対する理由はなくて,むしろ手間が省けたが,常識としてあんたホントに成人か? いやもう何でもいいですが。

#

ここ数日かけて,Webブラウザencompass-0.1.2をインストール。かなり苦労したり。ちょっと依存関係やら:

encompass 
  gtkhtml
    gdk-pixbuf 0.8.0
    control-center (library "capplet")
  w3c-libwww
  GConf
  glibwww2 (encompassのWebサイトにある)

w3c-libwww:
  $ ./configure  --with-zlib --with-expat

gtkhtmlはiso-2022-jpは通さないのかな? 要調査。

#

携帯の着メロを爆チュー問題の「でたらめな歌」にしてみる。

#

php 4.0.1pl2をインストール。私自身はあんましphpに興味ないけど,とあるカレンダーアプリがphpを要求してたり。

$ ./configure  --with-apxs=/usr/local/apache/bin/apxs 
        --with-pgsql --enable-memory-limit --without-mysql

コンパイルエラーが出るので,ext/standard/microtime.cに次を追加。

#define _LINUX_TIME_H
#include <linux/resource.h>

これでいいのか?

2000-08-17 (Thu)

朝夕が大変。

朝,電車にカバンを置き忘れる。夜,飲んだ帰り,乗り過ごす。いやはや。

2000-08-20 (Sun)

ビリヤード,飲み,ボーリング。

ビリヤード,ブレイクショットで9番が入ってビックリ。

ゲーセンでパラパラを踊ったり。けっこう楽しい。でもヘタッピだと盆踊りに見えるような。

2000-08-27 (Sun)

マクド,ビリヤード。TAXi 2他のパンフレットを回収。

にこらった(Windows版)の新版を久しぶりに公開。

バグ追跡システムを一時停止。差し当たり,システム全体の最新のメッセージを表示するようにしないと。また,データ構造が不味く,規模が大きくなると破綻することが判明している。

#

今週の出来事。

ruby 1.4.6をLinux機とWindows機にインストール。

Windows版はcygwin 1.1.4上。このインストールはcygwinにパッチを当て,rubyのconfigureで--enable-sharedを付けないと失敗する。

[ruby-dev:10593]を参照。

#

このWebサイトでspan要素のうち強調を表すものをem要素へ変更したり。

2000-08-30 (Wed)

Solaris 8 6/00到着。注文したのは26日なので,けっこう早い。インストールするPCを買わねば。