結城浩の日記(2001年8月)

目次

2001年8月31日 (金) - 翻訳出版

『Java言語で学ぶデザインパターン入門』ですが、 台湾に続き、韓国の出版社から翻訳出版の申し出がありました! 何だかとてもうれしくて、感謝です。 どうぞすべてのことを主が導いてくださいますように。 イエスさまにすべての栄光をお返しいたします。 応援してくださるみなさんにも心から感謝します。 また、たくさんの方が結城のために祈ってくださることも本当にありがたく思っています。 それぞれの方の上にも、神さまの豊かな恵みと祝福がありますように。

2001年8月31日 (金) - 仕事 / レビューア募集中 / Doug Lea

[DP/2] 淡々と仕事。本の最初に戻って「はじめに」を書き進める。 それからレビューア専用ページの準備を少し。 レビューア募集開始後、6時間ほどで7人の申し込みがある(13時現在、19人)。 感謝します(しかし、午前3時という早い時刻に2通来たのには驚きました)。

前回もそうだったけれど、 書式をミスしている人が1人もいない、というのに驚く。 さすが、プログラミング関係者ということだろうか。

前回のレビューア募集を「〆切の後に知り、悔しかったです」という方が複数いらした。 なかなか、情報を人に伝える、というのは難しいものですね。 〆切は次の金曜日(9/7)なので、もしこういうレビューに興味がありそうだと思う人が、 あなたのお知りあいにいらっしゃいましたら、ぜひお伝えください。

ところで、先日メールした著者というのは、 Prof. Doug Leaのことで、 参考書というのは、 "Concurrent Programming in Java"のことです。 邦訳も出ていますが、 英語が読める人なら原書の方がよいと私は思います (この本は入門書ではありません)。

Prof. Doug Leaは、 以前、デザインパターン・メーリングリストで翻訳した "Patterns-Discussion FAQ" の管理者でもあります。 翻訳の連絡をしたときにDoug先生にメールを出していたので、 今回、メールを出しやすかった…何だかいろんなことがつながっていますね。(にっこり)

2001年8月31日 (金) - 『Java言語で学ぶデザインパターン入門』続編のレビューア募集

恒例になりましたが、 結城が現在執筆中の本、『Java言語で学ぶデザインパターン入門』続編のレビューアを募集いたします。 以下のページをよくごらんの上、ぜひお申し込みください。

今度のテーマは「マルチスレッド」です。

2001年8月30日 (木) - 参考書の著者にメールしてみた

[DP/2] 参考書の著者に、いま私が書いている本の目次とアウトラインを(英語に直してから)メールして、 「お忙しいでしょうけれども、どんなことでも結構ですからコメントいただけませんか」と お願いしてみた。 ああ、なんてずうずうしい…(^_^;

一日たって返事が来た。 技術的な話の最後に 「うん、まあよさげだと思いますよ。 私は本を書くときにはいつも構成をしなおしながら書いていますね。 私はあまりアウトラインは一所懸命考えないんですよ。 アウトラインは書いていくうちに変化してしていくものですから。 もっと進んだら、気軽にまたメールしてくださいね」 と書いてあった。

メールの内容もさることながら、 励ましを受けたことがとてもうれしかった。

2001年8月29日 (水) - 仕事

[DP/2] 淡々と仕事。 サンプルコードの作成はほぼ完了。 といってもきっと本文を書いているうちにまた修正は入るだろうけれど。 あとは2章分のコードを用意しよう。

コードを書いているとき、こころにうつりゆくよしなしごとを、メモとして書いていく。 メモを書いていると気になることが出てくるので参考書や資料を見る。 自分の頭で考えてから参考書を調べるのはとてもよい。 参考書のすばらしさもよくわかるし、 また参考書の著者がどこをどういう風に「はしょって」いるかがわかるから。 調べているうちに「もしこれがこうなら、あれはどうなるのか」といった疑問がわいてくる。 そしたらその問題を解く(解こうとしてみる)。 その問題を解く過程でまた心にいろいろと思うことが出てくる…。 よい問題を思いついたら、それを練習問題に回す。 こうやっているうちに、各章の素材が集まってくる。 十分集まったら「さて」と気持ちを切り換えて、 章の始めから順に、丁寧に文章を書いていく…。 こんな風にして本の執筆は進んでいく。

2001年8月29日 (水) - UMLのシーケンス図でデッドロックを表現する方法は?

UMLのシーケンス図でデッドロックを表現する方法を調べています。
情報・意見をお持ちの方がいらっしゃいましたらお知らせください。

まず、以下の図をごらんください。



これは、デッドロックの簡単な解説です。
3:a2()でThread2がAのロック待ちをしているとき、
4:b2()でThread1がBのロックを取りに行きます。

結城が気になっているのは
:Bの下に伸びた白い長方形が(長い上の方)途中で
切れていることです。3:a2()はシンクロナスな呼び出しなので、
それから戻る前に切れることはないのではないか、という点です。

この図6は「UMLでは」「正しくは」どう描くべきか、
ご存知の方がいらっしゃいましたら情報を hyuki@hyuki.com まで、お願いします。

なお、この図は、平鍋さんの
◆Observer パターンとマルチスレッド
http://objectclub.esm.co.jp/observer-multithread/からお借りしました。ここで感謝します。

ちなみに、UMLの仕様書
(OMG Unified Modeling Language Specification 1.3)
を文字列(synch, deadlockなど)で検索したのですが、
適切な個所を見つけ出すことはできませんでした。
(シーケンス図でなくても、アクティビティ図でもかまいません)

2001年8月28日 (火) - 仕事 / レビューア募集(の準備)

[DP/2] 地味な作業は続く。 コードを少し書き、参考書を読む。 参考書で少々怪しいところ見つけ、著者にメール。 「実際に動作するシンプルな例」っていいなあ。 ソースを読み、動かしてみると、少し「つかんだ」感じになる。

レビューア募集要項の原稿書き。 募集開始はたぶん9月のはじめ。 募集期間はたぶん一週間。 掲示先はたぶんこの日記と[DP/ML]。

『Java言語で学ぶデザインパターン入門』の作業ログを読み返してみる。

2001年8月28日 (火) - 仕事 / 掌を指すがごとく

[DP/2] 目次をじっと見て、章の順序を微妙に変更。 またじっと見て、どうもひっかかる題材を別のものに入れ替え。 コードスケッチが終わっていない章のてこ入れ。 表記法を確認しながら図の手入れ。 地味だけれど、大事な作業…っていうか、 本を書くのは最初から最後まで地味な仕事なのですが。

『Java言語で学ぶデザインパターン入門』の執筆の経験からわかったのは、 よく練られた例(コード)があると、説明の文章が非常に楽に書けるということ。 だから文章を書き始める前にコードをしっかり書いておく (これは、通常の開発とは少し方向が違うなあ)。 コードを丁寧に書いているうちに、気になる点が出てくるので、 それをメモしておく。 数日たってコードの内容を忘れた頃にもう一度読み返すと、 そのコード例の分かりにくいところがよく分かる。

Webや書籍で調査をしていると、頭でっかちになるので、 メモだけとってあとはその内容は忘れてしまう。 調べているうちにいろんなことを思いつく。 そのことはどの章に書くべきかを考えて その章のファイルにメモしておく。 メモしたら、頭は次のことに切り替える。

道を歩きながら、電車に乗りながら、 章の順番を思い出してみる。 その妥当性を検証してみる。 章のタイトルを思い出してみる。 その章でいいたいことは何かを考えてみる。 一番大事なことは何かを考えてみる。 その章を訪れた読者のことを考えてみる。 読者は何を知っているだろう。 何を知らないだろう。 何を知りたいと考えるだろう。 何度も何度もそれをやる。 いま書いている題材を「掌を指すがごとく」理解するために。

自分が理解していないことを人に教えることはできない。

2001年8月27日 (月) - 仕事 / 問い合わせメール

[DP/2] 淡々と仕事。

いま読んでいる参考書の著者にちょっとした問い合わせのメールを出したところ、 30分ほどで丁寧な返事がきて驚く。 私が本を書いていると言ったのを受けて、 "Good luck with your book!"と励まされる。 人を励ますって大事なことだなあ、と素朴に思う。

…という話を家内にしたところ、 家内は「どらどら、見せて見せて」とメールのやりとりを読みたがる。 見せたところ、私のつづりミスや文法ミスを指摘されてしまった。 (^_^;

2001年8月27日 (月) - 仕事 / サタンの声への対策

[DP/2] 『Java言語で学ぶデザインパターン入門』の続編を書いている。 現在は目次を書きつつ、サンプルコードのスケッチをしつつ、 調べ物をいろいろしているような段階。 わくわくと楽しい部分もあるけれど、 調べているうちに「ああ、なんて私はものを知らないのだろう」とあきれてしまうこともある。 そんなとき、油断するとこんな声が聞こえてくる。

「おまえはそんなことも知らないで本を書こうとしているのか。 偉そうに。 おまえなんかにまともな仕事ができるわけないじゃないか。 おまえは無価値で、役に立たず、何の資格もない。 ○○に比べたら、おまえにオリジナリティなんて、かけらもないじゃないか。 創造的なことは何一つできない。 ただ時間を無駄に過ごしているだけじゃないか。 くやしかったら人をあっと驚かせるすごい仕事をしてみろ」

でも、このトリックにひっかかってはいけない。 やたらとマイナス方向に引き下げる声はサタンの声だからだ。 サタンの声の特徴は、 「嘘八百にほんのちょっぴりの本当をまぜる」こと。 詐欺師と同じだ。ほんのちょっぴりの本当があると、 ついうっかり他の嘘八百まで本当だと思ってしまう。 それからもう1つの特徴は「他人と無理やり比較する」ことだ。 たくみに焦らせ、他の人間と不健全な競争をさせる。 神さまではなく、他の人に目を向けさせようとする。 敵はサタンなのに、人間同士を仲たがいさせようとする。 これもサタンの声の特徴だ。

サタンの声への対策は簡単だ。 耳を貸さないのである。 反論すらしなくていい。 サタンへは耳を貸さず、毅然とした態度で、 イエスさまのお名前でサタンを追い出せばよい。

イエス・キリストの御名によって命じる。サタンよ出て行け。出て、行け!

イエスさまの御名の権威を信じて祈るとき、 サタンは必ず出て行きますから感謝です。 そして大事なのが、神さま(聖霊様)を迎えるお祈りです。

聖霊様、いま心を開いてあなたをお迎えいたします。
あなたはわたしを聖めてくださる方。
あなたはわたしを導いてくださる方。
あなたはわたしを癒してくださる方。
あなたはわたしに必要な知恵をすべて与えてくださいますから感謝します。
必要なものは必ず備えて与えられますから、私には不安がありません。

自分のことを考えて本を書くのではなく、
読者のことを考えて本を書くことができますように。
いつも謙虚に考え、調べ、書くことができますように。
書かれるすべての言葉があなたの聖なる火によって聖められますように。
読む人に単に知識を伝えるだけではなく、
喜びと励ましを与えることができますように。

この小さき者のために多くの兄弟姉妹が祈っています。
その一人一人の上にも主の恵みと祝福が豊かにありますように。

夜遅くまで、孤独のうちに仕事をしている方もたくさんいらっしゃると思います。
その方々の上に、神さまからの時にかなった助けがありますように。

主に感謝し、主をほめたたえ、
イエスさまのお名前でお祈りします。

アーメン。

ハレルヤ!

2001年8月25日 (土) - オンライン書店で本やCDを購入したことはありますか?

いろんな方(下記リンク参照)の応援もあって、 「オンライン書店で本やCDを購入したことはありますか?」のアンケートには、 現在141人分の反応があります。 みなさん、ありがとうございます。 結構みなさん買っていらっしゃるんですねえ。

2001年8月25日 21:30現在:

いいえ、これまで1回もありません。今後もたぶんないでしょう。
    6人(4%)   
いいえ、これまで1回もありません。今後は購入することがあるかも。
    29人(20%)
1回だけ、あります。
    13人(9%) 
おおよそ、年に1、2回くらい。 
    29人(20%) 
おおよそ、月に1、2回くらい。
    54人(38%) 
おおよそ、週に1、2回くらい。
    8人(5%) 
毎日のように買っています。
    2人(1%) 
計141人

個人的には「毎日のように買っている2人って誰?」と興味があります(^_^;

2001年8月25日 (土) - あなたのオンライン・プライバシーを守る12の方法

EFFのStanton McCandlishからメールが来た。 「EFF's Top 12 Ways to Protect Your Online Privacy」 を更新したよ、とのこと。 日本語訳をあわせて更新。

2001年8月25日 (土) - 暗号の本

暗号の本といえば、やはりこれです。 英語が読める人なら読み物としても楽しい本。 難しい部分もたくさんあるけれど、途中に登場するたとえ話を拾い読みしていくだけでも楽しめる。

シーザー暗号(Caesar Cipher)の話は始めのほう(p.11)に登場する。 量子暗号(Quantum Cryptography)の話は終わりのほう(p.554)に登場する。 そして(知っている人は知っていますが)絶対解けない完全な暗号はp.15に登場する。

2001年8月24日 (金) 夜中 - 打ち合わせ / 本の話

というわけで、 N編集長とデザパタ本の続編のための打ち合わせ。 方向性の確認。

9月の初めごろにはデザパタ本続編のレビューアの募集をしたいなあ、と思っています。

例によってディープな本の話とネットの話を夜中までえんえんと。 『暗号解読』はむちゃくちゃ面白いらしい。

2001年8月24日 (金) 早朝 - Singletonクイズ→[DP/ML]での反応

(1)よりも(2)の方がシンプルで高速だと思うのですが、いかがでしょう。

// (1) Singleton.singleton().doIt()のように使う
public final class Singleton {
    private static final Singleton singleton = new Singleton();
    private Singleton() {
    }
    public static Singleton singleton() {
        return singleton;
    }
    public void doIt() {
        // ..
    }
    // ...
}

// (2) Singleton.singleton.doIt()のように使う。
public final class Singleton {
    public static final Singleton singleton = new Singleton();
    private Singleton() {
    }
    public void doIt() {
        // ...
    }
    // ...
}

上記の件をデザインパターン・メーリングリストに流したところ、 何人かから反応がありました。感謝します。

デザインパターン・メーリングリストといえば、 いつのまにか参加者が1380名にも増えていました。 みなさんのご参加を感謝します。 デザインパターン・メーリングリストは、 デザインパターンだけではなく、 eXtreme Programming, JUnit, オブジェクト指向全般, Java言語, などの話題が展開されております。 ひところに比べて最近はメールの流量も落ち着いてきています(ときどき盛り上がるけれど)。 今週は一日4通くらいです。 ROM大歓迎ですので、ぜひみなさんご参加ください。

2001年8月23日 (木) 夕方 - ソフトバンクパブリッシング

ソフトバンクパブリッシングのアフィリエイトプログラムに参加してみました。

2001年8月22日 (水) 夕方 - 感謝

1999年に結城が書いたJavaの入門書 『Java言語プログラミングレッスン』は、 上下巻とも増刷を重ね、8刷になりました。 とてもうれしいです。 恵みを与えてくださる神様に感謝し、 応援・お祈りしてくださっているみなさんに感謝します。 ありがとうございます。

2001年8月22日 (水) 昼間 - 仕事 / オンライン書店に関するアンケート

パターン本の続編、少しペースが上がってきた。 来月ごろにレビューアの募集ができる、といいのだが。

ところで、突然ですが、オンライン書店に関するアンケート。 1人1回だけ回答お願いします。

2001年8月21日 (火) - XP実践レポート / ほげ日記

永和システムマネジメント オブジェクト倶楽部による「XP実践レポート」を見る。 現在流行のeXtreme Programmingに関する貴重な実践レポートである。 XPに関心のある方は必見。

なお、上記のページは鷲崎さんの「ほげ日記」からのリンクで見たものです。

エクストリームプログラミングの本へのリンク。参考まで。

2001年8月20日 (月) - 仕事

真面目に仕事。

2001年8月19日 (日) 夕方 - 結城の本棚から:Effective Perl

結城の本棚から:本の紹介シリーズ。

Perlという言語は面白い言語である。 けっこう自分は「わかっている」と思っていても、 ときどき「な、なるほど!」という思いをすることがある。 いわゆる「目から鱗が落ちる」というやつですね。

PerlといえばLarry Wallのラクダ本だけれど、 「目から鱗」という点では何といっても『Effective Perl』である。 60項目に渡って、読者のPerlの理解をチェックし、技法を伝授してくれる本だ。

例えば拙著『Perl言語プログラミングレッスン』入門編はもう読んでしまい、 ラクダ本も一応手元にある。 そういう読者は『Effective Perl』をぜひ読んでみてほしい。 クイズを解くつもりで読んでもいいし、 自分の理解の確認として読んでもいい。 Perl初心者を脱した人なら楽しめる一冊だ。

『Effective Perl』は、 Perlという言語を深く理解するために欠かせない本の1つかもしれない。

2001年8月18日 (土) 夕方 - 次男の絵本朗読

2歳の次男による『しろくまちゃんのほっとけーき』の絵本朗読。というか、暗誦。

2001年8月18日 (土) 午後 - 結城の本棚から:Wiki Way

結城の本棚から:本の紹介シリーズ。

Web上で共同作業を行う——その1つのすがたがWikiである。

結城がはじめてWikiに触れたとき、 「こんなCGIも『あり』なのか」と驚いた。 全ページを訪問者に自由に編集させるなんて。 そして自分なりのものが作りたくてYukiWikiを作った。 YukiWikiは現在も稼動している。 Wiki Wayは、Wikiの生みの親がまとめたWikiの紹介・解説本である。

単なる掲示板とも違う、メーリングリストとも違う、Web上での共同作業。 興味のある方はどうぞ。

2001年8月18日 (土) 午前 - 『Java言語で学ぶデザインパターン入門』の次の本は?

読者からの質問

『Java言語で学ぶデザインパターン入門』 の次の本を執筆中のようですが、どのような内容になりますか? とても楽しみです。ぜひ教えてください。よろしくお願いいたします。

結城からの解答

メールありがとうございます。

現在、結城の中で進行中の本は何冊かあります。 『Java言語で学ぶデザインパターン入門』の続編もその中に入っています。 GoF以外のデザインパターンの解説なのですが、単なる解説じゃなく、 わくわくするような1つの物語になったらいいなあ、と思っています。 どうぞお楽しみに。

もう少し具体的になり、執筆が進みましたら、 この日記や、 デザインパターン・メーリングリスト などで紹介していきたいと思います。 恒例となりましたが、 執筆中の本をレビューしてくれるレビューアさんも公募して行こうと考えています。 また応援してくださいね!

2001年8月17日 (金) 午前 - JXUnit

JXUnitの例題作成は続く。

テストのフレームワークだから、テストの対象となるプログラムを用意する必要がある。 自分としてはもうバグが取れていると思っていた、 JavaのBase64の変換プログラム(Base64EncoderOutputStream)を使うことにする。 テストデータの方はPerlを使って用意した。 ちなみに、こんなスクリプト。

#!/usr/bin/perl
use MIME::Base64;

@arr = ( 0 .. 255 );
$str = pack("C256", @arr);
for ($i = 0; $i <= 256; $i++) {
    $encoded = MIME::Base64::encode(substr($str, 0, $i));

    open(FILE, "> $i.txt");
    binmode(FILE);
    print FILE substr($str, 0, $i);
    close(FILE);

    open(FILE, "> $i.b64");
    binmode(FILE);
    print FILE $encoded;
    close(FILE);
}
exit;

さて、テスト実行。

java junit.textui.TestRunner net.sourceforge.jxunit.JXTestCase

ところが予想に反してバグがぼろぼろ見つかってしまう。 とほほ。やはりテストというのは重要だと再認識した次第。

感じたこと。

テストプログラムとテストデータをそれぞれどれだけの配分で「手で書くか」については、 何だかうまいバランスポイントがありそうだなあ。 Perlを使っていて楽しいのは、短いプログラムでずいぶん複雑な (通常だったらたくさん手を動かさなければならないほどの) 処理が書けるからかもしれない。 自分の手の動きがスピードアップしたようなものかな。

プログラムを書いていると時間を忘れるから、体にとって危険だ。 無理にでも休まねば。

2001年8月17日 (金) 早朝 - 14ひきのねずみたち

本の紹介シリーズ。

14ひきのねずみたちのものがたり。 長男がまだ小さかった頃、毎晩のように読んでいた本。 はじめのうちは14ひきのねずみの区別がつかないが、 何度も読んでいるうちにそれぞれの性格までわかってくる不思議。 『14ひきのこもりうた』のこもりうたはいまでも歌っている。 「いわむらかずお絵本の丘美術館」にも一度行ったことがある。

2001年8月16日 (木) - JXUnit / bk1ブリーダープログラム

JXUnitの例題作成は続く。 確かに、TestCaseをいじることなく、テストデータを追加していけるのはよい。 しかし、凝りすぎるとまるでXMLでプログラミングしているような感じになるので、 ほどほどがいいのだろう、と感じる。 すべてのツールがそうだが、ツールの意義をよく理解した上で、 現在の自分に必要なものかどうかを選択するのが大事なのだろうな。

bk1のブリーダープログラムに遅ればせながら参加する。 Webでの申し込みで少々トラブルがあったのだが、 何とか申し込み完了。 bk1ブリーダープログラム担当の、 メールでのサポートは非常に素晴らしかったです。

bk1ブリーダープログラムというのは、 Amazon.co.jpのアソシエイトプログラムと似ています。 読者が、特定のリンク経由でオンラインブックストアbk1に行き、 そこでお買い物をすると、購入代金の3%に相当するbk1ポイントが 結城に支払われるという仕組みです。

「特定のリンク」というのは具体的に言うと、こういうもの。

http://www.bk1.co.jp/cgi-bin/srch/srch_top.cgi?aid=p-hyuki07466

この最後のaid=p-hyuki07466の部分がポイントです。 これが「結城さんちからやってきた」ことを示す印になります。

bk1ブリーダープログラム

2001年8月15日 (水) - JXUnit / HTMLチェッカ

ローギアで原稿書き。

JXUnitの簡単な例を示そう。 例えば、以下のようなクラスがあるとする。

public class Adder0 {
    public static int add(int x, int y) {
        return x + y;
    }
}

これをテストするためのAdder0TestはJUnitを使って次のように書くだろう(ミスあり。ご指摘くださった読者に感謝)。

import junit.framework.TestCase;

public class Adder0Test extends TestCase {
    private int x;
    private int y;
    public Adder0Test(String name) {
        super(name);
    }
    protected void setUp() {
        x = 123;
        y = 456;
    }
    protected void tearDown() {
    }
    public void testAdd() {
        int z = Adder0.add(x, y);
        assertEquals(579, z);
    }
}

でもこれでは、テストデータを変えるたびにJavaのコードを書き換えることになる。

ここでAdder1というクラスがあったとする。 内容はAdder0と同じだ。

public class Adder1 {
    public static int add(int x, int y) {
        return x + y;
    }
}

そして、次のようなAdder1TestStepクラスを作る。 この中には123や456というテストデータそのものは含まれていない。

import net.sourceforge.jxunit.JXTestStep;
import net.sourceforge.jxunit.JXTestCase;
import net.sourceforge.jxunit.JXProperties;

public class Adder1TestStep implements JXTestStep {
    public void eval(JXTestCase testCase) throws Throwable {
        JXProperties properties = testCase.getProperties();
        int x = Integer.parseInt((String)properties.get("x"));
        int y = Integer.parseInt((String)properties.get("y"));
        int z = Adder1.add(x, y);
        properties.put("z", new Integer(z));
    }
}

テストデータは別ファイルtest.jxuにXMLで書く。 123や456、それに結果の579が書かれていることに注意。

<jxu>
    <set name="x" value="123" />
    <set name="y" value="456" />
    <eval stepClass="Adder1TestStep" />
    <isEqual name="z" value="579" message="Invalid result" />
</jxu>

でもこれだと、今度はテストデータを書き換えるのに XMLファイルを編集しなければならない。 そこで。

…ってこれ、日記じゃなくて原稿に書かなくては。

JXUnitの関連リンクは以下。

うーん、画面見ながら仕事するとまだ体がつらいなあ…。 目を休ませるとよいけれど。 あと、音に少し過敏ぎみになっているみたい。 それから、お腹がすいたときに急激に機嫌が悪くなる。 ときどき体操をしたほうが調子がいい。 ——ええと…てことは。 要するに、(1)仕事をせずに、(2)よく眠って、(3)静かなところで、(4)ぱくぱく食べて、 (5)ときどき体操をする—— これってハーボットそのまんまの生活をせよということではないか(衝撃の事実)。

こほん。それはともあれ。

現在、 結城のページを作っているmakefileを修正して、 HTMLチェッカが必ずかかるようにしている。 結構間違いが見つかるものだなあ…。 サイトの全ページを一気に直すのは大変だから、 ページを更新するごとに少しずつ正していくようにしよう。 以前ご指摘くださった野嵜健秀さんの「闇黒日記」にあらためて感謝。 それから闇黒日記を教えてくださったyomoyomoさんにも感謝。

2001年8月14日 (火) 夜中 - 結婚を考えている相手と一緒に読む本

本の紹介シリーズ。

三浦綾子さんの自伝的信仰入門書である「道ありき」三部作は、 「愛に生きる」ということを、みずみずしく描き出している。 真面目に結婚を考えている相手と一緒に読むのに特にお薦めです (まだそういう相手と出会っていない方にとっても、 1つの「備え」としてご一読をお薦めします)。 難しい話ではありませんし、 キリスト教に興味がない方でも読みやすいと思います。

私も、彼女(現在の家内)から結婚前にこの本を薦められ、 多くのことを学ばされました。

文庫になっているので気軽に買えます。

2001年8月14日 (火) 夕方 - 原典と入門書

結城の本棚をまたざっと見渡す。 プログラミング言語の本がいろいろあるけれど、 まずお薦めできるのは各言語における「原典」と呼ばれる本だ。 バイブルと呼ばれることもある。 CならK&R、PerlならLarry Wallのラクダ本、JavaならいわゆるJLSだろう。 インターネットなどで情報収集するのはいいことだが、 最後はこういう「原典」にあたって確認する作業はとても大事だ。 インターネットに流れている情報がいつも正確とは限らないからだ。 そういう意味で、これからの本を「バイブル(聖書)」と呼ぶのは理にかなっている。 クリスチャンが聖書にあたるのと同じこと。

上に示したのは翻訳。以下は原書。

上記の本は「原典」と呼ばれる。 でも結城が書いている以下のような本は「入門書」と呼ばれる。 最初から原典で学ぶのはちょっと… という人が「最初の壁」を乗り越えるために読む本と言えようか。

2001年8月13日 (月) - ワインバーグの本

結城の本棚をざっと見渡して「この本ならお薦めできる」という本を探してみる。 例えば、技術者に対してならワインバーグの本をお薦めできる。 …というか、とても有名だから私がお薦め・紹介するまでもないんですが。

2001年8月12日 (日) - 波 / left behind / アソシエイト

体調は波のように変化する。

Amazon.co.jpアソシエイトプログラムに参加すると、 いろいろと本を紹介したくなるから不思議なものです。

先日、ある方から聞いた話。 いま「left behind」という携挙の小説が話題になっているそうです。

最近のお気に入りのCDはレーナマリアさんのHeartfilled。 この第一曲目「コッポンゲン」は名曲です。

以上のAmazon.co.jpのURLには「wwwhyukcomhir-22」というIDが付いています。 これがついているリンクからたどって購入に至った場合には、 紹介料として結城にアマゾンギフト券が送られるとのこと。

ギフト券の金額は、直接購入の場合には5%、間接購入の場合には3%とのこと。 どういうことかというと、 商品に直接リンクされているリンクをたどってすぐに(他のページをブラウズせずに) ショッピングカートに入れた場合には5%、 それ以外には3%とのこと。ふうん。

以下のリンクを使えば、あなたの好きな本やCDが買えます。 よろしければ、どうぞ。

最近、眠る前に長男に1章ずつ読み聞かせているのは「ドリトル先生」シリーズ。 ナルニア国ものがたりも読む。 少し前にはエルマーとりゅうをいっしょに読んでいた。

Amazon.co.jpで検索:

2001年8月11日 (土) - ぼちぼち

結城はだいぶ復調。 家内は耳の調子がどうも悪く、病院へ。

「メカ玄白」から生まれた翻訳掲示板は盛況のよう。 山形浩生さんのコメント付き翻訳は貴重かも。 結城は参加できないけれど、応援しています。

最近ずっと次男に読んでいる本。

2001年8月9日 (木) - 家内不調 / 家族の会話 / Amazon.co.jpアソシエイト

今日は結城の方はだいぶ調子がよい。頭痛も吐き気もない。肩こりが少しあるくらい。

家内は朝から微熱がある。 背中を押したり、足をマッサージしたりしているうちに、 そのまますうっと眠ってしまった。

男の子二人。 いまは長男も夏休みなので、一日中大騒ぎである。 子育ては、親の忍耐が試されるなあ、と思ったり。

家内が悲しそうに「母親として、私は何もできてないなあ」というので、 私は「いや、そんなことはない。あなたはよくやっている。あなたは世界一の母親だ。 あなたに育てられて子供たちは幸せだ」と答える。 家内は「そうかしら」と言う。 長男はベイブレードを回しながら「ゴーッ、シュートー!」と叫ぶ。 次男は両手を回しながら「しゅっとー!」と真似する。

食事時、私が「もっといい本、多くの読者の役に立つ本、喜びと励ましを与える本を書きたい」というと、 家内は「あなたにはきっとできるわ。あなたの信仰の通りになります」と答える。 次男はジュースをコップ丸ごとひっくり返して「ぼとぼとー」と言う。

夜、家内が眠る前に「朝のようにお願い」というので足をマッサージする。 マッサージしてもらいながら、家内は長男に「あなたもお父さんみたいに奥さんを大事にするのよ。 あなたの奥さんの体はあなたの体と同じなの」と言う。 長男は「ふうん」と言う。 次男は仮面ライダークウガの写真を掲げて「ばいくー、ばいくー」と言う。

Amazon.co.jpのアソシエイト・プログラムに参加してみる。 以下のリンク経由で購入すると、 購入金額の数パーセントが結城に還元されるとのこと。

amazon.co.jp

2001年8月8日 (水) - だいぶ上向き

お祈りと励ましと、 「体調が悪いときには仕事なんかしないできちんと休んで」というメッセージを多くの方からいただく。 感謝します。

体調はだいぶよいです。頭痛はもうほとんどないし、 肩こりがするのと冷房のちょっとした加減で気分が悪くなるくらいですが、 それもだんだんなくなりつつあります。

私はやわらかな人間であって、 100個のネジなんかいらないのだ、 と思い出すほど体調がよくなってきております(^_^)。

2001年8月7日 (火) - 不調ながらも

体調不調は続くけれど、神さまのあわれみとみなさまのお祈りのおかげで、だいぶ回復。 でもディスプレイを長時間見るのは少しつらい。 しかしながら仕事は仕事。だましだまし進んで原稿出し。

100個の(以下略)

2001年8月6日 (月) - 不調

体調不調は続く。 100個のネジが(以下略)

2001年8月5日 (日) - 不調

体調不調は続く。 100個のネジがあるんだけれど、 ちょっと動くと、ネジがぼろぼろ落ちてくるような体調。 ひどい頭痛のため、コンピュータに長時間向かっていられない。

奥さんの方は、クリスチャンの友人と電話で話して祈ってもらって、復帰。 本当に、受話器を置いたらよくなっていたという不思議。

神さまの癒しに感謝し、 みなさんのお祈りに感謝します。

2001年8月4日 (土) - 不調

体調不調は続く。 100個のネジのうち、なくなっているのは2個だけど、 23個のネジは場所がまちがっているような体調。 ひどい頭痛のため、コンピュータに長時間向かっていられない。

医者に行って薬をもらってくる。 「仕事しすぎ」と言われる。

泣きながら奥さんに「もう世界の終わりかもしれない」と言ったら、 「何ばかなこといってるの」とひっぱたかれる。

そういっている奥さんも体調不良で熱がある。

みなさんお祈りください。

2001年8月1日 (水) - ロボット / ハーボット

熱はだいぶ下がる。 100個のネジのうち6個どこかに転がってしまったロボットのような体調。 ネジはどこ?

しばらく寝込んでいたらサムエルくんに「リンクお願い」がたまっていた (つまり他のサイトのハーボットからのお友達になりたいという依頼)。 OKを出すとサムエルくんは「じゃあ、お友達になる」と淡々と答える。

結城の体調のためにお祈りくださっているみなさん、 励ましのメッセージを送ってくださったみなさんに心から感謝します。