毛玉

昨日大分新しいセマンティクスに基づく方針を考えたのだが、まずは古い方針のものを毛玉上で動くところまで持っていこうと作業中。Tweakが持つことなるタイプのfieldの使い方も、いろいろためしつつ学習。昨日までは"instance variable"を結構使っていたのだが、"regular field"でいくべきだ、ということが大分明らかになった。

Lispのマクロのようなものがほしいよなあと思いつつ、StringのstreamContents:とnextPutAll:で、苦労しつつ文字列を組み立てていたのだが、#format:を使えば一瞬でできるということを山宮さんに指摘されてしまった。頭固かった。

またPalo Alto

午後の遅めの便で、高田さんと一緒にSan Joseへ。id:propellaな山宮さんも誘って晩御飯。高田さんはご家族皆がはてなダイアリー作家なので、一見全員アクティブな
はてな作家の集まりのようであった。

僕はビールには詳しくないのですが、http://www.echigo-beer.jpの越後ビールというのは有名なんですかね?おいしいような気はしましたが。

ブログ、または「オープンソース化された批評」

社会的には「第五の権力」とか、(似たようなことはこれまで10万人くらい言ってきたと思いますが一応大島の言葉として)「オープンソース化された批評」としてのブログ、という側面が注目されています。

ソフトウェアのように自分の生産物を公開し、それぞれの専門分野に置いては作者よりも深い知識を有する可能性のある人を、潜在的には何百万人、何億人という巨大なプールの中から数人ずつ掬い上げ、そのような人からのフィードバックを得ることによって生産物の品質を漸次的に改良していくことにより、プロフェッショナルだが閉じた生産工程から生み出された生産物に伍すだけのクオリティを得よう、ということですね。

ただ、的外れなことを言ったり、より過激で極端なことを言える人がより注目を集めてしまう、という学生運動時代と同じ力学もまた働いているようには思います。

(だからどうした、というわけではないがなんとなく。)

korakuriderさん

korakuriderさんがんばってます。BertがTweakのアップデートメカニズムを壊してしまうようなアップデートを一度サーバーに置いてしまい、それを後で修正したのですが、その隙にアップデートした数少ないユーザーの一人のようです。

http://d.hatena.ne.jp/korakurider/20050512では、POJOに当たるものは?という疑問がありました。POJOということは、"POSO"ですかね?"C-Object"とか"Tweak Object"という言い方はあります。

多重定義されたオブジェクトに関しては、日本語で「もの」と言っても「(操作される客体としての)物」なのか「(能動的なニュアンスのある)者」なのか「(舶来の)モノ」なのか、というようなゆれはありますね。あえてごまかすときに使えるという言い方もありますが、やや揺れています、確かに。

UCLAの授業

実際には、Alanは某所に出張中なので、今日は京大の社会情報基盤COE研究員で、HP Labsに滞在中の高田さん(id:naniman)がゲストレクチャーをしてくださった。以下は、高田さんの話の要約である。

高田さんの子供は3年生で、学校でコンピュータを使った授業もある。メールを送ったり、ウェブで調べ物をしたり、パワーポイントで発表をしたりするのだが、それは高田さんが子供のころの小学生が手紙を書き、百科事典で調べ物をし、ポスターを作って発表していたのと大差はない。コンピュータを使った知識活動を探す必要がある。

京都市ALAN-Kプロジェクトは2002年9月に、3年半のプロジェクトとして始まった。京都市教育委員会、京都ソフトウェアアプリケーション、Viewpoints Researchの人が協力してくれている。5校が選ばれて参加し、小学校で放課後のワークショップを開いたりしている。
最初に3時間かけてロボットカーまでやるワークショップをしたときの先生の反応を集約すると、「面白いけど、これによって1)子供が何を学び、それを2)先生はどうやって教えれば良いのか」わからない、ということであった。

自由課題をやらせると、男の子はゲームを作りたがり、女の子は絵を描いたりアニメーションを作ったりしたがる。

某吉正君のおたまじゃくし課題の例。乱数を教えるときも、

おたまじゃくし 回す: (11 - (乱数 21))

のように書くと一様な分布の乱数になるが、

おたまじゃくし 回す: (乱数 11 +(乱数 -11))

のようにすると、もうちょっとそれっぽく中央に偏りのある分散になる。きれいなeToysでその違いをグラフにして見せていた。聴衆からのコメントとしては、分布の違いなどを理解している先生は少ないだろう、というものがあった。

関数の概念を教えようというはてなボックスの例。大島は、図形の例は不適切だと思わなくはないのではあるが、数字のほうは良いと思う。

3竦み。なめくじが蛇を食べる、というのは謎だが、ナメクジとかえると蛇がいて、「もし自分が誰かを食べたら自分は食べられてしまう」という状況のため、スクリプトは裏で動き続けていても見た目は何も起こらない。複数の動作を並列に動かしておいて、全体の影響がキャンセルされて見かけ上止まって見えるというプログラムを子供が書けるのは面白い。

去年のTIDEコースからの例。小学校まで行ってやるのはやっぱりなかなか大変だ。

スーパーサイエンスハイスクール堀川高校での取り組み。モンテカルロ法によるπの計算、異なる惑星上で斜方投射したときの起動計算、衛星の軌道計算など、大学生がやるものよりレベルが高かったりする気はする。

締めは、いつもの5階層モデル。かな漢字変換みたいなリテラシーSqueakの基本的な使い方というリテラシーSqueakのうまい使い方、という基礎の上に、さらにやりたいことをプログラムとして書く、という能力があって、ようやく最後にやりたいことができるようになる。下のほうではなくて4番目と5番目のギャップを埋めるのが重要。

...というような話でした。

位相空間

初めて位相空間のことを学んだとき、とても不思議な気がしたことを覚えている。

袋の中にビー球がたくさん入っている。赤いビー球、青いビー球、縞模様のビー球、不透明なビー球、傷の付いたビー球。傷のないビー球。1月生まれのビー球。6月生まれのビー球。ビー球の中にはいろいろな仲良しグループがあって、赤いビー球グループと傷のあるビー球グループがあるのなら、「赤くて傷のあるビー球」のグループもあることになる。

ビー球たちには、とにかくみんな仲良しになろうよ、という気分と、別にばらばらで良いじゃんという気分がある。

みんなを仲良しにしようと思うと、袋に手を突っ込んで適当な数のビー球を取り出したとき、どんな組み合わせであってもそれを新しい仲良しグループとして特別扱いすることができる。つまり、どのビー球も他のどのビー球仲間に溶け込めていつも誰とも仲良しになれるわけだ。ビー球たちは、こういう約束にしておけば、どのビー球も他のどのビー球グループにもいつもすっと溶け込めるので、みんな絶対仲間はずれにならないよなと思ったはずなのである。

ところが、気が付いてみたらどのビー球にも自分一人しか含まない仲良しグループができてしまっていた。、「赤くて傷のあって3月18日生まれのビー球」がひとつしかないみたいに。そういうときに、「じゃあみんあ、本当に一番大切な仲間だけの仲良しグループに分かれてごらん」と言われると、結局みんな一人ぼっちで孤独にばらばらになってしまうしかなくなってしまうのである。仲良しを極限まで増やそうとすると、最後にはみんなばらばらになってしまう。

反対に、「みんなたまたま同じ袋に入っているだけで、別に誰も誰とも仲良しじゃない」という醒めたビー球たちもいるかもしれない。みんな一匹狼を気取っているのだが、同じように「じゃあ適当に分かれてごらん」と言われてみると、右往左往しても結局どうにも分かれることはできず、全員がひとかたまりのグループになるしかない。こちらは一匹狼を気取っては見るものの、実際にはどのビー球も「ビー球」という以外の個性には意味がなくて全体が白いお餅のようにくっついたぺたぺたの塊になってしまう。

その後いろいろなところで、「仲間と本当の仲間」、という対立に気が付くことになる。Smalltalkのオブジェクトも然り。プリクラのシールを集めるだけの友達しかいない高校生も然り。一神教多神教も然り。数学の範囲にとどまらず、「物を分類するとはどういうことか」についていろいろと面白い示唆を与えてくれたように思う。