キルビル

 ヤッチマイナーで有名なキルビルを初めて見ました。
 ザ・サウンドオブミュージックと一緒に借りていたのです。

 この2作品のギャップといったら!!うーん、キルビルはヤッチマイナーしか印象に残らないあたり凄い映画ですね。絶対に日本好きのアメリカ人にうけると思いました。

 スシー、テンプーラー、フジヤーマ?

 日本好きのアメリカ人といえば、職場で9月にカナダから私のプロジェクトにインターンがくることになったそうです(アメリカ人関係ないねスミマセンネ)。英語しゃべれねえぞ…っておれが担当?いやしかしこのプロジェクトは俺しかやってないし…。やべ。とりあえず、カナダのインターンさんには、日本のいろんなことを教えようと思います。キルビルで。オージャマジャマー

 いいんだよ!エンジニアは図面で話すんだよ!!!うまい言葉なんかいらねえよ!よく考えたらCとかC++とかjavaとか、プログラミング言語は国際共通語だよ!!使いこなせないけど、英語よりはできる気がします。ヤッチマイナー!そして俺の評価用データは機動戦士ガンダムSEEDディステニー。当にジャパン。カナディアンにカルチャーギャップを!
20050727.jpg
全ては私の手の内なり

 どうでもいいんだけど、インテルMacがいろんな意味でやばい。エンディアン問題っていうのがあるんですよ。PowerPCはビッグエンディアンで、x86互換CPUはリトルエンディアンなんですよ。
 エンディアンの違いというのは、バイナリデータの順序の違いであります。次に並べて説明するとしましょう。
 例えば32bitカラー画像ファイルの、1ピクセル分をバイナリデータとしますと、そのピクセルが青に近い紫だったとして。
R(赤)G(緑)B(青)A(透過)の並び順で
01111000 00000000 11111111 00000000
となります。
char型(1バイト)の配列を使って区切ると、左から配列番号0で
0[0111] 1[1000] 2[0000] 3[0000] 4[1111] 5[1111] 6[0000] 7[0000]
となります。
リトルエンディアンはこれが配列番号の小さい方から
←[0111][1000][0000][0000][1111][1111][0000][0000]
という流れで1バイトずつ処理されるのです。
ビッグエンディアンでは、逆に配列番号の大きい方から
←[0000][0000][1111][1111][0000][0000][1000][0111]
という流れになるのです。意味わかるかな。ビットが逆方向になったわけではないことに注目してくださいね。あくまで、バイトが逆向きなんです。
 1バイトずつの流れが全部逆になるから、まずバイナリデータをプロセス間、入出力間でやり取りするようなプログラムは全て0からの書き直しをしたほうが良いという状況になっています。
 しかし、インテルMacの中だけで動くソフトウェアであれば、今までのPowerPCバイナリもまったく問題なく使えます。それを実現している、超高速エミュレーションシステムRosetta(ロゼッタ)の説明は、また明日。

2件のコメント