2012-06-30

Pythonのpymothoaが興味深い

pymothoa - A JIT extension to Python - Google Project Hosting

またPythonの新しい実装かというと、これは少し毛並みが違う。これは、CPythonのコードをそのまま流用している。トリックは、CPythonの出力するASTを、LLVMの中間コードに変換しているのだ。これにより、CPythonのパーサーを改変せずにそのまま使うことで高い互換性を維持しつつ、LLVMによるJIT実行などの恩恵が得られる。

まだまだ制限も多い。しかしもしこれが将来、完全なLLVMへの変換を実現できたとしたら、面白そうだ。

他のPythonでJITによる高速化を図るプロジェクトとしては、すでに実用的な段階に達しているPyPyや、unladen-swallowがある。ただし、PyPyはPython 3への対応がまだ行われておらず、unladen-swallowは、アクティブに開発されていない。

ところで、私の好きな色は青・・・じゃなくて黄アァー!

2012-06-27

xkcd : CIA(クラッキングに対する一般人とコンピューター技術者の反応)

xkcd: CIA

ハッカー集団がCIAのWebサイトを一時停止に追い込む事件が・・・

[一般人の印象]
誰かがCIAのコンピューターに侵入したぞ!!

[コンピューター技術者の印象]
誰かがCIAによって貼られた張り紙をはがしたぞ!!

titleテキスト:
その張り紙というのはCIAの求人ポスターで、地上から10フィートも上に貼られていたのであります! これはつまり、何とハッカー達はハシゴ技術を有しているという事であります! これからの我々は50ドル払って防弾ガラス付きのポスターカバーを使うしかないのでありましょうか。詳しくはCMの後。

普段、私はxkcdのtitle属性はあえて表に出さないが、今回は非常に面白かったので出すことにした。

2012-06-25

ジョージ・オーウェルの1984の冒頭を訳してみた

どうにも最近、C++の参考書をすすめる意欲がわかない。時間を無駄にするよりはと、今日はふと思い立って、1984の冒頭を訳して見ることにした。

ジョージ・オーウェルの1984は、戦時加算の939日と翻訳権六ヶ月延長を考慮しても、すでに著作権が切れている。

第一章

一

四月の、まぶしくも寒い日のことであった。時刻はついさきほど、十三時を打ったところだ。ウインストン・スミスは、寒さしのぎに顎を懐に埋めながら、ガラス戸を抜けて勝利豪邸に素早く滑り込んだ。だが、舞い上がる土ぼこりの侵入を防ぐほど素早くはなかった。

通路はゆでたキャベツと古びたボロ布マットの臭いがした。通路の先には、カラーのボスターが貼られている。部屋に貼るには大きすぎるポスターが、壁に貼りつけられている。ポスターには、巨大な顔だけが浮かんでいる。一メートル以上はある、年の頃四十五の、黒々とした口ひげをたくわえた、勇ましい男の顔だ。ウインストンは階段に足をかけた。エレベーターは使い物にならない。調子のいい時でさえ、たまにしか動かないのだ。ましてや憎悪週間の準備のために、日中の電力が制限されている最中なのだ。部屋は七階にある。膝を痛めている三十九歳のウインストンは、休み休みゆっくりと階段を登っていった。各階のエレベーターの向かい側には、ポスターの巨大な顔が壁を見つめている。このポスターには仕掛けがしてあり、周囲の人間の動きに合わせて、目が追いかける仕組みになっているのだ。「偉大なる同志は見張っているぞ」とポスターの下部に印刷されていた。

部屋に入ると、何やら銑鉄の生産に関することを読み上げる声がした。声は、右手側の壁一面の曇った鏡のような丸い金属面から発せられていた。ウインストンがスイッチをひねると、声は少し小さくなったものの、依然として聞こえる程度の音量は保たれていた。この望遠画面(テレスクリーン)と呼ばれている装置は、多少の調整はできるものの、完全に止める方法はないのだ。窓に向かうと、党の制服である青い作業服を来た姿は、背景に溶け込んでしまいそうであった。ふさふさとした髪、自然と笑みをふくむ顔、粗悪な石鹸と切れ味の悪いカミソリによって荒れた肌。冬の寒さが終わったのだ。

閉めきった窓越しからでも、外にみる世界は寒々としていた。通りでは、つむじ風がホコリや紙くずを巻き上げ、日が照らしているとはいえ、空は青寒く澄み渡り、世界には色彩というものが欠けていた。ただし、いたるところに貼られているポスターは別だ。黒口ひげの顔は、あらゆる四つ角を見下ろしていた。ちょうど向かいの家の前に貼られている。「偉大なる同志は見張っているぞ」と文字に言う。黒い目がウインストンの目を深く見つめていた。通りをひとつ下ったところで、別のポスターが、片側だけとめられ、風にひるがえされていた。裏側には、単にエイシャとのみ、書かれていた。遠くでヘリコプターが屋根から屋根へと見張りの目を向け、ハエのように浮かび、また急に向きを変えて急ぎ飛び去っていった。あれは警察の巡回で、人民の窓辺を見張っているのだ。巡回は関係がない。思想警察が重要なのだ。

ウインストンの背後では、望遠画面がまだ、銑鉄と、第九回三カ年計画の計画を大幅に上回る実績についてつぶやいていた。望遠画面は、受信と送信を同時に行う。ウインストンが発した音声はすべて、極めて小さなささやき以外は、検出される。しかも、金属面の見える場所にいれば、向こう側に聞こえもすれば見えもするのだ。もちろん、ある瞬間に監視されているかどうかを知るすべはない。いかなる頻度で、あるいはどのような仕組みで、思想警察が回線を監視しているかは、想像に頼る他はない。彼らが全員を常に見張っている可能性だってある。とはいえ、いつなん時でも、彼らは好きな時に回線をつなぐことができるのだ。我々はこのような状態、つまりおよそ発する音声はすべて傍受され、暗闇でなければあらゆる動きは監視されているという状態に慣れなければないのだ。

ウインストンは始終、望遠画面に背中を向けていた。この方が安全だ。とはいえ、もちろん了解しているように、背中ですら雄弁である。一キロ先には、彼の職場である真実省の偉大に白い建物が、地表に生えていた。「これが」と彼はやや不快感をともないながら思考する。これがロンドンだ。第一空除(エアストリップ・ワン)の大都市だ。大洋国(オセアニア)の三番目に人口の多い場所だ。子供の頃の記憶をたどってみる。果たして、ロンドンは常にこんな感じだっただろうか。いま眼の前に見える朽ち果てた十九世紀からある家々が、倒れぬよう裸の木材で支えられ、窓には破れを塞ぐためにダンボールが貼られ、屋根はトタン板で、塀は破れていただろうか。そして爆撃を受けた場所にチリがまい木々が倒れ、爆撃により一掃された場所には、ニワトリ小屋のようにアバラ小屋が立てられていただろうか。だが、無理だ。覚えているわけがない。かろうじて覚えている子供の頃の思い出といえば、なにかぼんやりとしたイメージだけなのだ。

真実省ー新語ではショーシン[1]ーは、目に映る他のものとはひときわ異なっている。巨大なピラミッド型で眩しいほどに白いコンクリート造りで三百メートルの高さにそびえ立つ。ウインストンが今いる場所からでも、見事な字体による党の三つの標語が、くっきりと読める。

戦争とは平和
自由とは奴隷
無知とは力

注:新語は大洋国の公用語である。その構造と語彙については、巻末資料を参照されたし。

話によれば、真実省には地上から数えて三千もの部屋があり、地下にも同様に部屋があるそうだ。ロンドン内には、後三つ、同じ形と大きさの建物がある。周囲から完全に突出していて、勝利豪邸の屋上から、四つの建物がどれも見えるのだ。これは政府を構成する四つの省の大本営である。真実省は、報道と娯楽と教育と芸術が専門である。平和省、これは戦争が専門だ。友愛省は法律と秩序を徹底させる。豊富省、これは経済や物資を取り扱う。新語ではそれぞれ、ショーシン、ショーヘイ、ショーユー、ショーホーとなる。

友愛省は恐ろしい建物である。まず窓が一切ない。ウインストンは友愛省の中に入ったことはなく、ましてやその五百メートル以内に立ち入ったことすらない。用事がなければ立ち入ることのできない場所なのだ。入るには、鉄条網の迷路を抜けて、鋼鉄のドアをくぐり、機関銃の銃眼を抜けなければならない。建物に続く道すら、黒い制服に身を包み警棒で武装したゴリラ顔の警備員が大勢配置されているのだ。

ウインストンはさっと振り返った。望遠画面に向かうときは、顔面を穏やかな楽観的表情にしておくのが望ましい。部屋を横切り、小さな台所に向かう。この時間に省の勤務を抜けてきたため、食堂での昼食は諦めねばならなかったのだ。台所に食物のない事は承知している。黒ずんだパンの塊があるきりだが、これは明日の朝食にとっておかねばならぬのだ。戸棚から無色透明の液体が入ったビンを手にとった。ラベルには、「勝利ジン」とある。中国の米から作られた蒸留酒のような、病的で油のような臭いが鼻につく。ウインストンはコップに一杯分ほど注ぐと、覚悟を決めて、薬のように飲み干した。

たちまちに顔が赤くなり目が乾く。まるでニトロのような効き目、背後から棒で殴られたような衝撃。次の瞬間、喉元の焼け付きが過ぎて、世界が楽しげに見え始めた。「勝利タバコ」と印刷されたタバコの箱から、一本取り出して高々と掲げた。勢い余って、タバコを取り落としてしまった。もう一度挑戦すると、こんどはうまくいったようだ。居間に戻って、望遠画面の左側にある小さな机に座った。机の引き出しから、ペン軸とインク壷と、分厚い無地の自由帳を取り出した。自由帳は赤黒で大理石模様の表紙が付いている。

どういうわけか、居間にある望遠画面の設置場所は、ちょっと変わっているのだ。普通ならば壁の隅に設置され、部屋全体を見渡せるようになっているはずなのだが、なぜか窓の向かいの長い方の壁に設置されている。その隅には、今ウインストンが座っている、くぼんだ小部屋がある。おそらく、この部屋が作られた時には、書斎にでもするつもりだったのだろう。このくぼんだ小部屋に座って、壁に背を向けることで、ウインストンは望遠画面の目視による監視範囲から外れることができる。もちろん、依然として音は聞こえるわけだが、この今の場所にいる限り、見られることはない。この不思議な部屋の配置は、ある事をするのに最適だ。

しかし、この事というのは、引き出しから取り出した自由帳があるからこそ、したくなったのだ。この自由帳は特別に美しい冊子であった。その滑らかな白い紙は経年劣化によりやや黄ばんでいる。このような品物は、もう四十年は製造されていないはずだ。いや、思うにこの冊子はもっと古いはずだ。この冊子は、スラム街の小さな骨董屋の窓に置いてあるのを見つけたのだ。どのスラム街だったのかは覚えていはない。とにかく、なぜだか無性に欲しくなったのである。党員はそのようなどこにでもある店には行くべきではない。それは「自由市場との取引」と呼ばれている行為だ。しかし、この規則はそれほど厳格に守られているわけでもない。というのも、たいてい何か、靴紐なりカミソリなり、他の手段では手に入らない品物があるのだ。彼は素早く通りに目をやると、店に滑りこみ、二ドル五十セントで冊子を買った。その時点では、特に何か目的があって買ったわけではなかった。かばんに入れて、後ろめたさを感じながら帰路についた。たとえ何も書かれていなくとも、このようなものを所有することは恥ずべきことなのだ。

今、彼が使用としている事とは、日記をつけることであった。これは違法ではない。今や法律は存在しないのだから、違法などというものはもとより存在しない。しかし、もし見つかれば、まず死刑か、少なくとも25年の強制労働所送りだ。ウインストンはペン軸にニブを差し込み、油を取るために舐めた。つけペンは、もはや署名にすら滅多に使われることのない、大昔の筆記用具である。つけペンを手に入れるのにも、こっそりと大変な骨折りをしなければならなかった。やはり、このような美しい真白の紙には、インクペンシルではなく、本物のニブがふさわしいと思う。実のところ、手で書くということには全く不慣れであった。ごく短いメモを除けば、およそ文章はすべて話し書き(スピークライト)で書かれているのだ。もちろん、今これから行う事に、話し書きを使うことはできない。ニブをインクに浸して、一瞬たじろいだ。恐怖がからだを駆け抜ける。紙に記述することは揺るがせぬ行為となって残る。小さくつたない字で、彼は書いた。

千九百八十四年、四月四日

彼は背をもたれた。どうしようもない感情がこみ上げてくる。そもそも、今年が千九百八十四年であるかどうか、定かではない。しかし、このぐらいの年であるはずなのだ。というのも、自分は三十九歳であるはずで、自分が生まれたのは、千九百四十四年か千九百四十五年あたりだからだ。しかしもはや、一年や二年ぐらいの日付の誤差は、どうにもならないのだ。

「そもそも」と彼は疑問に思う「一体誰の為に書いているのだ」と。未来の未だ生まれぬ世代のためか。紙に書かれた不確かな日付に思いを巡らし、そして、新語の言葉である「二重思考」に突き当たった。ここに来てはじめて、事の困難さを意識したのだ。どうやって未来に託すのだ。そもそも不可能ではないか。未来が現在を継承するのであれば、この声は届かないだろうし、違ったものになるとすれば、この現在の状況は無意味だ。

しばらく、ぼんやりと紙を眺める。望遠画面は勇ましい軍隊音楽に変わっていた。今、彼が自己を表現する力を失っているという状況は興味深いことであるが、そもそも何をすべきであったかということすら忘れているのは、さらに不思議な事態である。何週間も、彼はこの瞬間のために準備してきたのだ。彼はこの事を為すにあたり、勇気以外には何物も必要ないと考えていた。書くこと自体は簡単だろう。単に、頭の中に長年浮かんできた独白を書きつづればいいだけだろうと。しかし、こうなってみると、独り言すら浮かんでこない。しかも、足の腫物がかゆくて仕方がない。しかしひっかいてはならぬ。前にひっかいたところ、よりひどくなるだけだったからだ。時間のみが過ぎていく。彼は依然として何も書かれていないページを見つめている。かかとの上がかゆくて仕方がない。音楽がやかましい。ジンですこしほろ酔いだ。

急に、何かにとりつかれたかのように、何か自分でもよくわからぬものを書き始めた。小さくつたない手書きの文字がページを埋めていく。大文字に頓着せず、句読点も気にせず、

千九百八十四年、四月四日。きのうのばん、映画いった。ぜんぶ戦争もの。いっこいいのあって、なんかどっかの地中海だかの人間が爆撃されてるやつ。デブが追いかけるヘリから泳いで逃げてるとこが観客に大ウケ、そいつさいしょなんかイルカみたいに水んなかぷかぷかしてて、でそいつヘリの銃座から丸見え、でそのあとすぐそいつ穴だらけ、周り真っ赤で穴から浸水したみたいに沈んでくの、沈むとこ観客に大ウケ拍手喝采。で、子供満載のボート写ってヘリがその上飛んでた。そこにたぶんユダ公だと思うんだけどオバハンが三歳ぐらいのちっちゃな男の子抱きかかえてた。子供怖がって泣いててそれで隠れてるつもりなのかオバハンにしがみついててオバハンは大丈夫だよって腕回してるんだけどでも明らかにオバハンも震えてるのがまるわかり、オバハン自分の腕が防弾仕様みたく子供守ってた。でヘリが二十キロの爆弾投下ピカッと光ってボート粉々。んで、子供の腕が空高く吹っ飛んでくのを撮ったのが流れてたぶんヘリの先にカメラでもつけてたんだろうけど党員席からは大歓声だけど無産者の席の女がわめいててこんなのこどもの前でみせるべきじゃないこどもとかなんとかかんとか警察きて女連れてってまあたぶん大丈夫だろうけど誰も無産者のことなんか気にしないしだいたい無産者というのはいつもいつも

十分な需要があるならば、C++の参考書を書き終わった後に、1984の翻訳に取り掛かって、GFDLの元に販売するというのも面白いかもしれない。

Linuxにおけるマウントの不思議

Linuxのマウントは面白い。

まず、ひとつのデバイスやらファイルを、複数のディレクトリにマウントできる。複数のディレクトリにマウントされても正しく動くようになっている。

マウント先の場所は、既存のディレクトリである。この時、ディレクトリの下には他のディレクトリやファイルがあるかもしれない。そのようなディレクトリにマウントした場合、元々のディレクトリ下にはアクセスできず、マウント先のファイルシステムの中身にアクセスすることになる。ただし、マウントする以前にディレクトリやファイルを開いていたプロセスは、マウント以前のファイルを参照したまま動き続ける。

おなじディレクトリに、複数回マウント先に指定することができる。その場合、後からのマウントが前回のマウント結果を隠す。マウントを解除するとまた現れる。

マウントしたファイルシステム内のディレクトリに、自分自身をマウントすることもできる。たとえば、hogeというディレクトリとhageというファイルが存在するext4でフォーマットされた/dev/sdbを、/mokeにマウントして、/moke/hogeにふたたび/dev/sdbをマウントすることもできる。その場合、hageというファイルは、/moke/hageからも、/moke/hoge/hageからも参照できる。

なんとも奇妙な仕組みだ。

2012-06-23

映画の中のしゃくにさわる事実

24 Most Frustrating Movie Facts Of All Times | Mind Junker

  1. 敵に囲まれて格闘する場合、敵は囲んで脅すだけで、一人づつ戦う。
  2. 恐竜を殺すほど強力な電気フェンスは、八歳児には大して効果がない。
  3. 全てのコンピューターディスクは、ソフトウェアの如何にかかわらず、全てのコンピューター上で動作する。
  4. 女が一人でいるときに不審な物音がした場合、同女は下着姿で確かめに行く
  5. いかに写真が不鮮明であろうとも、拡大と補正によりくっきりとした詳細が得られる
  6. 警察官は性格テストによって、性格の正反対な二人がコンビを組むよう仕向けられている
  7. 道端で踊り始めた場合、周囲の通行人は皆、踊り方を知っている
  8. 寝るために電気を消しても、部屋は少し暗くなるだけで、すべてははっきりと認識可能である
  9. 映画では、あらゆる戦争のあらゆる戦闘に生き残るであろう。ただし、故郷にいる恋人の写真を見せるという失敗をしなければの話だが。
  10. アメリカのすべての電話番号は555から始まる。
  11. 訪問先のビルの真横に車を停めることができる
  12. 映画では、警察署長は一流の刑事の任を解き、あるいは事件解決に48時間しか与えない。
  13. ほぼ全員が、出身にかかわらず英語を話す。外宇宙からやってきた地球にも地球人にもいまだかつて積極せず、あるいは地球というものを知らなかった宇宙人でさえ、英語を話す。
  14. どんなに悪人を倒したと確信しても、後三回ぐらいは起き上がって悪あがきをする。
  15. 警察の捜査中において、必ず一度はストリップクラブを訪れる必要がある。
  16. 映画では、食品をいれた袋には、必ず一本はフランスパンが入っている。
  17. 犬は悪人を見分ける能力を有し、必ず悪人に向かって吠える。
  18. パリのどの窓からでも、エッフェル塔は見える。
  19. セキは、重病の証拠である。
  20. 一度つけた口紅は絶対に落ちない。たとえスキューバダイビング中であろうとも。
  21. 事故にあった車は必ず発火炎上する。
  22. 映画では、すべての建物の通気口は完璧な隠れ場を提供する。誰も通気口を確認せず、また通気口は建物内のあらゆる箇所につながっている。
  23. トイレを利用することはあまりない。利用する場合、たいていすぐに死ぬ。
  24. 全ての時計は秒単位で合っている。

Ubuntuのセキュアブートへの対応

[Phoronix] Ubuntu's Plans To Implement UEFI SecureBoot: No GRUB2

Canonicalは、UbuntuをプレインストールしたOEM品の販売も視野にいれているため、セキュアブートに使う秘密鍵を公開できないことは、GPLv3に抵触するのではないかと考えているそうだ。そのため、セキュアブート環境でのブートローダーは、GRUB2ではなく、Intelのefilinuxを改造して使うことを考えているそうだ。ブートローダーをMS鍵で署名して、そこから先は独自の鍵で署名する。

Fedoraのセキュアブート対応を振り返ると、まずMS鍵で署名された軽量のブートローダーをブートさせ、そのブートローダーから、GRUB 2をブートさせ、そこからLinuxカーネルをブートさせる。ただし、GRUB2は未署名のモジュールを読み込まないようにしておき、Linuxカーネルも未署名のドライバーは読み込まないようにする。

Canonicalは、Fedoraのような軽量ブートローダーという道は取らなかったようだ。

しかし、GPLv3に抵触するというのは解せない。

If you convey an object code work under this section in, or with, or specifically for use in, a User Product, ..., the Corresponding Source conveyed under this section must be accompanied by the Installation Information.

もし、この著作物であるオブジェクトコードを、この条項で定義するユーザープロダクトに、あるいは同梱して配布し、あるいはユーザープロダクトで特別に使うために配布した場合、[中略]、この条項による対応するソースは、インストール情報と共に提供されねばならない。

とある。だから、単にプレインストールのみではなく、MS鍵が同梱されているハードウェアでセキュアブートを使うためのソフトウェアは、すべてこの、「ユーザープロダクトで特別に使うため」に該当するはずだ。したがって、OEM生産によるUbuntuプレインストールかどうかにかかわらず、単にインストールディスクの配布だけでも、この条件には当てはまるはずだ。

さらに、「インストール情報」というのは、

“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.

ユーザープロダクトに対する「インストール情報」とは、任意の手法、手続き、認証鍵、あるいは他の情報等で、改変版ソースによる改変版の配布物をユーザープロダクトで実行しするために必要なものである。この情報は、改変されたオブジェクトコードが、改変されたという事実だけで、機能を阻害し、あるいは影響してはならない。

とあるので、Fedoraのように、自前の鍵で署名する方法を提供すれば、十分ではないのか。そもそも、このユーザーブロダクトであるPCでは、セキュアブートを無効にする方法がある。それで十分だという気がしないでもない。

ユーザープロダクトとは、簡単に言えば、利用者に所有権や支配権が、無期限、あるいはある一定期間引き渡される物のことである。この場合はセキュアブートを実装したコンピューター。

ちなみに、GPLv3は、受け取り手により改変版のオブジェクトコードが使用された場合、サポートや保証、アップデートを打ち切っても良いとしている。

2012-06-22

xkcd: 迷宮パズル

xkcd: Labyrinth Puzzle

これなるは迷宮の守護兵なり。一人は必ず嘘をつき、一人は真実を伝え、一人は厄介な質問をした者を突き刺す。

僅かな挙動の変化も重大な影響を与える話

PHP :: Bug #50696 :: number_format when passed a 0 as first function argument, returns null

PHPで、number_format("",0)の戻り値が0ではなくNULLになったので、既存のコードが軒並みぶっ壊れたというバグ報告に対し、そんな変更は些細なことだと回答して、激しい応酬が起こっている。

そのコードは税金の計算に関するものであり、コードの変更には大変な承認やテストが必要であり、何ヶ月もかかる作業となる。。このままではPHP自体をパッチした方が早いなどと言っている。しかし、実行環境であるPHPの実装のパッチが認められるのに、PHPコードの変更の方が手間がかかるとは、不思議である。そもそも、number_formatの第一引数は、floatであるべきなので、文字列を渡すのは最初から間違っているなどという反論も。

HNでも議論されている。

We will try to stop fixing bugs in PHP | Hacker News

jDOSBoxをJavaScriptに移植したJsDOSBox

JavaScript Port of jDosbox

PCとその上で動くDOSのエミューレーターであるDOSBoxのJavaによる実装であるjDOSBoxをJavaScriptに移植したものらしい。

パフォーマンスはあまりよろしくない。

2012-06-21

テキストエディターの感想

GNU+Linux+Xで動くテクストエディターの感想。

GEditは、よくある平凡なGUIのテキストエディターである。一応、有名所のフォーマットのシンタックスハイライトを備えている。しかし、Ubuntu12.04のパッケージにあるものは、なぜかウインドウの再描画に問題がある。

それに、やはりGNU/Linuxを使う上では、vimかemacsのどちらかを使えるべきであると思う。そこで、先日、両エディターを試して見ることにした。

vimは、操作性が変わっていて、複数のモードを備えているが、まあ、すぐになれることができた。

emacsはアボミネーションと呼ぶべき、なんだかよくわからないカオスなものに成り下がっている。私はテキストエディターが欲しいのであって、それ以外の機能はいらないのだ。emacsでは、それ以外の機能が邪魔をする。まともに使うためには、多くの機能を無効化しなければならない。しかし、機能を無効化するには、膨大なドキュメントを読んで、このいらつく機能は一体どのような名称なのかというところから調べなければならない。これはダメだ。

結局、vimを覚えるべきであるとの結論に至った。

AMDはHSAスタックをオープンソース化するのか?

有名なPhoronixのフォーラムに、AMD社員のJohn Bridgemanが興味深い投稿をしている。

AMD Has No Plans To Suspend Catalyst For Linux - Page 2

I wasn't able to get out to AFDS this year so don't know the exact words Phil used (will try to find a video link tomorrow) but if you're familiar with FSA/HSA the announcement was basically about providing the full Linux execution stack (compiler/runtime/kernel drivers) in open source form, except for one commercial third party piece (the C++ parser front end). Slides and abbreviated transcript at :

http://www.slideshare.net/hsafoundat...m-architecture

Slide 30 IIRC. The presentation was basically a "heads up" for developers and ISVs. There was some media coverage but mostly summarized as "will also be available on Linux"

なんとAMDは、LinuxカーネルにおけるHSAの実行スタックを、商用サードパーティのC++パーサーフロントエンドを除いて、公開するというのだ。

スライドをみてみると、HSAのLinuxカーネルドライバも含まれている。

公開されない「商用サードパーティのC++パーサーフロントエンド」というのは、おそらくEDGのことであろう。それ以外には思いつかない。もちろん、標準委員会の誰にも知られることなく継承コンストラクターを実装していた、未公開のハードウェアで動くと自称するC++11コンパイラーなんてのもあったのだが。

もちろん、これは現在のAMDのグラフィックカードの制限ドライバーであるFglrxのオープンソース化ではない。したがって、まだIntelの内蔵グラフィックの方がマシだ。

さらに、AMDはDRMの実装を容易にするために、ARMを内蔵すると発表している。しかも、それをセキュリティ機能であるという誤った営業をしている。そんな企業のプレゼン発表がどこまで信じられるか疑問だ。

2012-06-20

あるエジプト人reditterの革命への感想

AIbrahem comments on Egyptian Military grants itself sweeping powers; effectively military coup.

Redditで、エジプト人を名乗る人間がコメントを書いていて面白い。

今エジプトで力を持っている勢力というのは複数ある。エジプト軍最高評議会、イスラム教徒、若い革命家とリベラル派である。

エジプト軍最高評議会は、ある程度は民主化に歩み寄っているものの、完全ではない。たとえば、エジプト軍最高評議会は、今作られた憲法に、軍の独立性を認めるようないくつかの項目を入れている。軍隊はイスラム教徒、憲法改正論者、また軍隊に戦争を命じる議員や大統領の命令を聞く必要はないことというのがそれだ。エジプト軍最高評議会は、若い革命家とリベラル達を、無政府主義者の烏合の衆であるとみなしている。そのような勢力はイスラム教徒の勢力に負けてしまう。イスラム教徒が権力を持てば、この革命は結果は、イランのような国に逆戻りということになる。

イスラム教徒。軍によって制定された新憲法は宗教の自由を制限するものであると考えている。リベラル派のことは全然信用していない。

若い革命家とリベラル派。自由を求める少数の若者。エジプト軍最高評議会は敵であると考えている。彼らは、まだ革命は終わっておらず、エジプト軍最高評議会は軍事政権の存続を図っていると考えている。イスラム教徒に対しては、それほど強い敵だとはみなしておらず、軍隊を何とかしたあとは、どうとでもなる存在だと考えている。

「座したるエジプト市民」は、この状況を静観している。平均的なエジプト市民は、何よりも安定を望んでいるし、ある程度の信仰があり、立候補して自分の意見を述べる権利が得られるべきだと考えている。

ちなみに、このコメント主は、今回の革命には反対の立場であるという。今の不安定な状況では、イスラム教徒が権力を握る可能性があり、そうなれば未来はイランのようになってしまうだろうと考えているそうだ。

実際、イランは革命が成功した結果、イスラム教徒が民主的に権力をとってしまい、結果として制限の多い宗教的な国に逆戻りしてしまったわけで、そういう実例がある以上、今回の革命は手放しで喜べない。なんだかんだ言っても、ムバラクの30年にも渡る非常事態宣言下で、それなりに安定していたわけだし。

これを考えると、明治政府は世界の平均的な革命に比較して、成功だったわけだが、いったいこの違いはどこから来るのか。

少なくとも、科学技術の発展は、健全で安定した政治とはあまり関係がないように思える。

2012-06-19

ヤマハの歴史と明治政府の音楽教育

ヤマハというとバイクやエンジンを作っている割に、楽器も作っている変な会社だ。ヤマハの社員だった親父は愛社精神あふれる人間で、よくヤマハの歴史の話をする。もともと車とバイク好きが高じてヤマハに入った人間だったので、わからないでもない。ちょっとヤマハの歴史が気になったので、資料を借りてみた。

資料というのは、2005年にヤマハが作って社員に配布していた社史だ。やたらと贅沢な製本をしている。タイトルは、「Times of YAMAHA 挑戦と感動の軌跡」とある。2005年というのは何かと景気が良かったらしい。

まず、山葉寅楠(やまはとらくす)(1851-1916)という人間がいた。この人は天文の家に生まれて、天体観測の機器に囲まれて暮らしていたので、幼くして機械への興味が強かった。

明治維新の後の1871年、長崎に赴いて時計や医療機械の技術を学んだ。その後は、大阪で医療機械の技師をしていたそうだ。

1884年、浜松病院で医療機械が壊れたため、招かれて修理した。しかしどうしたわけか、その後すぐに大阪には戻らず、しばらくは浜松にいて、時計を直したり、おもちゃをつくったりして過ごしていたらしい。

1887年7月15日、浜松尋常小学校でオルガンが壊れたために、山葉寅楠に修理を依頼した。当時のその日の公務日誌には、「本校備付オルガン破損せしにより機械師を招き之を修理せしむ」とある。

山葉寅楠は、オルガンの故障が2本のバネにあると見抜き、交換することで修理した。

ところで、なぜ尋常小学校にオルガンがあるのか。そもそも尋常小学校は、たった1年前の1886年、明治政府は小学校令を出して、全国に共通の尋常小学校を設置した。これは当時の明治政府としては非常によくやったことだ。教育は非常に重要であるし、全国に共通の教育機関を設けるというのは近代国家を作る上で非常に大事だ。その上で、明治政府は音楽教育にも力を入れていた。それも、西洋の音楽を取り入れようと努力していたのだ。今も残る多くの文部省唱歌が作られたことからも力の入れようが分かる。

しかし、日本国内にオルガンを作れるところなどなく、オルガンは輸入していた。役人の給料が2,3円の時代に、輸入オルガンは一台45円もする。相当に高い代物である。この輸入オルガンを各地の尋常小学校に設置したらしい。

ここで気になるのは、サポート体制だ。機械である以上、当然故障が発生する。山葉寅楠に修理の依頼がきた以上、故障を修理する体制が整っていなかったに違いない。一年で浜松のオルガンが故障するぐらいだから、故障は各地で起こっていたはずである。当時の明治政府というものも、よほど見切り発車で物事を進めたとみえる。しかし、全国に尋常小学校を作るのは、当然、早急に行うべき事業であり、そんなこまかいことまで気にして遅らせることはできなかったのだろうし、結果的にうまくいったわけだ。

実際、明治政府は郵便網の構築も行なっている。これは、当時の地方の名主などに命じて、給料も円ではなく米で支払い、仕事に当たらせたらしい。少し前の郵便改革で、事実上の世襲であるとして問題になった特定郵便局は、明治時代に早急に郵便網を構築する必要があった時代には妥当性のあった仕組みなのだ。

さて、オルガンの修理を終えた山葉寅楠は、その仕組みに興味を持ち、自分で作ってみたいと思うようになった。資金は浜松病院の院長である福島豊策に援助してもらい、医療機械やオルガンの修理での協力を受けたカザリ職人の河合喜三郎から仕事場に部屋を貸してもらい、作業にかかった。手作業による加工の困難さと、使っている材料の代替品を探す苦労に悩まされたという。

音を発する金属片のリードは真鍮板を切り、弁は自分で合金したものを1枚ずつヤスリにかけてつくる。鍵盤に張るセルロイドの代わりには、三味線のバチや裁縫用の牛骨へらを磨いて使った。

Times of YAMAHA 挑戦と感動の軌跡 49ページ

1887年9月に、オルガンを完成させた。なんと、オルガンに出会ってから、たったの二ヶ月で複製したというのだ。

さっそく弾かせてみるが、評判が悪い。そこで、東京にある音楽取調所(今の東京芸術大学音楽学部)に持ち込んで審査してもらうことにした。このとき、山葉寅楠と河合喜三郎は、静岡から東京まで、作ったオルガンを天秤棒で担いで、箱根を超えて東京まで人力で持っていったという。

音楽取調所で審査したところ、「調律が不正確で、使用に堪えない」という評価になった。形はオルガンでも、調律がまるでダメだというのだ。山葉寅楠は当初、西洋音楽の音階に関する知識すら持たず、最初のオルガンを作ったから当然の結果だ。しかし、そこで山葉寅楠はあきらめない。調律について質問を浴びせた。その熱意によって、特別に音楽理論や調律の講義を受けることが認められた。

山葉寅楠は東京で一ヶ月みっちりと学んでから浜松に戻った。そして、1887年の年の暮れに、2台目のオルガンを作り上げた。再び音楽取調所に持ち込んだところ、今度は「舶来品に代わり得るオルガン」という高評価を受けた。

それにしてもこの行動力はすごい、7月に初めて目にしたオルガンを、2ヶ月で複製し、不具合が判明すると、1ヶ月で必要な知識である音楽理論や調律を学び、またまた2ヶ月以内に、完動品を作り上げる。早い。

プログラミング言語とおヒゲの相関性

たまに必要になるのでメモ。

Aspect and Subject Oriented programming: Why Microsoft can Blow-Off with C#?

Computer languages and facial hair – take two - Just code - Tamir Khason

不自由な電子書籍でも保存できるよう、法律を変えるべきだ

電子書籍の「オンライン納本」を義務化、改正国会図書館法が成立 -INTERNET Watch

ただし、有償またはDRM付きの電子書籍については、現在、費用補償に関する検討などを行なっていることから、当分の間、国会図書館への送信の義務を免除するとしている。

人類のあらゆる創作物は保存する価値がある。当然、電子書籍も保存されなければならない。しかし、保存にDRMは有害である。なぜか。DRMは電子情報をひとつの記録媒体に縛り付けたり、特定のハードウェアやソフトウェア上でしか利用出来なくしたりするからだ。

電子情報の記録媒体の寿命は短い。これは、現在の多くの記録媒体が、磁気変化によって情報を記録しているからである。記録された磁気変化は、数十年もしないうちに劣化して読めなくなる。したがって、電子情報を正しく保存するには、記録媒体をつねに新しいものに置き換えていかねばならない。光温度湿度を整えた環境に磁気テープやHDDを保管しても、寿命はせいぜい数年しか伸びない。そういう保存は意味がないのだ。正しい電子情報の保存方法とは、日々新しい記録媒体が追加される多数のコンピューター群に、常に物理的に異なる記録媒体に何重にも重複して記録されるように、追加された記録媒体に自動的に書きこんでいくシステムである。DRMはその障害となる。

特定のハードウェアやソフトウェアは、すみやかに消失する。ハードウェアは製造されなくなり、また製造方法も忘却されるし、ソフトウェアもハードウェアや他のソフトウェアの変化に伴って、動かなくなる。NASAの昔の磁気テープは、大半が読めなくなっている。これは磁気情報が劣化しているのではなく、読み込むための専用のハードウェアが残っていないからである。したがって、保存する電子情報は、仕様が公開されている自由なフォーマットで記述されねばならない。いつでも読み込むためのソフトウェアを新たに実装できる状態でなければならない。

DRMのかかった電子書籍は、存在自体が非人道的であり、利用してはならない。

しかし、先にも書いたように、あらゆる創作物は保存する価値がある。法律を変えて、情報の保存のためにDRMを違法にする必要がある。

2012-06-18

なぜLinus TorvaldsはnVidiaを史上最悪の企業だと罵ったのか、字幕と翻訳と解説

とりあえず話題になっていたので、問題の49分からの部分を自力で書き起こした。

Question:

Okay, Ah so short back story. I got myself two years ago. A laptop that had two graphic cards. It had an Intel and an nVidia. It had a famous Optimus chip that was difficult to operate from linux. I saw at the beggining, I was like expecting to get supported at some point. It was kinda difficult at the beggining and full supports came something like half years ago for one project that's on github[Bumblebee-Project/Bumblebee · GitHub] that's working pretty nice.

But what I saw that at some point I was expecting that maybe nVidia would kinda chip-in and do something for it. And they said flat out "No! We're not doing any support". And I was like "We're playing in the same sandbox why can't be nice to each other".

It's like... like... things like this that we cannot have the hardware producers think about the other stuff as well. They're like hard-set-on that you cannot truly think cooperate with them on.

What's your comment on this.

Linus:

Ah, I know exactly what you are talking about. And I'm very happy to say that it's... the exception rather than the rule.

And I'm also happy to very publicly point out that nVidia has been one of the worst troubled spot we've had with hardware manufactureres. And that is really sad. Because the nVidia tries to sell chips. A lot of chips into the Android market. And nVidia has been the single worst company we'd ever dealt with.

So nVidia! Fuck you! [Linus shows the finger to the camera]

[audience laughs and applauds]

翻訳

質問:

なんと言いますか。二年前、ふたつのグラフィックカードが載っているノートPCを持ってまして。IntelとnVidiaが入っていたんです。有名なOptimusというものでして、当時、Linux上で動作させるのに問題がありました。最初それをみて、私は、いずれサポートされるだろうと思っていたのです。結構難しくて、完全なサポートは、半年ぐらい前にようやく、あるGithub上のプロジェクト[Bumblebee-Project/Bumblebee · GitHub]で、まともに動くものがやっとできたんです。

でも、nVidiaがちょっとは協力するべきだと思うんですよね。nVidiaは全面的に、「弊社は一切協力しない」という態度だったんです。

で、私は「なんでもうちょっと優しくなれないのか」と思ったわけです。

この調子では、優しいハードウェア製造会社なんて存在しないのではないかと。彼らは凝り固まった考え方をしていて、全然協力的じゃないのです。

このことに対してどう思われますか。

Linus:

ああ、言いたいことはよく分かるよ。幸い、それは、唯一の例外みたいなもんだよ。私は声を大にして言うけどね、nVidiaはLinuxにとって一番厄介なハードウェア製造者だね。

これは非常に残念なことだと思うよ。だって、nVidiaはAndroid市場に対して、大量にチップを売ろうとしているんだから。nVidiaはLinuxにとって最悪だね。

nVidia、ファックユー![Linus、カメラに向かって中指を突き立てる]

[聴衆には大受け]

色々と考えたが、原文での、「我々にとって最悪」の「我々」とは、Linuxカーネルのことであると思うので、そのように訳した。

Linus Torvaldsがこのように言うのは、nVidiaは、ハードウェアの詳細を一切明かさないからだ。そのため、Linuxカーネルでサポートできない。ドライバーを書く能力がある者はいるが、どうやってnVidiaのハードウェアを操作するのかわからないので、書けないのだ。自由なソフトウェアによるnVidiaのGPUのドライバーであるNouvaeuは、解析結果を元に作られている。このような取り組みに対するnVidiaの態度は、「訴えない」というだけであり、一切協力することはない。

これに比べて、AMDは自社のGPUの情報を多少は出している。ただし、AMDの公式ドライバーは不自由である。

現時点で、一番マシなのはIntelのIvy Bridgeの内蔵GPUだろう。Intelは公式に自由なソフトウェアによるドライバーを出していて、積極的にLinuxカーネルに貢献している。

ただ、nVidiaの不自由なドライバーは、Windows版のドライバーと遜色ない出来で、それなりに安定していて、パフォーマンスも申し分ない。これがAMDとなると、まず新製品がLinux用ドライバーでサポートされるのに何ヶ月もかかり、5年ぐらい前の製品でも平気でドライバーサポートが打ち切られたりする。

もちろん、不自由なソフトウェアは非人道的なので、nVidiaがクソであることに変わりはないが。

追記:聞き取れなかった部分、改めて聞きなおしてみると、"on Github"と言っているようだ。なぜ昨日は聞き取れなかったのだろう。

ちなみに、このGithub上のプロジェクトというのは、Bumblebee-Project/Bumblebee · GitHubのことだ。

追記2: nVidiaの営業が、邪悪な制限されたバイナリブロブの言い訳をしている。[Phoronix] NVIDIA PR Responds To Torvalds' Harsh Words

二重思想の危険性

嘘か誠かはわからないが、ちょうど興味深い話題がある。

児童ポルノ法が私に及ぼした実害と、今後増えると予想される家宅捜索 - seraphyの日記

「P2Pは?」と問われたので、「ファイル共有ですよね? やりませんよ。」と答えると逆に真顔で「どうしてP2Pをやらないのですか?」と尋ね返されてしまって逆に困惑してしてしまいました。

実に清々しいまでの二重思想の使用だ。peer-to-peerとは、単に一対一の接続を意味する用語だ。これ自体は、ファイル共有という意味はない。ただ、一部のファイル共有に用いられるソフトウェアのプロトコルが、peer-to-peerの呼ばれるような仕組みなっているだけだ。そもそも、P2Pといったところで、古典的な多数のクライアントと少数のサーバーより、さらに一対一を重視した通信方法が、流行語としてpeer-to-peerと呼ばれているだけの話である。それ自体には何の意味もない。たとえば、スポーツ系オンラインFPSゲームに用いられるプロトコルは、とっくの昔にP2Pだった

したがって、P2Pをファイル共有という意味で用いるのは、ジョージ・オーウェルが1984年の中で描いた、二重思考である。二重思考は実に都合がいい。なぜならば、言葉の意味を曖昧にし、合法とも違法とも取れる状態にするからである。この曖昧性は、全体主義者には実に都合がいい。このような曖昧な言葉を使うことによって、厳密な思考が行えなくなる。さらに、思想犯罪を取り締まる際にも、合法とも違法とも取れる言葉があることは都合がいい。なぜならば、二重思考によって、あらゆる言葉は違法となりうるからだ。

我々は、このような二重思考を避けなければならない。二重思考を受け入れると、我々は思想の自由を失う。戦争とは平和である。自由とは奴隷である。無知は力である。

2012-06-16

我が国における二重思考の徹底ぶりはすさまじい

ジョージ・オーウェルの表した1984年では、二重思考が行われている。この世界では、主人公のウインストン・スミスは、ビクトリーマンション(勝利豪邸)に住んでいる。

現実のマンション(mansion)というのは、「豪邸」という意味である。あまりにも家が大きく、維持管理に人を何人も雇わなければならないような豪邸だ。専用の運転手が運転する車で屋敷に入ったら、使用人が総出で出迎えるような、そんな豪邸だ。

一方、ウインストン・スミスのすむ、勝利豪邸(ビクトリーマンション)は古臭くみすぼらしい集合住宅で、壁はひび割れ、窓はダンボール貼り、通路は茹でたキャベツと古びたボロ布マットの臭いがする。そんな集合住宅だ。エレベーターは動かない。機械自体がオンボロなこともあるし、憎悪週間に向けた準備のために、日中は電力が遮断されているからだ。そして、いたる所には偉大なる同志の張り紙が貼られている。偉大なる同志の目は周囲を見はるように動き、張り紙には、「偉大なる同志は見張っているぞ」と書いてある。

我が日本国はどうか。我々日本人が、「マンション」と呼んでいるものはどうか。現実世界のマンションだろうか。それとも、ジョージ・オーウェルの描く二重思考の行われている1984年のマンションだろうか。

もちろん、日本におけるマンションは、1984年のマンションだ。これは、我が国が優秀な二重思考の国だからである。

実に、我が国は二重思考が盛んな国である。ゲーム専用機と呼ぶべき機械を消費者と呼び、大量解雇、もしくは、いっぱいクビにすると言うべきところを、再構造化と言う。世の中に、日本ほど二重思考が盛んな国はない。最近では、他人の意思を読み取る超自然的な能力のことを、コミュニケーション能力と呼ぶらしい。

ともかく、いま流行りの二重思考は、「リッピング」である。この言葉は非常に曖昧である。この言葉は、紙を破くときに使うべき言葉である。それが、CDやDVDやブルーレイなどといった、光学ディスクの複製物を作成する際に使われている。このような曖昧で誤った言葉の使用が、今の奇妙な騒動を引き起こしている。

報道に言う。曰く、「著作権法が改正されて、リッピングが違法になった」と。これは誤りである。著作権法が改正されたのは事実だ。違法になったのは、私的利用のために、DVDやブルーレイなどに使われている、CSSやACCSなどの技術的保護手段、すなわちDRMを回避する方法である。

すなわち、これらの技術的保護手段を解析し、非正規の方法で復号化し、あるいは無効化すること。また、その方法を人に教えること。さらに、その方法を行う道具を提供することが違法になる。

そして、私的利用のためということにも注目しなければならない。たとえば、法律の定義による、引用のためならば許されるし、図書館における利用や、障害者のための利用なども許される。単に、私的利用による著作権の制限が制限されるだけである。

これは、いまさら非難しても始まらない。なぜならば、これは単に、著作権に関する世界知的所有権機関条約を、国内法で実装したに過ぎないのだ。すでに実装したはずだったのだが、実装に漏れがあり、DVDなどの場合に正しく適用出来なかった。だから改正したのだ。つまり、本当に非難すべきなのは、著作権に関する世界知的所有権機関条約であり、避難すべき時は、日本がこの条約に加盟した2000年である。この2012年ではない。もはや遅すぎるのだ。

レッシグが言ったように、「俺らが何もしないせいで、奴らが勝ってる」のだ。

そもそも、この条約の定義する技術的保護手段というのは、ちっとも技術的ではない。方法は大きく分けてに種類ある。「コピーしないでね」と明示しておいて、機械はその明示に従うものがひとつ。これは、そのような明示を無視する機械があれば、容易に破ることができる。しかし著作権に関する世界知的所有権機関条約はそれを禁じている。

もうひとつは、技術的に間違った暗号の使い方によるものだ。これは、実際のところ、暗号ではない。私は、偽装化とか、難読化と呼ぶことを推奨している。著作物は秘密の鍵や、秘密の暗号方法で暗号化され、あらかじめ認められた条件で利用する時のみ、機械が復号化する。これは、機械がその条件を無視してしまえば、容易に破ることができる。しかし、著作権に関する世界知的所有権機関条約はそれを禁じている。

ここでの機械とは、利用者の所有する機械である。汎用コンピューターである。しかし、この著作権に関する世界知的所有権機関条約は、利用者が所有していて、利用者の支配下にある汎用コンピューターの動作を、利用者が検証し、改変することを禁止する法である。それゆえ、汎用コンピューターを制限する法である。

たとえば、私のコンピューターで実行されているプログラムがあれば、私は当然、(十分な知識と時間があれば)、そのプログラムの存在を発見し、その動作を検証し、さらにその動作を停止できるべきである。ところが、この法はそれを禁止する。そのプログラムが何をやっているか検証することを禁止し、動作の停止も禁止する。さらに、その情報を他人に教えることを禁止する法である。さらに、プログラムの動作を停止させるプログラムの他人への配布を禁止する法である。つまり、利用者の所有する汎用コンピューターの自由を奪う法である。

ちなみに、CDにはこのような技術的保護手段は使われていないので、私的利用のためであれば複製できる。また、これは私的利用を制限するだけなので、引用などの他の著作権が制限を受ける場合にはかかわらない。しかし、解除プログラムの配布が禁じられている。

これで、読者はことの危険性を認識したであろう。技術的保護手段の回避の禁止というのは、我々の自由を奪うことなのだ。

自由を保つためにはどうすればいいのか。まず、そもそもDVD映画などはボイコットすべきである。技術的保護手段というのは、設計上の欠陥であり、非人道的である。見ない、所有しないというのが、唯一の正しい方法だ。

ちなみに、これはDVDという光学ディスクをボイコットせよと言うことではない。DVDやブルーレイディスクに映画を記録するための規格があり、その規格をボイコットせよということだ。

さらに、自由なソフトウェアのみを使うべきである。不自由なソフトウェアは利用者の自由を制限するものであり、その存在自体が非人道的である。もし、読者がWindowsとかMacなどという不自由なOSを使っているならば、今すぐ改めるべきだ。自由なOSの候補としては、GNU/LinuxやFreeBSDなどがある。今私は、この文章をGNU/Linuxで書いている。至って快適であり、まったく不便なことはない。いますぐGNU/Linuxをインストールするべきだ。

自由なOSを導入した上に、自由なソフトウェアのみを導入して使うべきである。残念ながら、私はこの点において、まだ十分ではない。何故ならば、私の使っているnVidiaのGPUには、自由なドライバーが存在しないからだ。Nouveauはまだ不安定すぎて使い物にならない。そのため、しかたなくnVidia公式の制限されたバイナリブロブを入れている。これは、仕方がないことだ。金さえあればIvy Bridgeなどの、より自由なGPU環境に移行したいのだが、残念ながら金がない。それに、性能も悪い。

それでも、私の環境は、他のもっと不自由な環境に比べれば、まだ比較的マシであると言える。

2012-06-14

AMDのARM統合は危険だ

AMDはCPUにARMを統合すると発表したが、よくよく調べてみると、これは危険だ。

彼らの宣伝文句は、TrustZoneだからだ。TrustZoneの一番の謳い文句は、DRMとなっている。これは、DRMを実装するための機能である。ハードウェアの所有者に、汎用コンピューターが何をしているのか検証させないための技術である。

たしかに、セキュアな環境は必要だ。たとえば、モダンなOSでは、通常のユーザーは全能の管理者権限を常に使わない。管理者権限が必要な操作をする時のみ、管理者権限を有効にする。

ところか、X環境では、この切り替えはあまりセキュアではない。なぜならば、パスワードを入力中のキー操作は、他のソフトウェアからでも容易に読み込むことができるし、管理者権限で実行中のXのソフトウェアは、一般ユーザー権限で実行中のソフトウェアから操作可能だ。つまり、フェイクのキーストロークなどを送ることもできる。

そのような隔離は分かる。しかし、TrustZoneは、ユーザーから隔離するための機能である。

我々はこのような制限機能が搭載されたハードウェアを使ってはならない。

ああ、AMDがどんどん迷走していく。

Wayland上でX11を動かしている動画

WaylandとそのReference CompositorのWestonでX11ネイティブのソフトウェアを動かしている動画。

AMDがfusionベースのCPUにARMを内蔵?

[Phoronix] AMD To Put An ARM Core On Future Fusion APUs

AMDが将来のfusionベースのCPUにARMを内蔵させるらしい。目的はTrustZoneというセキュリティ機能のためで、いまのところ、x86とARMを混合したコードの実行とかは宣伝していない。いまのところは。

しかし、詳細は知らないのだが、x86に同等の機能を付け加えるのではなく、ARMを持ってくるのはなぜだろうか。

明らかに、IntelもAMDも、トランジスター数の増加を持て余している感がある。

2012-06-13

Haswellではオーディオスタックを統合?

[Phoronix] Support Begins For Intel's New Haswell Audio

LinuxのHaswellサポートのためにIntelが提出したパッチをみると、どうも、Haswellではオーディオスタックが、チップセットではなく、CPUに内蔵されるのではないかと推測される節があるらしい。

まあ、音声の出力は多くのPCにとって重要であるし、その処理にはそれなりに演算力を必要とするし、一部のサウンドカードは汎用的なCPUを載せているそうだし、わからないでもないのだが。

なんだか、プロセスルールの縮小で増えたトランジスター数を持て余しているように感じるのは私だけだろうか。

2012-06-12

アメリカ海軍がミサイルの誘導にLinuxを使うことについて

US Navy buys Linux to guide drone fleet (The Register) [LWN.net]

アメリカ海軍は、ミサイルの誘導にLinuxを使うことを発表した。

US Navy buys Linux to guide drone fleet • The Register

Linuxは、GPLv2というライセンスで公開されている。さて、このニュースに対し、面白い意見を吐いた者がいる。

思うに、弾頭へのGPLコードの使用は、興味深い事態を引き起こすのではあるまいか。

今、誰かがあなたに巡航ミサイルを発射したとして、その巡航ミサイルにはGPLコンポーネントが使われていたとする。

さらに、そのミサイルは不発に終わったとする。ツイてると思わないかい?

その場合、あなたはGPLソフトウェアの複製物を搭載したデバイスを受け取ったことになる。あなたが、ミサイルを発射した相手の団体に属していない場合、あなたはどこかに申請して、ソフトウェアの複製物を要求できるはずだ。

あなたがこの権利を行使した場合、何が起こるのだろうか。GPLは、発射相手があなたに特殊任務チームを派遣してコードを渡し、程を経ずして暗殺するという行為を禁じてはいない。あなたは権利を使うだろうか? たぶん、特殊任務チームにかかるコストをあなたに請求するのは無理だと思うが、でもそれで事態が変わるとは思わない。[訳注:GPLはソースコードの受け取りに対し、妥当な額の対価を要求することを認めているので、この部分は誤り]

なんだかマンガみたいな展開だ。

ちなみに、実際には、おそらく交戦相手の国の著作権をまともに保護しようという国はいないだろう。著作権保護が働かない以上、おそらくGPLも効力がないに違いない。

ちなみに、合衆国政府も著作権侵害の起こしうるとされているので、やはりベルヌ条約加盟国の著作権は守らなければならないのではないだろうか。

また、発射相手はGPLに準拠するためのソフトウェアのソースコード配布方法として、新しいミサイルにソースコードを搭載して、しかも今度は不発しないようにバグフィクスを加えた上で、再度発射するかもしれない。

NANDの限界

The incredible shrinking NAND: I'm MEELLLLTING • The Register

なかなか面白い。

要約すると、NANDフラッシュには、セルの書き換え可能回数に相当低い限界がある。さらに、容量の問題もある。容量を増やすには、セルあたりのビット数を増やすのが手っ取り早い。だから、、セルあたり1bitのsingle level cell (SLC)から、2bitのMLCになり、3bitのTLCもある。

ところが、書き換え可能回数というのは、ビット数を増やすと激減する。3xnmプロセスで製造されているSLCのNANDは、まあ10000回ぐらいは書き換えられたが、MLCだと5000回に落ちる。TLCだと1250回だ。2xnmプロセスのTLCは、750回ぐらいしか書き換えられないのではないかと推測されている。じゃあ1xnmはどうなるのか。500回以下か?

NANDフラッシュの書き換え可能回数の問題は、コントローラー側で対処してきた。書き込みをできるだけ削減し、また書きこむセルを均等に散らして、特定のセルに書き換えが集中しないようにするなどの工夫だ。しかし、いくら何でも、500回程度しか書き換えられないというのは、限界だ。もはやどうしようもない。

つまり、NANDフラッシュは先が見えている。TLC以上にビット数を増やすことも、プロセスルールを1xnmまで縮小することも、現実的ではない。もうゲームは終わったのだ。

ポストNAND候補に名乗りを上げている技術はいくつかある。どれが主流になるのかはわからないが、NANDフラッシュの時に培ったコントローラー技術が適用できないことだけは確かだ。ある技術は単に要らなくなるかもしれないし、別の技術は、異なる方法を使わなければならないかもしれない。

つまり、ポストNANDの世界では、コントローラー開発の各社とも、同じスタートラインに立つことになる。今まで培ってきた技術は、あまり役に立たないからだ。

なかなかアツい業界だ。

フロッピードライブ8台による演奏

アメリカ合衆国政府曰く、「Megaupload訴えろよ」

U.S. Govt: Megaupload Users Should Sue Megaupload | TorrentFreak

Megauploadの差し押さえの件で、まっとうに使っていたユーザーまでとばっちりをくっている。あるユーザーは、自分のデータにアクセスできなくなったとして合衆国政府を訴えた。政府はこれに答えて、「政府はもうサーバーを押収していない、Megauploadを訴えろ」と返答した。

アメリカ政府がMegauploadの資産凍結とサーバーを一時押収した。Megauploadが使っていたサーバーの管理会社であるCarpathiaは、HDDを1000000ドルで引き渡すことに同意しているが、アメリカ政府がこれを差止めている。 Megauploadの資産が凍結されているので、Megauploadはユーザーにデータを渡すための作業ができない。政府はMegauploadを訴えろという。ユーザーのデータは未だに返ってこない。こう書いている間にも、サーバー管理会社Carpathiaは、機材の保管費用だけで一日9000ドル費やしている。

この事の進みようは、全てのオンラインストレージに影響する。この問題が解決できなければ、オンラインストレージに未来はない。

Eric S. RaymondがRchard Stallmanを批判

つい先日、ESRはクローズドソースのもたらす害悪について論じた。

Evaluating the harm from closed source

この記事で、ESRは、クローズドソースのもたらす害悪について認識すべきであり、害悪のない場合は、別にオープンソースではなくても構わないと論じた。たとえば、トースターやエレベーターのファームウェアがクローズドソースであることを、我々はあまり問題視しない。なぜかというと、害悪がないからだ。

ESRは、害悪をいくつかの種類に分けた。

reliability harm
クローズドソースであることにより、あまりにも明白なバグや不具合や、技術的に間違った実装などが、発見されることなに放置されている害悪。
unhackability harm
クローズドソースでは、ソフトウェアを改良することができない害悪。
agency harm
クローズドソースでは、ソースコードにアクセスできる人間に一方的な権利を与えている。これにより、監視や検閲がなされる害悪。国家などの強権をもつ団体の諜報活動など。
lock-in harm
クローズドソースなソフトウェアと、制限フォーマットにより、他の環境への移行を困難にし、囲い込みを行われる害悪。たとえば、ワードプロセッサーとその制限フォーマットなど。
amnesia harm
特定のクローズドソースなソフトウェアや実装された未公開の技術の使用により、ソフトウェアの消失により、ある種の技術やデータを使用する方法が忘却される害悪。たとえば、NASAの昔の磁気テープに記録されたデータは、読み取り装置が非公開の技術を使っているために、もはや読みだすことはできない。磁気記録としてはまだ読み出せるのだが、その情報を解釈する方法が忘れ去られてしまっているのだ。

ESRは、これらの害悪が存在しない場合、別にオープンソースである必要はないと主張した。そして、誰とは言わないが、頭文字がRとMとSで始まる何某は、本来の解決すべき目的から外れて、狂信的な方向に陥ってしまっていると主張した。

その後、RMSはこの記事を読んで、激怒したらしい。ESRはそれについて、追加の記事を書いた。

Why I think RMS is a fanatic, and why that matters.

ESRによると、オープンソースの方が優れていることは当然だが、オープンソースに転向させるにあたって、RMSの方法はふさわしくないのだという。RMSは宗教のような手法をとっている。不自由なソフトウェアを開発し、使う者たちを、邪悪な敵であるとし、自由なソフトウェアのみが唯一の正しい方法であるというものだ。これは、一部の強い信者を得られるかもしれないが、大衆には広まらない。ブッダとかイエスとかマハーヴィーラは成功したと言えるが、ほとんどのこうしたやり方は、一部の盲信家を得るだけに終わる。

第一、オープンソースを推奨すべき相手を、邪悪だとか敵だとか言っていては、拒絶されるだけではないか、と。

私からすると、ESRも十分狂信家に見える。ちなみに、私はRMSに賛成する。全てのソフトウェアは自由であるべきなのだ。不自由なソフトウェアは非人道的である。

2012-06-11

xkcd: プレッシャー

xkcd: Pressures

女「何してるの?」
スイス特許調査員「申請された特許を検証しているんだよ」
女「ええ、でも、それ以外に何かないかしら?」
スイス特許調査員「いや、これが仕事だし」
女「あの、あなたひょっとして、何かとても素晴らしいことを考えていたりしないかしら」
女「ちょっと気になっただけよ」

過去百年に渡り、スイス特許調査員は、言い知れぬプレッシャーにさらされてきた。

Randall Munroeは非常にギークなジョークが好きなので、理解には解説を必要とすることがある。たとえば今日のエピソードだ。これは、アインシュタインは当時、職にあぶれていて、ツテを頼ってスイス特許庁の調査員として働いていた。この時扱っていた特許の多くが、電気信号と電動機械の同期方法に関するものであり、この時に生じた疑問を思考実験した結果、アインシュタインに空間と時間の関連性について気づかせることになった。

さて、今のスイス特許調査員は、なにか素晴らしいことを考えているだろうか。

いまどきの子供に80年代の技術を与えてみる

カナダの学校の子供とあるから、フランス語だと思うのだが。残念ながら言葉がわからないが、反応は見ているだけでも面白い。

レコードがあればスクラッチが発見されるのは必然のようだ。

2012-06-10

検閲のためのHTTPステータスコードの必要性

There is no HTTP code for censorship (but perhaps there should be) | Terence Eden has a Blog An HTTP Status Code For Censorship? - Slashdot

イギリスでは、ISPはThe Pirate Bay(世界最大のBitTorrent用マグネットリンクサイト)をブロックするように命令されている。あるISPは、ユーザーに検閲されているのを伝えるために、HTTP 403 Forbiddenを使っているようだ。しかし、これは定義上、間違ってる。なぜならば、HTTPのステータスコード4xxxは、クライアントがエラーな状態にあるかもしれない状況を示すためにあるからだ。また、サーバー側が要求を理解しているが、その処理を拒否した時にも使われる。

単に中継を行うISPが4xxを使うのは、どうもおかしい。それに、既存のステータスコードは、検閲の場合に使われることを想定していない。やはり、検閲が行われていることを示すステータスコードが必要である。

では、何番台のステータスコードがふさわしいのか。

1xxは、要求を受け付けて処理中であるときに使われるステータスコードであり、ユーザーに、確証はできない応答を返すものである。1xxは検閲コードとして使える。

2xxは、クライアントの要求の受付や処理が成功したことを示す。これはふさわしくない。

3xxは、要求の達成には、ユーザーエージェント側での追加的な行動が必要であることを告げるコードだ。これも、おそらくふさわしくない。まあ、政府やISPに規制をやめろと抗議するのはユーザー側の仕事かもしれないが。

4xxは、クライアント側にエラーがありそうな場合に使われる。マイクロソフトは独自のコード、HTTP 450を、パレンタルコントロールによってブロックされた場合に使っている。

5xxは、サーバー側にエラーがあったり、あるいは処理を達成出来なかった場合に送られる。これは、ISPではなく、Webサイト側のサーバーが検閲をしている場合には、使えるかもしれない。

Slashdotでは、いつものように楽しい議論が行われている。たとえば、Evil Bitを立てるべきだとか、「666 地獄行き」にするべきだ(宗教ISPのみが使うべきであるとのツッコミあり)とか、あるいは、「1984 思想犯罪の検出」にするべきだとか。