enchantMOON
昨日のことになりますが、id:shi3zの清水さんとUEIの辻さん、宮川さんがViewpointsを訪れました。一台しかないというenchantMOONのプロトタイプをいじらせてもらいました。id:propellaさんやid:abee2さんもTwitterなどで触れていましたが、ページの集合でユーザーコンテンツを管理するというコンセプトは我々のネタでもあるので、今後の展開が楽しみです。
Andreas Raab (in English)
Andreas Raab, my friend and colleague of fourteen years, just passed away (he was only in his mid- 40's). He had a razor-sharp brain, and could write best-quality code. Not only that, he could manage projects and get a group of people to work. Alan Kay and David Smith say that Andreas is one of the top three programmers they have ever met. This says a lot.
The way I got to know Andreas was through a software project called Squeak. He ported the Squeak virtual machine to Windows while he was a Ph.D student at the Magdeburg university in 1997. The core team members of Squeak, led by Alan Kay, were very much impressed with his talent. They basically had no way to let him go somewhere else. So when Andreas graduated, they just hired him and took him to California. It didn't take long that he became the productive members of the core team.
I was also a Ph.D student at the Tokyo Institute of Technology around that time. Prof. Satoshi Matsuoka had a connection to a member of the Squeak Central, and that led me to try to port the virtual machine to a PDA called Sharp Zaurus. In 1998, I managed to make it (barely) work, much of it can be attributed to reading the code Andreas had written. By doing so, I got to start communicating with the Squeak group, and, eventually I got a job at the group at Disney when the luck and twists of events prevailed. Whenever I witnessed the brilliance of Andreas, I always thought "Andreas set a precedence of a young guy who ported the VM could do so many other things brilliantly. He paved the way and let me sneak in here, when I am no match with him." Also in this sense, "I would not be myself here today if he was not there."
He was from former East Germany and as far as I know he even did military service (shorter than normal as benefit of being a smart boy). I thought I see the remnant of training there occasionally. When five of us got on to a small car and Andreas got the middle seat, or when we got on a crowded Shinkansen train, he just could stay still for a long time without complaining. I imagined that this has something to do with his training. Thinking about this root, one thing to be said is that "he was somebody who could transform himself"; he started being not only a smart guy but added "more depth to his character", stop smoking after a while in California, and endorse the capitalist ideals when he started a start up company (actually, companies). Not only that, he became a guy of love and family! I would imagine that many of us seeing him over time thought that "is that the same Andreas?" at many times; he was a walking manifestation of the idea of "being yourself by changing constantly". (He could argue for something with perfectly logical argument on one day, then a few days later he could argue against it with equally perfect logic.)
Yes, he was a person of love and family. I had an opportunity of attending his wedding 16 months ago. And when Kathleen and he visited us in California as a part of the honeymoon trip, we cooked together family foods of Germany and Japan for dinner. During the grocery shopping and cooking for the dinner, how happy and sweet Andreas looked! They became "pen pals" of my daughter and they often sent us gifts and letter on occasions. It really breaks my heart when I think about her (and the baby).
There is a post he made to the Squeak developers mailing list right after the 9/11 incident. It was a community of thousands from different countries; so there were some off-topic posts that caused stir. But Andreas posted a message, which basically said that we need to keep working on to build a better future:
http://lists.squeakfoundation.org/pipermail/squeak-dev/2001-September/028173.html
There must be many in the community who had similar lines of thoughts, but besides the idea itself, the way he clearly articulate the idea and posted it promptly gave me a very strong and lasting impression. I often recall that posts now and then.
Unfortunately, we are not going to see such emails from him any more. But what can we do? We need to press on and try to build a "better future".
Andreas Raab
14年来の同僚で友人であるAndreas Raabが40代半ばの若さにして亡くなってしまいました。すばらしい切れ味の頭脳を持ち、コードを書かせても間違いなく一級品、それだけではなくプロジェクトの統括もし、人々のグループをまとめてることもできる人でした(Alan KayやDavid Smithが「これまであったことのある奴らの中でも3本の指に入る」というだけのプログラマだったのです)。
彼と私との交流が生まれたきっかけはSqueakというソフトウェアプロジェクトでした。彼は1997年のMagdeburg大学在学中にSqueakの仮想機械をWindowsに移植したのですが、彼はそこでのやりとりを通じてAlan Kayを中心とするコアグループの人々に強い印象を与えたのです。Alanにしてみれば「もう連れてくるしかない」ということで、彼は博士号を取得後すぐに採用されてカリフォルニアに移り住み、あっというまに生産性の高い中心メンバーとなったのでした。
私も彼と同時期に東工大で博士課程の学生をしていたのですが、松岡聡先生を通じたやりとりから、Squeakの仮想機械をSharp ZaurusというPDAに移植するという作業をする機会を得て、Andreasが書いたコードを多大に参考にしつつ1998年になんとか動くようにしました。私もそれがきっかけでSqueakグループとの交流が生まれ、諸々の偶然も作用したために私もまたSqueakグループで働くようになったのですが、Andreasの切れを目の当たりにするたびに、「仮想機械を移植した若者が使い物になるという先例をAndreasが作ってくれたおかげで、はるかに能力の劣る私も紛れ込ませてもらっているのだよな」と思ったものでした。そういう意味でも「彼がいなければ今の私はない」という人でもあります。
彼は旧東ドイツの出身で兵役にも就いていたのです(優秀な若者が得られる兵役短縮の特典も得ていたのですが)。Bostonで狭い車に5人乗りして真ん中の席になったときや、大変に混雑した新幹線に一緒に乗ったときなどには、文句を言うこともなく姿勢よくしていて、「これはもしかするとそのような訓練の賜物かな」と思うこともありました。そういうルーツを持つものの、彼は自分自身を「生まれ変わらせること」に躊躇しない人でもありました。切れ者であるだけではなく人間的にも幅を持ち、カリフォルニアに来たからには煙草もやめ、起業するとなれば資本主義の原理に自分自身を浸すこともいとわなかったのです。それだけではなく、40も過ぎて身を固めるとなれば、愛する人を見つけて「愛と家庭の人」にもなれる人でした。「あのAndreasが?」という念は私だけではなく多くの人が持ったこととは思いますが、「変わり続けることによって自分自身でいられる」という言葉を具現しているようでもありました。ある日には一方の面に立って完全に筋の通った議論を展開し、数日後には反対の面に立って同じくらい良く筋の通った議論を展開することもできましたし。
そう、彼は愛と家庭の人なのです。私はたった16ヶ月前にあった、彼の結婚式に参加させてもらったのでした。そしてその後彼らが新婚旅行でカリフォルニアに来たときには、皆で家庭料理を一緒に作って楽しいひとときを過ごさせてもらいましたが、Andreasは買い物のときから料理のときまで本当に新婚生活を楽しんでいたのです。KathleenとAndreasは我が娘とペンパルになり、季節の折々にはいろいろな贈り物もしてくれました。残されたKathleen、そして生まれてくる子のことを思うと胸が痛みます。
彼が9/11の直後にSqueak開発者向けメーリングリストに書いたメールがあります。数千人の国際的コミュニティーだったので、事件直後には一部反米的コメントが行き交う場面もあったのですが、Andreasは「より良い未来のために我々はこのプロジェクトを続けるのだ」というメールを書いたのです。
http://lists.squeakfoundation.org/pipermail/squeak-dev/2001-September/028173.html
当時のSqueakコミュニティの多くの人は同様な思いを抱いていたと思いますが、その思いを簡潔に素早くまとめて実際に多数の人に書いたことに、私は強く感銘したものです。その後もこのメールのことは折につけ思い出していました。
残念ながら彼のこのようなメールを見ることもなくなってしまいました。が、我々はまさに彼の言う通りにより良い未来を作るために日々の努力を続けていくしかないのだ、という思いを新たにしています。
Nate Silver: The Signal and The Noise

The Signal and the Noise: The Art and Science of Prediction
- 作者: Nate Silver
- 出版社/メーカー: Penguin
- 発売日: 2013/04/18
- メディア: ペーパーバック
- クリック: 11回
- この商品を含むブログ (5件) を見る
2008年のころから(fivethirtyeight.com時代から)全部ブログ記事を読み、http://d.hatena.ne.jp/squeaker/20070529#p1にも書いた"Baseball Between the Numbers"もみっちり読んでいる私としては、当然pre-orderしていたわけです。ですが、一気読みするつもりまではなかったものの、Michael Mannが強い批判記事を書いているのをみてからは、届くのを心待ちにしていました。
問題となっている12章の話は後に回すとすれば、これはズバリ良書です。実世界における確率・統計の応用について、Big Data時代における未来予報の仕方について、ベイズ定理のそもそも論について、ポーカーや野球におけるスキルと運の関係について、多くの実例と共に、やや饒舌ながらも完璧に筋道の通った文章を楽しく読み進めることができます。
で、12章ですが、確かにこの章は構成がちょっとおかしいです。否定論者として有名なArmstrongがGoreに対して一方的に仕掛けた「月ごとの気温が上昇するかどうか」という賭けの話がまず出てきます。これは、そこに掲載されているグラフをぱっとみても「たまたま気温が高めの年だった2007年をもとにしているな」ということが読み取れるし 、11章まで読んできた読者にすれば、ほぼ直前のポーカーでの一時的なツキの話とまったく同様に、「気候変動の話は長期的な問題なのだから、月々の温度変化を比べてもしょうがないだろう」という同じ突っ込みで終了、という流れなのだなと思わせるのですが、その導入のところは「その後の47ヶ月のうち、『Armstrongの温度変化なし予測』に基づく結果が29回も勝利した」とあたかもArmstrongの言い分に理があったかのようにいったん結論してしまうのです。
後のところを注意深く読んでいくと、Silver自身は決して気候変動に懐疑を唱えるつもりはまったくなく、特に本書のテーマである「モデルによるシミュレーションというものを、統計的な視点からどのように扱うべきか」ということについて掘り下げるのが主眼であるということはわかるのですが、「不確実性がある」ということを言うときに「大勢の天気予報士は気候学者に多かれ少なかれ批判的である」とか、気候学者からもKerry Emanuelをはじめとして「気候モデルに基づくコンピュータシミュレーションに関する疑念がある」とかいう書き方をしてしまっているために、必要以上に「不確実性を強調する」書き方になってしまっています。
Gavin Schmittが「次の10年は今までの10年よりも気温が高くなることに100対1で賭けても良い」と言ってしまっていることに対して「いや100対1とか言ったら言い過ぎだろう」という突っ込みをベイズ定理に基づいて説明するので良いのですが、Armstrongも「次の10年も気温は上がらない、ほぼ確実」と言っていることと無理矢理対比してしまっています。
脚注には「ArmstrongはHeartland Instituteから資金提供を受けている」と書かれているし、章の後の方にはちゃんとArmstrongの賭けの仕方はおかしかったとか、Armstrong自身が「科学には興味はないと公言している」とかいうことが書かれていているのですが、最初は持ち上げておいて、後の後で踏み台を外すように落としているのは、他の章でみられるSilverらしい「事実に基づいているからこその興味深いストーリー」というよりは「無理矢理を対立軸を作って煽ってみました」という形なのですよね。
Mannは校正版を読んで上記の批判記事を書いたようなので、「踏み台外し」はその後で追加されたのかなと思わないでもないです。
ちなみに、Mannの批判記事もフェアではないところもたくさんありますね。大学時代の教授が誰だったからとか、SilverがThe Inconvenient Truthについて「シロクマが困っているような絵が先行してしまう」と言っているだけで「科学的に弱い」と言っている訳ではないのに、言っていることにしてみたり。
もう一度書きますが、注意深く読めばSilverの論点はあくまでも「人為的気候変動が起きているのは『ほぼ』間違いない。ただモデルを立てて予測するという行為は難しいのだ」ということはわかります。ですが、本書の中でほぼ唯一ハードサイエンスが絡む部分なので、「門外漢がハードサイエンスについて論評するのは難しい」という印象は残りますね。
それでもこの本はかなりお勧めです。
$1 unistroke recognizerについて学ぶ
$1、およびその発展(?)であるProtractorや$Nというのは、http://depts.washington.edu/aimgroup/proj/dollar/
にある百行くらいで書かれたジェスチャー認識のアルゴリズムです。ちょっとした勉強のために、これらをSqueak Smalltalkで実装してみました。
http://ss3.gemstone.com/ss/Dollar1.html
$1はまさにシンプルで、すばらしい発明によくある「なんだ、これだったら俺でも発明できたよ」感を与えるものです。Protractorはいちおう発展のはずで、$1より速いのは確かですが、アルゴリズムは少し複雑になっているのが珠に傷ではあります。論文とサンプルコードにも怪しいところがありますし。でもいちおう話はわかったので、ちょいと改良して使っていくかもしれません。
ちなみに、この分野の嚆矢であるRand TabletのGRAILで使われていたアルゴリズムの解説は
http://dl.acm.org/citation.cfm?id=1464355
にあります。こちらは認識できる記号の集合は拡張できず、アルファベットの特性に依存した条件分岐も多々紛れ込んではいるのですが、ストロークを終了する前にも認識を完了できるという利点があるところが面白い点ではあります。
Pharo SmalltalkでAthensを試す
backendはCairoということで、もうだじゃれ入りまくりですが。
0. Mac OS Xのコンピュータを準備。
1. Pharoのイメージをダウンロード。 http://gforge.inria.fr/frs/download.php/30620/Pharo-1.4-14438.zip でok
2. NativeBoost付きVMをダウンロード。今日の時点ではJenkinsにある https://ci.lille.inria.fr/pharo/view/NativeBoost/job/NB-Cog-Mac-Cocoa/lastSuccessfulBuild/artifact/NBCog.zip で動きました。
3. CairoのUniversalバイナリをインストール。MacPortsを使うのは久しぶりでしたので、"sudo port selfupdate"してから"sudo port install cairo +universal" +universalが大事です。(http://forum.world.st/Is-athens-configuration-loading-td4432778.html)
4. 上記1のイメージを上記2のVMで起動。
5.
Gofer new squeaksource: 'Athens'; package: 'ConfigurationOfAthens'; load. (ConfigurationOfAthens project version: '1.0') load.
を実行。間抜けなことに二行目は一行目を実行してからでないとコンパイルさえできないので、2度にわけてdo itします。
6. さらに、
Gofer it
squeaksource: 'NativeBoost';
package: 'NativeBoost-Installer';
load.
を実行。そういうものらしいです。
7. TCairoLibraryクラスのクラス側メソッドnbLibraryNameOrHandleの中にあるpath名を、必要であれば変更。/opt/local/lib/libcairo.2.dylibであれば良いです。
8. AthensDemoMorph>>initializeには未定義のFSFileSystemが使われているので、さくっと、
ref := FileDirectory default readOnlyFileNamed: 'Squeak.png'.
か何かに変更。Squeak.pngをイメージのあるディレクトリに置いておきます。
9.
m := AthensDemoMorph new openInWorld.
| > |
JavaScriptの比較演算子の結果をGoogle Gadgetsに
そういえばid:propellaの山宮さんがGoogle Gadgetsを作ってはてなダイアリーに貼るやり方を書いていてくれていたので、僕もやってみました。これでJavaScriptもばっちり。