2012-07-31

UbuntuのUnityのメニューバーの右上の不要なアイコンを消す方法並びにGuestアカウントのセキュリティ

UbuntuのUnityのmenu barには、私にとって不要なアイコンがある。まず、メールのアイコンだ。これは、メールやチャットやTwitterなどにアクセスできる機能だ。しかし、私はその手のサービスを利用するのには、別のソフトウェアを使っているので、このアイコンからアクセスできる機能は使っていない。むしろ、このアイコンは隣のネットワークとかサウンドのアイコンをクリックしたい時に邪魔になる。

このアイコンは、indicatorと呼ばれている。メールのアイコンが必要なければ、indicator-messagesというパッケージを取り除くことによって、消すことができる。

sudo apt-get remove indicator-messages

さて、もうひとつ、私にとって不要なindicatorがある。ユーザー切り替えの項目だ。Ubuntuに移行した当初、このアイコンに悩まされた。というのも、このメニュー項目は、確認もせず有無を言わさずログイン画面に切り替わってしまう。しかも、このメニューは非常に誤クリックしやすい位置にあるのだ。当時、一瞬何が起きたか分からずに困惑したものだ。思うに、大多数のユーザーにとって、あるユーザーでログインしたままのユーザー切り替えは不要ではないか。

残念ながら、この機能を受け持つパッケージ、indicator-sessionを取り除くと、シャットダウンなどのindicatorも消えてしまう。幸い、ユーザー切り替えの項目だけを非表示にする方法はある。

dconf-editorでapps→indicator-sessionを開き、user-show-menuのチェックを外せば良い。

ちなみに、lightdm上でログインしたままのユーザー切り替えは、dm-toolを使うことによってコマンドからでも行える。

$dm-tool -h
Usage:
  dm-tool [OPTION...] COMMAND [ARGS...] - Display Manager tool

Options:
  -h, --help        Show help options
  -v, --version     Show release version
  --session-bus     Use session D-Bus

Commands:
  switch-to-greeter                   Switch to the greeter
  switch-to-user USERNAME [SESSION]   Switch to a user session
  switch-to-guest [SESSION]           Switch to a guest session
  lock                                Lock the current seat
  list-seats                          List the active seats
  add-nested-seat                     Start a nested display
  add-local-x-seat DISPLAY_NUMBER     Add a local X seat
  add-seat TYPE [NAME=VALUE...]       Add a dynamic seat

さらに、Guestアカウントの問題もある。UbuntuのGuestアカウントの権限は、Apparmorによって厳しく制限されている。その設定ファイルは、/etc/apparmor.d/lightdm-guest-sessionにある。

view /etc/apparmor.d/lightdm-guest-session

読めばわかるが、理想とは裏腹に、この設定は危険である。なぜならば、compizの設定ファイルに対する書き込みを許可しているし、そもそも/etc/下への書き込みも許可している。コメントによれば、Compizのバグに対処するためらしいが、パスワードの設定されていないゲストアカウントにcompizの設定ファイルや/etc/下のファイルの書き込み権限を与える理由にはならない。バグによって機能しないのであれば、バグを直すまでGuestアカウントは無効にしておくべきなのだ。

この問題さえ解決されれば、UbubntuのGuestアカウントは、他人に一時的にコンピューターを使わせる際に使えるかもしれない。しかし、もし悪意を持った諜報員が、所有者の監視下にないコンピューターに物理的にアクセスできるならば、レスキューディスク的なものでブートしたり、あるいはHDDを取り外して別のコンピューターに接続した上で、必要な変更をするであろうし、やはりGuestアカウントの意味はよく分からない。

残念ながら、Guestアカウントを無効にする簡単な方法は用意されていない。用意するべきだと思うし、現在のApparmorの設定がバグ回避のために骨抜きである以上、デフォルトで無効にされているべきだと思う。Guestアカウントを無効にするには、 /etc/lightdm/lightdm.confを書き換えなければならない。このファイルを開くと、以下のようになっているはずだ。

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu

これに、"allow-guest=false"という行を付け加える。つまり、以下のようになる。


[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
allow-guest=false

あまりおすすめしないがワンライナーのために。

echo "allow-guest=false" | sudo tee -a /etc/lightdm/lightdm.conf

この変更をした後に、lightdmを再起動する必要がある。最も簡単な方法は、リブートすることである。一応、sudo restart lightdmでもいいのだが、もちろんこれは、ログアウトと同様、というよりもっと大きな効果がある。

2012-07-30

Shut up and take my money!

Actually, I don't have any money.

UbisoftのDRMにバックドアがある件

Full Disclosure: Re: AxMan ActiveX fuzzing <== Memory Corruption PoC

どうも実証されたようなので書くことにする。

UbisoftのゲームとともにインストールされるDRMは、ブラウザのプラグインをインストールする。そのプラグインには、バックドアか、あるいは想像を絶する阿呆の手によるセキュリティーホールが仕掛けられている。

OBJECT要素のtypeプロパティを"application/x-uplaypc"とすると、その要素のopenというプロパティを関数呼び出しして、BASE64でエンコードしたパスを与えることによって、パスで指定された任意のファイルを実行できる。

もちろん、著作権に関する世界知的所有権機関条約と国内法の整備により、DRMを回避するのは違法である。ゆえに、Ubisoftのゲームを遊ぶ人間は、いかにバックドアが仕掛けられていようとも、甘んじて受け入れなければならない。このDRMを排除するセキュリティソフトウェアも、DRM回避のために違法となるだろう。

もちろん、これはUbisoftにとどまらない。Steamも同じ穴のムジナだ。

不自由なソフトウェアはかくも邪悪か阿呆なものである。たいていは、邪悪な阿呆の手によって書かれている。ハンロンの剃刀で自分の首を切り落とすような阿呆だ。

各所の反応。

Ubisoft "Uplay" DRM exposed as rootkit; dozens of popular games hacked | Hacker News
Ubisoft Uplay DRM Found To Include a Rootkit - Slashdot

鉄の肺で50年生き延びた女、落雷による停電により死ぬ

Generator fails woman in iron lung - Los Angeles Times

3歳にしてポリオにかかり、以降、ずっと鉄の肺によって呼吸を続けていた女性がいるそうだ。現代では、よりよい人工呼吸器もあるが、どうもポリオによって生じた背骨の異常により、鉄の肺以外の呼吸器が使えなかったそうだ。

ずっと鉄の肺から首だけ出していたような制限された環境にも関わらず、両親の助けもあり、彼女はだいぶ活動的な人生を送ったそうだ。

Dianne Odell - Wikipedia, the free encyclopedia

xkcd: 五年後

xkcd: Five Years

面接者「あなたは五年後、ご自分がどのようになっていると思いますか?」
ベレー帽「わかりませんねぇ。確かめてみましょう」

「ふーん、思ったとおりだな」

権力者による計画はうまくいかない

ハイエクが隷属への道で書いたように、民主的な集産主義はうまくいかない。

なぜならば、人々は理想に対して合意することがないからだ。その結果、政治は停滞する。すると、民主的にもっとも人気が高くなる政党は、浅はかでモラルの低い人間によって構成されることになる。愛国心だとか私を捨てて公のために奉仕せよなどと唱える連中だ。具体的な問題の解決を訴えるのではなく、愛国心のようなわかりやすいもので煽る。そういう曖昧なもので結束するしかない集団なのだから、当然モラルも低くなる。

人民を計画に基づいて行動させるために、プロパガンダが多く流される。目にする情報媒体は、必ず党中央のプロパガンダを含むようになる。人民の思想を計画するためである。

あらゆるものが計画される。人民の仕事は計画される。個人の能力にかかわらず、党中央から仕事が決定される。娯楽すら計画されるのだ。人民は党中央によって完璧に計画された娯楽を行うようになる。

最終的に、失敗は犯罪となる。

とまあ、計画の基づく経済という集産主義は、うまく行かないのだ。ハイエクが言うように、自由な競争こそが、もっとも効率のいい経済をもたらすのだ。集産主義では、ボタンやカミソリなどといった小物すら、生産量が計画されるようになる。そのような計画に基づく生産は、実際の需要と合うことはない。自由な競争による生産であれば、需要と供給は効率的に釣り合う。結果は計画された生産よりも優れている。そのため、ハイエクは、無意味な規制を取り払うことこそが、経済と技術の発展に重要なのだと書いた。

しかし、世の中にはなんと、計画が多いことか。

たとえば、クリーンエネルギーだとかなんとか言って、風力だの太陽光だので発電をまかなえるとする声がある。しかし、残念ながら、コストの計算が、政府による補助金を見込んだ上での計算になっているのだ。本当に実力があるのであれば、補助金なしでも機能するはずだ。

韓国では、インターネット上の通信販売や銀行取引に際して使われる、暗号を計画した。しかし、この暗号の実装は、不自由なWindowsで動く不自由なIEで動く不自由なプラグインという形でしか存在していない。そのため、韓国はWindowsとIEに縛られるようになった。韓国では、実名がインターネット上の犯罪を防ぐとして、人民にユニークIDを振り、その使用を義務付けた。しかし、インターネット上での犯罪は全く減らない。しかも、Webサイトが個人情報であるユニークIDを保管しなければならなくなったので、むしろ犯罪の口実を与えてしまった。

最近の日本でも、DRMの回避や、許諾なきダウンロードを犯罪にした。これは、日本の芸術を歪んだ方向に進めるだろう。公平な競争のない世界では、歪んだ芸術しか生まれてこない。現に、今の音楽は腐りきっている。もはや、音楽CDは音楽の媒体としては販売されていない。握手券だの投票権だのといったくだらない権利のために販売されている。その中身の音楽の質については、誰も気にしないのだ。

思うに、今後はますますコピーレフトなライセンスが重要になってくる。すなわち、自由を保証するためのライセンスである。自由とは、利用者側にかかるものだ。派生物にも自由を求めるというコピーレフトの考え方は、自由を強力に推し進めることができる。芸術は自由に利用されてこそ発展するのだ。残念ながら、日本ではライセンス(許諾を与える契約)という考え方が普及しておらず、まだ利用例は少ない。しかし、真の芸術家たる我々は、自由の価値に目覚めるべきである。

2012-07-29

実名で悪質なコメントは防げない

Surprisingly Good Evidence That Real Name Policies Fail To Improve Comments | TechCrunch

YouTubeが悪質なコメントを防ぐために実名を強く推奨しだしたそうだが、実名を強制したところで、悪質なコメントや犯罪の防止には全く役に立たない。これはすでに現実に行われた例がある。

韓国では国民全員にユニークなIDを振り、PV数が10万を超えるサイトには、必ずそのIDを使わせる、すなわち実名にすることを義務付けた。

しかし、この法律が行われた韓国で、悪質なコメントは減ったかというと、実は増えたのだ。

Empirical Analysis of Online Anonymity and User Behaviors: The Impact of Real Name Policy

実名を強制したことで、わざわざIDの入力などの手間が増えたので、まれにしかコメントしないライトユーザーは、コメントを控えるようになったし、そのようなライトユーザーからの悪質なコメントは減った。しかし頻繁にコメントしているヘビーユーザーは、実名かどうかにかかわらずコメントするし、また汚い言葉の使用も以前と変わらなかった。

常に監視の存在が明らかである環境では、次第に人はその環境に慣れて、監視があるとしても悪い行いをするのだという論文もある。

Does awareness of being video recorded affect doctors' consultation behaviour?

追記:さらに韓国では、実名を強制した結果、ほとんどのWebサイトの運営元は、多大な個人情報を管理しなければならなくなった。言うまでもなく、個人情報は、犯罪を犯してまで入手するほど価値の高いものであり、個人情報の流出も問題になっている。

韓国政府はようやくこの愚に気がつき、法を改正したようだ。

2012-07-28

哲学の道と猫

たまたま、左京区に行く用事があったので、その帰りに、銀閣寺に行くことにした。しばらく歩いた末に銀閣寺の前についたが、非常に嫌な光景が広がっていた。銀閣寺の前は細い路地になっており、その両脇に、いかにも一見さん観光客向けのくだらない、底の浅い、見るのも嫌な店が並んでいる。京都に住んでいながら観光しないのは、これがあるからだ。こういう店は嫌いだ。私が旅をしているのならばともかく、住んでいる以上、この手の店には非常に違和感を感じるのだ。

私が京都に住んでいながら、全然観光をしていないのは、このためだ。たしかに、平家物語を読んでいて、滝口寺と祇王寺には行ったことがある。これは失敗した。今の寺、というより建物があるだけなのだが、これは当時とは何の関係もない建物で、土地すらも関係がないのだ。単に物好きな華族が寄進しただけらしい。もっと事前に調べるべきだった。

文覚に関しては、相当に調べたので、神護寺には行きたい。しかし、神護寺に行くのは面倒なので、いまだに果たしていない。

幻滅しながら、哲学の道を歩くことにした。しかし、この哲学の道というのも、所詮は最近になって作ったもので、大して歴史があるわけでもなし。ましてや、西田幾多郎がこの道を散歩していた時分は、道も整備されていなければ桜も植えてないという、どこにでもある川沿いの路地に過ぎなかったはずだ。

独り黙々と歩いていると、野良猫が石のベンチに寝そべっていた。隣に座ってみたが、動かない。しばらく、猫を眺めるというしあわせな時間を過ごした。

なおも行くと、とうとう道が途切れた。なるほど、哲学の道はここで終わりらしい。ともかく、家に帰るため、西に歩くことにした。このまま西に歩けば、川端通りに出るはずである。

まっすぐ西に進むと、水明洞という古本屋を発見した。早速中に入ってみる。延慶本を発見したが、やはりそれなりの値段がする。もっとも、延慶本はすでにテキスト化されているので、いまさら紙の本を買うまでもないのだが。

ともかく、ここに古本屋があるという事は覚えておこう。いい発見をした。

京都の古本屋の一覧はあるにはあるのだが、やはりどうも踏破する気にはならない。ましてや、こういう機会でもなければ、川端通りから西に入ることはない。

2012-07-27

農林水産省の消費者相談が面白い

農林水産省/過去の相談事例

たまたま、うなぎとアナゴの違いが知りたくて検索したところ、農林水産省の相談のページが見つかった。雑学的な質問に真面目に回答している内容で、読んでいて非常に面白い。

ソーシャルとAPIと囲い込み

「お前に使わせるAPIはない」―Twitter、Instagramに対して「友だち検索」の利用を拒否

TwitterがInstagramに対して、一部APIの利用を制限したそうだ。表向きの理由は負荷であるが、むしろ囲い込みのためというのはうがった見方だろうか。

2012-07-26

xkcd: 責務

xkcd: Devotion to Duty

「親分、人質は取ったし、建物は制圧したし、通信ケーブルはぶった切ってやりましたぜ」
「よくやった」

「だけんども、なんか変なヤツが換気口からよじ登ってきて、ガラス破って入ってきて、止めようとした仲間は皆殺しにされたんでさぁ」
「そいつは人質を助けたのか?」

「いんや、ヤツぁ人質のことはまるで気にしちぁいねぇんです。ただ、ぶった切ったケーブル繋いでやがるんです。uptimeとか何とかつぶやいてますぜ」
「クソ、奴はシステム管理者だ」

システム管理者の責務は重い。

2012-07-25

MSのBig Boobs(デカパイ)コード、修正さる

LKML: Paolo Bonzini: 0xB16B00B5? Really? (was Re: Move hyperv out of the drivers/staging/ directory)

上記の報告によって、Microsoftの提供した、自社の仮想環境Hyper-V上で動作するLinuxカーネルのパフォーマンスを向上させるパッチによってもたらされたコードに、0xB16B00B5という、なんだか面白い16進数整数リテラルが含まれていることが明らかになった。どうも、Big Boobs(デカパイ)と読める。この値は、IDとしての値なので、何か一貫した値を選ぶ必要があった。しかし、よりにもよってこんな面白い値を選択するとは。

この発見によって、Microsoftの文化が男性的でありけしからんなどという批判が巻き起こった。

このたび、Microsoftが正式に謝罪し、コードを修正することになったそうだ。

Linux Kernel Undergoes Breast Reduction Surgery | Wired Enterprise | Wired.com

修正方法は、0xB16B00B5を、同じ値の10進数整数リテラルである2976579765に書き換えるものである。

マイクロソフトのコード上の茶目っ気をうかがい知る例としては、以下のようなものもある。

Why does Windows 95 have functions called BEAR, BUNNY and PIGLET? - The Old New Thing - Site Home - MSDN Blogs
What about BOZOSLIVEHERE and TABTHETEXTOUTFORWIMPS? - The Old New Thing - Site Home - MSDN Blogs

特に二つ目のBOZOSLIVEHEREの例は、下位互換性の問題も絡んでいて、興味深い。

最初期のWindowsでは、ウインドウプロシージャはすべてエクスポートされている必要があった。標準のコントロールのウインドウプロシージャを得るドキュメント化された方法は、GetWindowLongの第二引数にGWL_WNDPROCを渡すものである。しかし、プログラマーというのはえてして怠惰な人間であり、GetWindowLong( hwnd, GWL_WNDPROC )などと書くのを嫌った。「そもそも、ウインドウプロシージャがエクスポートされているならば、直接リンクしてしまえばいいではないか」と考えた。そのため、当時、EDITコントロールのウインドウプロシージャの名前として使われていたBOZOSLIVEHEREに直接リンクして使っていた。おそらくWindows 2.0あたりから、ウインドウプロシージャは、関数のエクスポートを必要としなくなった。そのため、エクスポートをやめてみたのだが、そうすると既存のソフトウェアの多くが動かなくなる。解析した結果、どうもエクスポートされていることをあてにして、直接リンクしている。そのため、エクスポートしたままにしておかなければならなかった。

後に、Windowsが32bitに移行した時、16bitコードで直接リンクしている腐ったプログラムを壊さないために、この手の関数呼び出しを本物の関数呼び出しに変換する関数として、BOZOSLIVEHEREは依然としてエクスポートされた。

他にも似たような例で興味深いのは、この記事だろう。

Why do I have to return this goofy value for WM_DEVICECHANGE? - The Old New Thing - Site Home - MSDN Blogs

プラグアンドプレイにおいて、デバイスの取り外し通知のウインドウメッセージに対して、拒否する場合、BROADCAST_QUERY_DENYを返さなければならない。この値は、なぜか0x424D5144である。これは、最初m単にFALSE(0)を返すように設計されたのだが、そうすると、多くの既存のプログラムが、取り外しを拒否した。調べてみると、これらのソフトウェアは、DefWindowProcを使っていないソフトウェアであった。

Windowsでは、処理しなかったウインドウメッセージは、かならずDefWindowProcに渡して、その結果を返さなければならない。これにより、将来新しいウインドウメッセージが追加された時も、DefWindowProcを呼び出していれば、そのバイナリは互換性を保つことができる。ところが、多くの怠惰なプログラマーが、DefWindowProcを呼び出すなんてめんどくさいとばかりに、単にreturn FALSEと書いているらしい。いくつかのウインドウメッセージは0を返してはならない仕様になっているのだが、この手の怠惰なプログラマーは、そういうウインドウメッセージを自前で処理するほどにはマメだったらしい。結果として、Windows 3.1上では、たまたま問題なく動くプログラムとなっていた。

そのため、単にFALSEを返す設計は使えない。安全のために、TRUE、すなわち1を変えさせる設計も避けた。結果として、まず返し用のない値、0x424D5144が選ばれた。ちなみに、この値は、ASCIIでDQMBである。これは、Broadcast Message Query Denyの頭文字となっている。

No, really, you need to pass all unhandled messages to DefWindowProc - The Old New Thing - Site Home - MSDN Blogs

処理しないウインドウメッセージは、ちゃんとDefWindowProcに渡すべきである。

No, really, you need to pass all unhandled messages to DefWindowProc - The Old New Thing - Site Home - MSDN Blogs

2012-07-24

エディター戦争

GNU/Linux環境に移行して数カ月たった。当初危惧していた、GNU/Linuxは難しいのではないかとか、使い物にならないのではないかという恐れは、全て杞憂に過ぎなかった。ただ、文化の違いというのはある。

たとえば、私が不自由なWindowsを使っていたときは、IDEを重視していた。IDEとは、エディタ兼ビルドシステム兼デバッガー兼バージョン管理システム等等。ところが、GNU/Linuxに移ってからというもの、どうもそういう考え方はしなくなった。エディタはエディタで、ビルドシステムはビルドシステムで、デバッガーはデバッガーで、バージョン管理システムはバージョン管理システムとして、別々に使うようのが自然であるように思われる。

特にエディタだ。最初は、geditを使っていた。というのも、馴染みやすいテキストエディタであるからだ。Ctrl+Cでコピー、Ctrl+Xでカット、Ctrl+Vでペーストなどといった、ごく一般的なキーボードショートカットを提供している。特に動作が重いという事もないし、無難なエディタだ。ただ、どうもgeditは使っていて退屈だ。ここはやはり、宗教戦争を起こしていることで有名なあの二大エディタ、すなわちvimとemacsも試してみるべきだろう。

まずvimを触ったが、モードという概念は馴染めない。そこで、emacsを使って見ることにしたが、このemacsというのは、やたらと機能のツギハギを重ねたアボミネーションとも呼ぶべきシロモノに成り下がっている。まず、emacsのデフォルトは堪えられないほど苦痛だ。C++に、GNU風のコーディングスタイルを強要するのだ。すなわち、インデントが空白2文字という、悲惨なコーディングスタイルだ。しかし、設定を変えようにも、あまりにも膨大すぎて、いったいこの気に入らない機能は、どの設定に対応しているのか、さっぱり分からない。ドキュメントを読みつつ、とりあえず一つ二つ潰したが、キリがない。だいたい、なんでInput Methodからして独自のものを使っているんだ。歴史的経緯はともかく、もはやInput Methodが独自のものであることは障碍でしかない。

結論として、emacsはダメだ。デフォルトの挙動がことごとく目障りだ。

さて、改めてvimを触ると、デフォルトの設定がそれほど悪くはない。少なくとも、emacsのように激しい自己主張をする機能はない。モードの存在と、少し変わったキーボードショートカットが慣れないが、その他は問題がなさそうだ。

二大エディターを使う前の印象では、emacsというのはやたらと多機能で、vimは質素なエディターだと考えていた。ところが、実際に使ってみると、emacsは機能のツギハギだらけでカオスなことになっているエディターで、vimというのは多機能なエディターだという事が分かった。最初は慣れなかったモードという仕組みも、マウス無しでテキスト編集作業をするには、これが一番なのだと感心している。モードがないとなると、emacsのようにやたらと複数のキーを組み合わせなければならない。vimでは、モードの存在によって、そのような複数のキーを押さなくても、一般的なテキスト編集作業ができるようになっている。

というわけで、私の中でのエディター戦争は、vimが勝利した。

2012-07-23

ポスト2ch.net時代の2ch.net様まとめサイト

まず、2ch.netはもはや使ってはならない。なぜならば、2ch.netは、書き込みに際して、書き込みの著作権を、著作人格権まで含めて、すべて2ch.netに委譲させる契約への同意を求めている。しかも、その著作権は還元されることがない。2ch.netは、書き込みをしばらく表示するが、自由なライセンスで公開することもない。何らの明示的な許諾も与えてない。著作権を握ったまま、一切還元しないのだ。

2ch.netというものは、今も昔も、2ch.netだけに閉じた世界ではなかった。そもそも、2ch.netのネタ自体、外からくるものも多いし、有名なコピペと称する定型文にも、元は2ch.net外のものが多い。さらに、有名なコピペやUnicode Artを管理するためにも、まとめサイトが作られていた。

従来、2ch.netには暗黙の自由な文化があり、著作権は存在しなかった。他人の著作をもとに更に発展させるような行動を妨げるような権利などは、認めないほうが文化のためだったのだ。

しかし、今やそのような暗黙の自由な文化はなくなった。運営は明示的な著作権許諾を使うようになったが、ユーザーはいまだ、暗黙の自由な文化があるように振舞っている。これは憂うべき自体である。我々は暗黙の自由な文化が失われた事実を自覚すべきである。そして、明示的な許諾を与えていない2ch.netをボイコットすべきである。

さて、元2ch.netまとめサイトは、どうしているのか。多くの2ch.netまとめサイトは、ブログという形で行われていた。それは一朝一夕に変わらない。さらに、2ch.net様の掲示板の形式を模した投稿形式も、変わっていない。やはり、すでに見慣れた形をすぐに変えるわけには行かないのだ。

ただし、ネタの提供元が変わった。あるサイトはTwitterを使うようになった。Twitterは、利用規約により、つぶやきは全文転載が明示的に許諾されている。そうではないと考えるものは、Twitterの利用規約を読まずに利用しているユーザーである。

ただし、Twitterの文化は、2ch.netの文化とは異なるし、まとめということであれば、Togetterのようなサービスもある。やはりネタ元としてはいまいちだ。元2ch.netまとめサイトとしても、Twitterの文化にはまだ慣れていないので、色々と軋轢がおこっているようだ。まあ、これは慣れの問題であり、時間が解決してくれるだろう。

海外からネタを拾っているところもある。あるブログ形式のまとめサイトでは、どこからか拾ってきた画像を大量に表示し、さらに2ch.net形式を模したコメントまで表示している。いったいコメントはどこから来たのかと思えば、どうやらブログに組み込みのコメント欄から、面白いものを取り上げて、本文に反映させているらしい。

ただし、どうもコメントが出来過ぎているような感じがする。一部は自作自演ではないかと疑う。

また、言語障壁のためか、ネタは言葉がなくても理解できる画像や動画に限定されているようだ。機械翻訳を使っているところもあるようだが、うまくいっていない。

それに、元2ch.netまとめサイトは、ほとんど2ch.netのみを専門に扱うまとめサイトだったので、いまさら汎用まとめサイトに鞍替えするのは、なかなか難しい。最も重要な、参照元へのリンクすらつけていない始末だ。これは著作権がどうのという以前の問題で、参照元が提示されているのは当然だ。昔から有名な、よそからネタを拾って紹介するブログなどは、この点はしっかりしている。ちゃんと参照元へのリンクをつけているのだ。

ひとつの文化が死んでいくのを見るのは悲しいことだが、時代には勝てない。

2012-07-22

マイクロソフトのインターンシップ体験談

Erik McClure: Microsoft Internship

俺にとって、この5年間のMicrosoftというのは、電車に乗って、次の駅で降りたら、5分後に電車が爆発したようなものだ。というのも、俺は2008年の夏、高校二年になる直前、高校生のインターンをやっていた。そこで俺が体験したことは、生涯忘れられないだろうし、ソフトウェア開発会社の反面教師として生涯記憶に残るだろう。俺はワシントンはレドモンドにあるMicrosoft社から10分しか離れていないところに住んでいて、プログラミングを学んでからというもの、ずっとあそこで働きたいと思っていた。実際に働くまでは。

Bloatware

俺は不当に過小評価されて、テストチームに配属された。仕事というのは、自動化されたテストを書き、またある製品のテストに関連した仕事を行うことであった。この製品とやらは、当時、最大最凶のデカブツであった。最適化を一切かけないデバッグビルドの初回実行は、平均して、20分間、起動にかかった。俺はどうやったらそんなことが可能なのか試したことがある(というのも、俺のコンピューターでは18分しかかからなかったからだ)。一体何をやっているのか不明だが、まあ、恐ろしいシロモノだ。

連中はなんとかこれを、3分台にまで縮めることに成功した。本来やるべきではないへんてこなDLL binding技法を使ってだが。最適化を有効にしたリリースモードでコンパイルしたものは、ギリギリで1分を切ることができた。わけがわからん。そりゃ、20分間もへんてこなデータをクソみたいな理由でロードするのは分かる。だが、20分間も、DLLやコードのロードだけで、かかるか普通? まあ、この製品のためだけに専用の言語を二つもわけのわからない理由で発明するぐらいだから、この程度は必然とも言えるだろう。

この製品が五つもの異なる言語で書かれているってことはもう言ったっけ? そのうち二つは、この製品のためだけに作られたものであることは言ったっけ? もちろん、全部マネージドだが、だからといってメモリーを耳から垂れ流すみたいにリークするのを防げたわけじゃない。俺がやって来た時、ウインドウを動かすだけでめちゃくちゃなメモリーリークが発生した。連中はどうにかこうにか、メモリーリークの量を抑えることに成功したらしく、たったの4MB/時ほどに抑えられた。メモリーリークの修正なんてことは忘れろよ。マネージド言語を使う際のお約束は、肩から背後に投げ捨てるメモリーを減らすことだ。言い表し得ないほどクソだ。

会議

Microsoftはアホみたいな会議で悪名高いが、それも当然だ。2日に一回は会議があった。チームリーダーは、もっとコーディングしたいとこぼしていたが、彼の時間のほとんどは会議に費やされていた。会議の日程や準備のためだけに、Outlookの使い方を学ばなければならなかった。時には、いつ会議をするべきかを決める会議まであった。会議は常に、凄まじいほど退屈だった。ある会議は、あらゆる会議をブッチぎりで退屈だった。

ある不幸な日の会議では、TODOリストにある議論の主題が、50文字以上ある関数名というものであった。いや、嘘じゃない。連中はまず、「やれやれ、この名前長すぎる? 50文字って長すぎる? このままでいい? まず名前を変えてみるべきかな?」などと議論し、そして10分間ほどこのアホくさい関数をどのように改名すべきかどうか議論していた。俺は座ってその光景を眺めながら、自分の会社を立ち上げるべきだと真剣に考えていた。というのも、俺がいかにがんばろうと、ここまでのクソな会社には陥らないだろうから。

もちろん、俺は常に、単なる週末の会議だけではなく、更に上層部の会議にまで協力しなければならなかった。俺の上司の上司が、そのまた上司と話し合うのだ。連中は、誰が誰に問題を報告するべきかという問題を解決するための仕組みを持っているってことは話したっけ? これはまだビル・ゲイツがピラミッド階級の頂点に君臨していた頃の話で、ビル・ゲイツに報告するのは、スティーブ・バルマーの役目だ。当時アホくさく思えたのだが、今、スティーブ・バルマーがマイクロソフトを崖から転がり落としているのを見ると、おそらく、バルマーがゲイツに報告するという仕組みには、相当な理由があったものと見える。

この仕組みによって自然に発生するものとして、誰かが病欠した時には、誰に問題報告を上げるべきかという仕組みがあった。俺のチームリーダーが居ないとすれば、チームリーダーの下に属する者は、チームリーダーの上司に直接報告するのであり、もしそいつすら居ないとなれば、さらにひとつ上の奴に報告、更に上へと、そういう仕組みだった。ある週のこと、チームリーダーもその上司も同時に居なかったことがあった。そのため、俺は実際に上司の上司の上司に報告していた。この時、俺は部門長とその他の重役との会議に出席していた。この上司の上司の上司とやらが、そうするのは面白そうだと考えたためにだ。(全く異なる理由によって、面白いことではあったが)。しかし、この週、三時間ほど、上司の上司の上司すら居なくなる事案が発生した。俺らは一体どうすればいいのかわからなかった。なぜならば、仕組み上、俺はあらゆる問題を部門長、すなわち上司の上司の上司の上司に報告しなければならないはずであったからだ。

その3時間、俺は何も壊さないように必死だった。

マネージド教

俺の書いたコードのレビューでは、ほとんどすべてに対し、連中は俺のコードは良いと評価した。ただし、あまりに賢すぎるか、あるいはエレガントすぎる(いやマジで)と言われた。そのため、俺はコードを書き直さなければならなかった。これは、もし俺が交通事故にあって、マヌケが俺のプログラムの保守担当になった場合を想定してのことであるとのこと。俺はそう言い聞かされるたびに、そもそも、なんでマヌケを雇うんだという疑問を抱かずにはいられなかった。俺はC#の面白い機能を利用して、エレガントでロックソリッドに問題解決をすることはできなかった。俺は常に、面倒でアホくさい方法を強いられた。

皮肉なことに、俺の働いていたプロジェクトは、C#を本来想定していない目的に使っていた。すなわち、低レベルなWindowsの解析用のAPIを使う必要がある作業なのだ。幸い、誰かがまとめてくれた実際のAPIのインターフェースがあり、自然と結果は巨大なハックだらけだった。プログラムの半分は、PInvokeと狂ったようなアライメントハックによりunionを模倣した構造体を作るものであった。あるときは、マーシャリングのドキュメントが間違っていた。あるときは、ネイティブAPIの機能説明が間違っていた。俺の担当したある例では、関数はドキュメントが言っているような挙動をしなかった。

そのため、プロジェクトは巨大なハックの山であった。コードレビューにより、俺は簡単なコード方法を使わなければならなかった。もちろん、その当時、俺はC++を数ヶ月学んでいたが、C++のイディオムが頭に浮かぶたびに、俺は「C++は悪い言語だ」と思い直さなければならなかった。連中はMicrosoftとWindowsの外の世界に構築された安全な遊び場を見ようともしない。明らかに、C++は悪い言語である。だからといって、C#が本来利用を想定してもいないようなことにC#を持ち込むべき理由はない。

インターンシップの末期の頃、俺はさらに深い解析方法を求めて調査を進めていて、とうとう、連中が俺に命じた仕事をこなすのは不可能であることに気がついた。ある解析のための重要なAPIが、非ネイティブコードからはどうやってもアクセスできないのだ。PInvokeもない。API呼び出しもない。workaroundもなし。何もなし。という訳で、傑作だった解決方法としては、チームはプロジェクトをC++で書きなおすしかないと気がついたことであった。

おおっと。

2009

高校を卒業して、奇跡的にワシントン大学に受かった俺は、またインターンシップに応募した。俺は何か、DirectXとかグラフィックとか高パフォーマンス演算の分野に配属されることを希望した。しかし、俺はOffice部門で働くことになるのだと聞かされた。あんなにクソみたいなコーディング能力とは全く関係ない質問に何とか答えたというのに、もう興味はわかなかった。このめちゃくちゃ退屈な、給料払いだけはいい仕事は、本当に俺のやりたいことなのか?

これが、俺のMicrosoftでのキャリアの終わりだ。俺は心中喜び、馬鹿げた2Dグラフィックエンジンに精を出すことにした。大学のインターンシップの終わりに、俺は普通のプログラミングの仕事は、全く俺に合っていないと気がついた。数年後、どうやら俺は悲惨な列車事故をかろうじて逃れたらしいことに気がつく。

で、俺はワシントン大学のコンピューターサイエンス科からも蹴られるわけだが、まあ、それは、別の話だ。

2012-07-21

Minecraftの作者が特許ゴロに訴えられる

PDF注意

侵害したとされる特許は、

Patent US6857067 - System and method for preventing unauthorized access to electronic data - Google Patents

電磁的情報への非認可アクセスを拒否するためのシステムと手法。申請日、2001年2月26日。

大真面目に特許内容を読んでみたのだが、特許の内容がさっぱりわからない。なにやらライセンス文とその認証方法が、なにかスマートカードというものに同梱されていて、このスマートカードを通して認証されるような仕組みに思えるのだが。このスマートカードとやらにはプロセッサがあり、スマートカード内で認証を行うように読める。ドングルを利用したDRMだろうか。とにかくわからない。こんなものが新規性を有するとは思えない。

Minecraftは、Windows版ではドングルは利用していなかったし、Android版は、Googleの配信サービスに乗っかっているだけだったような。しかも、なぜかMindcraftと誤表記している。

2001年? ありえない。

明らかに、アメリカの特許の仕組みには重大な欠陥がある。

2012-07-20

邪悪なSteamがGNU/Linuxにもたらす善

Steamという邪悪なDRM縛りの不自由なソフトウェアの配信システムがある。この利用者の自由をないがしろにするソフトウェアを配信するシステムがGNU/Linuxにやってくるという事につき、RMSは、「Steamがもたらす悪よりも、善の方が大きいのではないか」と書いた。

Nonfree DRM'd Games on GNU/Linux: Good or Bad? - GNU Project - Free Software Foundation

[Phoronix] Valve & Intel Work On Open-Source GPU Drivers

この度、IntelとValveが協力して、Source Engineのパフォーマンス上の問題を発見し、またIntelの自由なグラフィックドライバーの改良すべき点についても提案もしたらしい。

Valve & Intel Work On Open-Source GPU Drivers - Page 3

また、nVidiaのGPU向けの非公式な自由なドライバーであるNouveauの開発チームにも、Valveはコンタクトを取り、なにか協力できることはないかと尋ねたらしい。Nouveauに対する最大の貢献は、何とかしてnVidiaに仕様を公開させることである。Valveは、nVidiaと掛け合うと言ったそうだ。ゲーム業界として強い影響力を持っているValveなら、あるいは頑固なnVidiaを、多少は説得できるかもしれぬ。

DRMつきの制限ソフトウェアがGNU/Linuxにやってくることはまぎれもない悪であるが、まあ、確かに善ももたらすものだ。

制限された環境に好んで囲い込まれたものが、今更制限を憂うことの愚かさについて

Microsoft comes under fire for five-figure Xbox 360 “patch fee” | Ars Technica

Fezの開発者によれば、ゲームのパッチは、2つ目以降のパッチにかかるMSの高いパッチ配信料のため、出せないという。

"People often mistakenly believe that we got paid by Microsoft for being exclusive to their platform. Nothing could be further from the truth. WE pay THEM."

プラットフォーム独占にすることで、Microsoftから金をもらっていると思われているようだが、それは大違いだ。金を払っているのは俺らだ。

わざわざ自分からひどく制限されたプラットフォームに排他的にソフトウェアを出し、利用者の自由を不当に奪っておいて、いまさらその制限が自分の身に降りかかったことに文句を言う。自業自得である。

聞くところによれば、AppleやValveのソフトウェア配信システムでは、パッチを出すのに金を取らないという。そういう他の競合と比べれば、Microsoftのパッチ配信に料金を要求する契約はひどいとも言えるかもしれない。しかし、そんなのは最初からわかっていたことだ。いまさらに泣き言を言っているのは、この問題を公にすることで、MSが一般大衆の圧力に負けて契約を変えることを密かに期待しているのだろう。どちらも誠意のない態度であると言える。

このような問題は、XBox360のプラットフォームが自由であり、利用者がソフトウェア改変の自由を有していれば、そもそも起こりえないことである。なぜならば、そのような自由なプラットフォームでは、パッチ配布をMicrosoftのインフラに依存する必要がないからだ。

xkcd: Infrastructures

2003:
「俺のエッセイ読んでくれたかい」
「ああ、内容は良かった。だが.DOCってのがね。もうちょっとオープンな」
「おいおい、やめてくれよ。実際にまともに動くソフトウェアを使おうぜ。お前の馬鹿げたオタク臭え闘争とやらはよそうぜ」

「そうじゃなくて、俺らが作ってるシステムを知ってもらいたいし、それと」
「いーや、お前は単に自己満足したいだけだ。現実ってものがまともに見えてない。たぶんアスペだろ」

2010:
「クソ、Facebookがソーシャルを支配しやがった。しかも奴らはとんでもなくひどいことをし始めた」
「見ろよ」
「世界一小さいオープンソースなバイオリンだぜ」

2012-07-19

Fedora 17でUbuntuのUnityがサポートされる

[Phoronix] Ubuntu's Unity Desktop Comes To Fedora 17

UbuntuのUnityは、他のディストロへはあまり移植されていない。いまのところ、パッケージマネージャから入れるだけで、Unityが動作するUbuntu以外のディストロは、Arch Linuxだけだった。もっとも、AURを使わなければならないので、公式なサポートというわけでもないのだが。

このたび、FedoraでUnityの提供が始まったそうだ。スクリーンショットを見る限り、グローバルメニューではなく、ウインドウごとのメニューで、最大化されていない状態での最小化最大化終了のアイコンは右付きのようだ。

2012-07-18

Chrome、Web Storeにホストされていない拡張のインストールを難しくするそうだ

Chrome Locks Down Non-Approved Extensions | PCWorld

さて、Chromiumを自力で変更してビルドするのも面倒だし、Firefoxへの移行を考えるべきかもしれない。これは明らかに悪い兆候だ。

問題はセキュリティだというが、すでにある拡張などは、全く公開されない理由によってWeb Storeから閉めだされている。問い合わせにも返答なしだそうだ。セキュリティのために、利用者の望む拡張のWeb Store以外からのインストールを妨げるのは感心できない。

よみ間違えていた。

2012-07-17

SteamがUbuntu GNU/Linuxに進出すると公式発表

Steam’d Penguins | Valve

SteamがGNU/Linuxをサポートするのではないかという噂は、Steamクライアントに明らかにGNU/Linux用と思われるものが含まれていたことで始まった。すでに、PhoronixがSteam社まで出向いて、噂が実際その通りであることを広めた。しかし、Phoronixの中の人に、開発中のSourceエンジンでL4Dが動くところを見せたり、ざっくばらんな話をしたといPhoronixが証言する割には、Steamは沈黙を守ったままだった。どうやら、ようやく公開してもいいところまで来たらしい。

発表によると、Steamがまずサポートするのは、Ubuntu GNU/Linuxである。まあ、Ubuntuというディストロは、数あるGNU/Linuxベースのディストロの中でも、特に知名度が高く、広く使われている。どうせ不自由なソフトウェアであろうSteam側からしたら、ディストロを固定したいのは分かる。

さて、読者がすでに自由なソフトウェアの価値に目覚め、自由なOSとその上で動くソフトウェアのみを使っているのならば、Steamを使ってはならない。Steamクライアントとゲームを構成するソフトウェアがすべて自由なソフトウェアであると確認するまでは、使ってはならない。不自由なソフトウェアは利用者の自由を不当に制限するものであり、非人道的だからだ。

しかし、今もし、不自由なMicrosoft WindowsとかApple Mac OSとかiOSなどを使っている場合は、これをきにUbuntu GNU/Linuxに移行するのは、マシである。なぜならば、不自由なOSの上で不自由なソフトウェアを動かすより、自由なOSの上で不自由なソフトウェアを動かす方が、まだいくらかマシだからだ。もちろん、自由なソフトウェアのみを使うのが望ましいのだが。

ところで、Ubuntu GNU/Linuxを今からインストールするが、不幸にしてnVidiaのGPUを使っている読者に助言がある。nVidiaのGPUには自由な実装のドライバーが欠けている。Nouveauは、残念ながらゲーマーが好む最新のGPUでは、起動すらしない。そのため、Ubuntuの通常のインストールディスクを起動するには、KMS(Kernel Mode Setting)を無効にしなければならない。Ubuntu GNU/Linuxのインストールディスク(あるいはUSBメモリー)を起動する際に、ブート画面でF6を押し、"nomodeset"と入力する。これにより、KMSを無効化でき、描画のパフォーマンスに問題はあるものの、とりあえずはUbuntu GNU/Linuxのインストールを進めることができる。

もちろん、インストール後もドライバーの問題がある。KMSが有効になっている限り、10年ぐらい前のnVidiaのGPUを利用しているのでもない限り、nVidia公式の出している制限されたバイナリブロブを使わなければ、まともに動かない。nomodesetを恒久的に指定するには、GRUB2の設定ファイルを書き換える必要がある。ただ、そこまでしても、やはり、Xを動かすには問題が多い。

ただし、ゲーマーにとっては、AMDも似たようなものである。AMDは仕様の一部を公開しているため、自由なドライバーの開発はnVidiaより進んでいる。しかし、残念ながら、Xを動かすには十分なパフォーマンスという程度であり、ゲーム用途には使い物にならない。そのため、ゲーマーは公式の不自由なバイナリブロブを入れたがるだろうが、AMDのドライバーの質は悪い。最新のGPUをサポートするのに半年かかったり、4,5年前に発売された、いまもまだ店頭に並んでいるような製品のサポートを打ち切ったりと、非常に悪い。もっとも、Ubuntu GNU/Linuxの不具合報告の大ハンは、nVidiaのドライバーの不具合で占められているという話もあるので、結局どちらも利便性では大差がないのだが。

IntelのSandy BridgeやIvy Bridgeの内蔵グラフィックには、Intel公式に自由なソフトウェアのドライバーが出ている。もとより、IntelのLinuxカーネルやOpenGLスタックのMesaへの貢献は多く、いまPCで現実的に使えるGPUの中では、もっとも自由に近い存在であると言える。ただし、残念ながらパフォーマンスは、専用グラフィックカードとは比べ物にならないほど低いので、Xを動かすには問題ないが、ゲーム用途には苦しい。

もっとも、あと10年ほどすれば、回路の集積度も頭打ちになり、内蔵GPUと外部GPUのパフォーマンスの差は気にならないほど縮まるのではないかと思う。

なぜSteamが、ここまで熱心にGNU/Linuxへの対応を進めているのという疑問への考察は、本の虫: なぜValveはGNU/Linux対応を急いでいるのかを参照してほしい。

思うに、これからはソフトウェアの配布システムを公式に提供するのが当然になる。Appleはすでに配布システムを持っているし、Microsoftも話によると提供する予定だ。つまり、AppleやMicrosoftのOS環境向けのゲーム配布システムであるSteamは、敵の土台で勝負しなければならないことになる。敵の土台である以上、Steamは圧倒的に不利である。

そのため、GNU/Linux環境に活路を求めるのは理解できる。残念ながら、不自由なソフトウェアにこだわる部分は一切理解できないのだが。ゲーム以外のソフトウェアも配布する予定ならば、なおさら自由なソフトウェアであることが重要になってくる。

さらに、ストールマンの見解も参照。

本の虫: ストールマン:不自由でDRM付きのゲームがGNU/Linuxに来ることの是非について

人間はわいせつであるので表現してはならない

ひろみつ砲が一発発射されただけで、もうこの対応だ。

【お知らせ】AppBank Network の成人向け広告の配信停止につきまして - AppBank

しかし、これで終わりではない。むしろ始まりなのだ。このことによって自主規制の雰囲気が高まり、あらゆるものがわいせつ性を含む疑いをもって検証される。

胸ぐらが開きすぎている? わいせつだ。スカートが短すぎる? わいせつだ。女の顔面があらわに見える? わいせつだ。手が見える? わいせつだ。

何も私は絵空事を言っているのではない。わいせつ性の判断は、その文脈によって異なる。たとえば、基本的に裸であるが、唇を切って穴を開け、陶器の皿を入れている民族では、その皿を取ることは、我々の言う裸と同様の印象を与えるらしい。インターネットは全世界に提供されているし、もしサービスを日本国外にも広げたければ、あらゆる可能性を考えなければならない。

そのため、広告にでるホモサピエンスの雌の画像や描かれた絵は、自主規制の結果、安全のために、アバヤを着用することが一般的になるだろう。むしろ、ホモ・サピエンスを広告に登場させる事自体が危険だ。犬とか猫を登場させたほうがいいかもしれぬ。実際、可愛い動物を広告に使うというのは悪くない。広告があまり敵視されないかもしれぬ。

文字も同様に危険である。「する」とか「やる」などといった言葉すら、わいせつなる行動を暗示するものとみなされるであろう。そのため、我々は外来語を多用するようになるだろう。すでに、広告では、胎盤という代わりにプラセンタという外来語が使われている。これは、胎盤という言葉の印象の悪さを隠すために使われているようだ。他にも、広告業界では、集合住宅は豪邸(マンション)という。これも、印象の悪さを隠すためだ。

これと同様のことが行われる。フューチャーのアドのランゲージは、ルー語か、あるいはニュースピークになるだろう。パーティとしてはダブルプラスグッドだ。

天運苟如此 且進杯中勝利金酒

2012-07-16

日本国が危険な自主規制社会に突入しようとしている

最近気になる声がある。「最近の広告にはわいせつ物が増えた。けしからん」という声である。この声は非常に危険である。

なぜ危険なのかというと、我が国では、刑法175条により、わいせつ物の頒布や陳列、頒布や陳列を目的とした所持は違法だからだ。

過去にも多数の芸術作品が、わいせつであるとして不当に撤去され、作者は罰せられている。実に、我が国は表現の自由を有せざる劣等国である。表現の自由が認められない世界では、思想の自由もなくなる。

したがって、我々はわいせつ性の判定に、もっと慎重になるべきである。なぜならば、一度わいせつ性が認められるや、その表現は違法になるからだ。表現を規制する法律を動かす便利な理由を自ら作り出しているのである。

さて、件の広告とやらは如何。幸い、あの有名な高木浩光氏が、スクリーンショット付きで実例を上げている。

氏はこの画像をもって、「この手の広告」と表現している。抜け目のないやり方だ。直接にわいせつであるとは言っていない。ただし、前後のつぶやきを見るに、

やはり氏もわいせつ性があると考えているようである。「エロ」といい、「性暴力」といい、名前を変えただけで、本質は「わいせつ」であることに変わりはない。わいせつ性の判定はそう軽々しく行われてはならない。なぜならば、先に述べたように、わいせつ物の頒布や陳列は違法であり、頒布や陳列を目的とした所持も違法だからだ。上記のスクリーンショットを見る限り、私には、頒布や陳列を違法としなければならないようなわいせつな表現であるとは思えない。単に人の手で創作した文字と絵である。

ある人の手によって無から創作された文字や絵、あるいは連続的な絵による映画という表現が、わいせつ物にあたるというのは、非常に危険だ。チャタレー事件や、松文館裁判のように、完全に創作した文章や絵すら規制される現状は、危険にもほどがある。創作した文章や絵が性暴力であるというのはどういう見解だろうか。殺人を描写した文章や絵は殺人なのだろうか。

この現状をこのまま放置すると、表現の自主規制が進む。その世界は、当局による検閲と実質変わらない世界になる。市民が隣人の思想犯罪を監視しあう社会は、全体主義者の思うつぼである。全体主義は、何も独裁者が存在しなくても成立するのだ。あらゆる表現は暗黙的にわいせつ物であると解釈されうるようになり、取り締まられないのは、全体主義の監視社会や権力者に異議を唱えなかったり、運が良かったりするだけになる。いつでも誰でも、任意の表現によって違法に問えるという状況は危険だ。我々は表現と思想の自由を守らなければならない。

ただし、人によって見たくない表現というものはある。たとえば、人体の解剖を物に固定した写真や録画は、医学のためには重要であっても、私は見たいとは思わない。同様に、源氏物語という眠気を誘う妄想全開で頭の悪くなりそうな文章は、当時のかな文学の研究のためには重要であっても、読みたいとは思わない。これは、「私」がそう思うだけであって、この表現を法律によって禁止すべきではない。

さて、件の広告はどのように表示されているのか。ポスターとして公共の場所に貼られているのではない。利用者の所有する、あるいは支配下にあるコンピューターが表示しているのである。サーバーがコンピューターにビット列を送信し、コンピューターはそのビット列を解釈して、広告として表示するのである。利用者が所有し、あるいは支配下にあるコンピューターが表示を行なっているのだから、利用者自身が表示の禁止を行うべきである。

広告を表示させないための機能拡張は、多くの自由な実装のブラウザーに存在する。もし、そのような拡張が実装できない、あるいは改変できないブラウザーを使っているのであれば、そのブラウザーは不自由であり、利用者の自由を不当に制限しているソフトウェアである。不快な広告よりもむしろ、そのような邪悪で非人道的なソフトウェアこそボイコットすべきだ。

ブラウザーと区別すべきかどうかはわからないが、ネイティブコードやそれに類するバイトコードの、あまり有名ではないソフトウェアが、内部で独自に広告を表示していることもある。これは、ソフトウェアを書き換えることで対処すべきである。もし、ソフトウェアの変更が、著作権によって保護されていたり、あるいはソースコードやコンパイル方法が提供されていないことにより、困難であるならば、そのソフトウェアは、利用者にとって不自由であり制限的である。これも、我々は邪悪で非人道的だという理由でボイコットしなければならない。

教訓は、不自由なコンピューターやソフトウェアは所有、または支配下においてはならないということだ。

2012-07-15

Core2Duoのキャッシュコントローラーにバグがあり、任意の場所のメモリを書き換えられると主張

Intel Core 2 Duo Remote Exec Exploit in JavaScript | Hacker News
http://1337day.com/exploits/18984

Hacker Newsで興味深いものが上がっていた。なんとリンク先の主張によれば、Core2Duoのキャッシュコントローラーにはバグがあり、任意の場所のメモリ(もちろんカーネルに割り当てられたメモリも含む)を書き換えられると主張。しかも、そのバグは、JavaScriptから攻撃することが可能だと主張している。

眉唾ものだし、実証用のコードは、どのJavaScriptの実装で動くとも書いていない。はてさて。真偽の程はいかに。

DNSの終焉が垣間見える、ぶっ飛んでて危険すぎるお名前.comの検閲事件

忍者ツールズ全サービスが表示不可となる障害につきまして | ドメイン取るなら お名前.com ドメイン取得 年間280円~

忍者TOOLSは、お名前.comというドメイン名レジストラにninja.co.jpのドメイン情報を管理させていた。忍者TOOLSは、ninja.co.jpというドメインを、自社の様々なサービスに使っていた。そのサービスは、忍者TOOLSのユーザーが使うものである。

さて、お名前.comの主張では、忍者TOOLSのユーザーがお名前.comの規約違反を起こしたために、ユーザーの規約違反は、すなわちそのユーザーのサービス提供元の規約違反であるとし、事前の協議や警告すらなしに、一方的にninja.co.jpのドメイン情報を消したそうだ。

これは恐ろしく危険な事件である。問題は、DNSが階層的な中央管理をされたシステムである以上、この問題は仕組み上どうしようもないという事である。仕組み上、提供者階級と利用者階級を生み出すのだ。すなわち、時の権力である提供者階級に属する政府や企業の都合だけで、ドメイン名は規制検閲され、消失する。利用者階級は、提供者階級の提供によらなければ、DNSに参加することもできない。なぜならば、DNSやインターネットの物理層の構築は、ほとんどの個人には不可能だからだ。国家や大企業の力が必要である。これにより、提供者階級と利用者階級が生じる。利用者階級は提供者階級の提供してくれるものをただ受け入れるしかないのだ。拒否した場合、ネットワークには参加できない。すなわち、階級すら与えられなくなる。存在を否定されるのだ。

明らかに、我々は仕組み上、このような一方的な強権が発揮されないドメイン名システムを開発して使わなければならない。もはや、階層的に中央管理されたDNSは限界に達したのだ。

では、どのような仕組みならばいいのか。やはり、中央管理されないP2Pによる分散型の名前解決システムだろう。実は、そういうシステムはすでにある。

Namecoin DNS - DotBIT Project

namecoinとは、bitcoinを同じ技術を、名前解決に転用したものである。名前を登録するには、namecoinが必要となる。bitcoinと同じく、namecoinを得るには演算が必要だ。

もちろん、その他の仕組みである、ネットワーク自体も、来たるべき全体主義が統治する検閲社会に備えて、抜本的な改善が必要である。世界がどんどん全体主義に向かっている。この流れは停めることができない。せめて、残された僅かな時間で、技術的に検閲の不可能なネットワークを作り上げ、インターネットの代わりに使わなければならない。インターネットは、その仕組み上、提供者階級と利用者階級を産み出す、技術的に劣ったネットワークである。

追記:なんと、お名前.comはドメインの停止させたのではなく、お名前.comを参照するように変更したらしい。これはハイジャックである。ninja.co.jpや、忍者TOOLSのサービスであるアクセス解析やブログの管理などの、様々な所で使われていたドメインである。すなわち、忍者TOOLSに行くべきアクセスは、すべてお名前.comのハイジャック先に向かったことになる。緊急的にドメインを停止する必要があるならば、ただ停止するべきである。なぜハイジャックしたのか。

追記2:どうもこの事件、当事者同士で非公開のやり取りが行われた結果、両者とも一致した発表になったらしく、公開されている事実が全てではないという声もある。

2012-07-13

イギリスではランダムなデータを所有しているとムショ送りになる

In The UK, You Will Go To Jail Not Just For Encryption, But For Astronomical Noise, Too - Falkvinge on Infopolicy

イギリスには、Regulation of Investigatory Powers Act 2000という法律がある。これは、暗号文の容疑がかけられたものを復号化する鍵を提供できない場合、懲役刑が課せられるというものである。懲役年数は、テロと児童ポルノ容疑の場合5年、それ以外の場合2年である。

これ自体、非常に邪悪な法律である。ほとんどの国では、自己に不利益な事は話さなくてもよいとされている。しかし、これは暗号に対する復号鍵を自白しない場合懲役刑である。

しかし、もっと危険なことには、現代の高度な暗号文とランダムなデータは見分けがつかないという事だ。たとえば、たまたま/dev/randomから読み取った数Gバイトのデータがあるとする。もし、警察がこれを、テロ計画や児童ポルノを含む暗号であるとの疑いをかけた場合、復号鍵を提供できないと懲役刑だ。そもそも、復号鍵など最初から存在しないというのに。

「数ギガバイトの一見ランダムなデータ? 暗号に違いない! 中身はテロ計画か児童ポルノに違いない。さあ鍵を自白しろ。さもなくば懲役刑だ」

コメント欄では、この解釈に基づいたジョークがいくつかある。

容疑者のPCを解析したところ、/dev/randomという暗号化されたファイルが発見された。容疑者は復号鍵の提供を拒み、ファイルは「乱数生成器」だと主張している。容疑者は件の「乱数」とやらがどこから提供されているのか説明できないでいる。我々は容疑者の連絡先を調べ、乱数とやらの提供元を・・・

/dev/urandomとやらは、明らかにテロリストラジオのストリーミングであるに違いない。

追記:暗号の定義の仕方によっては、この法律は非常に危険である。バーナム暗号という暗号がある。これは、秘密鍵がもれない限り、絶対に破ることはできないと証明されている暗号である。トリックは、平文と同じ長さの鍵を用意し、平文と鍵をXORすることにより暗号文を生成する。この方法によって生成された暗号文は、秘密鍵を入手しない限り、絶対に破ることはできない。なぜならば、秘密鍵は暗号分と同じ長さを持っているので、任意の鍵を使って任意の平文を作り出すことができるからだ。つまり、鍵が正しいかどうかを確かめる方法はない。

しかし、イギリスの法の「暗号」と「復号鍵」の解釈次第では、バーナム暗号とその復号鍵も法律の対象になるだろう。その時、全イギリス国民はテロ計画所有者かつ児童ポルノ所有者かつあらゆる表現の所有者になる。なぜならば、バーナム暗号は、任意の「復号鍵」を使うことによって、任意の「暗号文」を、別の「平文」に、「復号」することができるからだ。

追記2: オーストラリアも似たような法を通そうという動きがあるようだ。
New surveillance powers akin to ‘China, Iran’ | Delimiter

2012-07-12

文化庁の違法ダウンロードのQ&Aはそれほどおかしくない。おかしいのは著作権法自体だ。

文化庁の違法ダウンロードの刑事罰化についてのQ&Aが色々と話題になっているが、それほどおかしいことは言っていない。少なくとも、真面目に改正される著作権法を解釈した結果である。そもそも、おかしいのは改正される著作権法自体だという事もできる。

たとえば、「友人から送信されたメールに添付されていた違法複製の音楽や映像ファイルをダウン ロードしたのですが、刑罰の対象になるのでしょうか。」という質問には、「違法ではなく、刑罰の対象とはなりません。」と答えている。これは正しい。というのも、違法ダウンロードには「自らその事実を知りながら」という文面があるからだ。メールは、ダウンロードしなければ中身を確認できない。そのため、違法ダウンロードであるかどうかは、ダウンロードしてみるまでわからないのだ。

さらに、Q「CDやDVDとして売られている音楽や映画と違って、テレビの番組は無料で見ることができますが、このように無料で放送されているテレビの番組の海賊版をダウンロードする行為も刑罰の対象になるのでしょうか?」という質問には「ドラマなどのテレビ番組は無料で放送されているため、刑罰の対象にはなりません。ただし、テレビ番組であっても、DVDとして正規に売られているようなものについては、その番組の海賊版を、海賊版だと知りながらダウンロードすると刑罰の対象となります。 」と答えている。これも、違法ダウンロードとなるには、「有償著作物」でなければならないからだ。有償著作物は、有償で公衆に提供されている、録音と録画である。有償で公衆に提供されていなければ有償著作物ではないし、録音にも録画にも当てはまらないものは、有償著作物ではない。そのため、このような不思議な回答になる。

文化庁が変な解釈をしていると言うより、著作権法を真面目に解釈するとこういうことになるという例だ。結局、今の著作権法は、危険なほど時代遅れである。

むしろ危険視したいのは、Lマークだ。Lマークなんて誰でも勝手につけることができる。すでに、違法ダウンロードという違法行為を行なっている者が、Lマークだけは正しくつけないはずがない。Lマークを偽造するに決まっている。

我々ができるのは、自由なソフトウェアと自由な著作物を広めることだ。著作権法により、明示的な許諾が必要な諸権利がある。自由なライセンスは、その権利の許諾を与える代わりに、ライセンスへの同意を求める。ライセンスに同意しなければ許諾が得られないのだから、著作権保護された使い方をしたい者は、ライセンスに同意しなければならない。ライセンスは、許諾を与える代わりに、自由を保証する条件をつける。特に推奨する自由なライセンスは、GFDLかCC-BY-SAである。これは、派生物も同じライセンスを継承することを求めているので、自由を積極的に保証できるライセンスである。

ただし、何度も言うように、Creative Commonsというライセンスはないので注意が必要である。自由なライセンスは、CC-BYとCC-BY-SAだけである。利用を推奨するのは、CC-BY-SAだ。これ以外のライセンスは、全て不自由なライセンスである。

ただし、自分の意見を述べる場合など、どうしても自分の著作物を改変されたくない場合は存在する、。そういう限定的な場合は、CC-BY-NDを使うのもいいだろう。ただし、これは自由なライセンスではないという事も知っておかなければならない。

将来、ISBNやハッシュ値の提供が違法になるだろう

児童ポルノを提供しているWebサイトへのURLを提供したことは、児童ポルノを提供したことと同じであるという判決が注目を集めている。このURLと参照先は同一であるという解釈は、非常に危険である。

まず、児童ポルノから離れよう。児童ポルノという言葉が出た時点で、何が何でも違法であり反論するものは児童虐待者であるという、議論を許さぬ雰囲気がある。しかし、児童ポルノ以外にも、違法な表現は様々ある。たとえば、日本国ではわいせつ物は違法である。したがって、児童ポルノでなくても、わいせつであると裁判所によって認定された表現は違法なのだ。もちろん、著作権もある。著作権侵害は違法である。さらに、著作権法により、技術的保護手段の回避方法や、回避ツールを提供することは違法である。これも、表現が違法になる場合だ。さらに、個人情報もある。

実に、現在の日本国では、様々な表現が違法である。これ自体は、現在の価値観と法によるものである。気に入らなければ法を変えるしかない。

URLとは何かというと、インターネット上の場所を参照する文字列である。URLにより、Webサイトやその内部のページを参照することができる。たとえば、http://ja.wikipedia.org/wiki/Uniform_Resource_LocatortというURLがあると、ブラウザーは簡便化のため、URLから参照先の表現を取得することを、自動化してくれる。

このように、URLから参照先の表現を得ることは非常にたやすい。これは、インターネットと、インターネットを使うツールの発達によるものである。

あるいは、このURLから参照先の表現を得る容易さから、URL文字列の提供と、参照先の表現の提供は、同視できると判断されたのかもしれぬ。

しかし、この解釈は危険である。なぜならば、参照元を容易に入手できる参照方法というのは、他にも多数あるからである。

たとえばISBNだ。ISBNは中央管理された割り当てをされている。これにより、すでに発行された紙書籍のISBNを知っていれば、重複や混同なく、ある紙書籍を参照することができる。

さて、ISBNから参照先の書籍を入手することは、技術的に可能である。もちろん、今は、まだ多くのISBN参照されている書籍は著作権保護されていて、現実には容易に入手できない。しかし、著作権保護が切れる数百年後には、この重複しない一意なISBNによる書籍参照というのは、非常に便利な仕組みとして認識されているはずだ。著作権保護もないので、ISBNリンクから参照先の書籍を簡単に閲覧できる仕組みが整っているはずだ。現代ですら技術的に可能なのだから、全面核戦争で文明が衰退しない限り、数百年後には、このような仕組みが整っているはずだ。

そのような未来において、URLの提供と参照先の提供は同視できるというこの解釈を適用すると、非常に危険なことになる。ISBNの提供と参照先の書籍の提供は同視できるのだ。児童ポルノやわいせつ性や著作権や個人情報といった、違法な表現の定義は、時代により変わるものである。現代では公然と出版されていて、誰もその違法性を疑わない書籍であっても、将来は違法な表現に変わっているかもしれない。このために、違法な表現という概念そのものが危険なのだが、ここではその危険性は考えない。ともかく、将来、ある数百年前の書籍(つまり現代の書籍)が違法な表現であり、この解釈の判例が継承された社会では、ISBNの提供は参照先書籍の提供と同視でき、したがってISBNを提供するだけで違法だということが起こりうる。

もっと危険なのは、ハッシュ値だ。ハッシュ値とは、ある情報から計算される一意な値である。ハッシュ値の計算方法は、計算元の情報が1ビットでも異なれば、ハッシュ値も異なるように数学的に設計されている。もちろん、現実的には、ハッシュ値は、より多い情報をもとに計算した場合、重複する可能性がある。しかし、ハッシュ値はこの重複をできるだけ抑えるように設計されている。だから、ハッシュ値は情報を参照する値と呼ぶこともできる。

さて、ハッシュ値から元の情報を復元することはできない。しかし、ハッシュ値が一意な参照として働くのであれば、URLやISBNと同じく、表現への参照として使うことができる。したがって、ハッシュ値リンクから参照先の表現を容易に入手できるシステムを作ることができる。これも、現代の技術で可能である。

すると、この解釈の判例により、ハッシュ値の提供と、ハッシュ値により参照された表現の提供は、同視できるのではないか。

我々は恐ろしい暗黒時代に突入している。将来、ハッシュ値の利用は違法になり、ハッシュ関数の使用も政府の許可を必要とするようになるだろう。その時、我々はお互いを同志と呼び合い、あらゆる創作はスピークライトで行い、テレスクリーンの前で楽観的なほほ笑みを取り繕いながら体操することになるのだ。

Debianはどこまでいくのか

Debianは非常に懐の広いディストロだ。まず、サポートしているアーキテクチャが広い。LinuxカーネルとGNU tool setがサポートしている環境ならすべてに対応することを目指している。

そればかりではない。Debianでは、ひとつのカーネルに依存しない試みもある。Linuxカーネルの他に、FreeBSDカーネルとGNU Hurdカーネルも利用可能だ。Debian GNU/kFreeBSDは、FreeBSDカーネルを利用したもので、だいぶ実用的に動く。ただし、FreeBSDは様々な点で、Linuxに遅れている。たとえば、Kernel Mode Settingの実装も、いまだ頑張っている最中なので、グラフィックドライバーも、ものすごく古いものを使わなければならない。Debian GNU/Hurdは、GNU Hurdカーネルを利用したもので、これは・・・お世辞に言ってもハードウェアのサポートが貧弱すぎるので、今のところ、QEMU環境でしかまともに動かない。

[Phoronix] Test Driving GNU Hurd, With Benchmarks Against Linux

Debianはさらに、コンパイラー依存からの脱却もはかっている。GNU/Linuxベースのシステムといえば、コンパイラーにはGCCを使うのが普通だ。というより、今までそれ以外に選択肢はなかった。ところが、最近Clangが興隆してきて、まだGCCには及ばない部分もあるものの、規格準拠度やわかりやすいエラーメッセージなどの点で優れている部分もある。DebianはコンパイラーをClangに置き換えることができるよう、作業を進めている。

すでに、FreeBSDはClangを使い、GCCをdeprecated扱いしている。これは、技術的な理由と言うよりも、FreeBSDの思想の問題である。特にFreeBSDはGPLが嫌いなのだ。結局、FreeBSDを必要とする人間は、GPLを毛嫌いしている浅はかな人種なのだから、そういう人種の期待に答えるためにも、GCCから離れたいのだろう。

Debianはそういった思想上の理由でClangへの対応を進めているのではない。複数のコンパイラーでコンパイルできるコードは、より移植性や規格準拠度が高い優れたコードである。

Build of the Debian archive with clang

2012-07-11

発想の不思議

GCCは最近、エラーメッセージの改良に勤めている。これは明らかに、Clangに影響されたものである。

ひとつ不思議なのは、なぜGCCがいままで、エラーメッセージを改良しようと思わなかったのかということだ。プログラマーはエラーメッセージを頻繁に読まなければならない人種である。したがって、エラーメッセージの読みやすさは重要である。GCCの開発者とてプログラマーである以上、しかもコンパイラーの開発者である以上、コンパイラーのエラーや警告のメッセージは、多くの場合、無視してはいけないものであることを誰よりも理解しているはずだ。なぜエラーメッセージを改良する動きがなかったのか。

GCCにエラーメッセージを改良する技術力や労力がなかったわけではあるまい。現に、Clangが頭角を表してからは、すぐさま、追いかけるようにエラーメッセージを改良していった。これは不思議だ。GCCの開発者にエラーメッセージを改良するという発想がなかったはずがない。しかし、実際に動くものとして見せられるまで、その発想を実装するのは、技術力や労力以外の点で、難しいものなのだろうか。

オンラインストレージと違法アップロード

日本では、オンラインストレージは違法である。これは、たとえCDの内容をサーバー上にアップロードし、アップロードしたユーザーのみがダウンロードできるオンラインストレージサービスが、公衆送信権の侵害だという判決が出ているからだ。つまり、オンラインロッカーと呼ばれるこの手のサービスは、ロッカーの契約者のみにアクセスを許すように設計されていても、公衆送信だというのだ。故に、日本におけるオンラインストレージは、著作権の制限である私的利用における複製ではない。明示的な許諾を得た著作物でなければオンラインストレージ上に保管できない。

オンラインストレージは、契約したユーザーが利用権を持つストレージである。つまり、ローカルにあるストレージと何ら変わらない。自然に考えれば、オンラインストレージへの複製は私的利用の範囲であり、著作権は制限を受けるはずなのだ。しかし、前述のように、日本では不思議な理論で公衆送信になっている。

さらに、Paypalも過激な利用規約を打ち出している。

PayPal sets down stricter regulations for file-sharing sites | Ars Technica

Paypalは、事業者はユーザーに違法アップロードを禁止し、さらに、サービス内容をPaypal従業員が監視できるように、サービスへのフリーアクセスを与えなければならないという利用規約に書き換えた。

これはプライバシーの侵害である。

もはや、一刻の猶予もない。この理不尽で不自然な現状には闘争しなければならない。闘争手段は、著作権保護された自由な著作物を広めることである。つまり、自由なライセンスを使うのだ。

著作権は、著作物のある種の利用に対して、明示的な許諾を要求する。明示的な許諾が必要な場合には、契約に同意させることができる。たとえば、許諾を得る代わりに対価を払うというのも契約だ。したがって、自由なライセンスに同意させることができる。ライセンスに同意しなければ、許諾は与えられない。すなわち著作権侵害となる。従来、許諾には対価が用いられてきた。自由なライセンスでは、対価を得ることはもちろん否定しないが、それ以上に、自由であることを求める。特に、自由であることを積極的に求めるライセンスを使うべきだ。

残念ながら、そのようなライセンスは、互いに互換性がない。したがって、自分独自のラインセンスを作るよりも、既存の自由なライセンスを使ったほうが、可搬性が高い。現在、自由を積極的に求めるライセンスには、Creative CommonsのCC-BY-SAと、GFDLがある。このどちらかを使えばよい。

ただし、Creative Commonsというライセンスには注意が必要である。Creative Commonsというライセンスはない。Creative Commonsには、複数の非互換なライセンスがある。特に、NonCommercialとつくものは、不自由なライセンスなので使ってはならない。理由は、「非商用」の定義が曖昧だからで危険であるのと、我々は著作物の自由を目指すのであって、金銭の否定を意図するのではないからだ。

同時に、我々は不自由な著作物をボイコットすべきである。不自由な著作物は危険なのだ。自分しかアクセスできない自分専用のオンラインストレージ上にバックアップするような、本来ならば私的利用の範囲であると、頭のまともな人間ならば考えるような行為ですら、公衆送信であるとされる日本国内では、とくに危険だ。今の日本で、不自由な著作物を利用して著作権侵害を行わないなどということは不可能だ。それゆえ、不自由な著作物は絶対に避けねばならない。

2012-07-10

セキュアブート時代の汎用コンピューターの確保方法

Windows 8のリリースが間近に迫り、我々の汎用コンピューターの入手に危機が迫ってきた。セキュアブートという危機である。もし、読者が汎用コンピューター、すなわち利用者の自由に動くコンピューターを入手したいと思うならば、以下の忠告に従うべきである。

まず、いま実働するハードウェアは、どんなに昔のものであろうとも、必ず保存しなければならない。なぜならば、それが入手可能な最後の汎用コンピューターかもしれないからだ。

セキュアブートは、技術的には悪くない。ただし、問題は認証局が、事実上Microsoftのみということだ。私のようにMicrosoftを信用しない利用者は、当然Microsoftキーによって署名されたソフトウェアは信頼しない。すなわち、セキュアブートはデフォルトでは信用できないという事になる。

セキュアブートでは、ハードウェアにデフォルトでインストールされている公開鍵がある。この公開鍵は、ハードウェアベンダー独自のものと、それからMicrosoftのキーである。セキュアブートの規格上は、デフォルトのキーも含めて、キーを無効化できるとある。つまり、MSキーを無効化すれば、そのハードウェアは不自由なMicrosoft Windowsを含めた、Microsoftによって認証されたソフトウェアを実行しなくなる。これは素晴らしいことだ。もし、話がこの通りに進めば、だが。

セキュアブートの規格上は、セキュアブート機能を無効化できるとある。セキュアブートを無効化すれば、従来の、すなわち今使っているハードウェアと全く同じ動作をする。これは素晴らしいことだ。もし、話がこの通りに進めば、だが。

多くのハードウェアにはバグがある。特に、マザーボードはバグの宝庫である。多くのマザーボードのハードウェアベンダーは、不自由なMicrosoft Windowsが正しく動作することを一番の目的としており、それ以外のOSの動作は保証していない。もちろん、マザーボードは規格に従って作られているのだが、多くのマザーボードは、規格違反な挙動をする。たまたま、Windowsがその規格違反な挙動でも動作するために、不具合は見落とされているのだ。本来ならば、このような規格違反のハードウェアはリコールされてしかるべきだが、残念ながら市場の圧力はそこまで強くない。そもそも、大抵のハードウェアには規格違反の挙動があり、ソフトウェア側で対処されているのが現状だ。対処不可能な深刻な不具合はリコールされる。例えば、Pentiumの浮動小数点数バグやCougar PointのSATAバグなどだ。

さて、セキュアブートにキーを追加することや、無効化することは、規格上定められている。しかし、一体どのようにして行うのかということは、規格化されていない。そのため、ベンダー各社ともてんでバラバラの実装をするだろう。しかも、まともにテストされないことも予想される。彼らの主目的は不自由なWindowsの動作であって、たまたまWindowsが動作している規格違反は、見逃される。セキュアブートへのキーの追加や削除が本当に動くのか、無効化して本当に正しく動くのか。非常に怪しい。

そのため、我々がすることは、様子見だ。セキュアブートを実装していないハードウェア。これは従来のハードウェアと変わりがないので、使ってもよい。セキュアブートを実装しているハードウェア、これには注意が必要だ。正しく規格通りに、キーの追加削除、セキュアブート自体の無効化手段を提供しているかどうかを調べ、目的とするOSが正しく動作するかどうかの報告を待ってから、使うべきだ。さもなければ、ハードウェアの奴隷になってしまう。

Microsoftを信用しない我々がセキュアブートを使う方法は二つある。まず簡単なのは、無効化してしまうこと。これにより、従来のハードウェアと変わりのない動作をするはずだ。もし無効化機能が不具合無く実装されていればの話だが。もうひとつは、Microsoftのキーを無効化した上で、自分の信頼するキー、あるいは自前のキーをハードウェアにインストールし、そのキーで署名されたOSをインストールすることだ。これも、正しく実装されていれば可能だ。

第一、「セキュアブート」という名称はけしからん。なにか、それ自体がセキュアであるかのうような誤った印象を与える。セキュアブートが実際にやっているのは、未署名のコードの実行拒否と、署名されてから利用者の手元に届くまで、改変されていないということを示すだけである。もちろん、これは認証局を信用しなければ成り立たない。しかし、Microsoftを信用しない我々にとって、もとよりこれはセキュアではない。

セキュアブートは技術的には悪くないが、残念ながら、その実装は、Microsoftを唯一の認証局を崇めるものになっている。

2012-07-08

ebayですごいゲームコレクションが出品されている。

即決1億円!22機種6500タイトル以上のゲームソフトがeBayに出品される | ガジェット速報
BIGGEST COLLECTION EVER? 22 SEGA / NINTENDO / PC ENGINE FULLSETS,FACTORY SEALED! | eBay

任天堂、セガ、NECのほぼすべてのゲームコレクション。価格は、EUR 999,999.99。日本円にして約一億円。

これが本物だとしたら、国会図書館とかが保存のために買いあげるべきだと思う。

日本国内におけるmp3の特許

まず初めに言っておくと、mp3を使ってはならない。mp3を使うものは奴隷である。mp3は特許保護されている不自由で制限された技術であり、ボイコットするのは当然であるし、そもそも、mp3は、もはや時代遅れの劣った技術であるので、なおさら使う必要がないからだ。代替品としては、非可逆圧縮ならばVorbisがあるし、可逆圧縮ならばFlacがある。どちらも特許による制限がなく、自由なソフトウェアによる実装が幅広い環境に提供されている。使わない理由はない(mp3奴隷を除く)

もちろん、読者にいまさらmp3を使っている奴隷はいないだろうから、余計なお世話であると思うが、老婆心から、念の為に忠告しておいた次第である。

さて、mp3という時代遅れの劣った技術は、特許によって制限されている話が有名だ。しかし、具体的にどの特許が該当するのか。その話は全く聞かない。もちろん、日本国において保護されるためには、日本で特許が認められていなければならない。特許には保護期間がある。日本では、農薬と医療用の薬を除いて、とっきょの保護期間の延長は認められていないので、mp3に関係する特許は、かならず出願後20年である。認められればの話であるが。

mp3の特許は、以下にすべて載っている。

mp3licensing.com - Patents

日本で一番出願日時が最近のもの、つまり、一番長く保護されるものは、これだ。

特許3103382

これは、1997年に出願されているので、2017年末まで保護される。つまり、日本でmp3の特許が完全に切れるのは、2018年からということになる。

これはどういうことかというと、mp3というのは、ドラフト規格自体は1991年には承認され、1992年に制定されて、1993年に公開されたものの、更に追加の規格が1995年に出ていて、最終的にこれ以上変更されないという正式規格が公開されたのは1998年だからだ。だから、1997年に出願された特許というのは、ありえる話だった。

そもそも、mp3が一般に使われだすようになったのも、思えば1997年頃だ。

2012-07-07

コンピューターがスムーズなブートしているという印象について

コンピューターのブートはスムーズな印象を与えるべきだ。このスムーズな印象というのは、ブートのパフォーマンスではなく、ユーザーにとってスムーズに見えるという事だ。GNU/Linuxは、この点において劣っているように思われる。

BIOSから制御を移されたWindowsが起動する際には、すばやくスプラッシュスクリーンを描画する。これによりユーザーは、今Windowsがブート中なのだな、と安心できる。この際、スプラッシュスクリーンに動きがあることも大事だ。動きというのは何でもいい。単に横棒が伸び縮みしたり、円がグルグル回ったりするだけでもいい。実際のブートの経過をプログレスバーで表示する必要はない。第一、正確なブートの経過時間は、そのように簡単に表すことができない。必要なのは、コンピューターが止まっていないと安心できる画面の動きである。

Ubuntuの場合、何もない単色画面が数秒表示された後、Plymouthによるスプラッシュスクリーンが一瞬表示されたかと思うと、ただちにLightDMのログイン画面に切り替わる。Plymouthによるスプラッシュスクリーンには動きがあるが、まともに表示する前にLightDMに切り替わってしまう。LihgtDMは解像度や色数が高いが、あまり動きがない。

私は最初、このUbuntuのブート時の表示には、不安を覚えた。何もない単色画面が数秒映るのは、本当にブートが正しく行われているのか不安にさせる。ユーザーは画面をみてコンピューターの動作を判断するのだから、画面描画が止まっているというのは、コンピューターが動いていないという印象を与えるのだ。

実際、私はUbuntuを導入する際、GPUのドライバーで苦労していて、インストールに失敗してブートしないこともあったのだから、なおさらブート中であることが分かる、動きのある画面は重要だ。

これなら、カーネルパラメーターに"quiet splash"を指定しないほうがまだマシである。少なくともその場合、ログがずらずらと画面に表示される。いかにもコンピューターが動いているぞという印象を与える。もっとも、一般的なユーザーにとっては、そのような黒画面に白文字のブートメッセージは危険な印象を与えるだろうから、カーネルパラメーターにデフォルトでquietを指定するのは妥当なのだが。

UbuntuがWaylandを導入しようとがんばっているらしい

[Phoronix] Ubuntu Still Aims For Wayland System Compositor

10月にリリースされる予定のUbuntu 12.10のfeature freezeには後一ヶ月しかないのだが、いまだにWaylandを入れようと頑張っているらしい。

問題は、WaylandはKernel Mode Settingを要求するという事だ。多くの制限ドライバーや、あまり使われていない珍しいハードウェアのドライバーは、KMSに対応していない。Linuxのフレームバッファーを使うというぶっ飛んだ実験もあるのだが、Linuxのフレームバッファーというのは、その本来の目的が、ハードウェア非依存のテキストコンソールを実装するためのもので、当然ながらほとんどはSoftware実装されている。DirectFBというフレームバッファーにハードウェア支援をするためのものもあるが、フレームバッファーの上でWaylandを使うのは無謀ではないか。Intelの最近の統合グラフィックとか、ATIの昔の枯れたGPUぐらいしか、まともに動かないのではないか。もちろん、nVidiaには何も期待できない。公式にWaylandサポートはしないと言っているのだから。というより、KMSサポートをしないと言っているのだが。

2012-07-05

Galaxy Nexusが侵害しているとされる特許がどうしようもなくクソすぎる

米国で、Galaxy NexusはAppleの特許侵害しているとして、差し止め命令が下った。特許の有効性はこれから争われる。さて、その具体的な特許とはなんだろうか。日本国内の報道では、具体的な特許について一切言及していない。報道の質が悪いものだ。

BBCの報道によると、

BBC News - Apple enforces Galaxy Nexus smartphone ban in the US

以下の四つの特許があるらしい。

Patent US6847959 - Universal interface for retrieval of information in a computer system - Google Patents

2000年出願。ヒューリスティックな検索方法群を使うことにより、ユーザーの入力した検索語に対し、少なくともひとつの候補を、複数の場所(ローカルコンピューターのストレージやインターネット上など)から見つけ出すものである。

それって検索エンジンの実装から見たローカルでまさしく行われていることでは。というかそんな複数の場所からのヒューリスティック検索という単なるアイディアに特許性があるのか?

Patent US7657849 - Unlocking a device by performing gestures on an unlock image - Google Patents

2005年出願。タッチスクリーン上でジェスチャーをすることによりデバイスをアンロックするもの。

マウスジェスチャーなど大昔からあった気がするのだが。

Patent US8074172 - Method, system, and graphical user interface for providing word recommendations - Google Patents

2007年出願。テキスト入力時のサジェスト機能。

日本語IMEは大昔から実装していた機能のように思えるのだが。

Patent US5946647 - System and method for performing an action on a structure in computer ... - Google Patents

1996年出願。テキストのフォーマット(電話番号や住所やメールアドレス等)を認識して、それに対するアクション(電話をするなど)を表示し、ユーザーの入力に応じて、提示したアクションを実行するもの。

どの特許も非常に読みにくい英語で書かれているのだが、最後の特許は特に読みにくい英語で書かれている。

こんな物理法則とは一切関係がない単なるアイディアが保護される価値があるとは信じられない。なんでこんなに英語が読みづらいのだ。なんでこんな馬鹿げた特許の受理に何年もかかっているのだ。

特許がこのごとくであるとしたら、もはや特許という仕組みに意味はない。

Appleの特許は公平な競争を阻害している

Google, Samsung Working on Software Fix To Bypass Galaxy Nexus Sales Ban | PCWorld

米国内でのGalaxy Nexusの販売が差し止められたわけだが、その抵触しているとされる特許は、あまりに抽象的だ。

スマートフォン内のデータやWebをまとめて検索できる機能、スライドしてアンロックする機能、入力サジェストと単語の自動訂正機能。そんな抽象的で物理法則を利用するわけでもないアイディアが保護されてたまるものか。

iPadを持っている全てのユーザーに告ぐ。窓から投げ捨てろ。

追記:ban解除に向けた動きもみられる。Samsung wins bid to sell Nexus in Apple court battle - Yahoo! Finance

インターネット上での自由は、もはや限界に達した。これからはピアネットだ

インターネット自由宣言というものが耳目を集めている。聞けば、インターネットをフリーかつオープンするデクレレーションなのだとか。果たしてそれはフリーへのスレットに対してエフェクティブにファイトできるものなのか。容易に二重思考を招きやすい音訳の多用はさておき。

結論からいうと、この宣言は全く機能しない。将来は、私の提唱するピアネットへの移行が必須となる。それはなぜか。そもそもピアネットとは何か。それを初めから解説する。

そのまえに、ともかくこのインターネット自由宣言を、参考のために訳してみよう。

インターネット自由宣言

前文

我らは自由かつ開かれたインターネットが、より優れた世界をもたらすと信ずる。インターネットの自由と開放性を守るため、我らは人類と業界と国家に対し、これらの理念の認識を呼びかける。我らはこの理念がさらなる創造と、さらなる発展と、さらなる開かれた社会の実現を助けるものと信ずる。

我らは我らの自由を守る国際的運動に参加する。何故ならば、我らは自由の防衛がまさに闘争するに値するものと信ずるからである。

理念について議論せよ。同意するにせよ同意せざるにせよ、議論し、翻訳し、その思想を自らのものとして、汝の社会に広めて議論せよ。インターネットのみがそれを可能とする。

インターネットの自由と開放性を守るために参加せよ。

[以下の文章は、reddit, Techdart, Cheezburger, GitHubでも扱っている。 ]

宣言

我らは自由にして開かれたインターネットのために決起する。

我らはインターネットの規則を作成するための透明にして参加可能な機構を支持し、五つの基本理念を確立した。

表現:インターネットを規制せぬこと。

取得:高速かつ安価な差別なきネットワークへの接続を支持すること。

開放性:インターネットを、皆が自由に接続し、交信し、書き、読み、閲覧し、話し、聞き、学び、作り、発展させることができる、開かれたネットワークに保つこと。

個人情報:個人情報を守り、皆が個人情報と個人機械の使われ方について支配できる力を守ること。

accessの適切な訳語が思いつかなかったので、とりあえず接続を選んだ。accessとは、自発的に得ることだが、取得とか提供は適切ではない。

なぜ、高速で高速かつ安価なネットワーク、しかも差別なきネットワークが重要なのかというと、そうでないネットワークは中立ではないからだ。たとえば、ボイスチャットやビデオチャットなどに代表されるVOIPアプリケーションの利用に、追加の利用料を貸すようなネットワークは、公平ではない。なぜならば、どのアプリケーションも、本質的にネットワークの使用方法は同じだからである。ネットワークを流れるデータの内容や、アプリケーションの作りによって追加の利用料を貸すようなネットワークは、不公平で競争を阻害する。たとえば、ネットワークの提供者は、自らが提供するVOIP技術を推奨するために、そのような懲罰的利用料を課すかもしれない。

さて、この宣言はうまく機能しない。なぜかというと、この宣言は利用者階級から提供者階級に請願する形をとっているためである。

インターネットには、二つの階級がある。提供者と利用者である。利用者階級とは我々個人のことで、提供者階級とは、国家、政府、企業などと呼ばれている存在である。なぜ階級があるのかというと、提供者は利用者に対して、圧倒的有利な立場に立っているためである。提供者が利用者にインターネットを提供しなければ、利用者は利用者たることができない。提供者に拒絶された利用者は、もはや階級すら与えられないのだ。つまり、インターネットの世界には、存在しなくなる。

これはなぜかというと、インターネットのネットワークは、個人の力では構築できないからだ。残念ながら、個人の力で海底ケーブルを引くことはできない。インターネットのネットワークを構築するには、国家や企業の力が必要になる。

ここに階級戦争が起こる。国家や政府は都合の悪い情報を検閲、規制しようと考える。企業は利益を最大化するために、ネットワークの利用を制限しようと考える。利用者側に戦い返す武器は、ほとんどない。

さて、この階級の認識をした上で、上記のインターネット自由宣言を読むと、これが基本的に、利用者から提供者への請願という形であることが分かる。つまりは、上等階級に対して高徳な振る舞い(ノブレス・オブリージュ)を求めているのと、実質は同じである。上等階級は、自分に都合のいい範囲でのみ、下等階級を庇護する。徳といったところで、その定義は結局、上等階級が行うのだ。

残念ながら、この階級の成立は、インターネットの仕組み上必然であり、階級戦争などというのは無駄である。仕組み上必然的に構築される階級制度を打破することはできない。これは、社会主義者が過去に失敗した。

しかし、階級が存在する以上、ネットワークに真の自由はない。これがインターネットの限界である。しかも、今後インターネットの自由度は下がるばかりで、上がることはない。中江兆民は、その著書、三酔人経綸問答で、上から与えられる回復の人権を提唱した。つまり、昔は必要だった上の階級の絶対的な権力を、高徳な上の階級が、少しづつ下々の階級に返していくというものである。インターネットではこれは通用しない。なぜならば、インターネットは昔のまだ認知度が低い時代の方が、むしろ自由度が高かったのだ。広く認知されるようになって、国家政府企業に目をつけられ、規制されるようになってきた。この傾向は今後ますます加速するだろう。つまり、規制は増えこそすれ、減ることはない。権利の回復はない。

革命を起こして、現在の提供者階級を打倒するというのも、意味がない。なぜならば、その場合、革命家である利用者の一部が、新しい提供者階級に変わるだけだからだ。単なるクビのすげかえに過ぎない。階級制度は依然として残る。階級制度が残る以上、不平等は解消されない。社会主義者は、階級制度を打破するとして革命を起こしたが、結局言葉遊びに終始しているのみで、本当の意味で、階級制度の消失に成功した者はいない。

たとえば、図書館の自由に関する宣言にしても、提供者階級である図書館が利用者階級である読者に対して支配的な階級にある立場を理解した上で、できるだけ階級的優位性を行使できないよう、自らを縛る宣言になっている。特に重要なのは、必要以上の期間、利用者の閲覧履歴を保持しないというものがある。閲覧履歴は、速やかに破棄して残さない。これにより、たとえ私がマルクスの共産党宣言とか、ヒトラーの我が闘争とか、サリンジャーのライ麦畑でつかまえてを読んだとしても、その事実が知られる自体を、できる限り防ぐことができる。つまり、図書館の自由に関する宣言とは、単に提供者階級の努力宣言である。しかし、提供者自身が、自らが上等階級である提供者に属することを認識した上で、自縄自縛の宣言をだしたわけだ。もちろん、階級が存在する以上、原理的にうまくはいくわけがないが、自覚があるだけ、まだマシだ。一方、このインターネットの自由宣言は、下等階級である利用者からの提案である。うまく行くわけがない。

もはや、インターネットは限界である。その仕組み上、これ以上の自由を実現することはできない。

たとえばDNSだ。もはや、中央管理された全世界共通のDNSという仕組みは崩壊している。なぜならば、提供者階級はDNSを検閲しているからだ。あるドメイン名を使って提供される違法行為を行うWebサイトは、ドメイン名を剥奪される。今、この違法行為は、実際に違法行為であり、止めるべきだとしよう。これが現実に存在する物理的な店舗の違法行為の場合、行政からの要請や、裁判所からの命令によって、運営を差し止めることができる。しかし、Webサイトを止めるために、DNSからドメイン名を検閲するというのは、現実に例えれば、店舗に繋がる道路を破壊して、客が店に行きにくくするということである。技術的に完全に間違った方法である。しかし、階級制度のために、この完全に間違った方法が公然と行われている。つまり、DNSは、もはや信頼できない。

利用者がネットワークに接続するには、提供者からネットワークの提供を受けなければならない。しかし、これにも提供者階級の魔の手は伸びている。提供者は利用者への提供を拒むことができるのだ。特に、いくつかの国で行われている、いわゆるスリーストライク法は、脅威である。これは、利用者がインターネット利用にあたり、著作権侵害を三度警告された場合、インターネットへの接続を法的に禁ずるというものである。この警告というのは非常に危険だ。なぜならば、多くの場合、適切な裁判によって著作権侵害かどうかの判決を出した上でカウントするのではなく、著作権保持者からの申告によって、裁判所でもない非公開の方法で決定されるからである。しかも、著作権保持者は、機械的な検出方法によって、警告を生成しており、誤爆が甚だしい。そのような推定有罪かつ誤爆を含む警告によって、利用者のインターネット接続は剥奪される。

さらに、提供者であるネットワークのプロバイダーは、ネットワークの利用方法に応じて課金したり、帯域を制限したり、拒絶したりしている。このため、公平な通信ができない。

つまり、インターネットへの接続を、提供者階級に頼る以上、原理的に自由は保証できない。自由は闘争して勝ち得なければならないのだ。しかし、闘争手段を誤ってはならぬ。共産主義者の愚を繰り返してはならない。

もし真に自由なネットワークを欲するとしたら、仕組みを変えなければならないのだ。全員が提供者かつ利用者であるという仕組みのネットワークにしなければならない。つまり、このネットワークには、仕組み上階級が成立しない。私はこれを、ひとつの参加者階級で構築されるネットワークという意味を込めて、ピアネット(Peernet)と呼びたい。

私の構想するネットワークでは、ピアネットでの参加者階級は、全員ノードと呼ばれる。ピアネットは、物理層からP2Pなネットワークで構築することができる。すべてのノードは平等に提供者かつ利用者である。すべてのノードは、周りのノードとの、後述する複数の通信方法を持つ。ノードは周りのノードと通信することにより、中央制御のないその場限りのネットワークを構築する。特定のノードとの通信は、その刹那的なネットワーク経路を通って送られる。もちろん、ノードの応答時間や帯域や存在時間は幅広く異なるので、このネットワークはとてもロバストに設計されなければならない。応答時間は、数日とか数ヶ月とか、ときには数年といった長い時間すら想定されるべきである。帯域は大きな問題だが、単位時間あたりの帯域は、十分に確保できるだろう。存在時間というのは、ネットワークに参加して参加して数分で消えるようなノードも考慮しなければならないという事だ。つまり、ノードによって構築されるネットワークは、ノードが短時間で動的に現れたり消えたりすることを考慮の上で構築されなければならない。

通信方法はどうするか。通信方法は、複数の方法を組み合わせて使用できる柔軟な仕組みになる。現在、信頼性のある通信手段は、有線によるものであるが、有線は個人が敷設するにはコストが大きい。そのため、一般的なノードが使うのは、無線になるだろう。多くのノードは、電磁波や光や音といった、無線で通信できる装置を備えており、周囲のノードと通信する。範囲は、数メートルから数十メートル、大規模な装置を使えば、数百メートルから数キロメートルを実現できるだろう。P2Pネットワークにより、無線通信で届かないノードとでも、周囲のノードを経由することにより通信可能だ。

有線は、十分な費用を捻出できる参加者だけが使える通信方法だ。有線という通信手段は、応答時間や帯域の点で非常に優れている。このため、参加者の間で、有線通信を提供できる参加者は、同じ階級ではあるが、少し優位に立つ。しかし、有線という通信方法が存在しなくても構築可能なピアネットでは、絶対的な階級差とはならない。

さらに、スニーカーネットと呼ばれている通信方法も活用する。これは、記録媒体を直接やり取りする通信方法で、文字通り足で運ぶこともあるから、スニーカーネットという名前が付いている。この通信方法は、応答時間が極端に長いが、高密度の記録媒体を使えば、単位時間あたりで非常に優れた帯域を実現できる。

つまり、ピアネットとは、最初に述べたように、複数の通信手段を共通の方法で扱う、物理層からP2Pなネットワークである。全ての参加者がネットワークの構築に関与し、中央管理は存在しない。そのため、規制や検閲が極めて困難になり、自由が保証される。

まとめ:

インターネットは、その仕組み上、階級制度の成立が避けられず、完全に自由を保証できない。

自由なネットワークの未来は、全員が参加者階級となるピアネットの構築にかかっている。

2012-07-04

ハッキングという言葉が二重思考により汚されている

「ハッキング」という言葉は、悪意ある作業や技術の意味ではない。素晴らしい作業や技術の意味である。コンピューターの黎明期から、ハックという言葉はコンピューターを素晴らしくうまく使うことという意味で使われていた。ハッカーは誇るべき称号であった。この伝統的な言葉が、政府の二重思考の試みにより汚されていく。

ウイルス作成:東京の13歳少年を補導 京都府警- 毎日jp(毎日新聞)

少年は、ハッキング技術を自慢し合ったり、情報を交換する掲示板をネット上に開設していた。府警は先月、この掲示板に不正取得した他人のゲームIDを書き込んでいた少年(16)を、不正アクセス禁止法違反の疑いで逮捕していた。

補導された少年は府警に「二度とハッキングに関わらない」との念書を提出し、掲示板を閉鎖したという。

ああ、世も末だ。我が国の二重思考はここまで進んでしまった。我が国では、集合住宅を豪邸(マンション)と呼び、ゲーム専用機をコンシューマー(消費者)と呼び、大量解雇を再構造化(リストラ)と呼ぶ。今や、警察ですら、「コンピューターをうまく使う作業に関わるな」と警告するのだ。もうおしまいだ。

問題を解決するために原因に参加する不思議

Web業界の仕事探し事情:「Web制作の現場で起きているのは、クリエイターのたたき売り」 元フリーランスの開発部長が描く「Webの仕事探し」の理想形 (1/2) - ねとらぼ
Web業界の仕事探し事情:「Web制作の現場で起きているのは、クリエイターのたたき売り」 元フリーランスの開発部長が描く「Webの仕事探し」の理想形 (2/2) - ねとらぼ

要約すると、近年のインターネットによる意思疎通の画期的な向上により、技術者は手軽に何百もの会社に自分を売り込むことができるようになった。同時に、企業も全国から技術者を募集できるようになった。なぜならば、もはや多くの作業は、距離や場所にはとらわれないからだ。安定した通信環境さえあれば、仕事ができる。世の中ではクラウドとかソーシャルとかいう営業言葉が流行っているようだが、結局は、既存の求人広告の仕組みをインターネット上に持ち込んだに過ぎない。この求人サイトのおかげで、求人は非常に手軽になり、幅広い技術者に届くようになった。

ただし、この状況には、ひとつ問題がある。企業は、当然ながら利益を最大化するため、最も安い報酬を提示した技術者を使う。しかし、その安請け合いした技術者が、実際に作業を遂行できる能力を有しているとは限らない。むしろ、能力がない場合、競争のためには報酬を下げるぐらいしか方法がないため、最も安い報酬を提示した技術者は能力不足ということもある。その場合、企業が依頼した仕事は完成せず、技術者は仕事を遂行出来なかったため報酬は入らない。この外で、本来なら依頼した仕事を完成させる能力を持っている技術者は、妥当な報酬を要求したために、仕事にあぶれている。

事の善悪はどうあれ、通信環境が画期的に良くなった現代ならではの問題である。原因はインターネット上での求人広告だ。インターネット上での求人広告は、悪ではない。というのも、広く求人広告を出すのが悪であるならば、従来の雑誌や新聞や掲示板での求人広告も、同様に悪であるはずだからだ。ただし、インターネットによる画期的な意思疎通の速度と範囲の向上が、この憂うべき自体の原因であるのは事実だ。

このインタビューを受けている人物は、かかる問題を解決するために、この問題の原因に、同じく参加することに決めたようだ。仕事を発注する企業と受注する技術者を結びつけるWebサイトを立ち上げ、技術者からの能力提示を・・・それは結局、原因じゃないか。

Morrowindのオープンソース実装

OpenMW 0.16.0 released! | OpenMW

Morrowindのソフトウェアの同等品をオープンソースで実装しようというプロジェクトがある。この度、0.16.0がリリースされた。

ソースコードは、launchpadで公開されている。

どうも、当初Dで書かれていて、後からC++に鞍替えしたらしい。

ベンダープレフィクスはクソミソのゲロゲロ

Vendor prefixes are fucking batshit crazy - QuirksBlog

この俺がベンダープレフィクス大嫌いだってぇのは皆もう知ってるよな。またやりやがったぜ。FirefoxとOperaのクソ野郎どもだ。

なんでかって? device-pixel-ratioっつーメディアクエリーのせいだ。こいつにゃベンダープレフィクスがかかってやがる。もちろん、ベンダープレフィクスはよくないが、まあ、CSSの歴史的事情ってやつを考慮すると、まあ認めるしかないわな。

だが見てくれよこのコード。違いが分かるか。

-webkit-min-device-pixel-ratio: 1.5
min--moz-device-pixel-ratio: 1.5
-o-min-device-pixel-ratio: 3/2

分かったか? つまり、お手軽スクリプトでベンダープレフィクス自動付加させるってことすらできんのだ。こんなにクソ面倒なのはMozillaとOperaのクサレ脳ミソのオナラ野郎のせいだぜ。

もちろん、一番いいのはwebkitのやり方だ。みりゃ分かる。いい加減誰か残りのクソ野郎どもに言ってやれよ、「ええ加減せえよ」ってな。

俺も昔はブラウザーの差異を気にかけてたもんだ。でもな、よくよく考えりゃ、おれめっちゃ見当違いのことをしてたわけだよな。こんなアホ野郎どもがブラウザー独自のCSS文法を設計しているクソシステムを保守するなんて不可能に決まってんだろ。

だからいい加減、ベンダープレフィクスは死ねやボケ。死ね。

さて、俺の素晴らしい説教を聞いて悟りを得られたら、またいつもの日常に戻るといい。

この業界で、QuirksBlogのPeter-Paul Kochを知らない者はド素人のそしりを免れぬ。そのため、作者が誰であるかを紹介する必要はないだろう。この問題は、min-device-pixel-ratioにある。

なぜか、普通に考えたら皆同じになるはずのCSSの記述方法が、ブラウザー毎にてんでバラバラなのだ。

普通、ベンダープレフィクスは、習慣的に、-hoge-property-nameとなるはずなのだが、なぜかFirefoxでは、-moz-min-device-pixel-ratioではなく、min--moz-device-pixel-ratioになっている。なお、min--mozの間のハイフンはふたつである。間違えてはならない。もちろん、ベンダープレフィクスは使うべきではないから、使ってはならないが。

Operaは、なぜか値の指定方法が、少数ではなく分数になっている。

このようにブラウザーごとに、ベンダープレフィクスや値の指定方法に差異があるため、スクリプトで自動的に付加するようなことはできない。プログラマーなら発狂する最悪のクソな状況になっている。

2012-07-03

GNU/LinuxでWineを使ってDiablo 3を遊んでいたユーザーが全員BANされる

Linux Users Banned from Diablo III Servers ~ Ubuntu Vibes | Daily Ubuntu Linux Updates

ブリザードエンターテイメントのDiablo 3を、GNU/Linux上で動くWindows互換レイヤーであるWineを使って実行していたユーザーが、全員BANされたそうだ。ブリザードによると、チート扱いだそうだ。返金も受け付けてない。

これは分かりきったことだ。邪悪な制限ソフトウェアを使った当然の報いだ。不自由なソフトウェアは存在自体が非人道的であり、必ず避けねばならない。また、オンラインゲームは、容易に囲い込みの憂き目に遭う。オンラインゲームが自由であるためには、サーバーを実装しているソフトウェアがAGPLで公開されているべきである。そうすれば、自分でサーバーを立ち上げることもでき、非人道的な囲い込みは起こらない。

ただし、あえて不自由なWindows用のソフトウェアを実行するのであれば、自由なオペレーティングシステムであるGNU/Linux上の自由な実装のWine上で実行したほうが、不自由なWindows上で実行するより、いくらかマシである。

もちろん、不自由なソフトウェアは存在自体が非人道的であるということを忘れてはならない。

追記:

Banning Linux Users For Using Linux...Really? - Forums - Diablo III
Blizzard Clarifies Diablo III Ban Decision on Linux Gamers ~ Ubuntu Vibes | Daily Ubuntu Linux Updates

ブリザードのフォーラムに投稿された管理者からの投稿によると、「我々は誤検出に対して厳重に検証している。不公平にbanされたと報告があった環境[訳注:GNU/Linux+Wineを指すものと思われる]で検証したところ、誤検出はなかった。」

とあるそして、実際にGNU/Linux+Wineのユーザーで、未だbanされずにプレイできているというユーザーも登場している。

しかし、以前として多数のGNU/Linux+Wineユーザーが不公平にbanされたと反論している。さて。

何にせよ、不自由なソフトウェアは非人道的であると言うことを忘れてはならない。

味覇を手に入れた

先日、皿うどん用のパリパリ麺が安く売られていたので、買って作って食べた。その時、麺に付属していた白い粉を使って作ったあんかけがとてもおいしかった。

翌日、あんかけだけ作って食べたくなった。どうせ、白い粉というのは、調味料と片栗粉の混合物に違いない。さいわい、どちらも手元にあったので、適当に混ぜて、野菜炒めに投下してみた。ところが、どうもそれほど美味しくない。はて。

ということを、Twitterでつぶやいていたところ、ある人物から、味覇(ウェイパァー)なるものを勧められた。なるほど、有名な調味料らしい。しかし所詮、調味料に過ぎない。わざわざ買うまでもないだろう。第一、どこに売っているというのか。と、その時は思っていた。

ところが、今日野菜を買いに近所のスーパーに出かけた時、ふと赤い大きな缶が目についた。なんと、味覇と書いてあるではないか。迷った挙句、試しに買って見ることにした。

まずは味見のために舐めてみたが、ものすごく濃い味がする。缶に印刷されている使い方によると、単にこれを少量、湯に溶かすだけで、中華スープができるらしい。それならばと、ほんの少しだけ削りとって水に入れ、野菜を煮てみた。すると、たしかに飲める中華スープになった。やや薄味の気もするが、むしろ、あんなわずか量でこれだけ味がするのだから、これは気をつけなければならない。量を間違えると、なんでも味覇の味になってしまうだろう。

アメリカの警察はポルノ撮影車を乗り回して、市民を被曝させる予定

Full-Body Scan Technology Deployed In Street-Roving Vans - Forbes
Cops in USA to drive around in pornoscannerwagons, covertly irradiating people and looking through their cars and clothes - Boing Boing

全身スキャンの機材を積み込んだ車で、いつでもどこでもアメリカ国内の人間の全身スキャンが可能であります。スキャン技術はすばらしく、ポルノ映像として使用可能なレベルであります。親愛なる市民、被曝レベルは非常に小さく安全であります。市民のプラバイシーは尊重されます。

2012-07-02

韓国でネット中立性が崩壊

South Korean Telcos Get OK to Charge Extra for Mobile VOIP Apps | PCWorld Business Center

韓国で、携帯電話のネットワークを提供しているSK Telecom、KT、LG U+は、このたび、VOIPアプリケーションの使用に対して別に課金することが認められた。

なぜこれがネット中立性の崩壊なのか。そもそも、ネット中立性とはなんなのか。ネット中立性とは、ネットワークの使用に対して、ネットワークの提供者や政府が規制をかけないことだ。ネット中立性を失う行為としては、規制や検閲が一番わかりやすいが、それ以外にも、ネットワークの利用方法に依存した課金というものがある。

これらのインフラ提供者はたいてい、ネットワークで通話も提供している。だから、そのネットワーク上で別の通話を実装するアプリケーションの使用に対して課金するという事は、公平な競争を妨げるのだ。競合相手を不当に不利にできるのだ。

もし、これらのインフラ提供者がメールサービスも提供しているならば、他のメールサービスに対しても課金し始めるだろう。もっと範囲を広げて、Webサイトにも適用できる。もし、動画サイトを提供しているならば、他の動画サイトへのアクセスしたというだけで課金するかもしれない。報道は? 娯楽は?

つまり、ネットワークの使用方法に対して課金するというのは、ネット中立性を崩壊させる。

2012-07-01

glibc 2.16がリリース。x32をサポート

Carlos O'Donell - The GNU C Library version 2.16 is now available.
[Phoronix] GNU C Library 2.16 Brings Many Features (GLIBC)

GNU C Library 2.16がリリースされた。

今回の目玉は、x32をサポートしたことだろう。これにより、x32をサポートするための環境である、カーネル、コンパイラー、libcがひと通り揃ったことになる。

x32については、もう読者は知っているだろう。x84_64環境における、64bitコードだが32bitアドレス長という変則的なABIのことである。これにより、64bitコードの恩恵(追加の汎用レジスタや機能など)を受けつつ 、しかもアドレス長を32bitに抑えることで、32bit、64bitよりもパフォーマンスの向上をはかることができる。

本の虫: x32 ABIの簡易的なまとめ

もちろん、32bitアドレスを使うわけだから、ひとつのプロセスから見えるメモリ空間は、ユーザーとカーネルあわせて4GBに制限されてしまうわけだが、未だに多くのソフトウェアは、32bitアドレス空間だという現状からすれば、それほど問題にはならない。

しかし問題は、x32はまったく別のABIだということである。比較的最近のx86_64カーネルを使い、コンパイラーにx32用のコードを吐かせ、もちろんライブラリもすべてx32に対応しなければならない。さらに、動的なライブラリをどこに置くのかという問題もある。Debian系列ならMultiarchが使えるが、その他のディストロではどうするのか。

ディストロでのサポートは、現在のところGentooが先行している。まあ、Gentooは仕組み的に早く対応できるのだろう。しかし、いくら対応したとしても、結局ライブラリをx32用にコンパイルしなければならないわけだ。僅かなパフォーマンス向上には、どうも見合わないような気がする。それに結局32bitアドレス空間は、ますます、実感として狭くなっていくことに疑いはない。640KBは、もはや誰にとっても十分ではないように。