| ホーム > 結城浩の日記 > 2003年5月 | 検索 | 更新情報 | 
| 読者の声 | 先月 | 日記ダイジェスト |  | 
土曜日。雨。低気圧のため、みんな機嫌悪し。 朝がパンだったので、機嫌が悪いのが加速。 これではいかんと、みんなでご飯を食べ、少々平和が復帰。
[QD] 編集部に打診していた企画のお返事が来る。 いろいろアドバイスをいただいたので、また企画を練り直すことにする。 ていねいなお返事に感謝である。
しかし、今日は低気圧のせいで、頭が回らん。
Webを巡回するけれど、もめごとやバトルばかりが目に付いて、あまり面白くない。 みんな、批判するものにリンクするんじゃなく、お勧めのものにリンクすればいいのにね。 (ここで20秒ほど考える) そうか、お勧めのものって世の中に少ないからなんだ、きっと。
そうこうしていると、 先日結城が紹介した子供向けの聖書の絵本を「買いました」という読者からのお返事をもらう。 5歳のお子さんがいらっしゃる方で「何冊か絵本聖書を持っているけれど、これがベストです」という感想。 うれしくなった。 銀座の教文館にまだ数冊あったそうです。
[VN] 今日も新しい章を書き始めてみる。 1つの章を深める代わりに新しい章を書いてみると、 各章のばらつきとバランスを考えて書くことができる。
まずは、ぐっと力を入れて章のタイトルから順番にともかく書いていく。 先を急がず、とにかくその章のその場所に書くべきことを書こうとしてみる。 どうしても、うまく文章が出てこないときには「ここにはこういうことを書くべき」とメモをして先に進む。 図を描かなくてはいけなくなったら図を描こうとしてみる。
このように順番に書いていくと、頭の中には「最後にはこういうまとめの言葉を書くといいな」「こういう話題は別の章のほうがいいな」といった アイディアがいろいろわいてくる。それは適当な場所にメモをしておく。そのメモは、将来の自分への手紙となる。
理解していなければ書き始められないが、 書いているうちに自然に疑問が心に浮かぶ。 それもメモしておき、必要に応じて原典にあたって調べる。 急がない、急がない。そうやって自分が疑問をいだくことはとても大事だ。 なぜなら、きっと読者も同じような疑問をいだくだろうから。
…というような話は、私はもう何回も何回も日記に書いている。 大筋はいつも同じだね。
[NC] ぱたぱたと。
[PI] 著者校正を。 それから次回の原稿書きを。
[VN] まるではじめて文章を書くような新鮮な気持ちでじっくりていねいに別の章を書く。 ふむふむ。なかなかよろしい。 細部をていねいにていねいに書いていると、 全体像が見えてくるというのはとても面白い現象ですね。 よく「神は細部に宿る」と申しますが。
あっ!
そうか、そうか。 この世、この全宇宙をおつくりになったほどの偉大ですばらしい神さまが、 ちっぽけな私たち一人一人のささやかな祈りすら聞いてくださる ——このことは最初はなかなか信じられないんだけれど、 いま、確信しました。 神さまは私たちをそれほどまでに愛しているのですね。
そっかー。 小事にも心を尽くすというのは、 きっと神さまが喜ばれることだね。
シュナイアー『暗号技術大全』(あの"Applied Cryptography"の翻訳)を送っていただきました。 関係者に感謝します。 なかなか大部(800ページ強)なのですが、本から受けた印象は「意外とコンパクト」ですね。 山形浩生さんの監訳で、 奥付を見ると14名の訳者が名前を連ねていますが、 監訳者あとがきによれば、山形さんが最終的に全体の訳を読み直しているようで、 「○○監訳」にありがちなごつごつ感はおそらくない(と思われます)。 ぱらぱら見た感じでも、読みやすそう。 おお、訳者の中には「おれカネゴン」さんもいらっしゃいますね。
思いがけず結城の名前があとがきに謝辞として上げられていていささか恐縮しました。 そういえば、何点かコメントを出したことがあったような。 このApplied Cryptography(および山形さんの翻訳のドラフト版)には、 自分の暗号本を書いているときに何度も何度も調べ、たいへんお世話になりました。
あとがきには「これがどのような本かについて説明がいるような人は、 たぶん本書の想定読者ではないのかもしれない」とありますが、 まあそうかもしれません。 本体7400円ナリだけれど「買う人は買う」本ですね。 ということで、ご紹介。
補足
『暗号技術大全』の 謝辞への返礼をしたところ、 新山ゆうすけさんや やまがたさんから訳者の連絡用に YukiWikiを使ったという情報と感謝の言葉をいただき、 何だかとってもうれしい気持ちになりました。
[VN] 祈って仕事を始める。 今日は、1つの章をていねいによみ、ていねいに書こうとしてみた。 まだまだ形にはならないのだけれど、方向性は少しずつ見えてきたか。 うまくまとまらないときには、理由がある。 むりやり結論付けようとしていたり、自分が本当に理解していないことを書こうとしていたり。 自分が理解していないことをわかりやすく書くのは不可能だ。 あたりまえだが、忘れがちだ。
今日は珍しく人に会った日でした。
[NC] 昨日の今日で「日経ソフトウェア」誌を読んだ方から、 たくさんの反応をいただきました。 個々にはお返事できませんので、日記にて御礼申し上げます。 ありがとうございます。
[VN] 図を描き、文章を書き、HTMLに変換してながめ、PDFに変換してながめる。 書きたいことはラフに書いたので、 もう一度章の頭から読み直し、 きっちりと書いてみようと試みる。 書く前は簡単そうなのだが、 実際に手を動かして書いてみると、いろいろと難しい部分が見えてくる。 うーん。これって、毎回思っていることだよな。 頭で考えているのと、実際にやることの違いはとても大きい。 「理想と現実の差は、理想的にはゼロだが現実的には無限大」というのは誰の言葉だっけ。
ともかく、手を動かすと物理的な仕事は進むが、 頭を使わないと本質的な仕事は進まないものですね。 もっとも、物理的な仕事が進んでいないと本質的な仕事に向かう元気がなかなかでない、という現象があるので、 手を動かさないことには、本質的な仕事も進まないのですけれど。
そういう小理屈はさておき、 祈りつつ仕事を進めることにしよう。
細かいメモ
[NC]
「日経ソフトウェア」2003年7月号から新連載が始まりました。
タイトルは、
結城浩の動物相談室——インターネット・コミュニティの歩き方
というものでして…(^_^;
初心者向けにインターネット・コミュニティのお話をする企画です。
第一回目は「掲示板」です。
気弱なコアラくんとむやみに元気がいいカンガルーくんが登場します。
p.134-p.135の2ページですので、書店で見かけたときには開いていただければ感謝です。
インターネット・コミュニティっていうのはちょっと大げさかもしれませんが、
気軽に読める読み物の中にちょっぴり「なるほど」が仕込ませてあるはず。
礼拝から帰ってお昼寝。 …何だか、礼拝から帰ったら毎週お昼寝しているみたいだな。
[VN] 手にまかせきりになると、 あまりにもラフになりすぎるので、 もう少し頭も使って書いてみることにする。 参考書を読みすぎると、話がくどくなり妙に詳しくなってしまうので、 むしろ参考書のことは忘れて、心をいったん空っぽにし、 「そもそも、この章でいいたいことは何だっけ」という原点に戻ってみる。 気の利いた友人に話しかけるように、くどくならず(でも要点をはずさず)、 淡々と、適切な例をさぐりながら、書き進めてみる。 ふうむ。まずまずかな。感謝、感謝。
[QD] ラフな原稿を読み返して、 気になるところを少し修正。
夕方、家内と長男が出かけたので、 私と次男はお留守番。 少々疲れた。 ソファの上で、抱っこしながら童謡の本を二冊まるまる歌って聞かせたら、 いつの間にか、くーくー眠っていた。 起きているとなかなかのギャングなのだが、 眠っているときは天使みたいだ。
夜、家内と長男が帰ってくる。 長男が眠る前、 「お父さんお休み」と私の机のところに言いに来たので、 ぎゅっと抱きしめて「大好きだよ。お休み」と言う。
「結城さんちの本屋さん」はアマゾンアフィリエイトに参加しています。 みなさんが「結城さんちの本屋さん」でお買い物してくださった金額の 3〜5%が、ギフト券として結城あてに送られてきます。
先日、2003年1月〜3月の分が送られてきたので、 それと同額をユニセフにインターネット募金しました。 今回は、イラク緊急募金(紛争の被害を受けた子どもの支援)にしました。 みなさんのご協力を感謝します。
早朝、家族みんなでお散歩。
PDFを作るスクリプトを手直ししていたら、 仕事ごとにスクリプトが分岐しはじめた。 1人で仕事しているのに分岐させてどうする、 というわけでスクリプトそのものを1つのディレクトリに統合して、 CVSで管理し、それぞれの仕事からは共通のスクリプトを使うように修正した。 なかなか便利。
いま仕事でよく使っている道具は秀丸, Perl, CVS, pLaTeX, Acrobat, Visioだ。 そのうち、Perl, CVS, pLaTeXはフリーだ。ありがたいことである。
きょうは、なんて いいてんき。 みんなで、はるの のはらへ でかけよう。 …と書いただけで 「わかる」人はきっといるに違いない。
早朝に少し[QD]の原稿を書く。 午前中に少しお昼寝。
家内がお出かけしたので、 お昼は子供たちと一緒に散歩がてら近くに食べに行く。 次男は通り道で、たんぽぽの綿毛を見つけて、ふーふー吹く。 食事の後、長男はコンピュータショップでゲームしたいというので 「じゃあ、2時までに帰ってくるようにね」と行って別れる。 私と次男もあとからコンピュータショップを見て回る。 1時半ころに家に帰ったら、家の前で 「2時すぎたと思ってあわてて帰ってきたら、玄関が開いてない」 と長男がむすっとしている。 いつもなら、時間ぎりぎりまで遊んでいるのに今日に限って早く帰ってきたらしい。 でも、おやつを出したら機嫌が直った。
夕方、うとうとしていると、 家内がケーキを持って帰ってきたのでお茶にする。
[VN] 最近書いた部分をPDFにしてから印刷。 うーむ。いまいち。 ペンを持って、ごろんと寝転んで読み返し、構成を大きく変更。
[QD] とにかく読み返すことにする。 読み返すと、書きたくなってくるので、 そのタイミングでぱたぱたと書く。 読み返すと、加筆すべきところがわかってくるので、加筆する。 図を入れたくなったので、 手描きのjpegファイルをpLaTeXに挿入できるようにPerlスクリプトを少し修正。 自動的にebbを動かすようにしたので、快適快適。 それにしても、フリーのソフトを作ってくださる方には本当に感謝である。 Perlにせよ、pLaTeXにせよ…。
[VN] 1つ目の章をあらあら書いたので、 そろそろ別の章も同じスタイルで書けるかどうか試してみよう。 まずは図を描いたり、1つ目の章を眺めつつ構成を整えたりする。
いつも、考え込みすぎて時間がかかるので、 今回はあまり頭では考えず、手で考えることにしよう。 すばやく書いて、じっくり校正するスタイルでやってみよう。
ブロックを積み上げて「学習」させると動物のように動き出すアプレット。 結城も作ってみました。 以下、スナップショット(リンクをたどると拡大します)。
明日(23日)「パターンワーキンググループ設立記念セミナー」がありますので、ご案内。
[VN] 昨日の続き。1つの章をできるだけきっちりと作ってみようと試みる。 書き始めるまでは、書き上げられるかどうかわからないんだけれど、 書き始めてみると、書き進められそうな手がかりが得られる。 書き進めてみると、全体像が見えてきて書き上げられそうな気持ちになってくる。
CVSでバイナリファイルではまった手順。
file.datを作ったので、cvs add file.datした。
file.datはバイナリファイルだったと気が付いた。
cvs add -kb file.datすると、「すでにaddされてるよ」といわれる。
cvs admin -kb file.datすると、「addしたばかりのものをadminはできない」といわれる。
cvs commitする。
file.datは壊れていない。(※これはウソ)
cvs admin -kb file.datすると、正しく終了する。
cvs commitしようとすると「Up-to-dateチェックに失敗」といわれる。ふみい…どないせいちゅうねん(なぜか大阪弁)。
file.datは壊れていない。
cvs updateする。
file.datによって上書きされてしまうので、file.datが壊れてしまう。
私が行った対処手順(A-9までは同じ)。
copy file.dat backup.datとして現在のファイルを保持しておく。
cvs updateする。
file.datによって上書きされてしまうので、file.datが壊れてしまう。
copy backup.dat file.datする。
cvs commitする。
cvs status file.datを見ると、ちゃんと-kbがついている。
でも、これってどうにも不手際ですよねえ。 上のシーケンスのうち、A-5が悪いのかなあ。 A-5の代わりにエレガントな対処法はあるんでしょうか。
【マニュアル読まんかおれカネゴン】という声が聞こえたので、CVSのヘルプファイルを読んでみる。
おお、ちゃんと書いてあるではないですか。-Aを使うのか…。
file.datを作ったので、cvs add file.datした。
file.datはバイナリファイルだったと気が付いた。
cvs add -kb file.datすると、「すでにaddされてるよ」といわれる。
cvs admin -kb file.datすると、「addしたばかりのものをadminはできない」といわれる。
cvs commitする。
file.datは壊れていない——というのはうそでした。キーワードの展開が行われるので、ここで壊れている可能性がある。
cvs admin -kb file.datすると、正しく終了する。
cvs update -A file.datのように、オプション-Aを使ってupdateすると、無事に復元できる模様。
あ、そういえば、拡張子.datを最初からバイナリファイルだよ、と指定する対処もあったはず。
cvswrappersをいじるのか。ええと…。
後日談
読者の方から、 「addした直後なら、CVS/Entriesを直接編集すればOK」というアドバイスをいただきました。 なるほど! ありがとうございます。
受験を控えた、プログラマ志望の中学三年生からのメールに答える。
結城です。メールありがとうございます。 学生時代にしっかりと勉強したかどうかは、 社会人になった後から意外とじわじわと効いてくるものです。 ですから、学生時代にできること 特に日本語、英語、数学(読み書きそろばん?)は、 学生時代のうちにできるだけじっくりと身に付けておいたほうがいいですよ。 いま世の中で使われているプログラミングの表層の知識は、 あっというまにすたれていきますが、 日本語・英語・数学の考え方や技術は、 それよりもずっと長生きすると思います。 受験はたいへんだと思いますが、応援していますね! 補足: 実は、もっとも大事なことは、 この世をお創りになり、私たちをお創りになった神さまを知ることです。 これが知識のはじめであり、知恵のはじめになりますから。 このことを、どうか心にとどめておいてください。
[QD] 夜中、気分転換に原稿を書く。 眠いので、手に自動書記をさせてみる。 読み返さないのですごいスピードで書ける。 手も眠ったので眠った眠いうねねむねむのねむりなねねむむ。
[VN] 朝。ばらばらの材料が集まってきたので、 1つの章をはじめから終わりまできっちり書いてみようとしてみる。 図を描いたり、解説文を書いたり。 適切な例を見つけるのはとても難しいものだ、 といつものように悩んだり。
CVSはバージョン管理ツールというよりも、
バックアップの一種として使っている。
仕事の「きり」をつけるためのきっかけとしてcvs commitしている。
commitすると「一区切り」という感じがする。
[REF] JAVA Developer誌の連載記事をまとめて送信。
[VN]いろいろ考えつつ書く。
礼拝の後、お昼寝。
夕食はピザを食べる。
次男をお風呂に入れるとき、もう次男は眠くなって少々不機嫌。 ゴムのボールをお風呂に持って入りたいというがボールが見つからずに泣き出す。 私も疲れていたため、無理やりお風呂に入れてしまう。もう大騒ぎ。 お風呂では水鉄砲で遊び、ちょっと機嫌が戻る。 水鉄砲でジャンバ博士の人形を倒す。 …この日記の読者で、ジャンバ博士と言ってすぐわかる人は何人いるだろうか。
長男は家内となにやら勉強の相談をしている。 私は次男に聖書を読んで寝かしつける。 子供に音読してやる聖書としては、以前も紹介したことがあるけれど、 至光社の『絵でみるこどもとおとなのはじめての聖書』新約編・旧約編(レティツィア・ガリ 絵、フランソワ・ブロシエ、ダニエル・モヌロン 文、佐久間 彪 訳、1990年刊) がとてもよい。 もう何十回読んだことだろう。何度音読しても飽きない。 でも、アマゾンでは検索できない。 うーむ。CLCか教文館なら買えるはずだが。
夜中になって、家族が寝静まってから、コンピュータに向かってぱたぱたとお仕事。 [VN]のための図を4枚ほど描く。まあまあ。
今日の午前中は、プライベートなイベントがありました。
午後は天候が悪いせいか、ぐっすりお昼寝しました。
あれ、昨日は日記を書いていなかった。
[REF] JAVA Developer誌への連載記事を書いている。 今回のリファクタリングはFactory Method関連である。 まずはクラス図を書いて、サンプルプログラムを書いて、じっと考える。 ちょっと考えるとあたりまえのことのように思えても、 実際に具体的なプログラムを書いて、きちんと説明しようと試みると、 自分がそのことをよく理解していないことに気が付く。
[MD]→[QD]に変更。 とりあえずぱたぱたと書いて、 pLaTeXのjsbookドキュメントクラスで本っぽくしてみて喜ぶ。 わーい。
[VN] 参考書を読んで、考えて、ぱたぱたと書く。
長男「ねえ、お父さん。二進数で数えられるようになったよ」
私「どれどれ?」
長男「(右手の指を折って数える。親指が最下位ビット)これが1でしょ。
これが2 (10)。それから3 (11), 4 (100), 5 (101), 6 (110), 
7 (111), 8 (1000), 9 (1001), 10 (1010), 11 (1011), 12 (1100),
13 (1101), 14 (1110), 15 (1111)っと」
私「うんうん、そうだね」
長男「へへ」
私「じゃあ、クイズね。いま1から15まで数えたよねえ」
長男「そうだね」
私「親指を折ったときの数、ってどんな数?」
長男「え? ええと…1でしょ。3 (11)でしょ。それから…5 (101), 7 (111), 9 (1001), …わかった。奇数だ」
私「大正解です。それでは、親指を折らないときの数は?」
長男「偶数だよ」
私「その通り。0のときはどうかな?」
長男「指折っていない。あれれ?0は偶数でも奇数でもないんじゃないの?」
私「いや、0は偶数だよ」
長男「そうかなあ…どうして?」
私「偶数ってどんな数?」
長男「2で割り切れる数が偶数でしょ?」
私「そうだね。2で割ったときにあまりがゼロになる数、といってもいい」
長男「うーん、そうだね。あまりがゼロって不思議な感じがするけれど、そうだね」
私「じゃあ0を2で割ったらどうなる?」
長男「あれ?0で割っちゃいけないんでしょ?」
私「ちがうちがう。0で割るんじゃなくて、0を2で割るんだよ」
長男「あ、そうか。0を2で割ったら、ゼロ…?」
私「そう。0を2で割ったら、0あまり0だ。だから0は偶数」
    *   *   *
私「じゃあねえ、親指と人差し指の両方を折らなかったときの数はどんな数?」
長男「偶数!」
私「うん。確かに偶数だ。でも偶数全部じゃない」
長男「ええと、0でしょ、4 (100)でしょ、6…は違う。8 (1000)はそうだ。…わかった。4の倍数だ」
私「その通り。4の倍数。$2^2$の倍数といってもいい」
長男「どういうこと?」
私「もう少し先まで行けばわかる。親指と人差し指と中指の全部を折らないときの数はどんな数?」
長男「わかってきたぞ…。8の倍数だ!」
私「えらいえらい。その通り。これは$2^3$の倍数だ」
長男「うーん…。どういうことかなあ…」
私「10進数で考えてみよう。一番下の位が0になるのはどんな数?」
長男「10の倍数だね。10, 20, 30, 40, ...」
私「じゃあ最後が00になる数は?」
長男「100の倍数だ。100, 200, 300, ...」
私「そうだね。100の倍数、という代わりに$10^2$の倍数と考えてみよう」
長男「000で終わる数は、1000の倍数だ」
私「その通り。今度は$10^3$の倍数だ」
長男「わかったような、わからないような」
私「ここまでで材料はそろったんだよ。いいかい…」
     2進数で、一番下の位が0になる(0で終わる)のは 2の倍数。
    10進数で、一番下の位が0になる(0で終わる)のは10の倍数。
長男「そうだったね」
      2進数で、00で終わるのは  4の倍数 —— $  2^2 $の倍数。
     10進数で、00で終わるのは100の倍数 —— $ 10^2 $の倍数。
長男「ふんふん」
      2進数で、000で終わるのは   8の倍数 —— $  2^3 $の倍数。
     10進数で、000で終わるのは1000の倍数 —— $ 10^3 $の倍数。
長男「あっ、わかってきた。最後のゼロの数なんだ」
私「その通り。一般的に書いてみよう」
      2進数で、N個の0で終わるのは $  2^N $の倍数。
     10進数で、N個の0で終わるのは $ 10^N $の倍数。
長男「エヌってよくわからないけど、0が続いて終わるよねえ、
そのゼロの数の分だけ、2や10をかければいいんだね」
私「そうだよ。その通り。その『ゼロの数の分だけ』というのをはっきり短く言うために
エヌっていう文字を使っているんだ」
[VN] Perlスクリプトをいじったり、参考書を読んで勉強したり、思いついたことを書いたりする。
CVSの基本的な部分についてはだいぶ慣れました(=手が覚えてくれました)。 これまではあまりCVSになじめなかったけれど、 CVSの基礎練習という簡単な文書を作ったら、すっきりと頭に入りました。 やっぱり人に公開するつもりで文章にまとめるというのはとてもよい勉強になる、 と実感。
実はあの短い文書を作るのでも、 けっこう校正しているのです。 自分が書いた手順で本当に実行できるか何度もやってみたし。 CVSは3回くらいインストールとアンインストールしたし。 みかままさんの『入門CVS』は何度も読み返したし。 その過程で 入門CVSのtypoをいくつか見つけたので、 みかままさん(のサポートメールアドレス)にメールしました。 新しいことを勉強するのは、とても楽しい。
先日、RCSからCVSへの移行について「誰にともなく」書いていたら、 入門CVSの著者 みかままさんからありがたい アドバイスをいただく。 ありがたや、ありがたや。
とりあえず、新しいお仕事はCVSで管理して、 RCSで管理していたお仕事は、 次に触るときにCVSへ移行するようにしてみよう、と思う。 実際、1人で使っている分にはコンフリクトも起きないし、平和である。 先日-kbオプションを忘れてVisioのファイルを1個破壊してしまったことを除けば。
アドバイスといえば、 今日の早朝に書いていたpLaTeXに図を入れる話も、 読者の方から情報をいただきました。感謝です。
pLaTeXできれいな図をいれるのはあきらめて、 pLaTeXでは文章のチェックだけをし、 図との兼ね合いはHTMLを使って行うことにする。 Visio→PNGsの出力はVisioが機能として持っているので、 Visioが出力したPNGsを適当にかき集めてきてファイル名をリネームするというPerlスクリプトを作る。 それから、自分が書いたテキストファイルをHTMLに変換する機能もそのPerlスクリプトに作りこみ、 図入りの原稿をHTMLでチェックできるツールに仕立てる。 これまでもレビューアさんに読んでもらうときには似たようなことをやっていたが、 そのときの図はVisioの出力をPDFに出したものをスクリーンキャプチャしてGIFに手動で落として作っていた。 極めて非効率的なのだけれど、 その手順の間にいろんな角度で図をみることになるので必ずしもマイナスばかりではない。 ともあれ、図入りの原稿が最近多くなったので、 今回作ったツールで原稿校正するようにしよう。 それにつけてもこういうやっつけツールを作るにはPerlはとても手軽で便利なプログラミング言語である。 100行くらいの分量が、30分くらいでできちゃった。
…
で、そのツールをデバッグ+機能拡張しながら原稿を書き進める。 ふむふむ。楽しい楽しい。
Visioで作った図をpLaTeXのfigure環境で取り込もうとして苦戦。
Visioで図を作り(figure.vsd)、その図をEPSで保存する(figure.eps)。
次のようなsample.texファイルを用意しておく。
\documentclass{jarticle}
\usepackage[dvipdfm]{graphicx}
\begin{document}
\begin{figure}[htbp]
\includegraphics{sample.eps}
\end{figure}
\end{document}
そして、platex sampleとdvipdfm sample.dviで、PDFファイルを作る。
ところが、ここで日本語が出ない。 どうもフォントが正しく設定されていないようなのだが…うう。
コマンドのログは以下。
C:\WORK> platex sample This is pTeX, Version p3.0.1, based on TeX, Version 3.14159 (SJIS) (Web2C 7.3.7) (./sample.tex pLaTeX2e <2001/09/04>+0 (based on LaTeX2e <2001/06/01> patch level 0) (c:/usr/local/share/texmf/ptex/platex/base/jarticle.cls Document Class: jarticle 2001/10/04 v1.3 Standard pLaTeX class (c:/usr/local/share/texmf/ptex/platex/base/jsize10.clo)) (c:/usr/local/share/texmf/tex/latex/graphics/graphicx.sty (c:/usr/local/share/texmf/tex/latex/graphics/keyval.sty) (c:/usr/local/share/texmf/tex/latex/graphics/graphics.sty (c:/usr/local/share/texmf/tex/latex/graphics/trig.sty) (c:/usr/local/share/texmf/tex/latex/config/graphics.cfg) (c:/usr/local/share/texmf/tex/latex/graphics/dvipdfm.def))) (./sample.aux) <sample.eps> [1] (./sample.aux) ) Output written on sample.dvi (1 page, 276 bytes). Transcript written on sample.log. C:\WORK> dvipdfm sample.dvi sample.dvi -> sample.pdf [1(./sample.eps<PS>)] 10718 bytes written
EPSを埋め込むのをやめてPDFをebbの助けを借りて埋め込むようにしたら、 日本語もきれいに出るようになった。 いちおうこれで用は足りるのだが、複数シートを含むVisioのドキュメントから、 各シートを個別のPDFとして吐き出す(効率のよい)手順がわからない。 シートごとにAdobe Distillerで吐き出してもいいのだけれど、面倒。 でもこれが一番きれいになる。
複数ページを含む1つのPDFを分解して、複数のPDFを作るツールを探すべきか… それともEPSで日本語をちゃんと出す方法を見つけ出すべきか。うう。
一番手軽なのはVisioから「Webページとして出力」を使ってページごとのPNGファイルを作り、 ebbの助けを借りて埋め込む方法だが、これだとアウトライン出力にならないから美しくない。 うう。
イエスさまにお祈りをしてから仕事をはじめよう。
そういえば今朝、 家内が目を覚ましてすぐに家事にかかろうとしていたので、 私が「お祈りしてからね」と言った。 すると家内は間髪をいれず「そうね」と答えて祈り始めた。 素直で素敵な奥さん。
[VN] とりあえず、新しい本の章立てを考える。 この本の仮コード名を[VN]として(VNには何の意味もありません、念のため) ディレクトリを作り、CVSでモジュールを登録し、 現在自分の頭の中にあることをテキストファイルにダンプ出力する。 ぱたぱた。書いているうちに、全体の流れはだいたいつかんだつもり。
[MD] ともあれ、別の本の章立ても考える。 コード名を[MD]として、 ディレクトリを作り、CVSで(以下略)
聖日なので礼拝へ。 神さまを賛美する喜びと幸せ。 帰ってからお昼寝。 夕方はレンタルビデオの 『スチュアート・リトル2』 を見ながら食事。
そういえば、
RCSでバージョン管理していたファイルをCVSに移行するにはどうすればいいのだろう、
と思い、
みかままさんの本を読むと
rcs-to-cvsというshのスクリプトがcontribにあると書いてあった。
ふむふむ、と思い調べる。
スクリプトを読んでみると、
何だか単にコピーしているように見える。
RCS/file.extをCVSROOTの下の適当なディレクトリに入れてfile.ext,vにしてみた。
うまく機能しているように見える。
これでいいのだろうか…不安。
まあ、またそのうち調べよう。
次の本(もしくは次の次の本)に何を書こうかを考えながら、 手をぱたぱたと動かしてみる。
今日は暗号のことも考えず、のんびりした一日でした。 家内が昼ころにお出かけするので、 私は長男と次男を連れて近所の公園に行きました。 長男は友達とてきとーに遊んでいるので、 私は主に次男といっしょにぶらんこに乗ったりすべりだいをしたりしていました。 手ごろな木があったので、木登りもしました。 遠くが見えてなかなか愉快でした。 次男も抱き上げて木の上に乗せてやりました。 とても喜ぶ次男。
お昼は近所のレストランというかお惣菜屋さんに食べに行きました。 長男が例によってクイズを出せというので、 時計の針の速度競争クイズや、 ガリバーの国の牛乳パックのクイズを出しました。
帰ってきてから、 次の本に何を書こうかなあと考えつつ、 メモをたくさん書きました。
そうそう、みかままさんといえば『入門CVS』。 本屋さんで買って、ぱたぱたと読みました。
みかままさんの文章にちょっと反応。 「今、ふっと、(デザイン)パターンは「問題を記述すること」の方に意味があるのではないか、と思った。」 とのことですが、私もそれにおおむね賛成です。 もちろん、 それ以前に「似たような問題が繰り返し発生している」ということに気が付くことが大事なわけですけれども。 つまり、こういうことです。
たとえ、解決方法が見つからなくても、 上記のプロセスは重要ですね。
一般に、いわゆる「パターン」は以下のような流れで生まれてくると思います。
まあ、「問題を記述すること」の方に意味がある、 というのはちょっと言い過ぎかもしれませんが。
「問題の発見」は重要な知的活動であり、 「発見の記述」はその知的活動を他の人とシェアするための重要な一歩ですね。
「CVSの基礎練習」という文書を作ってみました。
えらそうに書いていますけれど、 私はCVSをあまり使ったことがないんです(普段はRCSを使っています)。 何か間違いを書いていたら (あるいはこういう表現のほうがよいよというアドバイスがありましたら) ご連絡いただければ感謝です。
来る2003年5月23日(金)の午後、 早稲田大学の大久保キャンパスで、 パターンワーキンググループ設立記念セミナーが開催されます。 情報処理学会ソフトウェア工学研究会の主催で、参加費は無料。誰でも参加できます。 ソフトウェアパターンの入門、現状、活用、研究に関した講演が行なわれます。
パターンに興味がある人や、 パターンに興味がある人に興味がある人は、 参加なさってはいかがでしょうか。
詳細は、パターンワーキンググループのWebページをご覧ください。
[CR] 作業記録を元にして執筆の簡単な統計情報をとってみました。 2002年10月から2003年5月の8ヶ月間で「何行編集したか」と「何行増加したか」の情報です。
■何行編集したか(増も減もプラスとしてカウント) 2002/10 7799 行 2002/11 10290 行 2002/12 25004 行 2003/01 11718 行 2003/02 10610 行 2003/03 11901 行 2003/04 31600 行 2003/05 697 行 ■何行増加したか(増はプラス、減はマイナスとしてカウント) 2002/10 2457 行 2002/11 5114 行 2002/12 13088 行 2003/01 6748 行 2003/02 2044 行 2003/03 733 行 2003/04 -16498 行 2003/05 -49 行
これを見ると、 年末と4月を除けばコンスタントに1万行程度を編集していることがわかります。 前半は「書く」作業が中心で後半は「削る」作業が中心になっているようですね。 ただし、 この「編集」にはレビューアさんからのコメント (のうち、本文に影響を与える可能性があるもの) も含まれています。
ちなみに上記の情報をバージョン管理ツールのログファイルから抽出するために 使ったのは即席で作ったPerlのスクリプトです。 スクリプトを作るのにかかった時間は約10分。 Perlってありがたいツールだな、といつも思います。
というわけでPerl本も宣伝しておこう(^_^)。
[PI] C MAGAZINEの連載記事、だいぶ遅れたけれど編集部へ送付。
今日は、うれしいメールをいただきましたので、 みなさんとシェアしたいと思います。 以下、ご本人の許可を得て転載しています(氏名・固有名詞は伏せています)。
結城さん、こんばんは。 脱稿おめでとうございます。 今日は是非、聞いて頂きたくてメールしました。 3ヶ月まえに、私は——にて、神さまとイエス様を 信じると神さまの前で告白しましたが、この2日前の5月4日、 私の妻も神さまを信じることができましたことを報告します。 自分が信じたときの何倍も嬉しいです。喜びに満ち溢れるということ を実感し、初めての感覚に新鮮な驚きを感じました。 いずれ、夫婦揃ってバプテスマを受けることになるかと思いますが、 そのときにまた、報告させて下さい。 神さまが多くの祈り、そして結城さんのWebサイトを用いて、まず私を、 そして妻までも導いて下さったことを感謝し、イエスさまの尊い御名により お祈りします。
おめでとうございます!
このご夫妻のこれからの人生の上に、 神さまのすばらしい導きがいつもありますように。
高木浩光さん、はてなダイアリーで日記を開始した模様。
要するに「固有ID」が問題なのですね。
問題は「IDの内容が読み取られること」ではなく、 「固有IDを用いて個人が追跡可能になること」なのだと理解。 暗号化は、個人が追跡可能になるという問題の解決にはならない。
[CR] 金曜日の夜中に「暗号本」を脱稿しました。 整理した原稿および図版を編集部へメールで送りました。 原稿は15章で約500KB、図版(VISIOのファイル)は約3.5MBですね。
現在まで届いたレビューアさんからのコメントはすべて参照し、 私というフィルタを通った後に原稿に反映しました。 加筆予定などはありますけれど、一段落です。
何だか疲れがどっと出てしまって、 土曜日の夜からずっと寝込んでしまいました。
レビューアのみなさん、 それに執筆開始からずっと祈り・応援してくださっているみなさん、ありがとうございます。 まだ出版までたくさんの作業が残っていますので、 引き続きお祈りくだされば感謝です。
現在、レビューアさんとのメールのやりとりは、3427通。 レビューアさんからのコメントはまだまだとどいておりますが、 これらは著者校正時に反映する予定です。
日記に[CR]の企画を初めて書いたのは2002年9月25日なので、 脱稿まで7ヶ月とちょっとかかったことになる。 ちょっと時間かけすぎですが、まあしょうがないですね。 ともあれ、ここまで来れたことを神さまに感謝いたします。 神さまが、完成まで導いてくださいますように。 また、神さまの御用のために用いられますように。
…さっ、次は何の本を書こっかな♪
[CR] 本書きは根気が大事だ。
[CR] 今日もせっせと暗号本。
あなたのご意見・感想をお送りください。 あなたの一言が大きなはげみとなりますので、どんなことでもどうぞ。
何かの理由でうまく送れない場合にはメール hyuki@hyuki.com でお願いします。