偽ハイパーカード

HypercardチームNo. 2だったTedが、自前で新しいプロトタイプを作っている。そのファイル形式を試すために、あまり工夫しているともいえない単純なものを提供。

Squeakで見た目まったく同じような構造をしているオブジェクトのグラフであっても、内部的にハッシュが違ったりするために辞書の中の順番などが微妙に異なったり、あるいはインスタンス特異の振る舞いを提供するトリックであるUniclassがあったりすると違う名前のクラスになるので、普通のシリアライザで書き出すとできてきたバイト列が異なってしまう。今回のものは、少なくとも同じスタックをそのまま書き出した場合はまったく同じバイト列になるというのがちょっとした味噌ではある。

スタックとカードとオブジェクトという構造がわかっている場合は、もうちょっとそれに特化した形式にしたほうが良いとは思うが。

Etoys V3

一週間ほど前に新しいファイルをまとめてアナウンスしたと書いたが、どうしようもないミスをしてしまっていた!いいわけ不能の間違いなのだが、それほど致命的でもないという説が有力なので、新しいファイルを同じ名前で出しなおしてしまった。

ということを書いたメールの中に、以下のようなコードがある。ややこしいところを除けばすべてのクラスのすべてのメソッドをコンパイルしなおして(categoryは結局使っていないので意味なかったな。selectorsでよかった)、コンパイル前のものと同じになるかどうか比較しているのである。

| meth newMeth name |
col _ OrderedCollection new.
Smalltalk allClassesDo: [:c |
  {c. c class} do: [:cls |
    cls compilerClass = Compiler ifTrue: [
      cls organization categories do: [:cat |
        (cls organization listAtCategoryNamed: cat) do: [:sel |
          (name _ cls name, ' ', sel) displayAt: 700@75.
          meth _ cls compiledMethodAt: sel.
          ast _ cls compilerClass new compile: (cls sourceCodeAt: sel) in: cls notifying: nil ifFail: [self halt].
          newMeth _ ast generate: meth trailer.
          (sel ~= #cacheTempNames: and: [sel ~= #setTempNamesIfCached:]) ifTrue: [
            meth = newMeth ifFalse: [col add: name]]]]]]].

この中で、#cacheTempNames:と#setTempNamesIfCached:がなぜ除外されているか、試さずにわかった人にはスーパーSqueakマスターの称号を得るための得点を5点と、娘のかわいい写真を一枚差し上げます。

英語の聞き間違い(続き)

http://d.hatena.ne.jp/squeaker/20080216#p1の続きですが、アメリカで免許を持っているIanいわく、アメリカでは"cleared"という言葉が「出発許可」のみを意味するように使われていて、takeoffとかそういう言葉でスタートしたらその方が悪いということでした。

フランスでも英語でしゃべりますが、かなりでたらめな英語で言いたいように言っているそうです。

あと、同時に複数の人がスイッチを入れたら干渉して、文の最初が聞き取れないということは良くあるそうです。

ということを教えてくれたIanは、「秋葉原に行く」というのを「Yucky harborに行く」と言っていました。

Windows on XO

Ivanが先月書いたエントリ
http://radian.org/notebook/paradox-of-choice
にいっぱいコメントがついているということに気がつかなかった。みなMicrosoftが本当に嫌いなのだな。

http://lists.laptop.org/pipermail/devel/2008-February/010976.html
に"It's called Physics Illustrator. I know, it is developed by Microsoft but still it's really cool."と書いている人もいるがソースも公開されているのになぜわざわざMicrosoftにいやみを言う?

私も大学時代は「えー、Microsoft Windowsなんか使っているの?」というような態度をとっていたこともあるが、まあ社会人になって(というか結局Alanの話を聞いたりしていると)、MSもAppleも同じようなところから出てきた組織なのだということではある。

Microsoftが何でもつぶそうとするというのはそのとおりかもしれないが、XOでXPが動くようにするのを手伝うことに対する批判が強すぎると思う。MicrosoftがInternetを殺そうとしたときも、MSNよりもInternetのほうが使いやすくて安かったのでInternetが勝ったわけである。MSに勝ちたければXPでは勝てないものにSugarをしていくのが道であって、XPのほうが良いと皆が思うようであれば、それはSugarにも問題があるわけである。

現状のSugarの出来上がり具合では、まともな脳みそを持った人なら「これはまだまだだな」と思うわけである。そのことを棚上げにしてMSは危険だからら近づけるなとだけいうのはあまりまっとうな意見とは思えないな。

Art Center訪問

PasadenaになるArt Center of Designに行き、OLPCについてざっくばらんに相談。集まった人々もいろいろだったが、まあがんばってもらおう。「世界の子供たちに情報を発信してやりとりをしてもらいたい」という動機がある場合、XOでも使えるようにという方向性には意味があるが、XOをターゲットにして、ということには意味がない。となるといろいろなプラットフォームで使えるようにコンテンツを作らなくてはならないが、現時点ではHTML+JavaScriptか、Etoysかのどちらかということになって、表現力を求めるならEtoysということになるだろうか(Etoysは他のコンピュータでももちろん動くものの、そちらではインストールしてもらわないといけないので壁はあるが)。というように、正直ベースで話をするとどうしてもEtoysの宣伝のようになってしまう。

元上司のAndyの部屋を無理やり訪ねさせてもらったら、うれしいことにそこにいた。Disney勤務が終わった後で、結婚と学位と子供というようないろいろな人生のイベントが起こったことを思い、ちょっと感動である。

Art Centerは工業デザインで有名で、世界中で走っている車の7-8%はArt Center出身者がデザインしたものだそうである。