2006年3月

結城浩の日記

目次

2006年3月29日

マルチリンガルの時代 この記事(2006年3月29日19:00)を含む「はてなブックマーク」    

(以下「言語」はすべて「プログラミング言語」のことです)

人間コンパイラコンパイラYAPC::Asia 2006 Tokyo Sessionsを見ていて「マルチリンガルの時代」というフレーズを思いついた。

「マルチリンガルの時代」とは何か。

ひとつの言語だけを使って活動するのではない。 みんなが複数の言語を使う。 もちろんメインになる言語はある。でも、他の言語もある程度は読めたりする。 人によって、言語によってその深さや数は異なるけれど、とにかく複数の言語を使う。 プログラミングするとき、同じ言語圏の人だけではなく、他の言語圏の人ともコミュニケートする。 こっちの言語ではこんな風に書けるんだよ。 あっちの言語ではこう書くのが普通だなあ。 ふーん、なるほどねという会話がある。

言語設計者は積極的にそういうことをやるだろう(想像)。 RubyがPerlからアイディアをもらう(そして単にもらうだけではなく改造・改良する)。 逆にPerlがRubyからアイディアをもらう。 「マルチリンガルの時代」には、言語設計者だけではなく、 言語使用者たちもマルチリンガルな交流を行う。

単純に「そのプログラムの目的に適した言語を選ぶ」というだけではないのがポイント。 一つの言語だけに自分の世界を限るのではなく、 他の言語も積極的に学ぶ。知る。そして自分の活動にそれを生かしていく。 自分の得意な言語の良いところ・まずいところを他の人に伝える。シェアする。そういう態度。

…それが「マルチリンガルの時代」のイメージである。

マルチリンガルの時代に反する態度は…一つの言語だけに固執する。 他の言語を学ぼうとしない。 知ろうとしない。 他の人に自分が知っていることを教えない。

※以上、何となく当たり前のことを書いているような気がしますし、ぜんぜん整理されていませんが…まあいいや、ミーム送信!

※2006年3月29日 19:34現在「マルチリンガルの時代」をぐぐると約14件。

feedback | top

2006年3月27日

模様替え この記事(2006年3月27日16:50)を含む「はてなブックマーク」    

RSSで見ている方は気づかないと思いますけれど、 ちょっと模様替えをしています。 春めいた雰囲気を出したつもり。

feedback | top

2006年3月25日

ナルニア国物語 この記事(2006年3月25日21:58)を含む「はてなブックマーク」    

長男「本を読む楽しさっていうのは、別の世界に行くおもしろさだね」

私「なになに、何だかすごいね。まさにその通りだと思う。別世界に行くことがファンタジーの本質だからね」

長男「たとえばナルニアを読む人はナルニアという世界に行く」

私「そうだね。ところで、そこに多重構造があるのは知っている?」

長男「どゆこと?」

私「登場人物と読んでいる私たちのことを考えてみると…」

長男「わかった! こうだね。中に入って、さらに中に入る」

私「うん。もう少し詳しく」

長男「んー。ナルニアを読んでいる人は、まず本の中の世界、つまりイギリスに入る。そしてピーターたちと共にナルニアに入る。二段階で中の世界に入る」

私「そう。その通りだ。そこから今度は考えを逆転させるともっとおもしろい」

長男「というと?」

私「もしもあなたが、イギリスのピーターだとしよう。ピーターはナルニアに行く。でもそのとき、ピーターと共に読者もナルニアに行く。すると?」

長男「?」

私「わたしたちがいるこの世界がピーターにとってのイギリスだとしよう。すると読者はどこにいるだろう」

長男「ああっ、そうか。この世界の外側にいる?」

私「そうそう。構造的にはそうだね。わたしたちの世界が誰かが書いた物語(His story)だとしよう。そうすると、わたしたちの世界の外側に読者がいる。作者もね」

長男「ふむ」

私「『最後のたたかい』の後で、ピーターたちはさらに奥の世界へ行く。その世界では新たな物語が広がっている。わたしたちの世界にとってのさらに奥の世界はどこだろう。天国だね、きっと」

長男「ふんふん」

私「ナルニア七巻本の壮大な物語が表紙に過ぎないような、さらに先にある物語は、どんなにすばらしいものだろう。でもC.S.ルイスはそれを書かない。書いてしまったら、その物語を制約してしまうから。それと同じように、私たちのこの世の歴史全体が表紙に過ぎないような物語が、私たちの人生の先にある。聖書はその一部を示唆——黙示——する。ナルニア国物語と同じように」

長男「…」

私「本という別世界を知らない人生は味気ない。そして、人生の先にある永遠の世界——天国——を夢見ることない人生もまた味気ない」

feedback | top

LaTeXで式展開の説明文を付ける方法 この記事(2006年3月25日12:01)を含む「はてなブックマーク」    

LaTeXの数式レイアウトに詳しい方に質問です(追記:すでにいくつかの解法をいただいています。末尾に追加しました)。 式の展開の説明文を右側に短いコメント風に付けたいとします (以下は簡単なサンプルであり、実際にやりたいのはもっと複雑で長い数式です)。

1. 以下のようにすると、コメントが右寄せになりません。 (1.pdf)

\documentclass{jarticle}
\usepackage{amsmath}
\begin{document}

\begin{eqnarray*}
\frac{1}{2} + 2 \times 3 - 4  & = & \frac{1}{2} + 6 - 4 \quad \mbox{$2 \times 3$を計算した} \\
                    & = & \frac{13}{2} - 4 \quad \mbox{$\frac{1}{2} + 6$を計算した} \\
                    & = & \frac{5}{2} \quad \mbox{$\frac{13}{2} - 4$を計算した} \\
\end{eqnarray*}

\end{document}

2. 以下のようにすると、式の分数がdisplaymathになりません(\fracが\dfracにならない)。 (2.pdf)

\documentclass{jarticle}
\usepackage{amsmath}
\begin{document}

$$
\begin{array}{rclr}
\frac{1}{2} + 2 \times 3 - 4  & = & \frac{1}{2} + 6 - 4 & \mbox{$2 \times 3$を計算した} \\
                    & = & \frac{13}{2} - 4 & \mbox{$\frac{1}{2} + 6$を計算した} \\
                    & = & \frac{5}{2} & \mbox{$\frac{13}{2} - 4$を計算した} \\
\end{array}
$$

\end{document}

どちらかといえば、方法1のほうで、右のコメント部分を右寄せにする方法をさがしています (方法2のほうでソース中の\fracを\dfracに書き直すという解法は取りたくない、という意味です)。

追記

たくさんの方からご連絡いただきました。 本当にありがとうございます。 以下、感謝しつつシェアいたします。

3. align環境(数式番号利用。はやしさん、naoさん、他の方々より) (3.pdf)

\documentclass{jarticle}
\usepackage{amsmath}
\begin{document}

\begin{align}
\frac{1}{2} + 2 \times 3 - 4 &= \frac{1}{2} + 6 - 4 \tag*{$2 \times 3$を計算した} \\
                             &= \frac{13}{2} - 4    \tag*{$\frac{1}{2} + 6$を計算した} \\
                             &= \frac{5}{2}         \tag*{$\frac{13}{2} - 4$を計算した}
\end{align}

\end{document}

4. align環境(Jumiusさんより) (4.pdf)

\documentclass{jarticle}
\usepackage{amsmath}
\begin{document}

\begin{align*}
\frac{1}{2} + 2 \times 3 - 4  & = \frac{1}{2} + 6 - 4 & \text{$2 \times 3$を計算した} \\
                              & = \frac{13}{2} - 4    & \text{$\frac{1}{2} + 6$を計算した} \\
                              & = \frac{5}{2}         & \text{$\frac{13}{2} - 4$を計算した} \\
\end{align*}

\end{document}

5. xalignat環境(田崎さんより(LaTeX companion p.251 に載っているとのこと)) (5.pdf)

\documentclass{jarticle}
\usepackage{amsmath}
\begin{document}

\begin{xalignat*}{2}
\frac{1}{2} + 2 \times 3 - 4  & = \frac{1}{2} + 6 - 4 && \qquad \text{$2 \times 3$を計算した} \\
                    & = \frac{13}{2} - 4 && \qquad \text{$\frac{1}{2} + 6$を計算した} \\
                    & = \frac{5}{2} && \qquad \text{$\frac{13}{2} - 4$を計算した} \\
\end{xalignat*}

\end{document}

6. eqnremarray環境を新たに定義する(id:tociyukiさんより) (6.pdf)

id:tociyukiさんが、 新たな 環境を作ってくださいました。ありがとうございます!

\documentclass{jarticle}
\usepackage{amsmath}
\begin{document}

% eqnremarray - remark付きのeqnarray*環境
% cf. http://d.hatena.ne.jp/tociyuki/20060325/1143308105
\def\eqnremarray{
\let\\=\cr
$$\vcenter\bgroup
  \advance\lineskip 1\jot
  \advance\baselineskip 1\jot
  \advance\lineskiplimit 1\jot
  \halign\bgroup
    \hfil$\displaystyle{##}$ & \hfil\,${##}$\,\hfil & $\displaystyle{##}$\hfil
  & \quad##\hfil\cr
}
\def\endeqnremarray{
  \egroup\egroup$$
}
%%

\begin{eqnremarray}
\frac{1}{2} + 2 \times 3 - 4
    & = & \frac{1}{2} + 6 - 4   & \mbox{$2 \times 3$を計算した} \\
    & = & \frac{13}{2} - 4      & \mbox{$\frac{1}{2} + 6$を計算した} \\
    & = & \frac{5}{2}           & \mbox{$\frac{13}{2} - 4$を計算した} \\
\end{eqnremarray}

\end{document}

feedback | top

2006年3月24日

伝統と変化 この記事(2006年3月24日12:29)を含む「はてなブックマーク」    

id:yagianさんの「天皇家をめぐる伝統と変化」という文章を読んで、 少し思うところがあった。特に以下の一文。

それぞれの時代で天皇が天皇でありつづけたのは、伝統と変化のバランスを保つことができたからである。

これは天皇制に限らず、普遍性のある主張である。 たとえば「天皇」のところに「キリスト教」を入れてもそのまま通じるのではないか。

時代に合わせて変化することができなければ、 時代に合わなくなり生き残らない。 かといって時代に合わせてばかりいて伝統を失ってしまえば、 たとえ生き残ったとしても「それ」は「それ」ではなくなる。 伝統と変化のバランスを保つことができなければ、 どんなものも消え失せてしまうだろう。

キリスト教においてそれができているのは、『聖書』の存在があるからだと思う (そしてクリスチャンなら、その『聖書』の背後に神さまの存在と意志を意識するわけだけれど)。

「○○は伝統と変化のバランスを保つことができるか」は、 「○○」の寿命の長さを問う質問に近いかもしれない。

「伝統」を「後方互換性」、「変化」を「新機能」と言い換えると話題は突然IT風味を増す。 以下に例を示す。

Perlは後方互換性と新機能のバランスを保つことができるか

Rubyは後方互換性と新機能のバランスを保つことができるか

Windowsは後方互換性と新機能のバランスを保つことができるか

feedback | top

2006年3月22日

当選者発表中 この記事(2006年3月22日12:30)を含む「はてなブックマーク」    

『増補改訂版Java言語で学ぶデザインパターン入門マルチスレッド編』無料プレゼント当選者発表です。 応募なさった方はご確認ください。

多数のご応募ありがとうございました。

feedback | top

2006年3月21日

JWord防止 この記事(2006年3月21日10:13)を含む「はてなブックマーク」    

Windows XPで、いつの間にかJWordがインストールされないようにする簡単な方法。

ファイルC:\WINDOWS\system32\drivers\etc\hostsに、次の2行を追加します。

127.0.0.1   www.jword.jp
127.0.0.1   download.jword.jp

こうすると、ブラウザがwww.jword.jpやdownload.jword.jpにアクセスするときに、 本物のJwordのサイトではなく127.0.0.1(自分自身)にアクセスするようになります。 つまりJwordのサービスはまったく使えなくなります。

ただし、 www.jword.jpやdownload.jword.jpの IPアドレスをxxx.xxx.xxx.xxxの形で直接指定された場合には、 この方法は無意味です。

この方法を用いた場合の結果にわたしは責任を持ちません。自己責任でお願いします。 上の文章を読んで「ふんふん、なるほどね」という方以外は試さないほうが無難です。

この方法の元の情報はネットで見つけたような気がするのですが思い出せません。

この記事は、奥村先生の 「きっこの日記」は個人情報を収集する?でインスパイアされて書きました。

追記:(2006-03-22) 読者さんから、 JWordは他にもたくさんのドメインからダウンロードできるので上記だけでは不十分かも、 という主旨のご指摘をいただきました。情報ありがとうございます。

feedback | top

2006年3月20日

コンセプトアウト・デマンドイン この記事(2006年3月20日14:19)を含む「はてなブックマーク」    

平鍋さんのところに「コンセプトアウト・デマンドイン」というおもしろいことが書いてあった (以下、結城なりに理解して多少書き直しています)。

コンセプトアウト・デマンドインは、プロダクトアウトとマーケットインの間にある。

平鍋さんの「チェンジビジョン」では、 このコンセプトアウト・デマンドイン(製品のコンセプトを打ち出し、実際の要望はコミュニティからもらう)というのを、 市場と開発を繋ぐ手法としているのだそうです。

さて、以上の話を書いているうちに、いわゆる「バザール方式」のことを思い出しました。 たくさんの目玉があるとたくさんバグが見つけてもらえるのと同じように、 たくさんの要望も出してもらえるのかもしれないなあ。

feedback | top

2006年3月19日

日曜日 この記事(2006年3月19日19:44)を含む「はてなブックマーク」    

もやっとした天気の日曜日。 いささか寝坊しながら起きて、午前中は礼拝。 お昼はみんなで外食。 帰ってきてからお昼寝。

無料プレゼントへは、たいへん多数の方(140人以上)からお申し込みいただいています。 プレゼントは8冊ですので、 現在は35人の学級に2人くらい当選者がいる計算でしょうか (←わかりにくい換算… (^_^; それほど低い確率ではないと言いたいらしいです)。 みなさんありがとうございます。

feedback | top

2006年3月17日

アルゴリズムを学習する最良の方法 この記事(2006年3月17日23:22)を含む「はてなブックマーク」    

計算機科学のバイブル、あるいはアルゴリズムのバイブルと言われている 『The Art of Computer Programming』の中で、 Knuth先生はこのように書いています(p.4)。

……アルゴリズムを学習する最良の方法は, 試してみることである. 読者は, 本文でアルゴリズムに遭遇するたびに, 鉛筆と紙を用意して, 個々のアルゴリズムを試してみるようにしてほしい(中略). アルゴリズムを理解するための単純で痛みのない方法はこれであり, 他の方法をとってもふつうは失敗する.

上の引用文の原文も紹介しておきましょう(原著p.4)。

... and the best way to learn what an algorithm is all about is to try it. The reader should always take pencil and paper and work through an example of each algorithm immediately upon encountering it in the text. ... This is a simple and painless way to gain an understanding of a given algorithm, and all other approaches are generally unsuccessful.

…という今日の日記は、 本当に30日でOSが出来上がるのかを試してみるBlogの記事がきっかけで書きました。 キーワードはアルゴリズム・鉛筆・紙です。

feedback | top

2006年3月16日

すばらしい本に仕上がっています この記事(2006年3月16日23:46)を含む「はてなブックマーク」    

『増補改訂版Java言語で学ぶデザインパターン入門マルチスレッド編』をぱらぱらとめくっています。

今回の本は、私がこれまでに書いた本の中で一番厚い本かもしれません。 増補改訂版で565ページ→712ページとかなり増ページしました。 でも、無駄に増えたページはないと思っています。

Javaでマルチスレッドプログラミングをするのは、簡単といえば簡単。 スレッドを作って動かしてみるくらいならば、すぐにできますよね。 でもその後、排他制御のことを考えたり、デッドロックのことを考えたり、 さらには再利用性のことを考え始めると、どんどん難しくなります。 それこそ「synchronizedをつければいい、ってわけじゃない」ですよね。

スレッドセーフなプログラムを作るっていうのは、 セキュアなプログラムを作るのと似ている部分があります。 まず、バグがないのが大前提。 それから、テストでスレッドセーフを示すのは困難。 デバッグはとてもやりにくい。 再現性が非常に低いバグが生まれやすい……。

ということで、『増補改訂版Java言語で学ぶデザインパターン入門マルチスレッド編』では、 スレッドの基本(ThreadとRunnableのお話)から始まりますが、 さらに深く、さらに広く、マルチスレッドプログラミングのさまざまな問題とその解決法を 「パターン」という形で整理しています。

J2SE 5.0からjava.util.concurrentという便利なパッケージが導入されました。 これを使うと、マルチスレッドプログラミングはとても楽になります。 でも、何も知らないでjava.util.concurrentをぱっと使えるか、 適用の仕方を間違ったりしないか、というと、なかなかそうもいきません。 「java.util.concurrentを使えば済む、ってわけでもない」ですね。

そこで本書では、 サンプルプログラムの多くを、java.util.concurrentを使わない場合と、 使う場合の両方のケースで書いています(すべてではありません)。 そうすれば「仕組みを理解」してもらった上で「便利なライブラリの使い方も理解」してもらえると思ったからです。

その方針は立派ですけれど、そのぶん本は厚くなるんです。 校正は大変でした…(T_T)。 ほら、2005年末にTODOの数を表す「トドちゃん」が結城の日記に大発生しましたよね。 あれはこの本のためでした。

ε(     v ゜ω゜) <  そうでしたか…。

そうなんです。

でも、すばらしい本に仕上がりました(著者・談)。 分厚いですけれど、読み応えたっぷりあります。 Introduction1とIntroduction2だけでもスレッドの基本は学べます。 あとは、お時間にあわせてパターンをたどりつつ、じっくり学んでください。 さらに余裕のある人は、ぜひ練習問題にも取り組んでください。 練習問題の解答編も充実しています(解答編だけで本一冊分ありますね、と言われてしまいました)。

よく、旧版の読者さんから言われたことですが、 結城のスレッド本を読んでいると、さまざまな発想が浮かんでくるのだそうです。 今回の増補改訂版も、いろんな方にいろんなヒントを届けられればよいなあ、と思います。

無料プレゼント、今日一日で50人以上の方が申し込んでくださっています。 ありがとうございます!

feedback | top

『増補改訂版Java言語で学ぶデザインパターン入門マルチスレッド編』無料プレゼント この記事(2006年3月16日07:27)を含む「はてなブックマーク」    

日頃の感謝を込めて(あっ、もちろん書籍の宣伝もかねてですが…)結城浩のはてな日記のほうで、 結城浩の最新刊『増補改訂版Java言語で学ぶデザインパターン入門マルチスレッド編』無料プレゼントのご案内をしています。 ぜひどうぞ!

feedback | top

2006年3月14日

結城浩の最新刊『増補改訂版Java言語で学ぶデザインパターン入門マルチスレッド編』 この記事(2006年3月14日18:00)を含む「はてなブックマーク」    

新刊のアナウンスです。

2002年に刊行された『Java言語で学ぶデザインパターン入門マルチスレッド編』は、 「スレッドお化けぼうや」とともに、非常に多くの読者からかわいがっていただきました。 みなさんに心から感謝します。

このたび、 『増補改訂版Java言語で学ぶデザインパターン入門マルチスレッド編』を新たに刊行する運びとなりました。

増補改訂版では、旧版の内容を細かく見直し、さらに読みやすく分かりやすく書き直しました。 これまでのサンプルプログラムを見直すことはもちろんのこと、 java.util.concurrentに対応したサンプルプログラムもたくさん追加しました。

発売日は2006年3月下旬の予定です。

本書もまた、読者のみなさんのお役に立ちますように!


【スレッドお化けぼうや】

feedback | top

rubyco(るびこ)の日記 この記事(2006年3月14日08:08)を含む「はてなブックマーク」    

最近は、Rubyの勉強もしています。

知らないプログラミング言語を学ぶのはとても楽しいことです。 せっかくですから、自分が学んでいくプロセスを日記に書こうと思い、 はてなダイアリーのサブアカウントを使って、 新しい日記としました。

サブアカウントで日記を書くのは、 仮想的な人格を新たに作るような側面もあります。 そこで、rubyco(るびこ)さん登場♪となりました。 それが2006年1月21日のこと。

しばらくは結城の日記からもリンクせず、 プロフィールでもid:hyukiには触れていなかったのですが、 数人からコメントをいただいた段階で、 プロフィールでも触れるようにしました。 私だと明かす前に「結城さんじゃないか」 と見破った方(babieさん)もいらっしゃいました。 す、鋭いですね。

それはさておき、 rubyco(るびこ)の日記では、 「ほほえみつつ、Ruby。」をキャッチフレーズに、 毎日、Rubyの勉強日記を続けています。

どうぞよろしくお願いします。

※まだRuby本は予定されていませんが、いつか書けるとよいですね。

feedback | top

2006年3月13日

仕事 この記事(2006年3月13日10:37)を含む「はてなブックマーク」    

月曜日。淡々と仕事。新しい本の章立てを考える。 各章のテーマを考え、その章で言いたいことを易しい文章で説明してみる。

仕事をはじめるまでは、何となく気分が乗らないんだけれど、 作業ログにざっと目を通して、仕事の内容を頭の中にロードすると、 その後はいつものように別世界へジャンプ! 気分が乗るも乗らないもなく、仕事はちゃくちゃくと進む。

作業ログ重要。

feedback | top

2006年3月10日

作業から離れる前にすべきこと この記事(2006年3月10日10:36)を含む「はてなブックマーク」    

今日は朝から雨。体はあまり動かないし、 気分もどよんとしている。

でも。

不思議なことに、頭はしっかり回る。 妙に腰が落ち着いて、がしがしと仕事が片付く。

そんなときには気分がハイになり、 つい「現在自分の頭にある情報は自明だから、次回の作業のときまで覚えていられる」という錯覚にとらわれる。 でもそれは間違い。ほぼ確実に何かは忘れている。 だから、作業から離れる前に、必ず自分の頭の中に残っている情報を作業ログに出力するのがよい。 次回、その作業ログを読んだとき、ほぼ確実に「あ、そういえばそうだった」と思うはず。

少なくとも私は、作業ログを読み返すと毎回おどろく。非常に驚く。 自分がいかに忘れっぽいかに驚く。 そして喜ぶ。

「前回作業していた私、偉いぞ。よくこの情報を残しておいてくれた。おかげで今日の作業が楽になるよ」

以下も参考に。

feedback | top

2006年3月9日

長男との会話 この記事(2006年3月9日06:55)を含む「はてなブックマーク」    

久しぶりに長男とお風呂に入る。

長男「IQサプリの問題だよ。王様が、魔法で「角と尻尾」をつけられてしまいました。何に変わったでしょうか?

私「…どういう答かはわかったけれど、答はわからないなあ」

長男「どういう意味?」

私「ええとね。「王」っていう漢字に角のような字画と尻尾のような字画を着けたら、何かの動物の漢字一文字になるんでしょう?」

長男「すごい!その通り」

私「降参。何になったの?」

長男「羊」

私「ああー、なるほどね。じゃ、今度はお父さんから。2個のサイコロを投げたときに出る目の組み合わせは何通りある?36通りじゃないよ

長男「サイコロを区別しない場合だね」

私「その通り。「1と3」と「3と1」を区別しないということ」

長男「んー、18通り、かな?」

私「何で? まさか36通りを半分にしたんじゃないよね。「1と1」と「1と1」」

長男「あ、んー。21通り」

私「どうやって計算したの?」

長男「何となく」

私「あんたはラマヌジャンか」

長男「何となく、ほら。半分の三角形をくるりと長方形にして」

私「ははあ。お父さんは、対角線の6通りを36から引いて、2で割ってから6を足したよ」

長男「そっちのほうがややこしいよ」

私「そうかなあ」

長男「じゃね。赤と黒が1対20。これなんだ?

私「『赤と黒』ならスタンダール。…降参」

長男「答えはサイコロだよ」

私「ああ!なるほど。一の目だけが赤いからか」

長男「そうそう」

私「…あ、サイコロでいい問題を思いついた。 サイコロを眺めたときに見える3つの面がすべて素数になることはあるか?

長男「わかったよ。簡単じゃん」

私「ほほう」

長男「ありえない」

私「なぜ?」

長男「だって、1から6までのうちで素数は2, 3, 5だけ。でも2と5は足して7になるので向かい合った面。この2つは同時には見えない」

私「はい、大正解です!」

追記: 「2個のサイコロを投げる」の「2個の」が抜けていました。ご指摘くださった読者さんに、感謝します。

feedback | top

2006年3月8日

場所 この記事(2006年3月8日11:08)を含む「はてなブックマーク」    

今日は淡々と仕事。 ドトールやマックやデニーズでは仕事がとてもよくはかどる。 理由1:ネットがつながらないから。 理由2:他の人から割り込みがほとんど入らないから。

feedback | top

2006年3月7日

「想像」が「創造」の第一歩 この記事(2006年3月7日11:02)を含む「はてなブックマーク」    

今日は、昨晩の続きで、目次を練る作業をしていました。 テキストベースであれこれいじった後、 マトリックスを作りたくなってExcelの表を作りました。 とにかく思いついたキーワードを表に入れ、 空いているセルをじっと見て「ここには何が入るべきか」を考えていきます。 そうこうしていると、キーワード同士の関係が見えてきます。 そこで表をさらに書き換えて、自分に見えてきた関係が表に表現されるように努力します。 しばらく練った後、いつものように作業ログにやったことや問題点をメモして終了。

ここで、Excelを使うべきかどうかなんてことは、まったく重要ではありません。 重要なことは、自分の頭をよく使い、 本の「全体像を思い描く」という一点にあります。

全体像を思い描く。どんな本になるかを想像する。 何がどう書かれる? 誰がどう読む? もっと生き生きと。もっと鮮やかに。もっと香り豊かに。もっと深い響きになるように。 想像し、想像する。もっと、もっと。

ツールは「想像」をほんのちょっと手伝うだけ。 ツールの有無は制約にはならない。

自分の想像力だけが本質的な制約だ。

だから、まずは、想像の翼を思いっきり広げよう。

「想像」が「創造」の第一歩。

feedback | top

2006年3月6日

過去の自分と協力して、未来の自分へ仕事を託す この記事(2006年3月6日20:58)を含む「はてなブックマーク」    

本を書く準備をしている。

その本のためのディレクトリはすでに何ヶ月も前に作ってある。 そこに行って作業ログを読むと、 以前の私が何を考えていて次に何をすべきだと思っていたかがわかる。 とりあえず、目次(章立て)を考える。 章同士の関係図を作ってみる。キーワードを拾ってみる。 参考書をぱらぱら眺めてみる。 そのうちに、いつものように別世界に移動。 うにゃうにゃうにゃうにゃ。 しばらく仕事をして、ハッとこちらの世界に戻ってくる。 作業から離れる前に、現在の自分が考えていることを作業ログに残す。 これで、ワンセット。

一言でいうなら「過去の自分と協力して、未来の自分へ仕事を託している」のだね。

feedback | top

仕事の心がけ この記事(2006年3月6日20:47)を含む「はてなブックマーク」    

1997年に書いた結城の「仕事の心がけ」というページに、 ものすごい数のはてなブックマークがついていました。 せっかくなので、こちらでも紹介しておきましょう。

心がけシリーズは、ほかにもいろいろあります。 結城は「活動をしている自分」とあると同時に 「自分の活動を見ている自分」でもあります。 ちょうど、デバッギとデバッガが同じマシン上で動いているように。 心がけシリーズというのは、 「自分の活動を見ているほうの自分」が書いた、 活動のポリシーをまとめた文章と言えるでしょう。

feedback | top

2006年3月5日

日曜日 この記事(2006年3月5日23:21)を含む「はてなブックマーク」    

午前中は礼拝。お昼は次男と一緒にマックを食べました。 最近のハッピーセットは『ナルニア国物語』なのですが、 おもちゃとしてはちょっと地味過ぎかも。 午後からお昼寝。

今晩は家内が出かけていたので晩ご飯は宅配ピザを取りました。 家内から「もし残るなら残しておいて、私が食べるから」と連絡があり、1ピース残しておきました。 家内が帰ってきてピザの箱を見るなり「まあ、ありがとう。とってもうれしいなあ!」というので、 どうしてピザ1ピースでそんなに喜ぶのだろうと不審に思いました。

ふと見ると、拙いながらもしっかりした文字のメッセージカードがピザの箱の上に。

お か あ さ ん た べ て ね。!

次男が書いてピザの箱に貼り付けていたのでした。

なんて、優しい子。

feedback | top

2006年3月4日

土曜日 この記事(2006年3月4日23:33)を含む「はてなブックマーク」    

今日は、一日家にいました。 細かいプログラムを書いたり、ファイル整理をしたり。 新しい本のための下ごしらえをしているような気分です。

feedback | top

2006年3月3日

仕事 この記事(2006年3月3日21:07)を含む「はてなブックマーク」    

今日は、次に書く本の作業をちょっと進めました。 章立てを考えたり、ファイルの整理をしたり。 作業する前は、何となく気分が乗らなかったのですが、 ファイルをいじっているうちに没頭していました。 没頭して仕事をしているときって、 別世界で作業しているような感じになります。 はっと気がつくと「あ、私はマクドナルドにいたんだ」って気がついたりして。 そういうのは、なかなか楽しいものですね。

作業の合間に「僕」やミルカさんやテトラちゃんとちょっとおしゃべりもできました。 ミルカさんも素敵ですけれど、テトラちゃんも可愛いですね。 がんばれって応援したくなります。

feedback | top

The Art of Computer Programming Volume 4, Fascicle 4 この記事(2006年3月3日01:23)を含む「はてなブックマーク」    

今日電車の中で、Knuth先生のThe Art of Computer Programming Volume 4, Fascicle 4を読んでいて、 とても楽しいひとときを過ごしました。 私の英語力+数学力では、ほんの・ほんの一部しか味わえないのですけれど、 それでも非常にわくわくしたり、人間というものに対する深い理解の一端にふれたような喜びを 感じたのでした。

具体的にはですね…、 Section 7.2.1.7のp.51のnonsense wordで賢いことを考える人がいるものだなあ、と思ったり、 p.57のOne wonders...の説明書きにはくすっと笑ったり、 p.63からp.65までの計算間違いの歴史には考えさせられたり。 極めつけはp.73の練習問題(EXERCISES)のイントロの注意書きでした。 それには何というか、襟を正したくなるような思いになったのでした。

と、こんな風に書いていては、 TAOCPを読んでいない読者にはさっぱり意味がわからないので、最後の注意書きだけ引用しましょう。 組み合わせ論的な考えや、 数え上げについての歴史を振り返った後に出てくる練習問題のイントロで、 Knuth先生はこんな注意書きを掲げます。

Many of the exercises below ask a modern reader to find and/or to correct errors in the literature of bygone days. The point is not to gloat over how smart we are in the 21st century; the point is rather to understand that even the pioneers of a subject can stumble. One good way to learn that a set of ideas is not really as simple as it might seem to today's computer scientists and mathematicians is to observe that some of the world's leading thinkers had to struggle with the concepts when they were new.

--- The Art of Computer Programming Volume 4, Fascicle 4. Section 7.2.1.7 EXERCISES

(参考訳) 以下の練習問題の多くは、現代の読者に対して、過去の文献の誤りを見つけること、かつ/または、誤りを正すことを求めている。 しかし、21世紀の私たちはなんと賢いんだろうとほくそえむのが大切なのではない。 大切なのはむしろ、ある主題の開拓者たちでさえ失敗し得るということを理解する点にある。 一群のアイディアは、現代のコンピュータ科学者や数学者の目に見えるほどには単純ではなかった。 そのことを理解するよい方法は、世界の卓越した思索家たちですら、概念がまだ新しいうちは、 その概念と格闘しなければならなかったのだと気づくことである。

feedback | top

2006年3月2日

InstantRailsでRuby on Railsを動かす この記事(2006年3月2日16:53)を含む「はてなブックマーク」    

InstantRailsというソフトには、 Ruby on Railsを動かすためのものがすべて入っていて、 しかも既存の環境(すでにインストールしているRubyやApacheなど)をあまり壊さないらしいので試してみました。

しまった。 この記事は「るびこさん」にお願いすればよかった。(^_^;

feedback | top

2006年3月1日

この記事(2006年3月1日07:29)を含む「はてなブックマーク」    

今日から三月ですね。雨か…。

feedback | top

ぜひ、感想をお送りください

あなたのご意見・感想をお送りください。 あなたの一言が大きなはげみとなりますので、どんなことでもどうぞ。

お名前:
メール:
学年・職業など: 年齢: 男性女性
(上の情報は、いずれも未記入でかまいません)

お手数ですが、以下の問いに答えてから送信してください(迷惑書き込み防止のため)。
今年は西暦何年ですか?

何かの理由でうまく送れない場合にはメールhyuki dot mail at hyuki dot comあてにお願いします。

過去日記の一覧

豊かな人生のための四つの法則