> 結城浩の日記 > 2005年12月 | 検索 |
プロフィール | 日記一覧 | 日記ダイジェスト | Twitter | RSS |
|
大晦日ですね。みなさんはいかがお過ごしでしょう。
新年も、みなさんの上に神さまの豊かな祝福がありますように。
(にっこり)
ε( v ゜ω゜) < TODO 45頭
もう何がなにやら。でも、気持ち的には順調。トドちゃんがどんどん増減していて、具体的に詳細になっているから。
ということはトドちゃんの数だけでは進行状況を表す指標にならないわけだね。
ε( Σ oωo) < ガーン!
いや、あんたが驚いても仕方ないんだが… > トド
ε( v ゜ω゜) < TODO 49頭
あれれ。トドちゃん大増殖している!
2005年の「よかった探しリース」は終了しました。 多数のご参加を感謝します!
昨晩遅く、仕事の気分転換に別の箇所の加筆をやっていたら、大問題を発見! 大ショック。 リカバリ案を考えたけれどちょっと困難。でも夜も遅かったし、アルコールも入っていたから、 あまり深みには入らずに寝ちゃうことにした。 眠る前に思うことはいろいろあったけれど、ともかく寝るですよ。
次の日の早朝(つまり今朝だ)目を覚ましてふとGoogle先生に尋ねてみたところ、 うまい解決方法を発見! その後で昨晩のリカバリ案を考え直したところ、 何とかいけそうなことが判明。しかも問題を発見するよりも全体的に良くなりそう。 素晴らしい。 感謝、感謝。
で、今日もまた別の箇所で、大問題を発見! 大ショック。 リカバリ案を考えたけれど、どうにも発散、トドちゃん大発生。 うげー。でも夜も遅いし、アルコールはもう抜けているけれど、 あまり深みに入らずに寝ちゃうことにしようかな。
…ん?
いま日記を書きながら「なぜ私はいまGoogle先生に尋ねないのだろう」という疑問が浮かぶ。 で、尋ねてみたところ、ちょいと光が見えたような。うむ。大変更せずに済みそう。…たぶんね。
今晩はおでんにシャンパンになりました。
それはさておき、JavaのGenericsはバッドノウハウの香りがするのですが、いかがでしょう。
List<Parent> ◇−− Parent △ | List<Child> ◇−− Child
ここで、List<Parent> と List<Child> が無関係というのがつらい。 もちろん、List<? extends Parent>とすればよいのですが…。
クリスマスになると、アクセス数が増えます。
イエスさま、お誕生日おめでとうございます。
この日記をお読みの皆さまにも、神さまの祝福が豊かにありますように!
…
…そして、 今日をどうしても孤独のうちに過ごさなければならない方のためにもお祈りしています。 もし、あなたからは動くことはできなくとも、 イエスさまのほうからあなたのところに来てくださいますようにと。
ちょうど、はじめてのクリスマスに、この世界へ、 イエスさまのほうから来てくださったのと同じように。
なるほど、こういう物語になるのか!と感動しつつ図を描いているときにクリスマスディナータイムに突入。 家族で「ポーラー・エクスプレス」のビデオを見ながら夕食。
ε( v ゜ω゜) < TODO 32頭
ぢみにやつてゐます。…φ(._.)
。
今年のクリスマスは、お近くの教会で過ごしてみませんか?
ε( v ゜ω゜) < TODO 35頭
図を2枚描いた。
ニュー速:結城浩だけど何か質問ある?は今日いっぱいくらいでよろしく。
ε( v ゜ω゜) < TODO 36頭
4頭増えて、6頭減った。
「これをしたい」という概略を考える。 そしてプログラムを作る。うまく作れたら、自分の理解が確認できたことになる。 それからそのプログラムを文章できちんと説明する。 もし文章が入り組んでしまうところがあったら、そこに改善の余地があることが多い。
…と考えると、仕様書が完成してからプログラムを作り始めるという手順は間違っているんだよね、きっと (いや、さまざまなトレードオフを考えると「間違っている」というのは言いすぎだな。できた仕様書を不変のものだと考えるのが危険というくらいだろうか)。
ソフトウェアは複雑なものだから、コードという形で明確化しないと、 本当の問題が何であるか分からないんじゃないかな。 そしてコードができてから、そのコードの説明文(仕様書といってもよい)を作る。
実は、設計図に相当するものはコードなんじゃないだろうか。
追記
emeitchさんから、 「コードが設計図、といえばこちらの文書でしょうか」として 「ソフトウェア設計とは何か?」を紹介していただきました。ありがとうございます。 この中にあった、
コーディングは,信じられている以上に意味のある作業です。 コードによって設計を描き出すプロセスはしばしば,見逃しや追加設計を行う必要性を暴き出してくれるのです。 こういったことを早期に行えば,設計はより優れたものとなるわけです。
という文章には、思わず頷きました。
ε( v ゜ω゜) < TODO 38頭
おしっ、40頭を(以下略)。
時間をかけてすごく大きなプログラム例を作ったんだけど、 落ち着いて読み返すと「そのプログラムを提示しても大して理解の助けにならない」ということに気づいた。 まあ要するに「作ってみた」以上のなんでもない例。 せっかく作ったけれど、単に分量を増やしてしまうだけなのでばっさり捨てることにした。 例って難しいな。
「よかった探しリース」の参加ページ数は現在63です。 「右手」や「左手」をたどってみるのもよいですし、 参加しているページの一覧でジャンプするのも楽しいですね。 シンプルなページにカラフルなページ…多彩です。
当たり前なんですけれど、みなさんそれぞれにいろんなことがあった一年なのだなあと思います。
ε( v ゜ω゜) < TODO 41頭
ぢみにやつてゐます。…φ(._.)
。
地味にやり始めると、おててがいたくなります。
子ぎつねが「おててがいたいよう」というと、母さんぎつねはぬくとい手であたためてくれました。
情報を探して、昔の読者からのメールを読み返していたら、ものすごく元気が出てきた。
ε( v ゜ω゜) < TODO 44頭
地味に仕事は進む。
どうでもいい話だけれど「ニュー速:結城浩だけど何か質問ある?」という自己顕示欲の強い夢を見た。
日記読者さんから、 「新しいトドちゃんがその後見ても理解できるように書いてあることを祈ってみます」 というコメントをいただく。うれしい…。 お気遣いありがとうございます。 もうだいぶ記憶力は落ちてきているので、 あとで見ても大丈夫なようにトドちゃんはかなり詳しく書くようにしています。 逆に「なるほど、そういうことか、ありがとう。このメモを書いた昔の自分」ということがよくあります。
ε( v ゜ω゜) < TODO 46頭
仕事は順調なのにトドちゃんが減らないってどうよ。 たくさんの新しいトドちゃんが生まれては消えているということなのですが。
おっ、 『プログラマの数学』 の 担当編集者裏話というものを発見!
ε( v ゜ω゜) < TODO 46頭
おしっ、50頭を切ったぞ(←突っ込み略)。
トドちゃんをやっつける数が加速している理由は、 今回書いている内容が自分の中で「形」をとりつつあるからだと思う。 当然ながら、全体像を把握することや書いている内容を理解することは、作業を大きく加速する。 逆にいえば、非効率のように見える行為でも、それが理解を助ける行為ならば、無駄になる可能性は低い。 これは「あとで変更できない判断を設計の初期段階で行なわない」 「プロトタイピング」「決定を遅らせる」「変化ヲ抱擁セヨ」「perpetual beta」に通じるかもしれません。 本を書く行為も、ソフトウェアを構築する行為も、予見困難さとの戦いであり、量や複雑さとの戦いですものね。
一言でいえば、私たちが一見やさしいと思っている仕事も、実は難しい仕事だということ。
ε( v ゜ω゜) < TODO 54頭
今日の最後にもう一頭トドちゃんをやっつけようと思って、 練習問題をコリコリ作っていたのだが、うまく行かず空中分解。 くう。
今日はもう寝ます。
愛する天の神さま。 今日も、素晴らしい一日をありがとうございました。 明日も、よろしくお願いいたします。 もうすでに休んでいる家内と子供たちの睡眠をお守りください。
世の中には、 今晩ずっと働かなければならない方もいらっしゃると思いますが、 神さまが、その方と共に居てくださり、 必要な力と励ましを与えてくださいますように。
イエスさまのお名前で祈ります。アーメン。
ε( v ゜ω゜) < TODO 58頭
おしっ、60頭を切ったぞ(←すでにTODOの単位がおかしいです)。
午前中は礼拝。今日はクリスマスが近いので、夕方までいろいろ行事。楽しかった〜。
帰ってきてから夕方寝。起きてから次男とレゴで遊ぶ。
それから布団の中でぱたぱた仕事。ちょっと手ごたえあり。図版も描いた。
ε( v ゜ω゜) < TODO 61頭
何かを理解する・本質をつかむというのは、何ともいえない神秘的な感じがする。 自分の努力でつかんでいるという感じがあまりしない。 いや、努力は必要なのだけれど、努力の量に比例しているわけじゃなくて、不連続な部分がある。 ポンとひざを打つときの、「なるほど」というときの、そういう感じ。 大げさに言えば「悟り」みたいな。そこまで言わなくても、小さな溝をジャンプするみたいな。 その感覚は「喜び」や「感動」にとても近い。 その「喜び」を読者に伝えたい、読者と分かち合いたいというのは、文章を書くモチベーションの1つだ。 …などと偉そうに書いているけれど、 要するに小さな子供が「ねえねえ、こんな風になっているんだよ。すごいでしょ。ね?ね?」 と言っているのと酷似している。
…
ああ、これに似た文章を昔書いているような気がする… とりあえず、「なるほど」で検索を掛けてみました。
地味に仕事は続き、地味な日記も続く。
ε( v ゜ω゜) < TODO 67頭
12月13日に行なった「一つのファイルにまとめる」という判断が功を奏している。 たいへん気分がよろしい。
地味に仕事は続く。
ε( v ゜ω゜) < TODO 71頭
TODOをうまくこなすには「きりの悪いところまでやる」のがコツではないかと最近思う。 仕事というのは始めるのが難しい。だから、きりのいいところまで仕事をしてしまうと、 次の仕事開始が「新しいところから」になってしまい、余計に始めにくい。 きりのいいところを「ちょっと過ぎたあたり」でやめるのがコツではないだろうか。 すると次の仕事開始は「前の続き」になるのだ。
…と考えながら、もうちょっと仕事。お、小さなトドがいたぞ。
ε( v ゜ω゜) < TODO 69頭
地味に仕事は続く。
ε( v ゜ω゜) < TODO 72頭
トドちゃんのAAがRSSでパーズエラーになるそうなので、ちょっと修正。
ε( v ゜ω゜) < TODO 76頭
トドちゃん、増えてるし!
波に乗ってきた…のだが、トドちゃんはまだ減らない。
ε( v ゜ω゜) < TODO 75頭
仕事は順調に進んでいる…のだが、トドちゃんはなぜか減らない。うう。 大きなトドが2つ減って、小さなトドが2つ増えた。
ε( v ゜ω゜) < TODO 77頭
「その扉は押すんじゃない。そっと引くんだよ」
私がいまから書こうとしている文章は、この一言をあなたに伝えるためだけに存在する。
もしかしたらあなたは、自分のことを中途半端だと思っているかもしれない。 やらなければならないことをないがしろにし、 他の人に期待させておきながら裏切ってばかり。 他の人に期待していたのに、裏切られてばかり。 野望は大きいけれどたいした成果はあげていない。 他の人に軽んじられ、馬鹿にされ、何でこんな目にあわなくちゃいけないのか、と思っているかもしれない。 自分を特別な存在として人に知らしめるために、特別なことをしなければならない、と思っているかもしれない。 他の人に抜きん出て優れている何か、ぎりぎりの競争に打ち勝ってあなたが素晴らしいと認められるフィールド、 そういうものを求めているかもしれない。
でも、私がいまから言おうとしているのは、 そういうあなたの「人生のイメージ」とはだいぶかけ離れている。
スタートポイントは、あなたにとって当たり前の所にある。 スタートポイントは、「あなた自身」だ。 あなたがこれまでの人生で積み重ねてきたすべて —— その中には、あなた自身が目を背けたくなるようなものや、 自分にとってマイナスとしか思えないようなもの、 うらみつらみや、恥ずかしい思い、 他の人に対する負い目などが山ほど含まれているかもしれないけれど —— があなたの立脚点なのだ。 それを見て、それを認める。いくら嫌だとしても、 「そ、そうだ。こんなにぼろぼろで、情けないけれど、これが、私に他ならない。少なくとも、これが、これまでの私の姿だ」 と認める。
そこが、あなたのスタートポイントになる。
そこに立ったとき、 もしもあなたが、「このようなわたしは、自分だけではやっていけない」と感じるなら、 「このわたしの負債は、自分では負いきれない」と思うなら、 あなたには大きなチャンスがある。
扉を自分の力で押そうとしても開きはしない。 そもそも「自分だけでやっていける」という人には扉など見えやしないのだ。
心騒がせず、落ち着いて、目の前にある扉 —— ずっとずっと昔からある扉 —— を、ただ、そっと、引けばよいのだ。 その扉は、あなたが開けるのを待っていた。 あなたにしか開けられない扉。 自分の弱さを知った人にしか見えない扉がそこにある。
力もいらず、証明も、競争も要らない。 その扉を開けることができるのは、世界中であなた一人。 その扉はあなた専用なのだ。 その扉は、あなたにしか見えず、あなたしか開けられない。 いつも目の前にあり、手を伸ばして、自分の意志でそっと引きさえすれば、すぐに開くようになっている扉。 それに手をかけて、引く。それだけでよい。
その扉を開いたとき、 あなたを愛する方がそこに立っておられることを知る。 あなたのプラスもマイナスも受け止めて、 あなたの過去も未来も受け止めて、 あなたが誰にも言えないで苦しんでいることをすべて受け止めてくださる方がおられる。 あなたのこれまでのすべてを知った上で、受け入れてくださる方がおられる。
その方は、あなたが扉を開けるのをずっと待っていたのだ。
そして、あなたを愛する方に出会ってはじめて、 あなたは本当の自分自身がどんな姿をしているかを知ることができる。 何が大切であり、何が移ろいゆくものなのかを知ることができる。 自分の人生を、自分の時間をどう生きるべきかを知ることができる。
私は、扉の開け方について話している。 —— 私はいま、イエス・キリストという方との出会いについて話しているのだ。
扉を引き、扉を開けるかどうかは、あなたの意志にかかっている。
もしもあなたに扉が見えたなら、今が扉を開けるとき。
「その扉は押すんじゃない。そっと引くんだよ」
午前中の方針に従って、2系列のファイル群にばらけていたのを、1系列にまとめる作業がやっと完了。 手間取ったけれど、プログラムのテストもこれですごく楽になる(はず)。けっこう気分が良い。 また、全ファイルにまんべんなく手を入れたので、何となく「全体を把握している」というムードが盛り上がった。 ムードは重要です。
また、ファイル名をより適切なものに付け替えた(Rename Filenameというリファクタリング(?))。
さらに、ファイル単位でトドちゃんの一覧が出るようにして、 どのファイルにトドが多く生息しているかもすぐに把握できるようにした。
でも、体勢を整えただけなので、トドちゃんは減らない。
ε( v ゜ω゜) < TODO 77頭
淡々と仕事。
作業していて、複数ファイルにばらけているところが、とても気になっていた。 思い切って、一つのファイルにまとめることにした。 修正項目に関しては、適当なマークアップのルールを決めておき、 Perlで切り出すことにした。 その段取りを整えるところには時間が掛かったけれど、 整ってから行なう作業はとても気持ちが良い。 自分ひとりで作業するときでも、ワークフローを定めるのは大事だね。
また、Perlのようなlightweigthlightweightなスクリプト言語を手になじませておくのは本当によい(Kiyoshiさん、typo指摘感謝)。
必要なちょっとしたツールを作れるのはとてもうれしい。
ワークフローのまずいところが見つかっても、自分用に修正できるしね。
ワークフローやファイルフォーマットを適宜定めておくのは良いことだ。 機械可読ということは、形式に一貫性があるということだからね。 プログラムという名の監査役。
楽しく仕事。
トド(TODO)ちゃん78匹。
誰か、トドちゃんのアスキーアート作ってほしいなあ…。 半角カナなしがよいなあ。 一行に収まるのがいいなあ。
(トドちゃんのAA)<78匹
みたいに書けるように。 (贅沢な要求)
追記
nashiさんから、トドちゃんが送られてきました(^_^)。感謝します。
(゜ω ゜ v )з < 78匹
もうちょっと胴を長くしてみようかな。
(゜ω ゜ v )з < 78匹
トドは「匹」じゃなくて「頭」かな?
ε( v ゜ω゜) < TODO 78頭
※あまり遊んでいると怒られるので、このくらいにしておこう。
週末は体調を崩して猫んでいたよ。にゃごにゃご。
でももう復帰したよ。うにゃうにゃ。
TODOを片付けているのだが、なかなか減らない。 いや、TODOは減ってはいるのだが、それと同時に別のTODOが増えているからである。
TODOってローマ字読みしたら「トド」ですよね。
かわいいトドのアスキーアートがほしいな。「トドちゃん」
トド、山積み。
日記ダイジェストを更新しました。
文章を書き始める前には、ほかの事を考えていてはいけない。 その文章について、ああだ、こうだと考えているのがよい。 バックグラウンドのワーカスレッドを起動しておく効果がある。 これは「教えるときの心がけ」に書いたことと通じるね。
「どのような勉強をすればプログラミングができるようになるのですか」 という文章が 多数の方からブックマークされていたので、こちらの日記からもリンクしておこう。
「よかった探しリース」は、参加者が少しずつ増えて、現在47ページになりました。 ぜひあなたもご参加ください。
編集者さんから例の『でかいプレゼン 高橋メソッドの本』 を送っていただきました。ありがとうございます。
高橋メソッドだけでどうやって一冊の本を作るのだろうという疑問を持っていたのですが、 読んでみると、とても面白い本でした。 これは、高橋メソッドを通して 「聴衆にやさしいプレゼンテーションとは何か」 を考える本ですね。 また、 「簡単にできる+効果がはっきりとわかる」 という特徴があると 「他の人が真似したくなる」 ということも学びました。 確かに、自分でも何かやってみたくなりますよね。
そういえば、この日記で先日紹介した 「数学物語ミルカさんシリーズの宣伝フラッシュ」 を見て、 はじめて高橋メソッドに触れたという読者さんもいらっしゃいましたね。
編集部から 『プログラマの数学』 の増刷のお知らせをいただきました。 ご愛読してくださっている読者のみなさま、 ありがとうございます。
そういえば、 こういうのもありましたね。
おおっ。 ミルカさんとフィボナッチ数列と 数学ガールのページが、 奥村晴彦先生のblogからリンクされているっ。
へっへー。すごくうれしいです。ありがとうございます。 (*^_^*)
奥村先生にはお会いしたことはないのですが、 『LaTeX2e美文書作成入門』 、 『C言語による最新アルゴリズム事典』 、それに 『Javaによるアルゴリズム事典』という御著書やWebなどで本当にお世話になっています。
奥村先生に最初にメールしたのは 1998年のことで、文字コードを変換するソフトウェアを 雑誌連載記事で利用することに関する依頼のメールでした。 先生からはご丁寧なお返事をいただいて、 すごくうれしかったのを覚えています。
それから、奥村先生のWebページのフッタに書かれていた 「リンクはご自由に」というシンプルなメッセージにも感動しました。 結城のページにある 「リンクはご自由に、フィードバックはお気軽に」 というフッタは、奥村先生の真似をさせていただいたものです。
ミルカさんシリーズを組版するときには、 奥村先生のjsarticleとokumacroを利用させていただきました。 先生に「使わせていただきました」とメールしたところ、 すかさず「Eulerフォントですね!」というお返事をいただきました。 さすが…。
結城も、奥村先生に倣って、 やってくるメールに丁寧な返事を心がけたいなあと思っているのですが、 なかなか難しいものですね。
昨日のクイズの答えです。 答えは「I O U」の三文字(見えない方は範囲選択して反転させてください)。 「I owe you.」のことですね。
追記: 読者さんからの答えでは「orz (礼をしている様子)」や 「Q Q Q (サンキュー)」というものがありました。
クイズです。奥さんに「ありがとう。あなたのおかげだよ」と感謝する。そのときの感謝の言葉は「英字3文字」でした。その3文字とは何?
答えは明日(12/2)に。
今日から12月か。連載原稿を送ったので、本の仕事に戻る。
あなたのご意見・感想をお送りください。 あなたの一言が大きなはげみとなりますので、どんなことでもどうぞ。