Adaptive MSDF

私がSqueak仲間に入れてもらったきっかけの一つは、ビットマップのテキストしかなかったSqueakを改良して、TrueTypeフォントを使ったテキストが使えるようにしたことではないかと思っているわけではあります。

最近は3Dグラフィックスのプログラミングをしているのですが、我々のシステムでも、読みやすいテキストが必要ということで、世の中の人が使っているMultichannel Signed Distance Fieldというやつに基づくテキストを実装して見ました。

ところで、この手法は文字サイズが小さくなると読みにくくなるという問題が知られています。他の人もアダプティブレンダリング方法を切り替えて、サイズが小さい時はあらかじめ作っておいたビットマップをテクスチャとして使う方法に切り替えているわけなのですが、具体的にその情報をどこにしまっておこうかなと思っていたところ、例によって賢い同僚が「MSDFはRGBしかつかっていないのだから、Aチャネルにしまっておいて、shaderで切り替えて使えば良い」と言ってくれました。なんとシンプルで賢いのか。

というわけで、早速その手法を実装すると、期待通りにズームインしてもズームアウトしても読みやすいテキスト部品が作れました。これで心置きなくスクリプティングシステムを作っていけます。めでたしめでたし。

近況

唐突ですが、9月1日付でY Combinator Researchを退職しました。事情はともあれ、非営利団体の研究機関を成り立たせるだけの力がなかったことが悔やまれるところではあります。(追記: 「事情」のところは不可抗力と言えるものが多大にあり、私に「成り立たせるだけの力がなかった」というのは過剰な文言ではないのかという指摘がありました。ありがとうございます。とはいえ、どうしてももうちょっと早く将来を予測して行動につなげていれば、という後悔はしてしまうわけではあります。)

YCRでの終盤は、Shadamaという言語を作っていました。その言語の目的と、実際に試せる環境へのリンクがこちらにあります。
http://tinlizzie.org/~ohshima/shadama2/live2017
これは「高校生用」というつもりで作っていましたが、ビジネス界でもGPUを活用したエンドユーザー向けシミューレーション言語というものはもしかしたら需要があるのかもしれないと思ったりはしています。

次の進路は確実には決まっていないので、多分数ヶ月は地道な就職活動をすることになると思います。もしこれをお読みの方で何か私にお手伝いできることがあればお伝えください。

転職しました

https://blog.ycombinator.com/harc

諸般の事情により所属先が変わりました。といっても過去にあった所属先変更と同様に、同じグループで、同様のビジョンに基づいた研究・開発をしています。

新しい職場はY Combinator Researchというところで、グループの名前は HARC "Human Advancement Research Community"ということになっています。象徴的ボスはAlan Kayです。彼もまだまだ元気です。

YCRができたきっかけは、Sam AltmanというY Combinatorの社長が「利益追求のスタートアップとは別に、長期的な研究をして社会に還元する組織を作りたい」ということで、大きな研究組織作りに一家言あるAlanに相談したことです。元々は一般論としてARPA内でどのような研究者たちがどのような人間関係で研究を行っていたのかという話でしたが、1年ほどのうちに、「本当に組織を作るならこのグループから始めたら良い」という話になったわけです。

多分数週間のうちに、わたしが同僚とやろうとしていることのアウトラインに関するメモも公開することになると思います。

というわけで、これからもよろしくお願いします。

Robert A. Bjork

BjorkさんというUCLA心理学の教授が、UCLAで一番頑張っている教授に任される"UCLA Faculty Research Lecture"をするというので、ちょっともぐりこんで聴講してきました。どういうスケジュールで学習をし、学習後の試験がどのくらい間をおいて行われるかによりどのような結果がでるか、ということをみっちりと研究してきた人です。(参考: http://bjorklab.psych.ucla.edu/research.html)

例えば、"massed learning"という、同じ問題を短期間に連続的に勉強する群と、トータルの勉強時間は同じでも間に間をおいて勉強する群(spaced learning)を比較した時に、勉強期間の直後(1日後など)に試験した場合はmassed learningのほうが良い結果を出すが、1ヶ月後に試験した場合はspaced learningのほうがよいという研究結果があるそうです。

子供がお手玉を3 feet先の箱に投げ入れるという練習をする時も、箱を常に3 feet先において練習した群と、2 feetと4 feet先をターゲットとして練習した群を比べた時に、時間をおいてから3 feet 先の箱を使ったテストをすると後者のほうがよい結果をだすというのもありました。

面白いのは、学習中の被験者にアンケートをとると、massed learningをしている最中の被験者のほうが、「テストでよい結果が出る」と返答するのに対し、実際にはspaced learningをした被験者のほうがよい結果をだすということで、講演のタイトルでもあった"How we learn versus how we think we learn"という話が出てきます。

心理学の実験なのでいろいろと講演だけでは語られなかった付帯条件などもあるとは思いますが、こういうことを実際に実験して、直感には反する結果をじっくりと出し続けていたのだなあということが驚きでした。

Edward Tufte セミナー

視覚化やプレゼンテーションに関するアイディアや著書で有名なEdward Tufteは、1日セミナーを全国で開催しているのですが、今回は近場で開かれるということで参加してきました。立派なホテルのホールに200人くらい受講者が来ているのでなかなかのものです。最初の1時間は彼の著書を読むという時間に充てられています。(が、Tufteがその間に歩き回って本にサインをしてくれます(頼まなくてもしてくれたりします)。同僚の意見によれば、講演後に後でサインを求める人の列ができるよりも時間短縮になるのでは、ということで、まあそうなのかのとも思ったりします。

講演は(本と同様に)いくつかの実例を表示して、良い点、悪い点を指摘するところからはじまります。話の中でひとつ強調されていたのは「いったい何個の数字・データが見る人に提供されているのか」ということでした。ダッシュボードでは、たかだか5つくらいの数を表示するためにありとあらゆる飾りやデザインを使ってしまいますが、グラフやアイコン、そして必要に応じて文字で数値を表示することにより、数千の数値を伝えることはできますし、現代の5kや8kディスプレイはP.A.P.E.R.テクノロジーの半分くらいの解像度までは来ているので、情報を簡略化するというよりは、一覧性を高めることを考慮するべきという話でした。

espn.comの野球のページなども、box scoreに多数の数値が表としてまとめられたあとで、ホームランなどの稀な出来事は言葉で別のところに書くというスタイルになっています。espnのサイトのコメント欄を読めばどのくらいの知性の人が見ているかが見当がつくが、そういう人でさえもこれだけの数値を咀嚼できる、という話でした。

New York Timesにも悪い例があるということで、数値やグラフを使ってもっともらしい議論をしていても、未来予測のグラフがあまりにも正確すぎたり、情報元として示されている組織が中立ではなかったりするということに着目すると、信ぴょう性のない情報がわかる、という話でした。

午後のセッションでは、プレゼンテーションをする時のスタイル、そして心構えという類の話が多くなりました。Jeff BezosやSteve BallmerやSteve JobsPowerPointを嫌っているという話をし、Amazonではプレゼンターは6ページほどの文書を事前に作成し、会議に集まったところで各自がそれを読んで、そこから質疑をするというスタイルにしているそうです。スライドプレゼンテーションでは多くの時間が要点が話されるのを待つことに費やされてしまいますし、一覧性のある文書であれば各自が自分の早さでじっくりと読めますし、発表者も手塩にかけた文章が実際に読まれているというところを見られるのでやりがいがあるという話でした。

彼はしばしば「アホな上役に対してプレゼンテーションをしなくてはならないが、数値をどのようにまとめて視覚化すれば良いか」という質問を受けるそうです。が、彼の回答は「もし上役のことをアホだと思っているようならまずはあなたはプレゼンをしない方が良いかもしれない。」というところから始まるそうです。発表者の心構えとしては、まずは「同僚に対する信頼」に立脚していなくてはならず、批判を受けても、その動機について邪推をする必要はなく、真摯に受け止めるべきだと言います。大概のグループは似たような人が集まっている中で、意見の相違があった場合にはあなたが常に正しい側にいるという可能性は低いのですから。

後は、発表は内容で勝負するべきであって、あなたがどれだけ準備に時間をかけたかとか、スライドの枚数を何間に減らした、とかそういう話には触れるべきではないという話もありました。

Sparklineは1単語程度のスペースに数千の数値を表現できるし、名詞ではなく動詞としてのアノテーション付きの矢印を上手に使うのが良いという話もありました。

彼自身の講演スタイルで面白かったのは、皆から見えるところに助手の人がいて、話の内容に応じてウェブページをズームしたり、例としてあげるアニメーションを進めたりしているのですが、ときどき流れの都合上、助手の人がTufteにシナリオを指し示して「次はこの話をしてください」とひそひそ言っていたりするところでした。まあそういうこともあるでしょう。

というわけで、1日のセミナーとしては私も1日分以上に賢くなれたような気がします。

[Person] Marvin Minsky (1927-2016)

I once had a short chat with Marvin. At our Glendale office several years ago, he was taking a break from his meeting and ventured into our office area. I was playing with a puzzle (see pictures above) and told him that there are to solutions for this puzzle (one in which two heads are aligned, and one in which they are not). As I said "this is like entangled electrons' spin", he immediately responded with a meta question (to the effect of): "Why do these things always come in twos, and not threes or more?, positive, negative, up down?" I could not say much except something like "well, a line has two directions, and..." but that question lingers on in my brain as a sort of question that is philosophical and gives a hint of the world since then. I don't think that he meant this question to be profound, but an answer for a "why" question sometimes leads to more questions.

Alan said that Marvin was a stereo typical "mad scientist"; this short conversation was enough for me to see why he said that.